My First Rails Bugmash

May 22, 2010

Bugmash is an event held to reduce the number of open tickets in the Rails Core Issue Tracker, encourage more people to get involved with the Rails source and have some fun. I participated in the Rails Bugmash held on the 15th and 16th of May via the #railsbridge IRC channel. It was an awesome experience, wherein I learnt a lot and luckily got a couple of patches into Rails too. I thought I should write a little look back and thank all the people who helped.

Day 1, cautious

I had made up my mind, that I would only try and reproduce the bugs on Rails 3 beta 3. I thought it would be best if I did something simple and helped out that way. One particular issue seemed interesting, so after confirming it I asked the folks in the #railsbridge channel to try and reproduce it too. That's when Sam Elliot encouraged me to try and debug the issue. He guided me to find the relevant files using grep, and also try an alternative approach to reproduce the bug on a lower level. Although I got nowhere near finding out why the issue was happening, I got a real kick out of trying.

Although I was still cautious, I got the confidence to try and reproduce bugs on Rails master with help from Anil Wadghule. Also I was using Ruby 1.9.2-head for bugmashing and this is why I was about to get lucky.

Day 2, can you write a patch for that?

On the second day I was feeling very content with my self. I had already helped out with a few tickets, reporting back whether the issue is reproducible or not. After setting up everything, I was also excited to verify others patches and also try and reproduce bugs on Rails master. I found a patch that I would be able to not only verify but also analyse if it was a good patch.

Before applying the patch, I thought I'd best run the test suite of Railties, because that's where the patch applied. This is the part where I got lucky, because a couple of tests failed. I immediately asked in #railsbridge if somebody could confirm it. By the time Rizwan Reza and Santiago Pastorino confirmed that the tests indeed failed, I already had an idea as to why. After discussing it with both of them, Rizwan calmly asked me if I can write a patch for that.

After panicking a little I opened up the contributor guide on the issue tracker and followed it word to word resulting in my first patch. I submitted it to the issue tracker and within a few hours it was accepted into the Rails repo. I had become a Rails core contributor, besides the fixes to the guides. I found similar errors in ActionPack and made a patch for them too, which also got accepted. Even though the patches were very simple fixes to tests, I felt incredible!

Happily ever after

In the end I finished 5th on the official scoreboard with 2575 points. After a rocking Bugmash I found it difficult to stay away from Lighthouse. I even got one more patch accepted into Rails. It was simply awesome to get involved in the Bugmash. I also built Gimme Ticket for people like me, who missed the !gimme command of Mashie the bot from #railsbridge. It could crash randomly though, I'll be fixing that soon'ish.

I have to thank José Valim, core team member, for discussing the issues and of course accepting the patches. I also have to thank Ryan Bigg for encouraging people to try and contribute to Rails. I hope to continue contributing to Rails and possibly other open source projects too. In case I have forgotten to thank any one I apologize.