I use AI coding agents every day. I believe they are reshaping how we build software, and I think the teams that adopt them deliberately will outperform those that don't. I am not writing this to warn you away from AI-assisted development. I am writing this because the loudest voices in the AI enthusiasm camp are also the most allergic to discussing what can go wrong. And that worries me more than
The task at hand is drawing the circuit schematics for a robot I'm working on. I had already written down the components and the connections, all that's left is to draw it in KiCad. I had already started doing that, but then... I got sidetracked forcing Gemini to create the circuit using KiCad. I would have made progress if I had continued doing it by hand. I spent yesterday trying to generate an
Comments
On Second Thought — Episode 06 The ORM hides the SQL. The cache hides the ORM. The service mesh hides the services. The operator hides the YAML, which already hid the kubelet, which already hid the container, which already hid the process. By Tuesday, nobody quite remembers what the original problem was. They are too busy configuring its sixth wrapper. This is the post about that wrapper. When som
Every team experiences incidents. The teams that grow stronger from them are the ones that take postmortems seriously — not as blame sessions, but as structured learning opportunities. Yet most postmortems end up as a wall of text nobody reads twice, filed away and forgotten until the same incident happens again six months later. This guide walks you through writing postmortems that genuinely chan
This is part three of a series on display consistency in embedded systems. The first two parts were technical. This one is about why the technical parts worked. The picture: ATtiny85 thermometer. Neural network inference. QUAD7SHIFT display. Built from datasheets. He had datasheets. No Stack Overflow. No libraries to install. No AI to generate boilerplate. No tutorials that abstracted away the in
If you've ever used a bottleneck calculator, you've probably seen a simple percentage telling you whether your CPU or GPU is holding your system back. But here’s the truth most people don’t realize: Bottlenecks are not fixed numbers — they are dynamic, workload-dependent behaviors. In this post, we’ll go beyond basic tools and break down how CPU and GPU bottlenecks actually work in real-world scen