Shaastra 2009 Hackfest Roundup

IIT Madras hosted it's second hackfest last weekend, during it's annual techfest, Shaastra. The hackfest was phenomenally successful, with 6 projects running concurrently producing about 7-8 patches in total. Within our second instalment itself, we've probably established ourselves as the most productive student-run hackfest in India, something we are extremely proud of 1. The hackfest is of course something that is very dear to me, and it was really heartening to see it bloom like it did. A review of what happened last year can be found here.

The projects that were being hacked on this year were:

Organisation Mentor
Sugar OS iwikiwi
ffmpeg Jai Menon (jai)
GNOME Arun Chaganty (vimzard)
OpenEmbedded Kirtika Ruchandani (rkirti)
Firefox Siddarth Agarwal (sid0)
Linux Team IBM

Rumours had it that KDE was also present at the hackfest, led by Akarsh Simha (kstar), but I think they never managed to get KDE to build ;-).

The FOSS events at Shaastra this time started off with Atul Chitnis ( giving an introductory talk about what FOSS was and why one should contribute, shortly followed by Shreyas Srinvasan (shreyas) giving his most awesome "FOSS Foundry" talk (the same as last year, only this time we had a net connection going, and things were a lot more streamlined than last year). Later in the evening, we had a brief introductory session where each project "leader" spoke about their project.

During Night 1, there were some initial hiccups in the setup, and build systems, but they were quickly resolved by the truly amazing Subhashini (our super-'vol'), and covered up by a rather arbit talk about IRC by me. The groups were split up, each group occupying a different part of the department. Unfortunately, since I was organising one of the hackfests, I didn't really get to check out the awesome things the other groups were doing. I do know that sid0 was working on making Firefox plugins using Jetpack, Jai introduced participants to ffmpeg internals, and Akarsh was basically compiling KDE.

I started my session off as a GTK+ workshop, working my way up through getting help for yourself, what the point of function pointers was, makefiles and finally how the whole GTK main loop, etc. works. It was all ad-hoc, and followed a path best modelled as a Brownian motion. However, the objective of the first night was to equip the participants with the tools they would need to work on GNOME code. It was really heartening to see participants try interesting and ambitious stuff with simple GTK+ applications I had asked them to make. If nothing else, I feel confident that atleast 10 more people have become GTK+-literate, and I think that's a starting point for a lot of awesomeness.

Night 2's goal was to actually get participants to hack on simple bugs. The plan was to work on removing some deprecated symbols, etc. as listed on GnomeGoals2. I did give a demo on what it takes to create a patch for GHex and this GnomeGoal. In one of those amazing hackfest moments, one of the participants found a bug in GNibbles - the scorecard/preferences, etc. dialgos are not modal. This meant that you could change the game's settings while the game is in progress, but of greater alarm was the fact that the game's state machine to pause / unpause the game would get f00ed if you opened the dialog boxes before starting any game. This program was easily remedied by making the dialogs modal. It was but a 3-4 line patch, but initiated two rather awesome chaps - Bhargav Prasanna, and YuviPanda - into GNOME (Bug #531825). Bhargav Prasanna continued to work on another bug, this time entirely on his own, this one was: Bug #323309.

I was also a participant in the Open Embeedded workshop/hackfest that happened on Day 3. I'm sure Kirtika Ruchandani will post more about it, but as a participant this time, I can say that it was tremendous fun. Most of the bugs were more trivial, and less involved than those found in raw code, and that meant that we could fix them without know a thing about OE ;-). Subhashini (the super-vol) and I worked on a couple of bugs reported to the tracker, and she got to submit her first patch (Bug #5325 - it hasn't been committed yet). We also spent some time coming up with a bash completion script for bitbake (#5326 - also accepted, the OE community is fast).

A brief shoutout to the amazing people that made it happen:

Here's a list of other peoples' views on the hackfest:

(Much thank to Kirtika for coming up with this list)

  1. Contenders to the statement are more than welcome.

  2. A brief aside here - GNOME's wiki brilliantly documents simple tasks that need to be done. I am particularly impressed by this link which dynamically populates a list of GNOME projects with how much deprecated code they use. It was tremendously easy for me to find out what tasks we could do in our hack night.