About midway through last month, probably around the time when the cast on my broken hand started to get a bit ripe, I decided to channel some of my continuous acute anxiety at not having the full use of one hand into making a little micro-webapp to allow users (i.e. me) to view the elapsed time between two dates as a progress bar. The visualisation, I reasoned, would help me get a bigger-picture perspective on what was, with bigger-picture hindsight, a pretty minute fraction of my whole life. It’s not clear whether it actually worked or whether it just focused my anxiety into a single sharp point, but the exercise was a fun distraction for a day.

You can find the web app here, if you’re interested in visualising the progress between two points in time. This is what it looks like to measure my progress through life, assuming I die exactly at noon on my eightieth birthday:

Any progress bars you create stay on your computer; there’s no syncing between devices or servers scraping your data and sorting you into a marketing cohort.

In fact, the whole website is made up of three files: one HTML, one CSS, and one JS. The Platonic Form of a website circa 2004. There’s no build step, no dynamic rendering. The app doesn’t work without JavaScript, but that’s okay, since there’s nominally only a single user (me). The application isn’t doing anything particularly technical—mostly just reading and writing to localStorage—and browsers are all basically on the same page nowadays so there’s no need to faff with vendor prefixes or checks for APIs on window or polyfills or anything like that.

I like the experience of writing applications like this. Modern browsers support it really well; you barely even need Postcss or Sass anymore. I think that in general we could probably err more on this side of the JavaScript Complexity Spectrum than we do today. Am I going to jump down your throat if you build your blog with Next.js? Only if you brag about it.

Web JavaScript


American Gods


Learning about learning computers

Trying my hand at learning about artificial intelligence and that whole malarkey.