Live data from Hacker News

Viewing profile — lirbank

lirbank

HN member
Joined
Wed, Jun 22, 2011, 6:18 AM UTC
HN karma
68
Public activity
48 items

About lirbank

https://www.starmode.dev/ | https://www.lirbank.com/

Recent public activity

  1. comment
    Comment #49188225

    This has been needed long before agents were a thing - and now with agents, even more so! Excited to try it out. But I would like to understand more about the security posture. Wha…

  2. comment
    Comment #48749554

    Author here. Would love feedback and pushback. Is expand-and-contract how you'd approach migrations? And how do you handle the long tail of clients in the wild?

  3. story
  4. story
  5. story
  6. story
  7. comment
    Comment #47051158

    Right, that's a real concern with naive concurrent tests - you're at the mercy of timing and the test becomes flaky. That's exactly what the synchronization barrier solves: it forc…

  8. comment
    Comment #47044294

    Fair concern about reaching inside systems - it's not something to do lightly. The hooks are designed to be minimal: production code never calls them, they only activate in tests. …

  9. comment
    Comment #47043931

    You're right, Postgres wraps every statement in an implicit transaction. The point of that first example is that the SELECT and UPDATE are in separate auto-committed transactions -…

  10. comment
    Comment #47043002

    Hey, thanks for sharing this - these bugs are so easy to miss because everything works fine until you get real concurrent traffic. And yeah, the moment you have multiple instances,…

  11. comment
    Comment #47042523

    Oh that is super cool. Great prior art to study in combo with Loom. Very excited to dig in - imagine if there was an easy-to-use data race tester where you didn't have to figure ou…

  12. comment
    Comment #47042344

    Yeah, the more I think about it, the more exciting this idea gets. The walkthrough in the article shows exactly why - I intentionally (to later show why that is wrong) place the ba…

  13. comment
    Comment #47041173

    Good call, SERIALIZABLE is a strong option - it eliminates a whole class of bugs at the isolation level. The trade-off is your app needs to handle serialization failures with retry…

  14. comment
    Comment #47041089

    Absolutely - if you can express the whole operation as a single atomic statement, that's the best outcome. No locks needed, no race to test for. The article is about what comes nex…

  15. comment
    Comment #47041038

    Nice - that's a good case for barriers too. When there's no row to SELECT FOR UPDATE against, you'd inject the barrier after acquiring the advisory lock and verify the second trans…

  16. comment
    Comment #47040989

    Interesting! The barrier approach is more targeted: you specify the exact interleaving you want to test rather than exploring all of them. Trade-off is you need to know which inter…

  17. comment
    Comment #47040884

    Good point. The barrier pattern from the article applies to both approaches - whether you're using pessimistic locks or optimistic version checks, it's good to verify that the conc…

  18. comment
    Comment #47040581

    Here's a real-world example where atomic updates aren't an option - an order status transition that reads the current status from one table, validates the transition, and inserts i…

  19. comment
    Comment #47040483

    Fair point - atomic updates like SET salary = salary + 500 sidestep the race condition entirely for simple cases. The examples are intentionally simplified to isolate the concurren…

  20. story
  21. story
  22. comment
    Comment #39502732

    Agree. This is great though. Don't need a separate service to email to quickly email a bunch of ppl. Avoid building products around a closed platform.

  23. comment
    Comment #39502665

    How is this interesting for a coder community?

  24. comment
    Comment #39502625

    Worth reposting. A thread with the author https://twitter.com/MikaelLirbank/status/1761557470395449375

  25. story