Hack Day #3

Last Friday, GenoLogics hosted their third hack day (and 2nd of the year). As Cliff mentions on his blog, we had a few visitors. It’s far from the extravagant events that Yahoo! and Google have been putting on as of late, but the concept remains rare enough to warrant attention from local (and national) media.

Nothing too fancy as far as rules go. Everyone’s encouraged to start thinking of a suitable hack a couple weeks prior to the actual event. That being said, it’s always been a scramble in the morning as people try and figure out exactly what it is they want to hack.

What started out as a dev-focused event has begun to branch out into other groups in the company. This time around we had participants from our Customer Service group. Looking forward to seeing what the Marketing and Product Management can produce next time around.

As for the hacks themselves, we had anything from Lego mindstorms to a mashup between Remember the Milk and various bittorrent networks. My contribution involved writing a synchronizer for iPod <-> iTunes. It was fallout from some prior aggravations I was having with iTunes not correctly synchronizing my ‘Play Counts’ (and related information) when I was manually managing music. It was rather annoying (to me at least) to try and build playlists based on a play count in iTunes that didn’t accurately reflect what was on the iPod.

Further to the basic synchronization (that was accomplished using Python, it’s Win32 bindings, and the iTunes SDK), I also wrote various utilities to backup and extract song information from the iPod. This information was then parsed and used to generate an RSS feed and various graphics (PyRSS2Gen and PyChart respectively). It was all tied together in a TurboGears app w/ jQuery and the rather nice Interface elements.

Python isn’t a language I have the opportunity to use on a regular basis but I was actually quite happy with how my particular hack came out. Python’s ability to interact w/ win32 COM objects was both impressive and straight forward. Certainly easier than trying to do it with JNI.

Interested in participating in our next hack day? We’re hiring (leave a comment).