VW Golf dashboard with a start-stop system failure warning light illuminated
Apr 2026

Troubleshooting the start-stop system failure on my VW Golf - Part 1

Usually I write these blog posts after I've fixed the problem - but this time I'm writing it as I go. Join me as I gather information and build a list of ideas.
Read post →
Abstract illustration of a fast simple hosting setup
Mar 2026

How I manage content on this website

Learn how this blog site is put together - with minimal dependencies and bloat
Read post →
A smartphone camera lens surrounded by abstract binary data streams and TIFF file grid patterns
Mar 2026

Generating TIFF files on an Android device

No library was up to the job, so I read the spec and wrote my own TIFF encoder.
Read post →
Tackling badly-written software
Mar 2026

Tackling badly-written software

For too long I had grappled with this codebase - tangled, confusing, complicated - and was finally able to turn it into the simple solution that it always could have been - here's how I did it!
Read post →
Ephemeral environments with Kubernetes and Azure DevOps in the cloud
Dec 2025

Ephemeral environments with Kubernetes and Azure DevOps in the cloud

Learn how I introduced a whole new way to test - and boosted team productivity - by creating the ability for developers and testers create their own throwaway deployment of our product
Read post →
Being ignored? Find out why with git check-ignore
Jul 2025

Being ignored? Find out why with git check-ignore

Have you got files being ignored in source control and you don't know why? Git's got your back. Here I demonstrate git's secret weapon: check-ignore
Read post →
Testing Durable Azure Function Apps using XUnit and TestContainers
Jun 2025

Testing Durable Azure Function Apps using XUnit and TestContainers

My new approach to writing functional tests against Azure Durable Functions. Use a similar approach for any containerised web app!
Read post →
Cache dependencies in your Azure DevOps pipeline
Jun 2025

Cache dependencies in your Azure DevOps pipeline

We take a look at how caching your npm dependencies using the Cache task in Azure DevOps can improve performance and avoid upstream bandwidth limitations!
Read post →
Hosting apps on-prem using Cloudflare Tunnels
Mar 2025

Hosting apps on-prem using Cloudflare Tunnels

Host apps on your own kit - and expose them to the internet - safely!
Read post →
Azure DevOps Web Extensions with Vue
Mar 2025

Azure DevOps Web Extensions with Vue

Learn how to create an Azure DevOps extension using a statically generated Vue / Nuxt website and the VSS library
Read post →
Hosting an Azure Functions API for an Azure DevOps Extension
Mar 2025

Hosting an Azure Functions API for an Azure DevOps Extension

Following on from my post about creating a web-based Azure DevOps extension using Vue, in this post I demonstrate how to securely host a backend API for your DevOps extension
Read post →
Water Temperature Monitoring in my Ford Fiesta
Feb 2025

Water Temperature Monitoring in my Ford Fiesta

My 2012 Ford Fiesta is marvellous in many ways. However, it was not blessed with a water temperature gauge from factory. In this post, I do something about that...
Read post →
A futuristic image showing laptops and clouds and the words 'Functional Testing'
Feb 2025

Functional Testing for .NET 8 Isolated Azure Functions

Follow along to learn how to create functional tests using UnitTestEx for your .NET 8 (Isolated) HTTP-triggered functions
Read post →