!!! WARNING: This blog post contains code !!!
Quite a bit of it, actually. It's in Ruby. I've never coded in Ruby before this, so in all likelihood it sucks. But I probably won't be able to recognize that until I've had more experience hacking on Ruby code (maybe in Vagrant or Puppet). Also, my academic and professional background is in philosophy and marketing, so there's no help there. Anyway, consider yourself warned. That said, I'm very open to constructive criticism, so feel free to make suggestions.