Yes you heard it right. Redis is more than a cache, if you've probably heard of Redis before, you may have implemented it as a distributed cache, built a distributed rate limiter on it. However, as systems grow, services need a reliable way to communicate without being tightly coupled and this is where event-driven communication patterns become useful. Redis Streams provides a medium for this e...
When I am playing guitar alone, changing a backing groove usually means moving a hand from the instrument to the laptop. A button can be easy to click and still interrupt the activity it is supposed to support. That problem led me to Mock Band, a browser rhythm section, and to a useful distinction: accepting a command, applying a musical change and making that change understandable to the playe...
I didn't build this after a big disaster. No agent ever deleted my database or broke a production deploy. The problem was slower and more annoying than that.
Every time I used an AI agent on a real task, I spent too much time managing it. It asked permission for simple things, the implementation often failed when the task was bigger, and even when th...
A fix can remove the first failure and still violate the contract. Here are three small examples where the attempted repair looks reasonable until you run the boundary checks.
These examples come from Failure Map, a project I created. They are controlled Python models with explicit contracts, not reports of production incidents. The programs below use only the standard library.