6 ms·
The value of canonicity (2020)
- sureglymop 3y agoThe concept of these new age banks is nice. But I really think they haven't pushed it all the way yet. For example, Revolut has one-time-use credit cards. Even thinking about the possible features, there is a lot more that could be done. One time use with a predetermined amount (to be used like a gift card), in fact make every transaction a new credit card. An abstraction over the visa and mastercard networks. Also really actually good bookkeeping like with e.g. gnucash. I really feel there is a space for a hacker- and privacy-friendly new age bank product.
- Etheryte 3y agoI like this idea, the downside is it would require an overhaul of the entire fintech system, every page that accepts credit cards, etc, because we'd just run out of card number space. So in essence it would amount to starting a financial network from scratch.
- akokanka 3y agoWell if BTC got adopted properly it would have been the answer. We are stuck with the system designed ages ago. No doubt it's good for government. Current Fintech can go any peasant go bust. However, normal folks have zero control over their financial security. Your always under radar especially under cashless society umbrella.
- victorbjorklund 3y agoThere are 16 numbers in a creditcard. That is a lot of potential cards. It will be a while before we run out of cards. And when we do they could just add more numbers. It isnt such a big deal.
- quickthrower2 3y agoProbably you’d get 8 or 12 to play with ad a bank and I think 1 is error correcting. But that is still a lot! Problem I have with gift cards is a lot of merchants and machines refuse them. I wonder if neobanks have this issue?
- Etheryte 3y agoYou lose some digits as the bank identifier etc, so really you get 12 digits or so. The population of the world right now is a 10 digit number. It sounds like a lot of space at first glance, but it really isn't. "Just add more numbers" is what people thought when IPv4 started to run out and we all know how that is going.
- mst 3y ago> And when we do they could just add more numbers That's an exceedingly optimistic use of "just," I suspect.
- maronato 3y agoprivacy.com does exactly that
- rodrigodlu 3y agoWell, I'm a Nubank customer and they have now a 24h card that auto expires. On top of a permanent list of 10 virtual cards that you can rotate manually. That's what I do. But yeah, Bank of Brazil, a boring public bank has this for ages, just the app is ugly and intuitive only for financial savvy people. You can set number of transactions, limit per transaction, total limit of that specific virtual card, etc. Bookkeeping is not something people usually do here. And I hope that OpenFinance, that is a Brazil Central Bank endeavour (that Nubank is also adhering), be more open to the general public, because today is more about exchanging info between banks to provide better intel whenever you need loans, etc. With OpenFinance you can choose to share your info from one bank to another, but you can't download this information yourself. Only through downloading ofx, CSV, pdf (the existing tools) on each of your banks, a nightmare to automate.
- ABS 3y agosingle purchase "virtual" credit cards created on demand are available and kinda standard offering by many companies though I've never checked their availability for consumers, always had them via various B2B
- nine_k 3y agoHave you tried privacy.com? Works independently of your bank. Use the Unix principle :)
- YoshiRulz 3y agoOnly available in the USA https://support.privacy.com/hc/en-us/articles/360050917053-Can-I-use-Privacy-if-I-live-outside-the-US- https://support.privacy.com/hc/en-us/articles/360050917053-C...
- refset 3y agoI'm curious about the usage of CockroachDB at Nubank, given it's not mentioned as a "paved road" (or otherwise) in the post alongside Kafka/Datomic/Spark, but is described here: https://www.cockroachlabs.com/customers/nubank/ https://www.cockroachlabs.com/customers/nubank/
- tlarkworthy 3y agoIt's a post about being conservative with technology yet most of the choices seem hipster. Clojure, why not java? Diatomic, why not postgres? Flutter... it's gonna be cancelled. Though I agree with the message that keeping the library choice small is good. I just think they already lost that war at some point. There are cracks in the argument in the article. Diatomic... "For high value data", implying it did not generalize to low value data, or they have several other dbs around. Shoulda picked postgres, it's more general, but hand was forced by clojure, which was the original hipster in the stack I expect.
- kleiba 3y ago> Clojure, why not java? How are they similar, apart from both running on the JVM? One is a Lisp dialect the other one an OOP language... I guess your argument is "if you want to use the JVM environment (i.e., available libraries and frameworks), why not use Java?" -- which is a fair question. I suppose so, this argument just questions any JVM-language other than Java in general, and is not specifically tailored at the choices of Nubank. You could as well have asked "why Clojure and not Common Lisp?" - I mean, if you for some reason determined that a lisp is the best language for the job, why would you choose Clojure... But I think the standard answer is that with Clojure, you get the best of both worlds: Java interoperability and Lisp expressiveness. I personally find Lisps a maintenance nightmare (because of their ability to express complex computations very tightly), so the even more general question could have been: "Why Clojure?" (without comparison to any potential alternative). > Diatomic, why not postgres? Datomic kind of follows naturally from chosing Clojure, I suppose. Apart from that, I do agree with your general analysis.
- deleted 3y ago[deleted]
- wiseowise 3y ago> It's a post about being conservative with technology yet most of the choices seem hipster. Clojure, why not java? Diatomic, why not postgres? Flutter... it's gonna be cancelled. Clojure is 16 years old, how is that hipster tech? > Diatomic, why not postgres? If it works, why not? > Flutter... it's gonna be cancelled. ????????
- hannofcart 3y ago> What happens when we run an engineering organization by constraining the number of tools in our toolbox “for the greater good”? I read this and think: ok, I guess this is going to be one of those posts advocating for boring tech (i.e just use Java everywhere). > the answer is quite short... Clojure for production services, Kafka for asynchronous communication, Datomic as our database for high value business data, Scala for our analytical environment, and Flutter for our mobile app Holy non-canonical technology choices, Batman!
- mirekrusin 3y agoNubank is known clojure shop similar to how Jane Street is an OCaml shop. Both are great examples contradicting conventional "wisdom".
- fulafel 3y agoFor longevity I'd put my money on Clojure over Flutter or Kafka (which are younger techs too). And of course Datomic now is effectively in-house software for Nubank and has been conceptually validated besides on its own merits, by the number of kindred DBs around[1]. IME Clojure is boring in a good way vs Java, as the pace of language evolution is slower, the language is simpler, and simplicity is more highly appreciated in the culture of the ecosystem. [1] See first 5 in https://github.com/razum2um/awesome-clojure#database https://github.com/razum2um/awesome-clojure#database
- shmichael 3y agoLove these choices? Wait two years and read again. More seriously, this content should be read and evaluated divorced from the reader's personal affection for specific tools, otherwise what value did this writeup provide if your opinion was set from the get go?
- ABS 3y agothis content was written 3 years ago :-D
- 3y ago
- 1letterunixname 3y agos/canonicity/standardization/
- KaiserPro 3y agoSo one of the interesting things that a lot of commenters seem to miss: Its not the choice of technology, its the deliberate limiting to those choices. The team have said ok, we are choosing these things, and nothing else. This means that yes, some things are harder to do, but it also means that there is less shit to maintain. If we built bridges like we built tech, we could see the silliness of choosing the components for the developer rather than the product: the start of the bridge will be made of steel reinforced concrete, the hand rails will be made of carbon fibre, but they are taking too long, so the team switched to wood. The middle of the bridge will be made from just steel, because one of the developers wanted to learn how to slip weld. The tail end of the bridge is a suspension bridge, because one other developer decided that they looked cool. That's not to say that developer efficiency doesn't matter, but efficiency is very different from "that looks cool, lets do it like that" Limiting choice is good, but when you first start, it fees like a straight jacket.
- mst 3y agoVery reminiscent of http://www.stilldrinking.org/programming-sucks http://www.stilldrinking.org/programming-sucks
- KaiserPro 3y agoyes! I read that article many many years ago, thank you for finding it
- adrianN 3y agoThe difference between buildings and software is that generally a building has a defined „done“ state, but a piece of software keeps changing until it has so many scars of unmaintainable mess that it’s cheaper to start a new company than to fix it.
- KaiserPro 3y agoI mean thats the unwritten/implied problem with software project management. There is no "Done" state, there is no real plan for the future. It is possible to make software sustainable, but for many reasons there's not much incentive to do so. Partly because its rare that the business understands that product it makes, or if they do understand, leadership get bored and want to try something new.
- kosolam 3y agoLots of words, but the ssl on the website is broken. After all, it is a bank. The important point: it’s a good thing to choose a strong stack of a few tools and avoid adding more languages and tools as much and as long as possible. It’s true in every scale, 600 or a single developer. By the end of the day, Clojure is their Cobol and it will stay with them for as long as they exist. Everything else is just how they reason around it. The specific technology choices they made are a mistake, IMHO. But it doesn’t really matter.
- amadeuspagel 3y agoAccording to Steve Yegge, Google used to limit languages to C++, Java, Python, and JavaScript[1]. [1]: https://steve-yegge.blogspot.com/2007/06/rhino-on-rails.html https://steve-yegge.blogspot.com/2007/06/rhino-on-rails.html
- ncruces 3y agoThey still do, for the most part. Anything else may be allowed, if it makes sense for the task at hand, but it's an uphill fight.