~/blog // 36 posts, no schedule, no filler
Sep 21, 2026I Have Never Done an Open Mic. I Built a Tool for Comedians Anyway.ai
Sep 15, 2026P(doom) Is a Distraction, P(oops) Is Tonight: Practical AI Risk for Normal Teamsai
Sep 12, 2026Your Eval Set Is Lying to You: Data Leakage in Small Fine-Tunesai
Sep 9, 2026Two Leaders Walk Into a Cluster: My First Real Split-Brainsystems
Sep 6, 2026Observability Isn't Three Pillars, It's One Question: What Changedsystems
Sep 2, 2026Prompt Injection Is the New SQL Injection and We're Repeating 2005security
Aug 30, 2026Sagas vs Two-Phase Commit: Pick Your Poison for Distributed Transactionssystems
Aug 26, 2026Quick One: jq Saved My Afternoonsystems
Jul 30, 2026Writing a PRD That Engineers Actually Read Past the First Headingproduct
Jul 19, 2026Model Cards Nobody Reads and Audit Logs Nobody Checksai
Jul 7, 2026Caching Is Easy, Invalidation Is a Careersystems
Jul 4, 2026RAG Is Just a Search Problem Wearing a Trench Coatai
Jun 30, 2026Database Migrations at 2AM: A Zero-Downtime Playbook Written in Regretsystems
Jun 25, 2026I Read Our Dependency Tree So You Don't Have To: A Supply Chain Horror Storysecurity
Jun 16, 2026Leader Election Without etcd: How Far Can You Get With Just Postgressystems
Jun 7, 2026What Engineers Get Wrong About Talking to Usersproduct
Jun 3, 2026CRDTs: The Data Structures That Let You Stop Apologizing for Conflictssystems
May 31, 2026Feature Flags Are Distributed Systems Too and Yours Is Probably Brokensystems
May 24, 2026The EU AI Act for Engineers Who Just Want to Shipai
May 17, 2026Why gRPC Deadlines Are Not Optional and Never Weresystems
May 9, 2026The NOTES.md Habitsystems
May 6, 2026A Tiny Ode to watch and \watchsystems
Mar 29, 2026Backpressure or Bust: What Happens When You Ignore Queue Depthsystems
Mar 17, 2026Threat Modeling for People Who Think Threat Modeling Is for Other Peoplesecurity
Mar 14, 2026Circuit Breakers: Fail Fast, Recover Faster, Stop Paging Mesystems
Mar 5, 2026Saying No as a Product Owner Without Getting Uninvited From Meetingsproduct
Feb 23, 2026Rewriting a Legacy Monolith: Strangler Fig or Strangler Fig, Those Are the Optionssystems
Feb 11, 2026Idempotency Keys: The 20 Lines of Code That Saved Our Payments Flowsystems
Feb 7, 2026Exactly-Once Delivery Is a Bedtime Story We Tell Product Managerssystems
Jan 28, 2026Secrets in Env Vars: A Love Story That Ends in a Git Historysecurity
Jan 19, 2026Clocks Lie: What NTP Drift Did to Our Idempotency Keyssystems
Jan 8, 2026Why Your Retry Logic Is a DDoS Cannon Pointed at Yourselfsystems
Jan 3, 2026Estimation Is Fake but Roadmaps Are Real: Living With Bothproduct
Dec 21, 2025Your Staging Environment Is Lying to Yousystems
Dec 9, 2025The Outbox Pattern: Boring, Ugly, Undefeatedsystems
Dec 4, 2025Consistent Hashing Explained With a Momo Shop Analogysystems