Keybase proof

I hereby claim:

  • I am subfuzion on github.
  • I am subfuzion ( on keybase.
  • I have a public key ASDaezjPtNiBGf-CDL4gmWviZ8RURHuHmO_ALSNAKopREgo

To claim this, I am signing this object:



This gist is based on the information available at golang/dep, only slightly more terse and annotated with a few notes and links primarily for my own personal benefit. It's public in case this information is helpful to anyone else as well.

I initially advocated Glide for my team and then, more recently, vndr. I've also taken the approach of exerting direct control over what goes into vendor/ in my Dockerfiles, and also work from isolated GOPATH environments on my system per project to ensure that dependencies are explicitly found under vendor/.

At the end of the day, vendoring (and committing vendor/) is about being in control of your dependencies and being able to achieve reproducible builds. While you can achieve this manually, things that are nice to have in a vendoring tool include:


This is a simplified makefile for making it easy to to rebuild whatever needs rebuilding when touching any of the protocol buffer files or other source files for either the server or the cli.

For convenience, I use an alias:

$ alias m="make -f amp.makefile"

Then I just invoke m to make all, and then m deploy to update the stack, then restart logs in another terminal (docker service logs -f amplifier_amplifier).


Secrets Example


In this example, you will create a pair of x.509 certificates for the public and private keys to encrypt and decrypt messages.

You will then create a compose file for a service that you will configure with the private key. You will encrypt messages using the public key, then send the encrypted messages to the service.

# Source:
command_exists() {
command -v "$@" > /dev/null 2>&1
sh_c='sh -c'
if [ "$user" != 'root' ]; then
if command_exists sudo; then
We couldn’t find that file to show.
$ sudo apt-get update && sudo apt-get upgrade -yf && sudo apt-get dist-upgrade -yf
$ sudo apt-get install -yf update-manager-core
$ sudo do-release-upgrade

Installing with apt-get

sudo apt-get update && sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88 | grep || exit 1
sudo add-apt-repository "deb [arch=amd64] $(lsb_release -cs) stable"
sudo apt-get update

I recently switched over to neovim (see my screenshots at the bottom). Below is my updated config file.

It's currently synchronized with my .vimrc config except for a block of neovim-specific terminal key mappings.

This is still a work in progress (everyone's own config is always a labor of love), but I'm already extremely pleased with how well this is working for me with neovim. While terminal mode isn't enough to make me stop using tmux, it is quite good and I like having it since it simplifies my documentation workflow for yanking terminal output to paste in a markdown buffer.

These days I primarily develop in Go. I'm super thrilled and grateful for fatih/vim-go,


Go source, packages and working with tools

  • go test
  • go run
  • go build
  • go install