On the phenomenon of caring less and less about walled gardens.
How to properl handle 500 internal server errors for file downloads. A well-designed unhappy path can make all the difference.

November 2022

I've changed all error wrapping in two production codebases from this: if err != nil { return errors.Wrap(err, "failed to do a thing") } And this: if…
This post documents a catalogue of experiments on the topic of error management in medium-sized Go programs, specifically HTTP APIs, with certain end…

June 2022

This is part 1 of a series analysing the relational database landscape and criticising the design of Structured Query Language. This article Our…
I've played with cryptocurrencies for a while, since around 2015 if memory serves. That has involved buying some Ethereum and bitcoin on Kraken and…
I've never been good at keeping notes. I have a Notion file with 36 links in it, it was last updated in 2019. I also have a Pocket account, I use it to…

May 2020

Essays on design, software, the world and the lines we draw amidst it all.