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 …
A wedding happens once. The first kiss, the confetti, the father of the bride going to pieces halfway through his speech, all of it unrepeatable. If the photographer loses the RAW files from the day, there is no second take. You can …