Welcome to My New Static Blog FTW!

I’ve just completed migrating my blog from WordPress to a static site generator. This new setup gives me the best of both worlds: the simplicity and security of static files with the convenience of a visual editor.

Why I Made the Switch

After years of maintaining WordPress sites, I wanted something simpler:

  • No database to maintain - Everything is stored in Git
  • Better performance - Static files served from a CDN
  • Enhanced security - No server-side code to exploit
  • Version control - Every change tracked in Git
  • Simple backups - Just clone the repository

The Technology Stack

I chose a modern JAMstack approach:

Continue reading →

The Philosophy of Distributed Systems

Building distributed systems has taught me more about philosophy than any book ever could. When you’re designing systems that must coordinate across unreliable networks, you quickly encounter fundamental questions about truth, consensus, and the nature of communication itself.

The CAP Theorem as a Life Lesson

The CAP theorem states that distributed systems can only guarantee two of three properties: Consistency, Availability, and Partition tolerance. This isn’t just a technical constraint—it’s a fundamental truth about any system involving multiple independent actors.

Continue reading →

Design and Build Efficient GraphQL

I’ve been working with the team at Aurena in Austria since the beginning of 2021. It’s been a lot of fun, and interesting work.

The Journey with Aurena

Working with Aurena has been an exciting journey in helping them digitize their distribution process. As part of this effort, I built two microservices using Apollo Federation that form a critical part of their GraphQL API infrastructure.

Identifying Performance Issues

During development, we identified significant performance issues in our GraphQL API design. Using Elastic APM, we were able to analyze and pinpoint inefficient database queries that were impacting our API response times.

Continue reading →

Styles of Event Architecture

This article was spawned from a conversation I had with Ben Wilcock on his article about building an event sourced system on Cloud Foundry using Axon, which you can read here. We covered some interesting topics, including some critiques of the model so he encouraged me to write up my thoughts on Event Architectures.

No small topic there, thanks Ben!

This is an interesting topic, with a lot of potential pitfalls.

Continue reading →

Groovy Gorm Shell Script

Gorm is the data access layer in Grails. I’ve been mostly away from Grails since 3.0 landed (for reasons).

I’ve recently been taking a look at how things have come along, and have continued delivering training on Groovy.

In the session I’m delivering there was some interest in Gorm as I walked people through it, and since I’ve been showing people the benefits of using Groovy for shell scripting and system automation, I thought, why not Gorm too?

Continue reading →

Entity Oriented Microservices

Image

Recently I read an article on the concept of Entity Services over at InfoQ by Michael Nygard (and written up by Jan Stanberg). I’m not attempting to comment deeply on the article itself, only on the subject.

This is a topic I’ve spent an inordinate amount of time on over the years, you can see my thoughts in many a blog post and talk.

In talk form, I give a rundown of the problem and the issues it will create here while introducing the Muon project.

Continue reading →

Replay Your Event Streams for Fun and Profit

Event Streams

I recently stumbled across an interesting discussion article by @BenLugavere, “You’re not going to replay your event stream”, from back in 2018.

It’s an interesting read to spawn a discussion from, I recommend you have a look, I’ll wait …

I don’t know Ben, however he did invite a discussion on his article, so I will discuss it, as the subject is fairly timeless.

Although, I’m sure he didn’t imagine I would do it years later, but I’ve been away, meh

Continue reading →

A Microservices Developer API using …. Make

This article was originally posted at simplicityitself.com.

Simplicity Itself has now closed, and so I have moved my articles here.

If you would like to read up on why it closed – See here

Gradle, NPM, Lein, Maven, Docker, Ansible, Kubernetes, Grunt …​ The list goes on (and on, and on). Developer tooling, constantly re-invented for the modern age.

Microservices projects put particular pressures on development teams , even without polyglot, you end up adding in a fair amount of automation tooling (Docker anyone?) that is patchily integrated into the core developer tooling. Every time you add in docker support to gradle or grunt, the more locked you are to that language, making moving away that much harder.

Continue reading →

Diabetes at 35, 1 year in

This was written in early August of 2017 as a form of personal catharsis. I don’t know if I will publish it, if you’re reading then I obviously have done. (06-sep, dd, I pulled the trigger, meh)

To channel our good queen for a moment, 2016 is not a year I will remember with unrestrained joy.

Mostly because I just don’t remember it , it was that much of a blur.

Continue reading →

Shutting down Simplicity Itself

Almost 5 years ago, Russ Miles and I embarked on a wild journey with a bright new company, Simplicity Itself.

We started it with the goal of applying Simplicity in software development. This was Russ’ inspiration from Rich Hickey, creator of the Clojure language. We had an idea, but no products, so we did what many do in that situation and started to run a software consultancy.

We have done many things over the years, and the company has gone up and down as our interests moved around.

Continue reading →