Blog

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

Git Reflog shows you a lot about what's going on in your Git repositories, and let's you clean them up better than other commands can. In this, short-ish post, I'm going to give you a good introduction to it, and show you how to completely remove a commit from your repository, so that no one can ever recover it.

Recently, I implemented a small web application in PHP, Rust, Go, Python, Ruby, C#, and Java. In this article, I'm sharing some of what I learned during that process.

As part of learning Rust — and being a lover of documentation (I 💕 the docs) — I've been learning how to document Rust code. Here’s what I’ve learned so far.

Viewing diffs and moving changes between the index and staging area is a routine task when working with Git. So, when doing that, is it quicker and easier to do that on the command line or with a GUI?

Of all the ways that I've learned to design and develop web applications, over the years, one of the most robust and effective, not to mention cheapest, is to teach someone how to use it when it's done.

Last week, I shared a post on LinkedIn showing four benefits of accessible website design. It's something that I've been meaning to share for some time. Here's why I shared it.

Are web applications complicated to build? Do we overcomplicate them when they should be, somehow, simpler? This is a question that I've wondered about for many years. In this post, come on a journey with me, back 25 years, to when I chatted about this with an old mainframe programmer.

While I've been writing tests for my PHP code for years, I'm still learning. One of my recent learnings was understanding the difference between mocks and stubs - and when to use each one. In this article, I'm going to share that difference and why it's important.

While I've been writing tests for my PHP code for years, I'm still learning. One of my recent learnings was understanding the difference between mocks and stubs - and when to use each one. In this article, I'm going to share that difference and why it's important.

Recently, I rebuilt this website from scratch using PHP's Mezzio framework, moving away from static site generators that I've used for years. Here's why I did it and what I learned in the process.