FOSS in, FOSS out: software, process and operations

Planning Work in a Sprint

We’ve been having some discussions at $DAYJOB about process and methodologies. The topic of late is scrum and how it may or may not be helpful for the particular group I work with. I’ve been providing some anecdotal input based my past experience with scrum and other methodologies/frameworks/practices and asking questions about what problems the group is hoping to find new solutions for.

I started to write a big wall o' text™ email about a particular topic and then decided that maybe a blog post would be a better way to work through my idea. So dear reader1 , here are some of my highly opinionated and mostly unsubstantiated thoughts about a process that a group of people could use to plan a scrum sprint (or really any other iterative unit of work).

Creating a Self-signed Code Certificate for XCode

I wanted to make my own build of Textual the other day and needed a code signing certificate to complete the build. I decided to make single, long-lived certificate to that I could reuse for building multiple applications.

  1. Open the “Keychain Access” application

    open -a "Keychain Access"
  2. Application menu > Certificate Assistant > Create a Certificate…

    Create a Certificate

Managing My Laptop With Boxen

Boxen is a framework and collection of libraries created by the fine folks at GitHub to make setting up and managing Mac OS X computers easy and repeatable. Rather than a simple set of shell scripts or other provisioning tools, Boxen uses Puppet to automate installing and configuring software. I don’t have the time or space to explain how great Puppet is a configuration management is, so you’ll have to trust me or go do your own research.

Anybody could take a stab at rolling their own collection of Puppet manifests to manage their laptop or their corporate install base. That’s actually exactly what GitHub did to create Boxen. Having tried (and failed) at doing just that before I was pretty impressed when I gave Boxen a test drive. GitHub has not only provided a system that “works for them”; they have also managed to engineer a reasonably extensible solution for a very complex problem.

You can use your favorite search engine to find folks who can wax poetic about the magnitude of this accomplishment. Let’s get on with a description of what I’ve been able to do with it.

Hacking GitHub Contributions Calendar

GitHub profile pages include a neat visualization of commit history that they call the “contributions calendar”. This 53x7 grid shows the number of commits and other GitHub interactions that the user performed on each day for the last year.

Example graph

Each cell in the graph is shaded with one of 5 possible colors. These colors correspond to the quartiles of the normal distribution over the range [0, max(v)] where v is the sum of issues opened, pull requests proposed and commits authored per day.

Using GitHub Issues for Comments

I was inspired by Ivan Zuzak’s post to try using GitHub issues on the repository for this blog to collect and display reader comments. I’m using Octopress to generate the site, so I decided to make some customizations to make applying Ivan’s ideas easy for me.

I started by adding a new configuration setting to my _config.yml file: github_comments: true. I’ll use this configuration switch to turn the new feature on in other places in the codebase.