Primary Action Items

Some of the things on my mind lately:

  • Rounder development was coming along nicely until I realized I wasn't properly understanding or planning for an asynchronous design. I was hoping to code infrastructure first and later integrate Twisted for the networking aspect. I started out with objects creating other objects (table creating a game or hand for instance) and passing control to it without blocking for it's termination. It quickly became apparent that this doesn't make any sense without a framework for event driven programming and I was headed for an infinitely growing stack of method calls that never returned as everything was happening in one thread. I've returned to studying Twisted and how it's best used, once I've got that mapped out work will resume.
  • Ordered a copy of The Official Gnome 2 Developer's Guide that arrived today. Looking forward to delving into that.
  • I keep coming across blog posts that make me feel guilty about the three volumes of Knuth's Art of Computer Programming gathering dust on my shelf. I've read through most of the first volume, finding it none too easy even without doing most of the problems. I'm hoping to spend at least a couple hours a week tinkering with some of the problems in the third volume (sorting and searching) and refreshing myself on the math skills lost since university.

    My stance on the importance of algorithms varies between defiance and embarrassment. On the one hand I wonder if it's worth wasting brain cycles on studying them when so many problems are already solved, I'll honestly admit I can count the number of times analysis of algorithms has been practically applicable in the first four years of my career on one hand. Granted I spend most of my time with high level applications and languages (Java and Python mostly), but it almost seems to me that solid object oriented design and meticulous adherence to good habits are more important.

    Then I read some elitist blog post by a Google employee laughing at the lack of algorithms knowledge of some applicant and start to wonder if I'm fooling myself. Google's focus is probably quite different than the areas where I work and play, but I can't really deny that an understanding of those concepts does seep into day to day use, even if it isn't without the intensity you experience it in university. At the end of the day it's something that I'd *like* to be good at, so may as well sacrifice an hour to the study of agonizing math here and there.

Looks like nothing but a lot of reading on the horizon...