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 Mom Test

A review of the book "The Mom Test: How to talk to customers and learn if your business is a good idea when everyone is lying to you." by Rob Fitzpatrick

Review: Million Dollar Weekend

A review of the book "Million Dollar Weekend: The Surprisingly Simple Way to Launch a 7-Figure Business in 48 Hours" by Noah Kagan

Review: The Minimalist Entrepreneur

A review of the book "The Minimalist Entrepreneur: How Great Founders Do More With Less" by Sahil Lavingia

Review: The SaaS Playbook

A review of the book "The SaaS Playbook: Build a Multimillion-Dollar Startup Without Venture Capital" by Rob Walling

Review: The E-Myth Revisited

A review of the book "The E-Myth Revisited: Why Most Small Businesses Don't Work and What to Do About It" by Michael E. Gerber

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.