Writing - Featured
General thoughts and tips that don't fit nicely into any of the other categories.
Power consumption of JPEG, WebP, and AVIF
How much power does loading a JPEG, WebP, and AVIF image consumer on a user's device? In this post, I've used the Firefox Profiler to run some unscientific tests in the hopes of finding out.
The Week in Green Software: Open Data with Fershad Irani
A couple of weeks ago I had the pleasure of jumping on the Environment Variables: This Week in Green Software podcast with Chris Adams.
Eleventy Plugin: Green Links
A small Eleventy plugin I built at the end of February 2023.
2023. A look ahead.
I’m excited for the year of 2023, both professionally & personally.
Building a digital carbon API with Cloudflare Workers and CO2.js
In this post we’ll build a simple API to calculate the carbon emissions for digital data transfer using CO2.js and Cloudflare Workers.
Testing a page with Performance Insights
Performance Insights is a tool by Builder.io (http://builder.io/) which, in their words, allows you to learn what improvements can have the greatest impact on your site's performance.
YouTube facades with Cloudflare Workers
YouTube embeds can added megabytes of data to a website, even if they are not watched by the user. This post looks at a way to use Cloudflare Workers plus a facade to reduce that initial data load.
Hidden in plain sight
I was recently shown a code snippet that that a designer friend implemented on a website to combat flash of unstyled text (FOUT). It did so in a way that could possibly have negative impacts on a visitor’s page loading experience.
Introducing Flowty - Build low carbon, self-hosted Webflow sites
Webflow is a great service for designers who want to create amazing websites for clients. It does leave a few things on the table when it comes to web sustainability though. Flowty gives designers who build with Weblow the power to create fast, low-carbon, self-hosted sites in minutes.
Creating user personas for website performance testing
The web makes it possible for businesses to reach audiences well outside of their immediate geographic area. This presents its own set of challenges to ensure online content and experiences remain fast for potential customers around the world.
Start performance tests from your browser's address bar
A small life hack to help get performance tests started faster with some handy address bar shortcuts in your browser.
Proxying AWS S3 content with Cloudflare Workers
Using resources hosted by a third-party can seriously hurt website performance in a few ways. In this post, we'll cover how you can use a proxy to reduce the performance impact when hosting content in AWS S3 bucket.
Dynamic page content with Cloudflare Workers
A brief guide on how Cloudflare Workers can allow you to add random content to your website without client-side JavaScript.
This website is a FLoC-free zone
I switched analytics away from Google late last year. Now, I've also added response headers that will exclude this site from FLoC calculations too.
CSS can probably do that
Rather than immediately reaching for JavaScript to handle on-page interactions, why not stop and think Could CSS do that? You'd be surprised, it probably can.
Google Analytics Alternatives
There's an increasing number of privacy-focused alternatives to Google Analytics. This article covers a few options you can use to keep your website visitors information out of the hands of digital advertisers.
The why of website optimisation: Better user experience
In the final post of the why of website optimisation series we'll take a look at how better performance online can equate to a better user (or customer) experience.
Introducing Optimised
Optimised is a fortnightly newsletter focused on the ways website performance and optimisation can help your customers, your business, and the planet.
Generate CSV Files from Data with 11ty
Eleventy is one heck of a powerful, incredibly flexible static site generator. This short guide will show you how you can generate CSV data files using Eleventy.
Boost branding and engagement with Open Graph meta tags
When we share content on social media we want it to be read. This blog posts introduces how Open Graph tags can be used to present eye-catching, consistenly branded shared content across social media platforms.
Freelancing in Taiwan during the COVID-19 pandemic
As a freelancer, and someone who was working remotely in the months before COVID-19 you'd think not a lot has changed for me since. In this post I go through what life is like in Taiwan, and how the coronavirus pandemic has also led to a change in my daily working habits.
Building my first app with Svelte 3
After doing a few tutorials last month, I finally got around to creating my first app in Svelte. In this blog post I go through some of my first impressions on the framework as I start building with the training wheels taken off!
How I would build my 2019 Rugby World Cup fixtures site differently next time.
Mid-September, over a typhoon holiday long weekend in Taipei, I put together a very simple website for the 2019 Rugby World Cup. With the 2019 Rugby World Cup now almost at an end, I've been thinking about how I might build a similar website differently next time.
What I've learnt in two months working remotely.
On the back of Buffer's 2019 State of Remote Work report, I take a look back at my transition from being office-bound to location independent. What's met my expectations, what's surprised me, and what challenges I've faced.
Build landing pages to promote webinars across different time zones
With the global nature of broadcasting online, many events - from sports tournaments to webinars - require promotion across multiple time zones. In this tutorial, I'll cover how to create a simple set of multi-time zone landing pages for a webinar series.
Why I now run my website on Netlify and Sanity
Recently I moved my entire website from Heroku to Netlify. The key driver was to remove the $7 monthly cost of running on Heroku's 'Hobby' plan. It's also allowed me able to make the website more performant without losing the ability to add and manage content. Oh, and I was also able to build this blog into the newly migrated website pretty quickly too!
'Hello, world.' A little bit about me.
This will hopefully be the first of many blog posts in which I cover content spanning web development, running a business, freelancing, and just general musings. Here's a little bit more about me, my hobbies, my past lives professionally and what I'm doing these days.