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.

Review: The Long Game

A review of the book "The Long Game: How to be a long-term thinker in a short-term world" by Dorie Clark

Review: The Pathless Path

A review of the book "The Pathless Path: Imagining a New Story for Work" by Paul Millerd

Go Explored: new() vs make()

I explore what the Go built-in functions new() and make() do, compare them, and finally show some examples of when and how to use them.

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.