My first contribution to open-source!

Dec 25, 2012

(Technically, this is my second contribution, the first being to the Worldforge project. But since Google paid me to contribute to it, in my head it doesn’t count.)

I recently discovered that Calibre supports fetching news from different news sources and converting the fetched news to mobi/epub. In addition to this, one can schedule this to happen, say, everyday at 6 am, and also configure Calibre to transfer freshly-downloaded items to your kindle via Amazon’s Whispernet. My parents used to bug me to take a more active interest in what’s happening around me and to start reading the newspaper (I say used to because they stopped eventually), but I tend to get depressed when I read about Indian politics, so I never did start reading the news. However, since my bus ride to work takes about an hour, which I’m currently spending re-reading the Malazan series, I figured that I could read the daily news on my Kindle instead.

This plan got derailed somewhat quickly, since the Calibre recipe (the recipes are basically python scripts saved with a .recipe extension) for The Hindu didn’t quite work. It would fetch all headlines for the day’s article, but all the articles’ bodies would be blank. A look at the script revealed that it was using BeautifulSoup to parse the retrieved page and then break it up into articles. This was working just fine, but somewhere down the line Calibre was having trouble fetching the content of each article. So, I cleaned up the recipe a bit (it involved adding an auto_cleanup = True in the recipe’s class and a method named extract_readable_article that would parse some supplied html and return the article’s title and body) and filed a bug on Launchpad with an attached patch. I imagine the developer (Kovid Goyal) gets a lot ofsupport request for malfunctioning recipes, because he promptly marked it as invalid, stating that he doesn’t provide support for recipes. I had to point out that I was actually looking to provide some support, at which point he was appeased, and I’m guessing he tested my changes, because he then closed the bug as “Fixed in lp:calibre”.

So, that’s my first bug fixed in an open-source project. I’m thinking of stepping away from game development for a while. I don’t seem to be able to get started with something of my own because all my ideas are too grand. I don’t feel like joining other groups because there are just so many of them, and it’s easy to see that most of them won’t reach completion. I wish my old team leader would take me back, we had some good times, and he’s a really great guy. Good at leading people, good at inspiring people to do better. I could ask him if he’s working on anything at the moment, but I’m afraid to because I’m the one who quit his team while the project was still ongoing. I did that to apply at game dev companies, which I did and was ignored.

But I digress. Just because I’m good at coding and I enjoy playing games doesn’t mean that I have to combine the two and make a living out of it. Keeping the two separate might work out better in the long run.