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

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.

Moving To Hugo

New theme, new software: this blog is now generated by Hugo.

Song for Sarah

A melody written for Sarah.

Lament to Sarah

A contra dance for Sarah.

New and Improved TLS Certificate

In which this blog gets a new TLS certificate.