Blog

Here is a collection of articles that I have written about software development, software testing, DevOps, and developer education.

Introducing Resterm

November 6, 2025

Today, I learned about Resterm, a TUI (Terminal User Interface) app for making for HTTP (and GraphQL and gRPC) requests, plus so much more. After only a pretty short time, I’m really taken by it, and want to show you what it is and the basics of how it works.

Recently, as I’ve been rebuilding my website, I had to create a redirect setup as the old and new blog structure was different. Here'show I did it, using Apache 2's mod_rewrite extension.

While I find Git Tower to be a very professional and polished GUI for Git, viewing staged changes, when only some changes have been staged, to me, is pretty unintuitive. In this short post, I’ll step through what I mean, how it works in other git guis, and how it’s pretty trivial on the command line.

After around 20 years as a web-based software engineer, I’ve decided to invest in learning as much as I can about website accessibility. In this short post, I want to share why, and why it might be worthwhile for you as well.

TDD is something that I strongly recommend, but it’s not without its drawbacks. In this post, I discuss the one that I get caught out by the most – testing the wrong thing.

If you're having trouble getting PHP's Memcached extension working in a Docker container, this tutorial will show you how.

Docker Secrets are a good way to start storing sensitive data that your PHP apps need in an organised and structured way. You don’t need to use environment variables, and you continue avoiding them being stored in code. In this tutorial, I’ll show you how to use them, and consider some of their pros and cons.

So. Magic Numbers.

When you need to handle a 404 (not found) error in Mezzio, how do you do it? It's trivial in Laravel, Symfony, CakePHP, and other, larger PHP frameworks. But, it’s not so clear in Mezzio. In this tutorial, I’ll show you three ways to do so.

Composer is one of the best package managers available for any, modern, software development language. In this short tutorial, you’re going to learn the essentials of how to use it, so that if you’re just getting started with it, you can get up and running quickly.