Poems, rants, and peculiar things.

Supporting Go Modules

A few things I learned from adding Go Modules support to 20 or so projects.


We danced to a tune, by light of the moon, the fiddle was lively and gay.

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.