Finally got some interesting work done today.
Summer and Stanford update.
What kind of car/truck should I buy?
Over the years, it gained functionality as various other types of balanced tree were added to it: threaded AVL trees, right-threaded AVL trees, and, most recently, red-black trees. And eventually I realized that I was having to rediscover the algorithms I used in it over and over again as I used them in various projects. So I decided to rewrite it as a literate program that would explain all the motivations behind it.
And now it is rather a big project. The big problem with it is that as I write one chapter, I discover that there are N things in previous chapters that I could have done better. So then I have to go back to that chapter and rewrite lots of code and text. I guess that this means it will be damn near perfect by the time I'm done with it, though.
Today I'm finally getting some actual work done on it, which hasn't happened too much in the last few months. During the semester it's just too hard to find the proper amount of time, and the last few weeks I've had lots of distractions, too, such as work I'm actually being paid for, and getting the Debian autoconf package in shape such that half the project isn't screaming at me now that Autoconf 2.50 is out upstream.
Back a couple of years ago I wrote a chapter for the book C Unleashed, I approached Richard Stallman with a question about whether any special acknowledgements were necessary to publish GPL code in a book. As part of his reply, he asked me why I was writing a chapter for a non-free book. I didn't have a good answer (I don't think he'd consider "money" a good answer). When I release the final version of the lit-prog libavl, though, I'll be able to stop feeling just a little guilty about that.
In other news, I might not be going to the Netherlands this summer (dammit) and I found out a few days ago that I have been named a Stanford Graduate Fellow (yay!), meaning that I have my tuition paid for and get a $23,000/year stipend to boot, with very few strings attached.
I wonder whether I'll be able to do any work on libavl while at Stanford? I hope so, because I don't think I'll be able to finish it by the time I get there in September.
Thinking about buying a car. I want something that I can use to transport lots of stuff, because I don't know anyone in California and I need some way to get my stuff there from Michigan anyway. Since my dad's a GM engineer I can get a big discount on new GM cars and trucks, so I'll probably do that. I'm considering a Chevy Tracker (small blazer-like vehicle that is relatively affordable) or maybe an S-10 pickup. Comments?
(Writing a diary is an excellent way to realize how good I really have it!)