How I Used AI Agents As My Editorial Pipeline
Two drafts. One tried to squeeze six months of tooling decisions into a single 3,000-word post — Copilot, OpenCode, 9router, Warp — and collapsed under the weight. The other was a flat walkthrough ...
Two drafts. One tried to squeeze six months of tooling decisions into a single 3,000-word post — Copilot, OpenCode, 9router, Warp — and collapsed under the weight. The other was a flat walkthrough ...
You switched to pm2. Your processes crash less. But now you have a new problem. In my last post, I traced a Bad Gateway to a PID file that had been lying to me for days. The fix was pm2 — it would...
You know that little badge at the bottom of every post? The one that says a Creative Commons license and links somewhere? I didn’t put it there. It came with the theme. I’m using Chirpy, a Jekyll...
The Five-Tab Problem You know the drill. A request hits five microservices. Something breaks. You open five terminal tabs — kubectl logs -f pod/foo-abc123, kubectl logs -f pod/foo-xyz789 — and sc...
The first import was the first failure: ‘ERR_MODULE_NOT_FOUND’. The code wouldn’t even boot. But back up. Three months ago I wrote about the monorepo split. API server, dashboard, CLI — three work...
Two ways to start the same server. One worked. The other gave me Bad Gateway. They ran the same code, listened on the same port, used the same config. The difference was invisible. Context I am ...
I’ve been writing software professionally for years, but somehow I had never really contributed to an open-source project. I’ve used plenty of them. Forked them. Patched them. Built things on top ...
Three days ago I wrote an autopsy about ripping a dead Headroom integration out of my 9router fork. The endpoint I was calling didn’t exist in the version I was running, the failure was swallowed s...
I hadn’t checked upstream in a while. My fork had accumulated enough custom code — combos, middleware, the memory layer — that pulling updates felt like asking for trouble. Easier to stay isolated....
I found Headroom in a random LinkedIn post. It looked great — a compression proxy that sits between your app and the LLM providers, strips redundant context, saves tokens. The pitch was compelling....