Posts
Welcome to My New Static Blog FTW!
Read more →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:
The Philosophy of Distributed Systems
Read more →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.
Design and Build Efficient GraphQL
Read more →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.
Styles of Event Architecture
Read more →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.
Groovy Gorm Shell Script
Read more →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?
Entity Oriented Microservices
Read more →
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.
Replay Your Event Streams for Fun and Profit
Read more →
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
A Microservices Developer API using …. Make
Read more →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.
Diabetes at 35, 1 year in
Read more →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.
Shutting down Simplicity Itself
Read more →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.