» Friday, 24 December A.D. 2010
resolutions
I did only moderately well with resolutions this year. I read a lot of books, but not necessarily the ones I planned to read (sorry, Anathem, The Reformation, Personal Knowledge, American Catholic, and others; I'll catch you next year). I read quite a bit in my Bible, but not all the way through as I planned. For whatever reason, I get bogged down when I hit the wisdom books, particularly Psalms and Proverbs. I think I did an OK job of spending more time with my children this year, but probably not as much I thought I would at the beginning of the year. And so forth.
But there is one resolution I'm rather happy to have kept, only I didn't make it at the start of the year. Inspired partly by Clay Shirky's ideas of cognitive surplus and how we might do great things if we turned just a fraction of the time we spent watching TV into doing other things, I set a goal in mid-May of getting one patch per day for the rest of the year into GCC. I could have chosen other projects (my Common Lisp projects would have benefitted greatly from one patch per day for seven months), but for reasons that I'll not cover here (ask me offline if you really want to know), I decided to tidy up GCC a bit.
I'm happy to report at the end of the year that I've met my goal; git log --author=froydnj --since='11 May 2010' --format=oneline | wc -l says that I've made 220 commits. (That actually falls just slightly short of one patch per day, but I'm going to give myself some slack.) Granted, some of those were work related, but I'm going to ignore that and call it good. Some of them were bugfixes for problems I caused, but I was still doing useful stuff by fixing the bugs, right? And hey, that's an average, rather than one actual patch per day (especially with a new baby and with stage 3 being in effect, I haven't been doing much lately), but close enough.
Enough with the excuses; what did my patches do? I eliminated old interfaces (sadly, ditching __builtin_saveregs was not a easily done followup patch). I deleted dead code. I renamed things. I eliminated (minor) quadratic behavior (and again and again). I saved some space (several patches did this, but I think this one is the most significant). I starting untangling things that shouldn't be intertwined. I macro-ized common idioms. And so forth.
I learned a lot in doing all this. As I looked through the code, I also started to understand what bits needed to be cleaned up, and maybe even a little bit of why. And I have to say that I'm looking forward to when 4.6 is released and patches start being accepted for 4.7; I'm hoping that I'll find just as many opportunities to contribute next year as well.
posted by Nate @ 8:51PM