Choosing a Primary Key: A Tour of the IDs Real Systems Actually UseThe last article in this series was all about picking the right UUID version. This one pulls back a bit further, because UUIDs are just one item on a much longer menu, and depending on what you're buiSep 14 · 12 min readyasir323.hashnode.dev
Picking the Right UUID Version (So Your Database Doesn't Hate You)I used to type uuid.uuid4() for years without giving it a second thought. It works, it's unique, ship it. Then one afternoon I was staring at a Postgres table where inserts had slowed to a crawl, the Sep 14 · 13 min readyasir323.hashnode.dev
Tap, Tap, Charged Twice: The Idempotency-Key PatternA friend once messaged me, mildly furious, with a screenshot from his bank: the same $500 payment, twice, two seconds apart. He'd tapped "Pay," the app spun for a moment, nothing happened, so he tappe1Jun 27 · 13 min readyasir323.hashnode.dev
The Transactional Outbox Pattern in Python: Solving the Dual-Write ProblemThere's a particular kind of bug I've learned to be afraid of. It doesn't throw an exception. It doesn't show up in your tests. It passes code review, ships on a Friday, and works perfectly for three 1Jun 26 · 17 min readyasir323.hashnode.dev
The Heap That Wouldn't Sit StillA while back at work I picked up a ticket that sounded almost insultingly simple when I first read it: "show the top 25 gainers and top 25 losers today". Live, off the tick firehose, for the whole mar1Jun 21 · 9 min readyasir323.hashnode.dev