My writing.
Here you'll find my writing on topics ranging from coding and the web industry, to linguistics and natural language processing – there's also a handy RSS feed, if you'd prefer to subscribe. If you'd like to chat about anything I've written, say hi on Bluesky.
Getting something from Nothing
When you're trying to use your phone less, what do you upgrade to? A sort-of review of swapping my phone for Nothing
It's OK to abandon your side-project
In an industry that pressures developers to always be shipping side-projects, it can be helpful to be retrospective with the projects that don't make the cut
2023 Wrapped
It's the end of the year, so here's my now traditional end-of-year wrap up of work, life and media
Locking scroll with :has()
Now that :has has landed in all browsers, here's a quick tip for handling locked scroll
HTML is like a camera
A short post on the foundations of photography in relation to working on the web
Legacy code
What does it mean to work in a medium that could disappear tomorrow, and how do we get comfortable with that?
Hand-thrown frontends
I've been thinking about my frontend process and how the concept of assembling a UI like Lego bricks never sits well with me
So long, 2022
I skipped a year-in-review post in 2021, so I decided it was time to write about a few things that happened since then
The Jammies 2022
It's conference season and, to my surprise, this website picked up an industry award nomination
Holograms, light-leaks and how to build CSS-only shaders
Get a shiny WebGL look without actually using WebGL. In this article we take a look at how CSS blend modes unleash the potential of cool compositing effects without the need for JavaScript
Mind your language
Building flexible, multi-lingual sites can be tricky. This post takes a look at five steps to help things run smoothly
Getting started with Go
Golang is a fun, fast and powerful language...but it can seem a bit weird on the surface. If you are curious about the language but don't know where to start, this post is for you.
The year that was(n't)
2020 has been a tough year. In the spirit of reviving this blog I felt that writing a little more introspectively about the year-that-was might help me to make sense of the chaos.
Introducing Rekishi
Becoming frustrated with gaps in the history api, I built Rekishi, a minimal pubsub wrapper to watch for URL changes.
How to name your agency with NLP
An introduction to some of the basic concepts behind Natural Language Processing, and how they can be put to use.
Synthwave '84 has changed
Neon Dreams is a new release of Synthwave '84 that takes a different approach to enabling the glow than before.
Launch day
After several years in the wilderness, I have a new website. This post gives a little background on the twists and turns along the path to launch - from the tech choices to the design.
Synthwave '84
A retrospective on Synthwave '84, retro-themed colour scheme for Visual Studio Code and accidental viral sensation.