Full stack generalist. I currently work at AWS building out the platform I have used and loved for many years. All opinions expressed in this blog are my own.
My GitHub is full of all my fun projects and is a good representation of the types of programming that I enjoy working on. I love to play with distributed systems, developer CI/CD tools, building databases and sometimes hacking my own fitbit.
I have been a sailing instructor for over 6 years and enjoy sailing whenever I can. I try and keep my passion for teaching throughout my work and enjoy working on productive and fun teams. I occasionally tutor at Lighthouse Labs.
Open source projects I’m working on
- Deliverybot: Simple GitHub deployment automation.
- Battlesnake: Battlesnake is a fun engaging progrmamming game.
2020-08-21As software developers caught up in the minutiae of day to day development we often lose sight of some of the cutting edge research in our field. I have been doing a paper tour over the last few months reading key papers in the history of computer science and new ones as well, here's a list.
2020-03-25As developers most of us have heard of the basic consistency types like eventual consistency and strong consistency. There are, however, a multitude of different consistency models contained in different research papers. One of my favourites that I have been reading into over the last while is causal consistency.
2019-11-08Listen to the authors of the state of DevOps report on what makes for highly effective teams.
2019-10-01A year or so ago I came across this interesting feature in GitHub called the deployments api. It seemed like a bit of a lost section in the GitHub docs, disconnected from other component and unlike pretty much everything else in GitHub I really hadn’t used this. I’ve spent some time investigating the deployments API over the last month or so and wanted to explain this for those of you who have hit this and wondered, what is this thing?
2019-09-15This tutorial will go through the basics of GitHub actions as well as deploying to Kubernetes using a pre-built Helm action
2019-09-14Canary deployments are a very effective way of testing new code on a subset of a user base. They significantly reduces the blast radius of a deployment that may be tricky to roll out by only exposing it to a subset of traffic. This post will dive into how to achieve this within Kubernetes but also in a deployment automation friendly way
2019-09-05This post discusses one of the most common deployment tools for Kubernetes. Helm is the “package manager for Kubernetes” and therefore has become one of the most common tools for managing application deployments.
2019-09-02Kustomize is a new way of templating in Kubernetes. It's not strictly a templating system — a better way to describe it is “customization for your Kubernetes yaml files” — but achieves the same goal for most of us. This post explores this new system.
2019-03-16Building an API is an important skill for any software developer. In this tutorial we want to build a basic HTTP server that controls a snake like you see in the game board below. All of the snakes in the game have been programmed by individuals like you and run autonomously using play.battlesnake.io.
2018-10-04Serverless as an idea has an incredible amount of hype and a huge amount of tools around it right now. But where is Serverless going? How will it evolve over the next 5 to 10 years?
2016-12-05This post is about maintaining single page applications in the cloud.