Archived news items from March 2003
Since this is old news, some links may be broken.
current news
newer old news from April 2003
Got to bed just before 6:00 yesterday evening. I woke up every hour and a half or so all night, until I finally took some NyQuil around 6:00 A.M. and then slept until almost 11:00. That's almost seventeen hours for those keeping score at home. I feel a little better at the moment, but I'm still not out of the woods yet. I'm going to have a lazy day and try to get to bed super early again so hopefully I'll be recovered in time to lead worship in the morning.
Been a busy week! I've got a cold or something, and am about to see how helpful a sleep marathon will be. But I'll hit the highlights.
The wedding was good, though very long (well, for the wedding party, anyway, since they had to wait until everyone else was gone to clean up and go home, so I was out late). The band at the reception was Dysfunction Junction, an excellent Austin band that covers 70's dance hits. I actually got out on the dance floor and grooved a lot. The wedding party had made an entrance to "Play That Funky Music, White Boy" wearing afro wigs and rhinestone-studded sunglasses. I took a turn wearing a wig, too, so there are some blackmail photos out there.
Sunday after church I got the suprising news that my last remaining grandmother had passed away. She'd had Alzheimer's disease and had been slowly fading in a nursing home for the past several months, but her physical health was still pretty good. She was 78, and her mother (my great-grandmother) is still living! The service was Wednesday, so I borrowed Robin's car (with cruise control and a CD player) and drove up to East Texas late Tuesday night and came back Wednesday night. The service was nice, and almost everybody was there. She had a strong relationship with God, so though although we'll miss her, she's now rejoicing with her Maker with a sound mind and a healthy body.
Possibly because of the lack of sleep the past several days, I started coming down with a cold yesterday. I'm not a well man right now, but I've been pushing lots of fluids and eating plenty of fruit. Just during the school day I had half a gallon of grapefruit juice mixed with half a gallon of water. So I've been keeping my system pretty flushed.
Due to band rehearsal last night, I wasn't able to get much extra sleep. And in the morning if I feel up to it I'm going to go with the children's workers from Lakeline to a workshop in San Antonio. The problem is that the caravan leaves the church at 6:00 A.M., so I've got to get to bed real soon if I'm going to get the kind of sleep I want right now.
One important thing before I go: Wal-Mart is having a sale on certain DVDs, and if you hurry, you can probably still pick up a copy of Cabin Boy for a scant $5.88. Get 'em while they're hot!
Actually late Friday night....
Robin is a bridesmaid in a friend's wedding this weekend, so tonight was the rehearsal and rehearsal dinner. I stopped to fill up my car on the way to pick her up and the guy across the pump from me had some accident and sprayed gasoline in about a seven-foot radius, including a bit on my clothes for the evening. I was already running late, so I just headed on down there to get her. I smelled like gasoline all night, which gave me a headache. The smell was pretty localized after the first hour or so, so only folks pretty close to me could smell it. Which is good, I guess, but still not great.
I don't think I've ever been sprayed with gasoline before. It was like some weird Zoolander thing. Which is ironic since the maid of honor in this wedding is one of Ben Stiller's personal assistants. Perhaps scenes from Ben Stiller flicks just spontaneously reenact themselves wherever this lady goes! Tomorrow I may feel this strange urge to replace the ringbearer with a trained cat. Who knows?
[Update: it turns out that the maid of honor (who is actually the matron of honor as she's married) is not one of Ben Stiller's personal assistants. That's another of Robin's friends, who she thought might be attending the wedding but ended up not. I got my stories confused.]
Anyway, despite my petroleum-based odor, I had a good time. Rehearsal dinner was at The Spaghetti Warehouse, which I like.
In other news, Bioware has just released beta 2 of their linux client for Neverwinter Nights, hot on the heels of the much-delayed first release just two days ago. I don't play computer games very often at all, but Neverwinter Nights sounds like the sort of thing I'd really like. Maybe I'll spring for it this summer. (Get it? "Spring"? "Summer"? I slay me!)
And I've finally had a chance to listen to both Del the Funkeehomosapien and P.O.D., and while I'm a little disappointed by the former, Satellite is pretty darn good.
A week of spring break plus change to catch up on, and a bit of a surprise for those of you that I haven't talked to in a while.
Saturday the 8th I watched Traffic with Robin* while we waited on Paul, Julie and baby Logan to arrive. They got in around 10:00, and we stayed up late just talking.
Sunday was church. We ate at Chuy's afterward and then Robin and I had FW Friends in the afternoon. Then we just hung out at my apartment until late.
Monday Paul cooked a huge pasta lunch for us all, and then we took off down to San Antonia to spend the rest of the afternoon/evening on the Riverwalk. It was a beautiful day and a lot of fun despite the fact that no one in the group really knew where anything was, so we spent a good portion of the time either lost or looking for something in particular.
Tueday morning Paul and company left for home and I hung around for a few more hours cleaning up the place. (Company, especially when including a four-month-old baby, makes quite an impact over three days.) Then I left for East Texas to spend a couple of days with my parents.
I arrived around 5:00, and proceeded to spend the next 48 hours helping Dad break in his new 57" wide-screen television. I watched (in order):
I also spent a little time with my family while there. Left for home on Thursday at noon.
Thursday evening was band rehearsal, followed by a late night at the church helping our sysadmin upgrade and reload software on several of the computers in the building.
Friday I slept in and then did my taxes. Like last year, I'm looking at a nice return due to my apparently above-average "charitable giving". Then I had a rehearsal for Andrew's wedding (former computer science student and former intern at Lakeline Church), in which I was an usher. Saturday was the wedding itself and then the reception at Bucca Di Beppo's, which was good even though they weren't ready for us when we arrived so we had to wait over half an hour for our food.
Saturday morning I'd been grocery shopping when I saw that the Wherehouse Music location nearby was having a going-out-of-business sale, so I spent over an hour in there looking at everything. I ended up with P.O.D.'s Satellite and Del the Funkeehomosapien's No Need For Alarm relatively cheaply. I still haven't had the chance to listen to either.
This Sunday was comparatively slow. We started a new message series on personality types and the Christian life, and it looks to be really good. Then Robin and I went to Target and I came home with two pairs of jeans, some khakis, a pair of slacks, a linen shirt, and some socks.
Then I went out late to Kerbey Lane with an old college friend who was in town for Spring Break, and we caught up. I ended up getting home a little after midnight, so I slept too late to make it to the last of my men's group meetings.
Of course, last night was math tutoring. Jesse's parents went out on a date, so we just had a DiGiorno pizza, which was still pretty good.
Today my drum tutoring was cancelled, so I'm trying to catch up on email and the web page, and clean the house. (I still haven't unpacked my bag since I got home Thursday.) I also hope to get to bed early if I can.
*Robin is my girlfriend. No, really! We've been going out since Valentine's Day. She's very nice; you should meet her sometime.
One of this week's articles in The Onion perfectly illustrates something I was trying to explain to my students. They asked, "Why isn't there a white history month?"
Spent some of last week iced in, which means we used up our two bad-weather days for the year.
Yesterday my crowning achievement was writing a working in-order traversal
of a binary search tree non-recursively. I'm currently teaching binary
search trees to my Computer Science II students, and in a break from
tradition, I decided to have them do a non-recursive version first. Now,
I implemented a non-recursive BST last year, but I only did the functions
like exists()
, insert()
, and remove()
,
and I did not attempt any of the traversals. And further, though I
wrote one last year, I didn't show it to the kids or teach it at all.
Well, this year I decided to teach it, and I got through the functions I'd
written last year fairly easily (though remove()
is a bear).
But yesterday I was faced with the proposition of explaining how to do an
inorder traversal without using recursion.
Well, I sat down at my desk in the front of the room and started working on it. I'm pleased to say I got it done in a little less than an hour, and when I compiled it (after tracing through it by hand a time or two) it worked the first time.
Here's what assembly and graphics programming guru Michael Abrash says about this activity, in his Graphics Programming Black Book (special edition). This book is excellent but the dead-tree version is sadly out-of-print. Fortunately, the publisher has made the entire work available for free online at byte.com: Graphics Programming Black Book. The part I'm quoting comes from Chapter 59, on pages 1107 and 1108.
As I've said again and again in my printed works over the years, you have to dig deep below the surface to really understand something if you want to get it right, and inorder walking turns out to be an excellent example of this. In fact, it's such a good example that I routinely use it as an interview question for programmer candidates, and, to my astonishment, not one interviewee has done a good job with this one yet. I ask the question in two stages, and I get remarkably consistent results.
First, I ask for an implementation of a function
WalkTree()
that visits each node in a passed-in tree in inorder sequence. Each candidate unhesitatingly writes something like the perfectly good code in Listings 59.2 and 59.3 shown next. [omitted]Then I ask if they have any idea how to make the code faster; some don't, but most point out that function calls are pretty expensive. Either way, I then ask them to rewrite the function without code recursion.
And then I sit back and squirm for a minimum of 15 minutes.
I have never had anyone write a functional data-recursion inorder walk function in less time than that, and several people have simply never gotten the code to work at all. Even the best of them have fumbled their way through the code, sticking in a push here or a pop there, then working through sample scenarios in their head to see what's broken, programming by trial and error until the errors seem to be gone. No one is ever sure they have it right; instead, when they can't find any more bugs, they look at me hopefully to see if it's thumbs-up or thumbs-down.
Doing this sort of thing is a hairy problem, and does really make sure you understand what's really going on. I'm pleased to report that my code looks nothing like the "solution" code Michael Abrash lists in his book. I suspect that means that my solution is not as efficient, but I think it's easier to understand for students. Which is good, since it's what I'm going to be showing them tomorrow.
Today after school I dropped by Office Max to pick up a bunch of business-card magnets, which I'll write on and move around on my white board to illustrate. Should be fun, because understanding the code is much easier than creating it.
Two new CDs in the rotation. First is Back Home, the new one by Caedmon's Call, which Mom got me for Valentine's Day. In my opinion, it's their best in a while, sounding more like their old stuff. Also, student Hannibal Murray bought me Metallica's Ride the Lightning so I could put it on Voter. Which is probably the first recorded case of a student purchasing me an album off my wishlist just for the jukebox. I hope this becomes a trend, because y'all know I'm a music junkie.
Paul, Julie and Logan are coming down to spend the first few days of spring break in Austin, so that should be fun.
And I haven't been to work out since my last update. I'm a slacker. Maybe my coding prowess will make up for my lack of a washboard stomach. We'll see.
February 2003
archive index (for dates back to August 1998)