Biographer Simulator Network Graph |
Biographer Simulator State Transition Graph |
It's been a great journey and I'm satisfied with my performance. Here are some thoughts I had put in the final evaluation at google melange.
Initially when I was familiarising myself with codebase I had to decide which of the subprojects I would use as libraries. At that time due to my limited knowledge of the intricacies of the code, I never realised that I would be using a library being created by a co-GSoCer for my organisation. So I just skimmed through the emails that he sent to the mailing list. After one month into the project it hit me that if I used his library it would greatly simplify my code. So I had wasted a lot of time writing my own code which I could have spent on something else. In hindsight, I should have participated in it's design process and discussions. One thing I've learnt is that I should read every mail that comes to the list thoroughly, you may never know what you may need in the future.
As a programmer I've worked on large software projects before, but the code I wrote for these was mainly written solitarily. Hence there was no real incentive to document the code and make it more readable. By participating in this year's GSoC I realised the importance of other people reading your code and commenting on it and the benefits of collaborative programming. Also I learnt the philosophy of testing and why it is so significant. I spent the better part of post-midterm time on constructing test cases and ensuring that when a new feature is added in the future the test cases can check if the existing ones don't break.
I really liked the way my organisation, biographer, allowed me to decide my own timeline and the flexibility in reporting progress that I've made in the project. I know some organisations that have daily meetings/calls with their students. Though this technique helps ensure that the students complete their work on time, I think it's better that the student be given the freedom to interact when they feel the need to.
Advice for future GSoC Applicants
Choose a topic/organisation that you have a genuine interest in and are also qualified for. And it's good to apply to multiple organisations as the competition is tight. But still spend enough time with each one of them during the application phase.