The Dangers of Hype

Posted on Monday May 19, 2025

Skynet Logo

The last few months have seen a huge shift in the developer community: the advent of generative AI and the huge focus it now has within the technology industry. Everything now has "AI" in the title, and there are wild claims about agents replacing developers and performing the same tasks. But what is some of the reality behind it, and is it all just a load of hype?

Read More

Nostalgia on Retro Programming

Posted on Sunday May 11, 2025

PHP Code in Notepad++ Running in Windows XP

Remember the days of table-based layouts, FTP deployments, and coding PHP in Notepad++? Before Git workflows, containerization, and AI-assisted coding, there was a simpler era of web development that shaped many of us. I've been a developer now for almost 20 years, but back when I was learning and practising my new skills, I was coding things in PHP on Windows machines—something I haven't done for a very long time, but remember very fondly. Given how dramatically the developer experience has transformed over the last few months with generative AI tools, never mind the past two decades, I wanted to revisit a slightly simpler time and see what development was really like back in 2005.

Read More

Returning to Work

Posted on Tuesday January 28, 2025

An empty Moses basket

2024 was a year where a lot changed - we welcomed our son into the world in June, and that brought an amazing and privileged opportunity to take the rest of the year off and spend it getting to know my son and looking after him until the New Year. Now that I've returned to work for almost 4 weeks, how am I feeling and how have my views on my day job changed?

Read More

My MacBook Pro Setup

Posted on Saturday December 21, 2024

MacBook Pro 2017 with iTerm2 window overlaid showing the current blog environment

In an effort to prolong the life of my current home machine, I recently formatted it and set things up from the ground up, thinking carefully about what I needed to build some projects in the background. This documents exactly what I have in place, and why.

Read More

Creating a Static Site Generator

Posted on Tuesday November 12, 2024

Diagram showing how the static site generator will work, including taking static assets and markdown articles, generating them in Python into HTML pages, building and deploying them through GitHub Actions into a static site server with Nginx

Most of the world runs on one CMS (content management system) platform, Wordpress. It is convenient for those of us who don't know how to build a site from scratch, but for those who want a small, lightweight and simple-to-use blog or static website, there are a few other options out there. Rather than using Hugo, Next.js or a pre-packaged option, it's very easy to build a Markdown-to-HTML generator in Python and get it ready to deploy to a static site server or even AWS S3.

Read More

Moving from Terraform to CDK

Posted on Friday August 30, 2024

Meme with car heading to CDK exit abruptly, where car represents building AWS infrastructure

After using Terraform to build my AWS infrastructure almost since I first started, for the last year ot so I've been trying my hand with AWS CDK instead, a different approach that has some interesting advantages over the traditional Terraform state model, not least by missing out the TF AWS provider!

Read More

Losing the Discovery

Posted on Saturday August 10, 2024

Last Picture of the Land Rover Discovery

Earlier this year, after spending quite a bit of time (and money!) getting the Discovery into a very usable and stable condition, there was an unfortunate incident that put the majority of that to waste. Here's a bit of a story about all the effort I put into the car since the first year, and where I ended up.

Read More

Testing Golang and AWS DynamoDB with TestContainers

Posted on Sunday July 7, 2024

Walking Towards a Set of Shipping Containers with Go Logo and DynamoDB Logo Above

While trying out a refactor for my Journal and a move towards more native AWS services with Lambda and DynamoDB, trying to fully test the application without using an AWS account itself started to become challenging. This article gives an overview of how you can use DynamoDB with Golang, and how to use TestContainers, something I've used extensively with Java, in place of a docker compose setup to wrap your Go tests.

Read More

A Year (Almost) in Developer Experience

Posted on Friday December 29, 2023

Seeing Code Clearer Through Glasses

Almost a year ago, I started a new role as a Principal Software Engineer in Developer Experience, a role that while I'm passionate about, definitely started with some misconceptions. This is a short article about some of my initial experiences over the last year and the important takeaways I have, and how I'm going to use this to go forward in 2024.

Read More