Last night sucked. I guess I'll start from the beginning. My sleep schedule has been pretty strange as of late. I stayed up all night on Saturday, in the hopes that I could stay up until Sunday evening and try to get back to a reasonably sane schedule in time for classes on Monday. Since I had promised #sphere that I would release a new version of Sphere, I did a few minor bug fixes and put together a new release. Sometime around 2:00 p.m. or so (I think? Kinda fuzzy now...) I fell asleep. Laura woke me up with a phone call sometime in the evening, and when we were done talking, I discovered that the new version of Sphere had a FATAL FLAW where it would HARD LOCK every Win9x machine it ran on!! Not only that, but Ben Scott e-mailed me to inform me that somebody had posted the Sphere 0.96 release announcement on flipCode, a major game programming site. Normally I would have been overjoyed, but this time all I could think was "OHHHHH CRAP!!!!" I didn't want people all around the world downloading this program, watching it freeze their computer, and thinking that I'm 1) a horrible person, 2) incredibly stupid, and/or 3) an awful programmer. Granted, I may be all of these, but I can at least try to do something about it! This was horrible timing too, as I had class the next morning, but I resolved to stay up, find the problem, and put out a new release before my image was tarnished more. Nine hours and 5/8 of a large pizza later, I had discovered and fixed the problem, thanks to the gracious assistance of five others who volunteered their time and effort to help me find what was wrong. (technical explanation: Audiere spawns a thread to update the output audio stream in the background. I had made this thread with a higher priority in order to reduce skipping. However, on Win9x, even if I explicitly had the update thread yield control with a critical section and a Sleep() call, it would starve the application thread, so any other Audiere API call would completely hang the calling thread. Ugh. I'm not sure whether to blame it on a weird coincidental timing issue or the fact that the Win9x process scheduler sucks. NT could handle that case perfectly.) Annnyyyway... The bug is fixed, the new version is out, and I actually stayed awake for my first two classes. I'm REALLY REALLY tired now, though... Coding (especially panicked, frenzied debugging for nine hours straight) is probably one of the most strenuous activities out there. *topic switch* My schedule this semester is sort of weird. At first I was taking three computer science courses, a mechanical engineering (the legendary OpenGL course), Music 101, and Listening. Listening was so incredibly STUPID that I almost didn't make it through the first lecture. I immediately dropped the class afterwards and replaced it with another computer science class. I'm considering dropping music 101, but I do believe I'll go to the first few lectures and see if I like it. I wish I could immediately become a graduate student, and have classwork about stuff that's actually vaguely interesting. It's really sad that I could probably learn all of the material in all of my classes in a month. Oh well, more time to develop my personal skills and finish awesome books like Real-Time Rendering. And more time to spend with Laura... and more time to play Dragon Quest 7... and read 1984... ^_^ Oh yeah! I got my Dex Drives! :D Time to back up my PlayStation stuff!