Writing
Short pieces on building things that work — measured on ordinary hardware, with the arithmetic shown. Each one ends where a course picks it up.
All posts
- How to measure LLM latency: find which leg owns the two seconds — A voice command that takes two seconds to fire has four legs and only one of them is slow. Here is how to time each one separately before you optimise anything. (2026-08-03, 4 min)
- You don't need a benchmark, you need five probes — Public evals measure the average task. Yours has awkward inputs and one definition of wrong. Building the small, specific eval that catches your failures in an afternoon. (2026-07-28, 4 min)
- What actually fits in 8GB of VRAM — The arithmetic behind model size, quantisation and context length — so you can work out what runs on the GPU you already own before downloading 40GB to find out. (2026-07-21, 4 min)
- Work out the cost per run before you quote the job — The arithmetic that stops a fixed-price automation from quietly costing you money every month it keeps running. One formula, four inputs, done on the back of an envelope. (2026-07-14, 4 min)
- What your machine actually costs to run — A £15 plug meter settles the energy question for your own hardware in an afternoon: idle draw, load draw, watt-hours per task, and what that comes to per year. (2026-07-07, 4 min)
- How to choose the first thing worth automating — Most first automations fail on selection, not engineering. Four tests that separate a task that will survive contact with real use from one that quietly gets abandoned. (2026-06-30, 4 min)
- From a token to a servo: the last ten centimetres — Everything between a model's output and something physically moving — the boundary, the failsafe, and why the interesting engineering is all on the hardware side of the API call. (2026-06-23, 4 min)
- The 48-hour test that beats asking people if they'd use it — Enthusiasm is free, so it means nothing. Four validation tests that cost the other person something, ranked by how much signal they carry. (2026-06-16, 4 min)
- Local or hosted: where the crossover actually is — The break-even between a GPU you own and an API you rent is a division, not an argument. Here is the calculation, with the terms people leave out. (2026-06-09, 3 min)