#web-development
Inside the BBC's 3D World Cup viewer
While updating scores for AIWC26 this week I came across BBC Sport’s 3D World Cup viewer, which launched on 12 June for matches broadcast on the BBC. Every match played...
Baking webmentions into the build
Back in 2022 I added webmention support to this blog. The implementation worked but it was entirely client-side, so the page would load, JS would fire, fetch from webmention.io, and...
It's 2026, why are vendor prefixes still in your CSS?
I’ve spent more time over the last 20 years working on front-end asset pipelines than I’d care to admit. One thing that kept coming up when inheriting older codebases was...
Building an emoji-only chat app
My daughter finds emoji hilarious. She’s 6 and will scroll through an emoji picker for ages. My wife and I started by letting her use WhatsApp’s emoji picker to send...
Building a Balatro-lite game with vanilla web tech
I’ve spent countless hours playing Balatro, and I’ve always wanted to create my own game with similar mechanics. When TrinketOS announced a game jam, it was the perfect excuse to...
Adding support for Webmentions
I’ve added Webmention support to the posts on this blog. Webmentions are a method for websites to know that they’ve been linked to (or mentioned) from elsewhere on the web....
Jekyll Antipatterns
Creating an icon font
I’ve recently been doing a lot of working designing an icon font that works well at small sizes for my day job. Here’s an overview of the process I’m using...
Better link underlines with Sass
Why your reasons for no-longer using a CSS pre-processor are wrong, and you're wrong, and you should feel bad.
Some approaches for creating diagonal section separators for your website
Getting started with using Sass in your existing website
Sass is a CSS-compatible preprocessor for CSS. It allows you to reduce the amount of duplication and complexity in your CSS by using variables, mixins (functions), nesting, and other cool...
On the subject of "Pixel-perfect PSD to HTML/CSS"
I read an article on the subject of implementing a PSD design of a website perfectly in HTML/CSS, and without wanting to spend my time writing a lengthy response in...
Meta post about making this blog responsive and not using px
Fluid video embeds for your responsive website
Testing responsive layouts with the RWD bookmarklet
The woes of trailing commas in IE
A simple 'stacked paper sheets' effect with CSS3
Making HTML5 input placeholder text behave in Safari
On scrolling
Scrolling on the web is something that we take for granted when thinking about how users will interact with our website. There are two schools of thought on the subject:...
Moving away from Twitter Bootstrap - Hello new design!
Adding more post metadata to Jekyll with YAML
Review: The Smashing Book #2
Redesigning and relaunching Dingoonity
CSS Tabs, ala mog
well, this sucks.
css, xhtml, and faking "jet lag"
The wonders of validation