Building SuperTux on Ubuntu 16.04 Posted on 2016-09-18


I have a couple roommates (read: children) who recently developed an interest in SuperTux. With 0.4.0 available in the Ubuntu repositories, we were quickly up and running with the core levels and many of the excellent community contributed levels. Eventually, I let it slip that you could create your own levels, and the fun really started. There’s a C# editor that you can run and install on linux via mono. There’s a lot to install, but it’s pretty functional once you have the build dependencies figured out.

Read More

Immutable Infrastructure for Bootstrappers: Building AMIs with Packer Posted on 2015-08-10


This post is part of series on my implementation of immutable infrastructure for bootstrapped projects. You can find the other posts here: Introduction An immutable infrastructure virtual machine Basic AMI generation with Packer Deploying your AMI with Asgard Releases, automation, and next steps If you find this implementation interesting, you will enjoy a book I am writing on this topic: Immutable Infrastructure with Netflix OSS. Packer If Packer is a new tool for you, be sure to check out the Introduction from HashiCorp.

Read More

Immutable Infrastructure for Bootstrappers: Asgard and AWS Posted on 2015-07-27


This post is part of series on my implementation of immutable infrastructure for bootstrapped projects. You can find the other posts here: Introduction An immutable infrastructure virtual machine Basic AMI generation with Packer Deploying your AMI with Asgard Releases, automation, and next steps If you find this implementation interesting, you will enjoy a book I am writing on this topic: Immutable Infrastructure with Netflix OSS. VirtualBox and Vagrant We need a virtual machine provider and Vagrant for managing the virtual machines.

Read More

Immutable Infrastructure for Bootstrappers Posted on 2015-07-22


Companies large and small are singing praises for infrastructure as code and immutable infrastructure. Younger companies are using tools around Docker and containers to promote and mandate immutable infrastructure. These are all great, but if you are a lone bootstrapper burning the midnight oil, it does not seem like the end justifies the means (at least not to me). Not only do these tools require constant upkeep, as this domain is so rapidly changing, but there are often subtle and intricate ‘features’ that spring up when particular versions are paired, or on some Linux kernels, or with some file system types, or, or, or.

Read More

A bash alias for GitHub Pull Request creation Posted on 2015-02-19


I am fond of feature branch git workflows. If the team prefers additional structure, gitflow is also a great tool. In my current position, the bulk of my work takes place in repositories with few maintainers and a less-structured workflow is more comfortable. Most of my work happens on GitHub, so the feature branch technique is mildly altered to correspond to some of the GitHub specifics. This is almost exclusively the Pull Request; which is not a concept specific to GitHub, but creating a GitHub pull request is not something that git itself supports.

Read More

Automatically deploy Hugo to S3 and Cloudfront Posted on 2014-06-05


This could be better automated, but for now, it was easy enough to set up and it works well for my needs. S3cmd S3cmd is mature and full featured. Since Hugo ships a binary only (awesome!), using s3cmd seems like the easiest corresponding solution to get your static site onto S3. Out of the box, s3cmd gives us the following awesome features: sync behavior - only upload changed files --acl-public - set public ACL (this way you do not need to set a policies on the bucket) --delete-removed - when something is removed locally, remove it from s3 First install s3cmd and run s3cmd --configure with appropriate IAM credentials for your target bucket.

Read More

ELK (Elasticsearch, Logstash, Kibana) index restore with Hubot Posted on 2014-04-18


After getting ELK (Elasticsearch, Logstash, Kibana) up and running, an early challenge is managing your indices. I’m assuming Elasticsearch 1.0.0 and greater, and given that version the API provides dead simple mechanisms for everything from closing/deleting indices to snapshots and restore procedures (closure/delete have been around since pre-1.0.0, snapshot/restore is 1.0.0 and newer). It’s easy to put together a quick shell script and cron job to manage the regular tasks (I did: elasticsearch-logstash-index-mgmt).

Read More

Asgard and Hubot: Simplified AMI deployment to AWS Posted on 2013-09-02


If you are not familiar with these tools, you should spend some time investigating Asgard (deployment management for AWS; from NetflixOSS) and Hubot (extensible chatbot; from GitHub). The Goods hubot-asgard (github) | hubot-asgard (npm) ‘npm install hubot-asgard’ should get you most of the way there, check the readme on either github or npm for additional details about environment variables and configuration. Once installed, ‘hubot help asgard’ will show all the commands.

Read More

Create nodejs debian package with debuild Posted on 2013-08-07


I ran into a couple issues when building a debian package for nodejs. Python build processes create a bunch of *.pyc files that cause problems when re-running debuild after errors The python configure script doesn’t compare well with more classic configure scripts (notably –build vs –dest-cpu) Make encounters issues when passing standard params Auto test runs into problems with server validation when run via debuild I took the quick and easy solution in all cases.

Read More

Netflix OSS: Building an Asgard AMI on AWS Posted on 2013-07-16


Update (2015-08-10): Lately I have been using a very basic Vagrant/Virtualbox config for Asgard needs. This config is easily applied to an Amazon instance, and you might be interested in the details of Using Asgard in a virtual machine. Prerequisites AWS Account AWS EC2 Keypair AWS Access Key (IAM - not root account) AWS Account Number Some SSH familiarity Intro I’m going to build an Asgard instance from a baseline Ubuntu LTS, if you want to skip directly to a functioning Asgard AMI, grab my latest Asgard AMIs here.

Read More