The best reverse-interview question, or: why source control is about more than just code

What source control software do you use?

I’ve been asking this question at the end of interviews (in the “Do you have any questions for me?” phase) for the last two weeks, and it’s turned out to be one of the most revealing questions I could possibly have asked. Answers have ranged from CVS (still!) to Git to Perforce to that Microsoft Team Foundation Server thing.

And those are all well and good; it doesn’t really matter to me what SCM you’re using, nor will your choice (on its face) affect my decision. What really matters is why. Continue reading

Posted in Tech | Leave a comment

I used my first Macintosh at the age of two – a Mac LC III, purchased in early 1993 along with an expanded hard drive. In elementary school, my friends and I stayed in during recess to install and play games on the classroom Macs. I learned to type on the early iMac G3s. I got my very own MacBook Pro in late high school, and upgraded to another Pro last year. I own an iPhone 3GS and iPad, and will place a preorder for the 4S tomorrow.

Steve Jobs and Apple brought something special to each one of these moments.

Continue reading

Posted in Random, Tech | Tagged , | Leave a comment

Credit where credit’s due

GitHub pull requests are a marvelous thing. They’ve taken cross-team contribution and random patches and made a system, built on Git, that simplifies bugfixes and new features down to the push of a button.

In a pull request, though, there are two key people: the author and the committer. The author is the one actually responsible for writing the code; the committer is the one that sticks it in a repository (usually a privileged or “main” repository for release purposes). Both of these people should have their names attached to the commit, but by default in a pull request, only the author’s name appears – the committer is ignored entirely.

This article lays out a series of Git commands to resolve this problem and mention both contributors on a single commit in GitHub, using a recent patch to Multiverse-Portals as an example.

Continue reading

Posted in Minecraft, Programming | Tagged , , , , , | Leave a comment

PneumatiCraft 1.8

Note: this post is for PneumatiCraft players on the Minecraft 1.8 update. It will have little relevance or meaning outside that group.

Continue reading

Posted in Minecraft | Leave a comment

Ruby for everyday tasks

Ever since I learned to drive, I’ve been trained to record both the trip and total mileage when buying gas. As a young driver, this was for my parents’ finance tracking – they’d buy gas on their vehicles, and so it all went into the big money database somewhere.

Being a creature of habit, though, I kept doing this after I started buying my own gas, and eventually wound up with a stack of gas receipts with two numbers scribbled across the top. Since my parents no longer cared about them, though, I became responsible for these little scraps of paper. Why not have some statistical fun with them?

To satisfy my curiosity (and to be able to throw away all those crumpled-up receipts), I wrote GasTracker, a single-serving Sinatra application that allows users to list cars and drivers, then record the gas purchases made by each driver on each vehicle. To get some usefulness out of the thing, I also made it generate summary statistics for the purchases it tracked:

Gas tracker screenshot

Screenshot of the prototype gas tracker with current data set

Yes, those numbers are accurate for my gas purchase history: I really have spent almost $1,800 on gas since September 2009, even though I got an average purchase price of $3.17 per gallon.

Right now, I have this deployed internally behind Apache (with Passenger) so that I can have some password-protection. Next steps are to clean up the UI, finish out the REST API, and write a mobile application. (Feel like contributing? Fork it on GitHub!)

Posted in Tech | Leave a comment