Writing
Long-form articles and short technical notes.
The Postgres index that did nothing
Most of your AI coding bill is cache, and how to stop breaking it
When your quota vanishes twice as fast as it should, the culprit is almost never how much you generated. It is how often you broke the cache without noticing.
errgroup already cancels the context for you
When I reach for a team of agents, and when one is enough
Running five agents in parallel looks like five times the output. Usually it is five times the tokens and a coordination problem. Here is the line I draw.
Git worktrees are the right tool for parallel agents
The useEffect you didn't need
You can use the ? operator in main
Turn on WAL mode before you blame SQLite
Your agent doesn't need a better memory. It needs to forget.
The instinct is to give an AI agent perfect recall of everything you have ever done together. I tried the heavy memory tooling and turned it off. The problem was never storage. It was retrieval.
Parse at the boundary, trust everywhere else
The 200-line rule: why my agent instructions stay short
A long CLAUDE.md feels responsible and reads like diligence. In practice it buries the rules that matter under the ones that do not. Here is the structure I use instead.
The bottleneck moved: what actually changed when AI started writing my code
After a year of building production systems with AI in the loop, the hard part stopped being the code. It became the spec, the context, and the judgment to tell good output from plausible output.
System design in five questions
System design reads like an endless glossary: load balancers, sharding, CAP, circuit breakers, CDNs. It is easier than that. Almost all of it answers one of five questions.