Viewing profile — lirbank
lirbank
HN member- Joined
- Wed, Jun 22, 2011, 6:18 AM UTC
- HN karma
- 68
- Public activity
- 48 items
- HN profile
- View on Hacker News ↗
About lirbank
Recent public activity
-
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…
-
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?
- story
- story
- story
- story
-
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…
-
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. …
-
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 -…
-
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,…
-
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…
-
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…
-
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…
-
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…
-
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…
-
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…
-
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…
-
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…
-
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…
- story
- story
-
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.
-
comment
Comment #39502665
How is this interesting for a coder community?
-
comment
Comment #39502625
Worth reposting. A thread with the author https://twitter.com/MikaelLirbank/status/1761557470395449375
- story