Poems, rants, and peculiar things.

What's Wrong With XMPP?

An overview of problems facing the XMPP protocol and community.

Recipe for a Roadster Take 2

A recipe for the perfect roadster.

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.