LCS in Golang

    March 7, 2015
    One of the fundamental algorithms in Computing Science is the LCS, or Longest Common Subsequence. This post will not attempt to explain the algorithm to any great degree. There are any number of references available to show how the algorithm works, as well as reference implementations you can obtain. Here we will look at the implementation of a Golang version of LCS, which will would ultimately allow us to generate a Unix “unidiff” style output for two given files...

    Vendoring Golang Code

    November 29, 2014
    One of the issues that many companies face when looking at Golang is what to do with the Code that you find out on the “interwebs”. The basic consensus is to either do: leave it alone, use go get to simply get the current version “copy”, or “vendor” the code into a local repository for consistent builds For any sort of repeatable and consistent build to be available, the second is really the only option...

    Moving to Hugo Static Web Pages

    March 16, 2014
    Over the last 20+ years, I’ve been known to hand-craft all of my own web pages, to the point where I’d be more focused on the “correct” method of structuring every single HTML tag. Yet, during much of this time I’ve been looking for a method of generating web content in a fashion that would allow for faster and easier posting of content. I think I’ve finally found much of what I’m looking for in the Hugo the “Fast and Flexible Static Site Generator”...

    Setting up an Apache Aurora/Mesos Cluster with Vagrant

    January 15, 2014
    Over the past 1.5 years, I’ve been given the unbelievable fortune to work with some of the most awesome people I’ve ever worked with in my life. My work at twitter.com has taken me from working with a few hundred machines at a time at my last job, to thousands. In order to have all these machines work together, you need to have some kind of cluster management system. Without such a system, whether home grown, purchased, or hacked together, you are doomed to be awake during your whole pagerduty rotation...