Google Code-In 2013

This is my second year in Google Code-In, and it is has been really amazing.

Last year I mostly did documentation and testing tasks for KDE and NetBSD.
But this year, I did three coding tasks for KDE, as I had started learning little bit of Qt/C++ programming during this year :)

KStars

My first task was with KStars. This was my first ever coding task through GCI (although I did a Junior Job for Amarok a few days back).

My initial patch missed some required changes, and when I resubmitted the patch I forgot to recompile and test my changes.

Finally, the patch was accepted (Yay! :3). I learnt that one should always recompile changes before submitting a patch.
Thanks to the mentor, Samikshan Bairagya, for his support :)

Trojita

Trojita is a really fast IMAP client. And it is so elegant, that I switched from Mutt to Trojita as my default email client ;)

The two tasks with Trojita, were a great learning experience.

Task I: Allow free-form editing of the From address in the Composer

I enjoyed doing this task the most. When I initially claimed the task, I was not familiar with the Model-View-Controller architecture.
I had to study about MVC, which required time, but I had an exam coming up. So I unclaimed the task and reclaimed it after giving the exam.

This task was slightly more challenging, and thus more interesting ;)
Stephen (paalsteek) was already working on this bug, and I continued the work from there on with his help.

I really learnt a lot during this task. It took some time for me to understand the code for the Composer. And I kept updating the patch, and kept troubling the mentors on IRC.

In the end the changes were merged. It felt so good :D

Task II: Control the In-Reply-To header through the Composer

This was very similar to the previous task. And it too required GUI changes in the Composer dialog.

This task got completed faster than usual, because I knew where to start from, as I had worked on the composer widget before.
The draft saving mechanism was modified to store the state of the checkbox that controls the InReplyTo header. The composer widget now also cached the values of In-Reply-To, and References headers.

After some improvements in the patch, it was merged into master. :D

I would like to thank my mentors - Jan Kundrat (jkt) and Stephen (paalsteek) for supporting me throughout.

All in all, I really enjoyed writing actual code that will be used around the world. And I will definitely keep contributing to open source, and these projects, in every way I am able to :)

Up until now, I called myself an open source enthusiast, but after this GCI, I think I can call myself an amateur contributor :D