About that 'no AI'...
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 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 …

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 …

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 …

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 …

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 …

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 …

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 …

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 …

I run three Hugo sites now. This blog, my dad’s B&B, and the vanlife site my wife and I are slowly putting together. All three build with Hugo and deploy to GitLab Pages, and until recently all three had the same blind …

A few days ago I shipped afmpeg and ffmpeg-wasi, a way to run FFmpeg as a WebAssembly module straight from Go with nothing installed on the host. afmpeg fetches that wasm module at runtime and then… runs it. A lovely …
