The hip is much better.
I encountered a bug in my changes to rp3 that I made last week--the estimated cost jumped from about f6 to around f40 when my session abruptly terminated. I had previous canceled dialing when the phone meter box started making a weird noise. I spent the morning investigating, and while I am not absolutely certain that I found the bug (that is, I don't find anything that would obviously have caused the price to jump like that) I did find some race conditions that might possibly have caused it and were certainly best gotten rid of. It turns out that my new code invalidated some invariants and exposed some sloppy coding. I explicitly formulated the newer invariants more strictly, which should help with any future changes. It turned out that fixing the race condition was isomorphic with fixing another bug; I wasn't accounting correctly for another program bringing down interfaces. In the end, I believe that I subtracted more code than I added, while adding missing functionality, fixing race conditions, and making the program more efficient. I like it when it works out that way. But it did end up taking all morning to get it right.
It's another beautiful day, and the 7th graders are at it again, dropping water out the dorm windows. The Dutch are so used to rain that when it is sunny, they are psychologically compelled to try to create rain. How sad.
* * *
We went for a drive to the northwest again, just driving very slowly around lakes and farmland and small towns for about 50 miles. Windows open, sunroof open, let the people in a hurry overtake us. Very relaxing; a nice way to enjoy the car before returning it tomorrow. I'll miss having it around, though I'll enjoy having it in the US again sooner than I would have had I kept the car until the end of our stay in Europe.
The noise has started rather earlier than usual tonight; about 10:30. Good thing we have good earplugs.