~/blog/tag/ai
AI
Articles on AI in software development, from blind generation to deliberate building.
What I write about here
Posts under this tag cover a range. Some are critical of how AI is being used in software teams. Some are practical guides to working with coding agents day-to-day. Most sit somewhere in the middle.
The through-line, for me, is that AI is a tool, not a peer. Useful when treated like one, harmful when treated like the other. That framing is what my critical posts argue and what my practical posts assume.
If you came here for the skeptical side, the ai-skeptic series is the entry point. Brilliant parrots, lava layers, prompts that aren't specs, that whole arc. If you came here for "how do I actually work with this", the claude-pro series and the standalone tooling posts will be more useful. CLAUDE.md files, hooks, structured prompts, the workflows that hold up.
Both halves are written from the same place. AI changes what code feels like to write. It does not change what code needs to be to ship safely. Most of what I write under this tag is a variation on that gap, and what to do about it.
The practical half now has a guide of its own: Agentic coding puts the key posts in reading order.
best entry points
- Why you should never ship code you don't understand
The thesis under this whole blog. Generating is the easy part, judgement is the work.
- The brilliant parrot problem: what AI actually does when it 'thinks'
What a model does when it thinks. Read this before you trust an agent with anything that needs understanding.
- Working with an agent, properly
The practical side. From first thought to merged commit, with the boundaries that decide what an agent may finish alone.
Why AI gives everyone the same name: 505 runs across 19 models
Ask a model to name your project and you get the name it gives everyone with a similar brief. I gave 19 models ten naming briefs, from a game to a SaaS to a fantasy heroine, 505 runs in all, and counted how often they agree and how many of their favourites are already taken.
readHow to measure what AI delivers for your team (hint: not tokens)
Token leaderboards at Meta and Amazon were gone within weeks, and a small effort test shows why: spend and results move independently. Three measures that asking the model more often cannot improve, translated to a development team.
- 85%serving gross margin, h1 2026
The price cut was never a discount
OpenAI and Anthropic cut their prices by up to 80% in four months, and the obvious read is a land grab paid for with investor money. Anthropic's S-1 says otherwise: serving was already running at an 85% margin before the cuts, and a lower price per task is how the bill grows.
The patch is the exploit now
PHP pre-announced a critical security release, and a proof of concept claiming remote code execution was online before the fix. In the same week Firefox started hiding its security tests and curl started publishing its minor bugs. Both are answers to the same thing: a patch now explains its own bug to anyone with a model.
- 56%extra cost, late correction
Steering Claude Code mid-task: Esc, queued messages and /btw
How to steer Claude Code while it works: what Esc keeps, when a queued message arrives, what /btw is for, and what a late correction costs. Measured over 40 runs of one task in two sizes.
- 117hours waiting on tools
Where Claude Code spends its time: a month of my own sessions, measured
Almost seven weeks ago I promised a number. I took a month of my own Claude Code transcripts and timed every step: 74 hours of the model working, 117 hours of it waiting on tools. Half of the shell time sits in 1.4% of the calls, and a fair share of the waiting was waiting for me.
- 69unasked timestamps, of 83
Nobody asked for it: what coding agents add when you don't decide
Three days after taking the AI tells off this site, I wanted to know what they look like in code. So I gave 23 models the same three TypeScript tasks, 266 runs in five agent harnesses. Most of them add fields nobody asked for, every model line has a handwriting you can recognise, and two of the newest GPT models leave the data model as the prompt described it.
The AI tells on my site, and which ones I chose
A list of ten tells of AI-generated UI went round over the weekend, and item seven describes this site down to the fonts. Anthropic lists the rest of its look as a default in its own design skill. Asking which parts had a written reason separated my own choices from what an agent had added, and those additions went.
Nobody's agent went rogue
The FTC chair says AI agents are tools, and the developer who gave the instruction is liable. He is right about the tool and wrong about the instruction. The traces of the Hugging Face attack show an agent doing a great deal more than the task asked.
Eight reports, one bar: judging an AI safety sprint
I judged eight submissions at the Apart Research AI Incident Response Sprint. Keeping my own bar in the same place from the first report to the eighth took an apparatus, and the apparatus caught me dropping it three quarters of a level.