Writing
Longer thoughts, finished ones.
Essays. The shorter, rougher material lives in notes.
8 pieces
A project is not a productA project runs once, on your machine, under conditions you picked. Everything that makes the difference is the part nobody demos.You can't improve what you haven't taken apartTwo libraries I built to beat the incumbents, and what taking them apart actually taught me. You cannot see where something fails from the outside — and you don't need to make a hundred mistakes to learn a hundred things.I built a JPEG-native image processing libraryMost pipelines decode a JPEG to a bitmap, do the work, then re-encode. What happens if you operate on the DCT coefficients instead? The write-up behind DCT-Vision.Labelled data is the director's cut for AIWithout it you're just watching the bloopers. On why the annotation layer decides more than the architecture does.Configuring Ubuntu 22.04 for CUDA and OpenCV 4The full setup, in order, with the version pins that actually work together.Diving into Docker — a five-part seriesFrom why containers emerged, through installation and the commands worth memorising, to writing a Dockerfile you won't be embarrassed by.Web scraping with ScrapySpiders, selectors, and the parts of Scrapy that are worth the framework overhead.Better practices for Python projects using virtual environmentsThe habit that stops a machine accumulating six incompatible versions of everything.