Monday was totally sweet. I decided to skip my class to go to a CS department colloquium on “Atomics for a Real-time Virtual Machine”. (Summary: Consider Software Transactional Memory (STM) as an alternative to locks in real-time multi-threaded systems. Locks are hard to get right and have some unfortunate latency properties; STM requires no programmer thought and has the right latency properties for high-priority threads, but has a small extra cost due to having to undo work sometimes. So it’s probably a good idea in most cases but might be bad sometimes.) After the talk Bart made sure I got to meet the speaker, Jan Vitek (thanks Bart!) and that led to me going to lunch with Jan, Prof. Andrew Black, Prof. Jim Hook, and Prof. Mark Jones, all of whom are awesome people. I hadn’t met Mark before and didn’t realize we had another new faculty member in the CS department, so I assumed he was a graduate student, which made me feel more comfortable in that group. When Bart told me later who he was, I freaked out a little: I’ve read papers by this guy and knew he’s really smart, and all in all I’m really glad I never said anything that revealed my mistake. (Although he seems nice enough that he’d have taken it fine, I think.)

By the way, skipping class turned out to be completely consequence-free because it got cancelled anyway.

After lunch I wandered off to barge in on Bart’s class, where he wound up putting me to work helping him demonstrate a software inspection technique he was lecturing about. Turned out the code he’d brought for them to inspect was part of the implementation of Nickle’s built-in functions, which I actually worked on a few years ago, so I had a pretty good idea what was going on.

Then Bart and I went back to his office where we worked on XCB for a while. I fixed a nasty bug in Xlib/XCB that didn’t affect the X Test Suite but did affect x11perf, and then fixed a couple of performance problems in Xlib/XCB. Bart and I were trying to prepare slides for Keith Packard to use at XDevConf to tell the good people there how work on XCB is progressing. We were still there working in his office around midnight…

Shortly before 6pm Sarah called me and said she was going to the Vietnamese place for dinner and suggested we meet her there, so Bart and I wandered over. By the time we got there she was a fair ways through her food and getting ready to go to a capstone meeting, but we ordered anyway and chatted until she left. A few minutes after that I noticed that Prof. Jim Hook had just walked in to the same restaurant, so we waved him over and bade him sit down where Sarah had been. I kept waiting for the wait-staff to become confused at the gender, age, and build transformation, but they were no fun. Turns out he was trying to eat quickly before going to a choir practice: he sings in two choirs, apparently. We chatted about a number of things, including taking some time to explain to one of the people who teaches CS 581 (Theory of Computation) just what it is that we teach students in the CS 161 (Intro to Programming) sequence. The programming courses in our curriculum are rather dismal, but programming isn’t exactly “Computer Science”—and for Computer Science our department is pretty good.

That pretty much sums Monday up. More or less.