Writing on software engineering, company building, and the PaaS space.

All of my long-form thoughts on programming, leadership, product design, and more, collected in chronological order.

Adding middleware to Go HTTP client requests

This article explores the use of the RoundTripper interface within the Go standard library and a simple chaining pattern to apply multiple middleware calls to pre and post http requests.

Mocking dependencies in Go

One approach to mocking dependencies in Go using generated code

What is a container?

An exploration of the underlying workings of containers

Lenovo X1 Carbon and Ubuntu 18.04

Lenovo's 2018 X1 Carbon is a beautiful machine. Designed with Windows in mind, it leaves some tweaking to get it working just right on most Linux distros.