Permit me to regale you with my very niche pet peeve: circular, two-dimensional wormhole entrances in science fiction. (Fantasy gets a pass; unless you’re trying to do science-y magic, the magic p…
Chrome extension development for e-commerce in practice: how a custom browser tool surfaced a store's price advantage and drove increased e-commerce sales.
In September 2022, I impulsively signed up for a Bachelor's Degree in Computer Science after seeing an ad for it on Coursera. Getting a degree had been on my mind for quite some time, after a...
Most developers use a terminal for years before realizing they don't actually know what a terminal is. They know how to use one. They couldn't define one.
This is a free online textbook: you are welcome to access the chapter PDFs
directly below. If you prefer to hold a real book, you can also purchase a hardcover or paperback below.
The textbook and materials have been developed by Prof. Douglas Thain as part o…
You know the feeling. You open a pull request on Monday morning. You ping the reviewer(s). You go to lunch. You come back. Nothing. You context-switch to something else. On Wednesday, the reviewer finally leaves a comment — a single one, on a minor detail. You…
Since October 2025, I have been using Claude Code extensively for work. In the beginning, there was definitely
a learning curve, and I had to adjust my workflow around it. I remember back when I worked as a Kotlin developer
at my previous compa…
Convert a long Markdown document to PDF and it becomes something you move around in: a clickable bookmark outline, working [text](#heading) jumps, a page-numbered contents, bidirectional footnotes. Why that's the part most converters skip, and how it all falls…
Software isn't like written words. It generally requires upkeep to remain useful and functional over the years (or decades). I enjoy writing partially becaus...
For the last 20 years or so I’ve been trying out a new way of programming, one that (surprisingly) doesn’t use any LLMs or AI coding agents at all. It’s just me, a keyboard, and an IDE or text editor, writing code line by line—literally typing things like func…
In 2009 I built a complete WordPress site on EC2, from source, in the time it took a train to get from St Pancras to Ashford. It had monitoring. It had SSH login. It had a seed article. By the time I got off the train, I knew Chef would become a fundamental pa…