There are two different things in your codebase both called time, and almost every date bug is the two of them being mistaken for each other. A ground-up model, in Go and Python.
Posts for: #Backend
Bug #1 — The Clock That Kept Slipping
An external API’s timestamps never matched our clock — and the gap kept growing. It was not one bug, it was two.
Beyond Backend Basics
A creative roadmap for backend devs.
Caching Is Easy. Invalidation Is Where Systems Falter.
Everyone knows how to add a cache. Almost no one has a written-down invalidation strategy before shipping.
Hexagonal Architecture in Go
Most Go services start clean and turn into a tangle. Hexagonal architecture is the structural idea that keeps them untangled — here is how it works and how to apply it in Go.
Root Cause
Notes and highlights from reading Root Cause by Hussein Nasser — war stories from twenty years of backend bugs, and what each one taught.
SQL Doesn’t Run in the Order You Write It
The order you write a SQL query and the order the database executes it are completely different — and that gap explains most SQL mistakes.
That Username Is Taken. How Does Google Know Instantly?
You type a username. Before you finish, it’s already taken. No network call. No lag. How?
The Thundering Herd Problem
Cache stampede is when your own users become the attack. The fix is not more cache — it is treating the cache miss path like a critical section.