An absurd collection of poems, rants, and other peculiar things.

Remaining Problems With Go Modules

Unnecessary complaining about my two big concerns with modules.

A quick overview of the Go package.


To the sultry roll of a mandolin, your child came.

Go Module Versions From Git Log

A Git configuration for logging Go Module compatibility versions.

Software disenchantment

A link to a post by Nikita Prokopov about being disenchanted with software development.

Go Concurrency

Concurrency is frequently cited as a reason to use Go, but also frequently misunderstood. In this post we discuss when and where to use concurrency in Go, when not to, and how it differs from other languages you may have used.

The Case for interface{}

Go’s “empty interface” type is easy to abuse, but can be useful in specific circumstances. In this post I propose three rules that can be used to determine if it is appropriate to use an empty interface.

Musings on the Future of Go Package Management

Thoughts on finding a balance between centralized and distributed package management that works well for package authors, consumers, and companies with strict package management policies.

My Favorite Things

Desktops with Linux and IETF kitten
Shortcuts in i3 and words in Vi written
Unicode standards normalizing my strings
These are a few of my favorite things

How I compute 2017

In 2013 I wrote How I Compute. I reread it recently and was surprised by how much had changed in the last four years, so I’ve decided to update it with a few of my new favorite things.