Redis is transport, Postgres is truth: how I unlearned a bad habitA worker crashed. The retry ran. The job executed twice. Redis looked healthy. The queue looked healthy. Nothing explained why the retry didn't know where to continue. For a long time, I thought the aJun 2 · 8 min readarpitdev.hashnode.dev
I didn't think I needed a blog_versions tableFor a long time, I thought a blog_sessions table was enough. A blog had a topic, an outline, a draft, a final version, and a status. If a user wanted changes, I'd update a few fields and run the pipelMay 31 · 5 min readarpitdev.hashnode.dev
The race condition hidden inside counter++Most developers see counter++ and assume it is one operation. It isn't. That assumption is exactly why race conditions are easy to create and hard to debug. I understood this properly only after runniMay 26 · 6 min readarpitdev.hashnode.dev