Building notes, projects, and occasional rants


Go is currently my favorite compiled language.

Build tools

The “go” command is the default build tools, but there are alternatives out there.

  • gb: project based, focused on assuring reproducible builds. See theory of gb operation for all the dirty details. GOPATH backwards compatible.


Libraries that I use.

CLI and Configuration

  • Viper: a complete configuration solution for go applications including 12 factor apps. It is designed to work within an application, and can handle all types of configuration needs and formats.

Network protocols

  • SSH;
  • go-mysql: a toolkit for all things MySQL protocol - allows you to write a MySQL “Slave” that you could tailor to your needs, to send in real-time changes to the DB to other systems.


  • endless: Zero downtime restarts for go servers (Drop in replacement for http.ListenAndServe)

Other resources

  • Awesome Go: A curated list of awesome Go frameworks, libraries and software;