Cockpit Helps you Pilot your Project

Posted on October 21st, 2008, by marcus

For our entry in last weekend’s Rails Rumble, I partnered with Justin Britten of Compulsivo to create Cockpit.

We were tired of constantly logging in to various sites to see key data for the various projects we were working on. While RSS feeds can provide much of the data, digging through RSS feeds doesn’t provide you with a true executive level overview of your project. You really want to see only the most important, relevant, and timely data… and ideally act on it. Cockpit is our answer to this most annoying problem.

In the 48 hours we had for the competition we decided to focus on getting a simple proof of concept view of key data from just four widely used web services. Lots of other sites provide similarly useful data, and full interactivity would be great, but the clock was a tickin’, so we limited our scope to the following:

  • Basecamp messages, todos and milestones - your everyday project management stuff
  • github commits - additions to source code, which one can only hope means work is getting done
  • Lighhouse tickets - when said additions go wrong they generally end up as support tickets
  • Hoptoad exceptions - when additions go really wrong they end up as exceptions, as in hopefully very rare

Below is our delirium induced Cockpit introduction video… (made right after the competition ended, in other words on virtually no sleep). It is quite funny if you know us, and hopefully at least somewhat if you don’t.

We have high hopes that with the feedback that comes via the competition we will be able to create an application to help rescue all of us from project overload. Of course, winning would be great too, so don’t forget to vote for us!

The competition was a blast, even if tiring. A great big thank you goes out to all the organizers, volunteers, and sponsors.

Tags: , ,

Adding git Branch and Commit Info to your Prompt

Posted on July 21st, 2008, by marcus

A few months ago we started using git for source control. It has a bit of a steep learning curve, but branching, tagging, and vendor management are all much easier once you wrap your head around the git approach.

I did get caught by one snag recently though. When upgrading from rails 2.0.2 to 2.1, I inadvertently checked out the branch, rather than the tag, and ended up with all sorts of nasty errors. Since nothing gave me an obvious indication of which tag/commit I was working with, it took me a good while to figure out what had happened.

Vowing to never waste time on that mistake again, and knowing it was probably a good idea to know where I was at all times anyway, I went in search of a solution. I soon came across this little gem of a script from Jon Maddox at simplisticcomplexity.com.

With Jon’s script you get a bash prompt that includes the branch and looks like this:

200810220401.jpg

Pretty sweet! Unfortunately, it doesn’t really solve my original problem, and the colors aren’t my style either. My whole problem arose because I checked out the correct branch, “2-1-stable”, but was on a commit after the one tagged “v2.1.0″. Probably one of those one in a million things, but I don’t want it to happen again.

So with a little work I modified Jon’s script to provide the commit and a bit more style, like so:

the ultimate git prompt

In this example from the directory that started it all, the branch is listed as “detached” to remind you that you are not working with the HEAD revision, and the commit tag description is provided from the nearest actual tag.

You will more commonly see something like this in your everyday use:

200810220259.jpg

Knowing exactly where in the code I am at all times has since proved very useful and alerted me to other potential issues, like when I forget to merge into the staging or production branches before deploying.

Just grab the script (pastie) and put it at the top of your .bash_profile

Tags: , ,