91 pointsby baal80spam6 hours ago15 comments
  • mrkeen4 hours ago
    Interviewed for them this year.

    Got into a heated argument where the interviewer insisted it was perfectly acceptable to store money as a mutable row in a database.

    I pushed back with the standard "You append transactions (including corrections) to a ledger" but he wasn't convinced.

    I whipped out the standard two-ATMs -separated-by-a-distance overdraft example, and how you can create or destroy money that way.

    He said it made no sense as an example because it was buggy and you would never release buggy code.

    I asked if he'd done bug fixes before (yes) but obviously he was going to keep digging in further.

    The irony of it was that he was part of the blockchain team.

    • Ezhikan hour ago
      Revolut refused to help with a dispute. They rejected it after like 2 hours, first claiming they contacted the seller, which it turns out they did not.

      Then they claimed my evidence was incorrect, without any opportunity to correct.

      And finally in their complaint system they completely refused to look at any of the evidence and sent me a generic refusal letter that referred to me by the wrong name.

      All this despite other banks successfully handling chargebacks for the thing in question. Sad.

    • strideashort2 hours ago
      Probably hybrid is best.

      Row level locking and update indeed works, most of the time - bugs are a real issue.

      som write ledger and update row in the same transaction.

      then in bg have a batch ledger verification, probably on a read replica, and flag any discrepancy.

    • randunel3 hours ago
      I don't see the difference between a ledger (possibly with a unique sequence enforcement) which would take the balance to a negative number, and a mutable row in a relational database with optimistic locking (same unique sequence enforcing). Would you mind helping me out, how would a ledger work better to prevent a negative balance, given that the enforcement isn't specific to ledgers and can be used in relational DBs? After all, both can go to negative balance by applying atomic subtractions, and both can prevent writes with the wrong sequence.
      • mrkeen2 hours ago
        I don't think you can avoid negative balance, without giving up on availability (i.e. moving from AP to CP). And then an outage like TFA takes down your whole system.

        You might be assuming that there is only one database, and that all consumers are reliably connected it. So who owns the database: Visa or MasterCard? Because ACID doesn't span across database instances (let alone database vendors or companies).

        If you write down that "Bob withdrew $20", that cannot be wrong, (at best it can lack info that you later wish you had).

        If you write down "Bob's balance is now $10", you already know the problems with that from your question.

    • sksksk2 hours ago
      I get you with needing a ledger, which most banks use.

      I'm assuming Revolut do as well, but this engineer wasn't aware. Or perhaps it was a different question they thought they were asking, or maybe a misunderstanding.

      But the two ATMs problem would be solved by securing a lock on the database before proceeding with the transaction?

      • mrkeen2 hours ago
        He suggester that they had both. My question was what to do when they disagree, and he wasn't able to either conceive of the 'two sources of truth problem' or wasn't able to suggest a solution. He pushed back saying: if they disagree then you've got buggy code, and that your job is to not write buggy code. "That's why we test". "For race conditions?" etc. etc.

        Who owns the database in your locked example?

        • sksksk2 hours ago
          Revolut would own the database in my example.

          How would a ledger work without having some kind of lock, how would you prevent a negative balance?

          When someone checks their balance, would you to retrieve every transaction from the ledger and calculate the current balance?

      • ergl2 hours ago
        > But the two ATMs problem would be solved by securing a lock on the database before proceeding with the transaction?

        You can also let an overdraft occur. Now the user ows the bank some money and you can charge them interest for their debt.

    • TacticalCoder2 hours ago
      > Got into a heated argument where the interviewer insisted it was perfectly acceptable to store money as a mutable row in a database

      Hey, not only he didn't believe in appending to a ledger but moreover he probably believed it was fine to store the amounts in floats (I know, I know, everybody who's using floats never make any mistake, knows everything about rounding rules, has read and could write by heart "What every computer programmer should know about floating-point numbers" etc. But I'm still not using floats for monetary amounts).

    • thiht2 hours ago
      > you would never release buggy code

      He's right, just make no mistakes!

    • igravious4 hours ago
      even if you were technically correct why would a company hire someone who demonstrates that they are unable to disagree in such a way that a heated argument does not ensue? i'd say they dodged a bullet.
      • mrkeen3 hours ago
        The interviewer's job (I was briefed beforehand) was to make sure I know my concurrency, because they use a lot of it there.

        I have all the patience and time in the world to discuss my ideas.

        I had the problems, the solutions, slide decks and a Miro board ready to go.

        He wanted to shut down discussion at every turn with nonsense like "so you think no banks work at all?". Sure, I can grin and eat shit, or I can say "banks predate your CRUD operations by just a little bit".

        If he had working knowledge on how to represent mutable money amounts in a distributed environment, he didn't let on. I was all ears.

        So I pushed back on him, and I'll push back on you:

        > even if you were technically correct why would a company hire someone...

        Because I'm technically correct.

        You're certainly not alone in your appraisal of the situation. The market over here works exactly this way. Correct, reliable systems come a distant second to agreeing with the team.

        Technical discussions are incredibly likely to devolve into people discussions.

        No people discussion has ever worked it's way back into being about fixing the broken software.

        • fyredge3 hours ago
          Pay him no mind. I shiver at the thought that he might be at management level and passed potential hires because they didn't not disagree in the way he liked.

          If anything, you dodged a bullet from a potential job where nothing gets done correctly.

          • strideashort2 hours ago
            ah yes… an interviewer recently proudly presented his interview sieve… a non-policy book he swears to by a “successful professor”.

            Interviews are a gamble. If he interviewer has a specific framework in mind - no matter how correct or incorrect it is - good luck hitting the right spots.

        • igravious2 hours ago
          it's a strawman that the only two available options are the mutually exclusive "grin and eat shit" one or alternatively a heated argument

          i stand by what i said here down-votes be damned; judging by our brief interaction and your telling anecdote you come across as a smug disagreeable know-it-all and in their position i wouldn't have hired you -- there is after all the option to hire someone who both knows their stuff and doesn't come across the way you do

          Oh Revolut's down are they? Let me tell you about an interview I did with them. Blah blah blah. Yeah, no thanks.

          • mrkeen2 hours ago
            I would love if it all engineers were professional enough to avoid the personal criticisms and stick to the comp sci, which is far more interesting.

            This is why I wrote:

              Technical discussions are incredibly likely to devolve into people discussions.
            
              No people discussion has ever worked it's way back into being about fixing the broken software.
            
            I'm perfectly happy, if things get out of hand, for someone to take me aside and say "you were a bit of a cunt back there mrkeen." We're all human. As long as we actually get fix the code or resolve the intellectual side of the argument too.

            I wouldn't dream of calling someone a smug disagreeable know-it-all.

            I'm here for any discussion of the tradeoffs of balance v ledger, though.

      • tasuki4 hours ago
        Yes they did, and so did mrkeen!
        • igravious4 hours ago
          oh!

          who or what is mrkeen?

          • cianmm3 hours ago
            the person you replied to
          • Tostino2 hours ago
            The person you originally replied to.
  • monneyboi5 hours ago
    I just learned the embarassing way that my ability to pay for groceries depends on the livelyness of europe-west2.
    • OsrsNeedsf2P5 hours ago
      The uptime of cash in my wallet is pretty close to 100%. It's extremely rare that I have to use it, but it's incredibly convenient to have each time it's required
      • traceroute663 hours ago
        > it's incredibly convenient to have each time it's required

        Sadly there is an increasing preponderance on the part of retailers to do one of two things:

            1. Go card only (sadly happening in far too many places)
            2. Make it incredibly difficult to pay by cash (e.g. 10 card tills, 1 cash till with long queues because it is also the cigarette/lottery ticket/package collection till)
        
        The only people remaining who will almost kiss you for offering cash instead of card are taxi drivers.
      • comboy4 hours ago
        If you look at uptime as discrete set of events when you need to pay for something, my cash uptime is not looking great nowadays. "Sorry I can't break that" or machines accepting coins which you don't have at hand. Just to be clear I despise CC companies the system is broken in many ways.
      • tossandthrow4 hours ago
        You are aware that many places don't accept cash, right?
        • layer83 hours ago
          Most EU countries require cash acceptance. There is also an EU-wide legislation in the works: https://www.europarl.europa.eu/legislative-train/theme-an-ec...
          • vladvasiliu3 hours ago
            Here in France, many places won't take large bills. You can usually forget about paying with 100 € bills, and many will be iffy even about 50s.

            I'm also pretty sure it's illegal to pay cash for anything above 1000 €.

            I'm curious how this legislation will end up, because the reason to push for cashless is that you should think of the children^Wterrorists. And much of this push comes from the EU itself (see chatcontrol).

            • layer82 hours ago
              > I'm also pretty sure it's illegal to pay cash for anything above 1000 €.

              The plans for harmonization are to have a limit of 10000 €.

              > the EU itself

              “The EU itself” isn’t a singular mind, it’s a forum with many participants and positions. In the end there needs to be a majority in the Parliament.

        • IsTom4 hours ago
          I don't know about other countries, but in Poland you must accept cash except for a few cases (over internet, large transactions, places without employees).
        • pjmlp4 hours ago
          In Jurassic Europe, most still do.
          • MonkeyClub3 hours ago
            And it’s good that they do.

            No cash means no freedom.

        • kakacik4 hours ago
          Well its about time (a decade ago) to ignore those places and be vocal about it.

          Contactless is all fine and dandy but straight out refusal to handle cash is a big negative for the users, which is the only perspective anybody cares about. On top of obvious long term massive loss for society and personal freedom. Don't feed the actors that are harming you / us.

        • tremon4 hours ago
          How does that affect the uptime of their wallet?
          • justauserid3 hours ago
            Well the data was up on the hard disk. Fault lies with the electricity and cables.
    • bob10293 hours ago
      Behold the advantage of VisaNet and friends. When you swipe on these networks, your authorization is handled in a dedicated bunker on some of the best silicon we know how to create (Telum). The network links between issuers and acquirers are monitored in real time by humans who will contact ISPs and NOCs at 3am local time if need be.

      This is why the apparently extortionate merchant fees. Precisely so that when you do swipe it always works no matter what. I genuinely cannot recall a single instance where I was unable to obtain payment auth in a grocery store using Visa or Amex.

      • sceptic123an hour ago
        If Revolut is at the end of the auth chain and they are down then Visa can't auth the tran, bunker or no.
    • yreg4 hours ago
      It's a good idea to have multiple debit cards (both visa and mastercard) from different banks. You can often get them for free.
    • Asyakguen4 hours ago
      Agree,so annoying
  • robtaylor5 hours ago
    • SMAAART3 hours ago
      No redundancy redundancy?

      No redundancy redundancy?

      No redundancy redundancy?

      No redundancy redundancy?

      No redundancy redundancy?

    • Imustaskforhelp5 hours ago
      Thanks, your comment was the first one which linked the two.

      Revolut is the biggest private company in all of Europe.

      Perhaps it’s me but I still find it kinda wild that a single power outage in London can shut down Google DC and it can lead to Revolut shutting down for some time disrupting much of the economy which depended upon it

      Perhaps this could’ve been prevented, which makes me wonder how much of code written at Revolut is ai generated and its ai policy?

      • azuriten4 hours ago
        If their infrastructure is tightly coupled to a cloud provider in a single region then that's what they need to be work on and not necessarily their AI policy.
      • cromka4 hours ago
        > Revolut is the biggest private company in all of Europe.

        As in not publicly traded? That's surprising, to be honest. How is that even measured?

        • boxed3 hours ago
          IKEA is private. That's just from the top of my head. Pretty sure IKEA is way bigger than Revolut.
        • altmanaltman4 hours ago
          A simple google search or AI prompt can tell you that they are not the biggest private company in all of Europe by a decent margin.
          • roryirvine2 hours ago
            I suspect they might be if you were to squint a bit and invent a hypothetical valuation based on their latest funding round.

            But, yeah, certainly not by revenue, income, assets, number of employees, or any of the other metrics you might use for a private company.

  • Ecstatify4 hours ago
    Revolut needs a way to proactively notify users when their cards aren’t working. It’s so frustrating having to go to Reddit just to find out that Revolut is down.
    • layer83 hours ago
      > proactively notify users

      Probably difficult if the cause is their cloud infrastructure being down.

      • pipe013 hours ago
        Shouldn't be a problem if you don't self host your status pages, which you shouldn't
        • layer82 hours ago
          A status page doesn’t proactively notify users.
          • pipe012 hours ago
            Neither does reddit, but users can check it to see official statements from the company instead of possible misinformation elsewhere
  • afhammad5 hours ago
    Good opportunity to share some competitive resilience: https://monzo.com/blog/tolerating-full-cloud-outages-with-mo...
    • dzonga3 hours ago
      I don't think monzo is a good example lol
  • GettingOld4 hours ago
    Google cloud is having issues in London impacting HSBC, Lloyds & Bank Of Scotland in UK - May impact your ability to pay with a card

    https://www.theregister.com/paas-and-iaas/2026/10/20/google-...

    https://www.bbc.co.uk/news/live/c58jd2kjp93xt

  • 5 hours ago
    undefined
  • ChrisArchitectan hour ago
    Related:

    Google cloud outage takes down HSBC, Revolut, Bank of Scotland, Lloyds, Equifax, more

    https://news.ycombinator.com/item?id=50163961

  • BoumTAC5 hours ago
    Can we still pay ? I have some shooping to do during my lunch break and I don't want to feel stupid without a way to pay at the checkout.
    • Macha5 hours ago
      My revolut cards (both google pay and actual physical cards) were failing to process payments and had to use my backup card from a traditional bank instead
    • vilius5 hours ago
      I could not pay via Revolut card on Apple Pay this morning. However, the same physical card worked.
    • etatester5 hours ago
      Article mentions app down, which presumably it's not the same part used by MasterCard
      • danaris4 hours ago
        From what I've seen—personally and from a variety of online sources—there's intermittent availability of basically everything, which means you might be able to access the app, or you might be able to pay by card, but that's going to change potentially from minute to minute, with an average of somewhere around 10% uptime. (Which, of course, means that you, personally, might just be in the 90% of downtime all the time until it's resolved.)

        Take with appropriate seasoning, given its anecdotal nature.

    • 4 hours ago
      undefined
    • petesergeant4 hours ago
      My UK-issued Revolut Visa worked fine in a foreign country at 12:00pm London time, via Apple Pay, if that's any help
    • petre4 hours ago
      I tried to pay gas today with Revolut plastic. Didn't work, used another card.
  • TidyMarble924 hours ago
    [flagged]
  • pravex3 hours ago
    [flagged]
  • vertias3u4 hours ago
    [dead]
  • junglistguy3 hours ago
    [dead]
  • rvz5 hours ago
    Once again, blockchains that use USDC continue to run without any serious outages for years. I just paid for an item with USDC (using Phantom Wallet) right now and there are many other examples of this.

    No need to wait for a bank and it doesn't matter the blockchain, as long as it supports USDC and you have a crypto wallet, the payment goes through.

    Stripe knows this already and crypto payments will be here for a very very long time as they already are today.

    • mrkeen4 hours ago
      I've been hearing about bitcoin for 15+ years and I don't think I've ever walked into a shop where they accepted it.

      So, approximately six 0s of uptime for my use case?

      • rvz4 hours ago
        > I've been hearing about bitcoin for 15+ years and I don't think I've ever walked into a shop where they accepted it.

        I didn't say bitcoin. I said blockchains that use USDC.

        > So, approximately six 0s of uptime for my use case?

        No-one cares if 1 person (out of 8 billion and trillions of bots) won't use it. It exists and Shopify and Stripe have crypto payments with USDC which is useful for both humans and agents.

        [0] https://stripe.com/gb/use-cases/crypto

        • 4ggr03 hours ago
          how exactly does one walk into a shopify store?

          the point was about physical flesh-to-flesh shopping experiences.

          • rvz3 hours ago
            > how exactly does one walk into a shopify store?

            If they have a POS Terminal at their physical brick and mortar store powered by Shopify, they can do just that [0] and it accepts crypto payments.

            The same for Stripe Terminal which allows contactless payments with stablecoins such as USDC [0] for physical stores. They can accept crypto from there and Stripe handles the transaction seamlessly.

            [0] https://www.shopify.com/uk/pos

            [1] https://www.privy.io/blog/contactless-payments-with-stableco...

            • mrkeen2 hours ago

                Revolut, for example, has confirmed all its operations, that include, sign-ups, sign-ins, payments and transfers, top-ups, ATM withdrawals, stock trades, cryptocurrency, are all down.
              
              https://www.neowin.net/news/google-cloud-outage-takes-down-h...
            • 4ggr02 hours ago
              where i live 95% of the shops use a terminal from SIX[0], small shops use SumUp[1] or TWINT(as far as i understand that's comparable to venmo). i've seen about <5 shops with bitcoin stickers, mostly abroad. and they were mostly vape shops, interestingly enough. guess there's no demand at all for crypto in the physical spaces i'm a part of.

              which makes sense, you'd either end up paying in pegged, virtual crypto dollars, or pay with a completely separate crypto currency which then means that the shoes you bought a month ago are suddenly worth a magnitude more or less. might as well pay in turkish lira.

              [0]https://www.six-group.com/en/home.html [1]https://en.wikipedia.org/wiki/SumUp

              • sceptic123an hour ago
                I wonder how many of those vape shops are fronts for organised crime and/or money laundering operations and how much that's related to them being happy to accept bitcoin.
            • inexcf2 hours ago
              Ah okay, so your pedantry about it being USDC and not Bitcoin was unnecessary and "it exists and you can use crypto to pay" is in a made-up fantasy world where you can in fact do that.

              Like can you pay with crypto at a Stripe POS when the infrastructure goes down? Or was this just completely irrelevant?

    • ben_w2 hours ago
      1. Revolut also offer crypto wallets, this clearly didn't help: https://help.revolut.com/help/wealth/cryptocurrencies/crypto...

      2. This is Europe, we don't use USD directly or indirectly-via-backed-crypto for daily shopping.

      3. Crypto comes in two layers: layer 1 which is too slow to replace interbank exchanges (which is much easier than everyone in Spain paying rent, which is much easier than everyone in Berlin buying lunch); and layer 2 which, as per memes about tech guys reinventing things which already exist, is reinventing the concept of a bank which is the thing here which fell over because the cloud it was on got unplugged.

    • IneffablePigeon5 hours ago
      What on earth are you talking about my guy
      • rvz4 hours ago
        This is what I am talking about: [0]

        If you were following Stripe for years, you would know that they are already using crypto for payments and it is here to stay.

        [0] https://stripe.com/gb/use-cases/crypto

  • pllbnk5 hours ago
    Not saying it's a vibe-coding issue. But I just imagine a scenario where a global service experiences significant disruption due to a vibe-coded release. No person understands how it works or is able to figure out in less than a week because no human has ever glanced at the code for a couple years, so the decision is taken to unleash LLM agents directly on production to fix the issue. Of course, one of these agents has to do some database migration but there is a breaking change, so they launch a sub-agent to deal with that; the sub-agent doesn't have a full context, so it decides that the easiest way would be to drop the database and so it does. The latest _successful_ backup took place a month ago.

    $100B value down the drain.

    • piltdownman5 hours ago
      Intermittent network failures in europe-west2 region != vibecoding
      • pllbnk4 hours ago
        I didn't say it's a vibe-coding issue, though it could be. Your guess is as good as mine.
      • comboy4 hours ago
        [citation needed]