Every Go and Rust pipeline I run starts the same way, and for a long time the first thing each job did was waste a minute of my life. Before it could lint or test or scan, it had to go and fetch the tools to do those things: cargo binstall …
I once did a hundred hours in a weekend. Seventy-two of them without sleep, before I gave up and had a lovely little nap on the staff-room sofa, halfway through the Monday morning meeting, in front of everyone. Nobody minded. We’d shipped …
Most scaffolders hand you a stub. You run the generate command, you get a file with the right shape and a // TODO: implement where the actual work goes, and the rest is on you. That’s fine, it’s upfront, and it’s most of what the rtb …
A couple of weeks back I made a claim I was happy to put my name to: There’s no AI in my photo culler. And I meant it. The first pass that sorts Hailey’s wedding photos into keep, maybe and reject is arithmetic, the sort a patient enough …
Everybody who has run anything on AWS carries the same low-grade dread: the bill you don’t see coming. A cron that spins up an instance and forgets to kill it, a misconfigured NAT gateway billing you by the gigabyte, a test that leaves a …
You’ve decided to build a command-line tool. Good. And before you’ve written a single line of the thing it’s actually meant to do, you hit a decision that feels far more permanent than it should: which library parses the arguments. You go …
I was wiring up the release build for krites, the wedding-photo culler I’ve been building for my wife, and I went to add Windows to the list of targets. It felt like the responsible thing. You write software, you ship it for the three big …
I’ve had a Gemini Pro subscription for about eighteen months. In that time it has researched a leisure battery and a diesel heater for the campervan conversion, generated a truly stupid number of pictures of my pets in hats, and helped me …
Back in 2019 I wrote that recruiting people is effing hard, and then more or less left it there, because I had a stack of CVs to wade through and you had a day to be getting on with. That post was written from the slush pile, the …
There’s a kind of bug that’s worse than a crash. A crash at least tells you where. This one just… stopped. I asked ffmpeg-wasi to remux a clip into a Matroska file, no re-encoding, just repackage the same streams into an .mkv, and it never …