I was never into coding/development for FOSS. Though I had decent coding skills in some languages, I had never gotten the opportunity to develop mainstream FOSS. When I was told about HackFest at Shaastra ’09, I decided to give the event a try. Here are my experiences at HackFest.
For starters, Shaastra is not the university in Tanjore, Tamil Nadu. That is SASTRA. Shaastra is IIT-Madras’ annual techfest. This year, it was conducted from the 1st to the 4th of October.
Chitnis was at his witty best, beginning his talk on a lighter note, talking a little about his past (and why it was relevant to the talk he was giving to us), and in the end, urging the audience to come up with questions of their own. The talk had Chitnis written all over it. He said that there was no organization that could do without free and open source software. “If you use any router today, chances are that it runs Linux. Then you’re a Linux user without you knowing it”, he said. He briefly compared the Linux and BSD kernels and also busted myths about licensing. That there was a lot of dry humour throughout the was evident as the audience chuckled every few minutes.
Srinivasan talked in the afternoon about how he struggled to add a feature to gnome-do. But that was not before he asked us a question about software we use everyday. “Emacs” someone said to which he said “I like”. Immediately, I, being a Vim fanatic shouted “Vim!” to which he said “I don’t like” asserting his position as an Emacs fanatic and making the audience laugh. His talk was filled with humour. The feature he had added, coming back to the point, was the ability to paste URLs into gnome-do in . mode (and tweet them). Gnome-do is written in C# . “Writing code is the easiest part. Even an Infosys programmer can do it”, he said, making the ones that were awake laugh loudly and waking up the ones that were asleep. “Downloading the source and building it is the hardest part”, he added after the laughter died down. He then walked us through what he had done to add the feature, which was apparently only 5 lines of code. This he said, was not accomplished before he had encountered the weirdest of bugs during the build and make process. One error which made the audience roar with laughter was “no: command not found”. The audience laughed again when he showed us a page in an online forum he had found when he had googled the error. Someone in that forum replied to a question on the ‘no’ command that he thought ‘no’ was part of Perl! =P Finally, he had found out that it was an error with because ‘mono’ was not present and then he was able to make. He ended it asking the audience to start developing and contributing back to the community.
Participants were split into 6 groups in the night: GNOME, Sugar, Firefox (Jetpack), the Linux kernel, FFMpeg and KDE based on our preferences after a briefing about each area and what to expect. I chose GNOME.
Arun Changanty, a CS&E student lead our team and taught us the basics of gtk+ programming. The session went on till 2:30am the next morning and I was amazed (coming from a non-cs background) to see how a little modification to the C programming style can let one develop apps using gtk+ libraries.
Day 2 (Night 2 rather): Now that we knew the basics, we set out exploring bugs. http://bugzilla.gnome.org was a good place to start. But we did not visit the page until later in the night. We wanted to do some really basic bug fixing first up. So we set out looking for gnome love bugs. Not having found anything we liked, we started searching on bugzilla. And we struck gold! Gnibbles apparently had a bug which allowed one to change preferences during gameplay if the preferences window was open before a game started. This we found out was because the preferences window was not *modal*. Bingo! we had it. Finding the location of the bug and fixing it was nothing for us with Arun’s help. We only experienced difficulties in building and making.
After toiling it out for hours, we finally had the diff (bug fix)! Arun was really magnanimous here. He let me file the bugfix in my own name. This was the shot in the arm I realized later, that I was badly wanting for so long to kickstart contributing to the community with code. We filed a bug on “2009-10-02 23:34:43 UTC” as the bugzilla identifies it. I had just contributed with code! Thanks to hackfest.
Night 3: Now I was really enthusiastic. I went around searching for bugs, found one in gconf-editor and right away, went to work. by “2009-10-03 23:03:38 UTC”, I had another bug fix!
Apart from the hacking nights, we had loads of fun in BoF sessions and constantly engaged in funny wars with some people supporting GNOME and others.
Thanks to the event, I had successfully started contributing back to the community with code.