> The problem right now is that there’s no way to control the behavior of the underlying Java threading libraries, nio, and writing to disk. Nor will there ever be, just by the nature of those systems. You can't get deterministic execution from a system that uses non-deterministic request ordering, task scheduling, etc. -- which is what you get if you always use multiple OS threads, or spawn multiple discrete process…
Griffin – A fully-regulated, API-driven bank, with Clojure
81–90 of 223 posts
Re: Griffin – A fully-regulated, API-driven bank, with Clojure
#82Earlier quoted context omitted.
Putting your eth wallet keys on a “do not transact with” list would be pretty similar. Having to engage in “money laundering” such as those privacy measures you bring up being a reason the government may put an address on the block list would make it quite difficult to get around too. That is assuming Ethereum sees that kind of mass adoption to the point governments start to regulate its usage.
Is there actually a "block list" of this kind? It seems like it couldn't possibly work, e.g. there is a huge foreign entity that does zillions of honest transactions but isn't in a jurisdiction that subjects it to a given block list and it gets a transfer from some wallet that is. Either you now block anyone who transacts with them in turn and by Six Degrees of Kevin Bacon therefore the entire world, or transfers fro…
But at that point, if a government level threat actor wants to stop you from doing something and you are in their jurisdiction, jail cells tend to be quite effective at limiting people from spending money. If using non-government sanctioned cryptocurrencies is a crime in the future, than it doesn’t really matter if it is perfectly privacy preserving or not does it if you need to pay taxes in not the privacy preserving crypto.
Re: Griffin – A fully-regulated, API-driven bank, with Clojure
#83James Trunk, who is now Griffin's VP of Engineering, gave one of the most clear and enjoyable technical introductions to Clojure I've seen. Recommended! https://youtu.be/C-kF25fWTO8?si=PnjMNLdBLJ8zqSu-
Re: Griffin – A fully-regulated, API-driven bank, with Clojure
#84I absolutely hate when an articles starts out with: > IN A STARTUP, YOU SHOULD BE USING THE MOST POWERFUL LANGUAGE YOU CAN, AND THAT IS CLOJURE. says you. one opinion. in a startup you should use the language that your team can build and launch your MVP the fastest so you can get your first customers or funding. Hell, this could be a low code or no-code platform(probably not in fintech, just saying with startups in g…
That catchline makes a lot more sense when you consider that JUXT is the most prominent company specialising in Clojure aside from Nubank itself, and have their logo at the foot of pretty much any conference remotely touching on Clojure topics. Clojure has a fairly insular community that overlaps with other lisps more than it does something more popular such as Python or PHP, so the cliché (admittedly, one with some…
I’ve seen a few other projects around here that boasted about using clojure because “we are the smartest and clojure is best and everything else is dogshit”
Doesnt make your insular group look inviting or synpathetic at all to be honest…
Re: Griffin – A fully-regulated, API-driven bank, with Clojure
#85> The problem right now is that there’s no way to control the behavior of the underlying Java threading libraries, nio, and writing to disk. Nor will there ever be, just by the nature of those systems. You can't get deterministic execution from a system that uses non-deterministic request ordering, task scheduling, etc. -- which is what you get if you always use multiple OS threads, or spawn multiple discrete process…
never say never, i think maybe can be done with modifications to missionary, a structured concurrency dsl implementing process supervision for clojure/script. we already instrument missionary flows for testing missionary itself (asserting its state transitions)
we useful, but not something limit breaking
Re: Griffin – A fully-regulated, API-driven bank, with Clojure
#86“By law, fintechs must work with a bank to do these things, and right now that means a legacy high street bank with mainframes. Griffin is the bank plus technology platform that all future fintechs would build on.” Did they write this in 2016? The market has moved on. Griffin looks neat but they’re years behind many others, a nice API for banking exists from well established players, like ClearBank. There’s room for…
> that all future fintechs would build on This also sounds awfully like a single point of failure and embodiment of what's wrong with late stage capitalism - where competition is an illusion.
Sure the costs for any fintech using these products are the same, but they can offer a million different types of products which make them unique.
Re: Griffin – A fully-regulated, API-driven bank, with Clojure
#87Ah, Clojure, native tongue of the devil himself.
Re: Griffin – A fully-regulated, API-driven bank, with Clojure
#88Earlier quoted context omitted.
Is there actually a "block list" of this kind? It seems like it couldn't possibly work, e.g. there is a huge foreign entity that does zillions of honest transactions but isn't in a jurisdiction that subjects it to a given block list and it gets a transfer from some wallet that is. Either you now block anyone who transacts with them in turn and by Six Degrees of Kevin Bacon therefore the entire world, or transfers fro…
This is what all those chain analysis companies claim to solve for, and allegedly law enforcement agencies have done in the past to de-anonymize people. Perhaps you are right about it not being feasible given enough volume and so on. But at that point, if a government level threat actor wants to stop you from doing something and you are in their jurisdiction, jail cells tend to be quite effective at limiting people f…
De-anonymizing people who are not attempting to prevent it is fairly trivial. You tie one transaction to their wallet and they use the same wallet for everything. But that's an entirely different question than whether you can have a "block list" for wallets.
What do you do when people in other jurisdictions pay no attention to the block list and then someone uses the money in the "blocked" wallet to buy some other fungible commodity there?
> But at that point, if a government level threat actor wants to stop you from doing something and you are in their jurisdiction, jail cells tend to be quite effective at limiting people from spending money.
But then it has nothing to do with the money at all. "You can't sell heroin for cryptocurrency because heroin is illegal" applies just as well to cash or gold or iTunes gift cards.
And then, in a country with rule of law, they have to prove your guilt beyond a reasonable doubt in a court of law. The original problem was a random bank's fraud algorithm unjustly stealing your money as an innocent person.
Re: Griffin – A fully-regulated, API-driven bank, with Clojure
#89> and this additional proprietary thing that I really need to open source (I ported Datascript to FoundationDB). Yes please! I wonder how that plays out as an alternative to Datomic.
the whole article read to me like a guide: How to over engineer a project for kicks and giggles.
Re: Griffin – A fully-regulated, API-driven bank, with Clojure
#90Earlier quoted context omitted.
> In OO languages (Java, C#, C++, etc...), and functional ones (F#, Haskell, OCaml, etc...) types do not validate the correctness of logic, they evaluate the correctness of data structures and their access/mutation as they are manifested in the language. Nonsense. Types validate whatever you use them to validate, which can certainly include what we usually call "logic". > Types have little (or nothing) to do with pro…
> Types validate whatever you use them to validate, which can certainly include what we usually call "logic". I'd love an example of this! I concede that I could be wrong on the point's of ML/Haskell families, however, it relies on the practitioner correctly using the type system to the extreme (at least, that is my impression). C++ and other similar OO's, the type system isn't as compelling as a correctness measure.…
I wouldn't say it's "extreme", it's very normal and natural. You just stick everything in the types and it works.
> C++ and other similar OO's, the type system isn't as compelling as a correctness measure.
Agreed that C++-style types are awful. You can generally encode whatever you need if you work hard enough at it - e.g. https://spin.atomicobject.com/2014/12/09/typed-language-tdd-... - but it's painful.
> In which domain are you working in where this has been the case? It may be my experience, but types as I have seen them used in industry have been more as "data containers with some behaviors".
> I'd appreciate some examples of where you think I may be getting types wrong or missing the point.
I've worked in "regular industry" and found types to be very effective. Let me turn it around: what kind of logic errors are you seeing that you think wouldn't be eliminated by using types? Types can't help you avoid errors in the specification itself, and there are a few domains where they may not yet be practical (mainly math-heavy things like linear algebra, where there's centuries' worth of mathematics that's applicable except where it isn't, and we just don't capture all of that in practical type systems yet), but the vast majority of the time you can construct your types in ways that force your logic to be correct because you just don't offer the ability to do the wrong thing.