I have to say I’m disappointed with my progress so far – not so much in terms of understanding the code and bug fixing, but more in terms of turning my lines working code into accepted patches (and all the communication and time management that goes along with that).
Toronto was a great opportunity to learn about the deep inner workings of the Mozilla codebase (an opportunity which, considering the size and scope of the code, was invaluable). I’ve been able to build on the understanding gained there to learn about the areas of code that I’ll be working in. The only difficulty I have is when I’m stepping through huge uncommented functions that call deep into Mozilla’s low-level libraries, but IRC is a great resource for things like that, thankfully!
** As mentioned, I’ve got a decent amount of code written (2 fully written patches, feature-wise, and finishing off a third). Mozilla’s strict (and excellent :)) quality standards prevent me from actually getting these patches in the source tree, however, as I also need to write tests, which means a significant time investment online reading about how these tests work and talking to people on IRC about how they work. I haven’t had the opportunity to talk about this yet as I’ve mostly been working on transit, offline.
I’m going to focus on getting these patches in the source tree ASAP. Ad-hoc work “when I feel like it” is obviously not working, especially since I’ve been bad with status reports and blogging. I’m going to have to treat this more like a job and less like a hobby/personal project whose sole purpose is fun/learning. Of course, I’m still going to have fun and learn a lot, but I need to get my act together and commit to my responsibilities as well. I’m pretty confident I can turn this around and be highly productive by the end of the term, and beyond, as I also really enjoy working with Thunderbird!