Blog

Blog

Premature Optimisation: We Knew Better 50 Years Ago

All good software engineers want to write good code. Unfortunately, many software engineers believe that good code must always be efficient, leading them to optimise unnecessarily or prematurely. Code is written primarily for people to read, so it should be as clear and simple as possible. One of th...

Essays, Papers, White Papers and Articles: What's the Difference?

Essays, Papers, White Papers and Articles: What's the Difference?

I've been writing and blogging for as long as I can remember, and I've never really understood the difference between articles, essays, papers and white papers. I've certainly never known when I should use each term. So I asked ChatGPT to explain the differences and when I should use each one.This i...

Introducing Omnilog: Logs. Metrics. Traces.

Introducing Omnilog: Logs. Metrics. Traces.

OmniLog brings your observability data together, so you can understand what your systems are doing without jumping between tools. Send telemetry with OpenTelemetry, search your logs, chart your metrics and follow requests through distributed traces - all in one place.Your data stays private, and the...

Comments in Code: AI and the Last Resort

Comments in Code: AI and the Last Resort

As I continue working on projects of my own, as well as those in my day job, I am learning more about the best ways to use AI to create software. Mostly Claude and sometimes Codex.One thing I cannot help noticing is the sheer number of comments AI adds to the code.In January 2025, I wrote a blog pos...

Good Programming Style Never Gets Old

Good Programming Style Never Gets Old

In my previous post, The Elements of Programming Style: still worth reading, I argued that the book is still worth reading. Going back through the rules made me think about which ones I would give to a developer today.Most need no help. Clear names, small modules, testing boundary values and measuri...

Principles of Program Design - Don't do it.

Principles of Program Design - Don't do it.

This book is unlikely to be of interest, unless you’re interested in data processing programs written in COBOL. However, I was interested in optimisation and the origin of:1. Don’t do it. 2. Don’t do it yet.So I was satisfied with that at least. There are ideas here which have survived rather better...

I, Robot

I, Robot

The Foundation series has been my go to for a good, enjoyable read over the last two years, so naturally I moved on to Asimov’s Robot series afterwards. However, the short stories in I, Robot were mostly a disappointment. They feel self indulgent, with too much philosophy and science, Asimov showing...

The Elements of Programming Style: still worth reading

The Elements of Programming Style: still worth reading

The Elements of Programming Style by Brian W. Kernighan and P. J. Plauger is one of those books that makes some excellent points that every software engineer should know and bear in mind every day. The central message is simple: write clearly and don’t be too clever. Say what you mean, use the langu...

Not Like That!: They must consider that great responsibility follows inseparably from great power.

Not Like That!: They must consider that great responsibility follows inseparably from great power.

Not Like That!How to build the wrong thing on purpose instead of the right thing by accidentby Adam L. CoombesI really like this book.It’s divided into seven-minute chapters, which I found particularly effective. They’re short enough that you can get through one whenever you have a few minutes, but ...

Computer Programming as an Art by Donald Knuth

Computer Programming as an Art by Donald Knuth

For research for a blog post, I’m reading Computer Programming as an Art by Donald Knuth, a transcript of a presentation he gave in 1974. This particular passage resonated with me, especially in light of the current state of software engineering:The field of "automatic programming" is one of the maj...