What I Read

When was the last time you sat down and made a conscious decision about what to read without referring to a list? I’ve been thinking a lot about what I read. The daily commute is out along with the quiet alone time that it afforded me. Consequently I’m reading less. So how do I decide what to read?

2020 Delightful Tech

2020 wasn’t a year that stood out for it’s technology. But, as I sit here looking at themes for 2021, I’m reminded of two services in particular that I can only describe as delightful. Unless you like donuts while reading, you’ll struggle to find a connection between them. But here they are.

Remote Pairing Made Easy

We have many options for remote pairing on code. I recently tried pairing using tmux. Whilst it sounds like this might be fiddly to set-up, my experience was the opposite. Delightfully simple, lightning fast pairing.

My Toolbox: Octant

If you work with Kubernetes, I recommend you take a look at Octant, a VMware backed tool that allows you to visualise and work with deployments on top of Kubernetes.

Instrument Go applications with Wavefront

With custom metrics, you are no longer constrained to using technical indicators as a proxy for a business event. In this post I take you through how to use Wavefront to add custom metrics to your application. Ever wanted to see your electricity consumption up on a dashbaord? This post is for you.

Logging & Metrics: It’s a Journey

Understanding the way applications behave is critical to ensuring they are effective. For much of my career, application logs have been the dominant tool of choice for system observability and with good reason: Logs are present in most vendor applications and are easy to add during custom development. Logs (or print statements) are often the tool of choice for debugging during application development. But if logs are all powerful, how did metrics become so popular. In this first of a series of posts, I look back of my experiences with logging.

Conveying Context at the Terminal

I’ve run a few workshops recently that have involved streaming live terminal sessions to remote participants. During these workshops, we explore how different personas interact with Kubernetes. As we work through the topics, we switch between various personas. The terminal provides few visual clues as to the active persona. We can fix that.

Go on ARM: why struct field alignment matters

I’d assumed the Go compiler provided a robust abstraction across CPU architectures. Code that ran on one CPU architecture would run on another. It turns out I was wrong. In this post, I provide a minimal example application that demonstrates the importance of field alignment when using sync/atomic and 64-bit values.