This comes quite a bit out of order, as it's the sequel to Fugitive Alien, but last night I struggled my way through Star Force: Fugitive Alien 2. This movie, like its predecessor, was splice together with scenes from a Japanese TV show, which only partly explains why the plot sucked. It was so boring that I kept nodding off while watching it. In this movie, Ken and the other heroes, my favorite being the chipmunk-cheeked captain with a thin mustache, are flying through space, nearly get cooked by a star when their engines go out for no apparent reason, then they land on a planet and merrily kill a bunch of people they seem to be at war with, rescued some guy I didn't care about, and then left. That was the whole movie.
I can only give it one empty seat, for the TENPERATURE gauge. Yes, that's how they spelled it, too.
Today is Ben's birthday. I almost forgot to post this message! Happy birthday, Ben!
Today I rebooted my work machine for the first time in over 313 days. I had to add a hard drive. Believe me, I tried to get the hot-swap functionality of SATA to bring the drive online, but it just wouldn't work. I was missing the device /dev/sdd, and even creating it with the right mknod arguments (at least I think they were right) didn't seem to work.
But I'm back up and running now, with some extra hard drive space.
Today was Munchkin Friday. Susan and Sarah teamed up at the last minute to pull a double-win on the rest of us.
The first signs of the coming war are here!

You have been warned!
Yesterday afternoon I watched Swamp Diamonds. The movie really sucked, but was mercifully shorter than normal. Because of this fact, it was prefaced by an old short film about dating:
If you watched it, skip the movie. It's about female convicts in short shorts crawling around in a swamp trying to recover stolen diamonds. I give it one empty seat, for the woman that died in the swimming pool instead of the swamp.
This morning I watched Hercules, episode two of season five from MST3K. This was the movie for which the sequel Hercules Unchained was filmed.
This was certainly not an exciting movie, but it was better than Unchained. I was sleepy throughout the movie already, which may have deadened some of the pain of watching it. In any case, I didn't think it was quite so bad.
This movie is the typical Greek Hercules story: Herc teams up with Jason and they go in search of the Golden Fleece. They meet up with (and escape from) Amazons, murderous brothers-of-kings, etc. I give it a bunch of empty seats, for each time it nearly put me to sleep.
Last night I didn't get much rest. I woke up repeatedly. By the time 5am rolled around I just got up because I wasn't going to get any more sleep. We had dinner tonight at the Inn with Lorien's older sister Arwen and her four children. After they went to bed, we started playing a game, but I was so worn out I decided to come home. The problem is if I go to bed too early, I will wake up even earlier, so I have to tough it out for a little while longer.
Today is my youngest sister's birthday. I don't think she's ever been here, but just in case, happy birthday Betsy!
You wouldn't expect this from the post title, but check out this new upcoming book: Pride and Prejudice and Zombies.
features the original text of Jane Austen's beloved novel with all-new scenes of bone crunching zombie action.
Awesome. 100% pure awesome.
Happy Chinese New Year everyone! It's loony!
About a year ago, I started poking around with OpenGL, and began to write a program to display majiang tiles.
Well, with all the Qt I've been writing lately, I thought I'd move it into their API. I have to admit, Qt makes it easy to incorporate OpenGL into your program. Texture loading was really easy, once I realized I forgot to add a call to glEnable(GL_TEXTURE_2D);.
Anyway, tonight I gimped up a quick image to map on to the cube. Here is the result:

This morning I got a call about my car: the power steering pump came in, but when they pulled the old one they found that my water pump was bad, too. So now I'm replacing the power steering pump, thermostat, water pump, and the timing belt. At this point I'm wondering if anything else can go wrong. On a side note, I received my car title in the mail today.
Today I went to one of our resident math geniuses for a trig lesson. Yes, trig—that thing you swore in high school was stupid and you'd never use it again.
The problem was I'm drawing a pie chart and needed to find when the mouse was inside any one of the wedges.

So here's how you find whether a mouse click was inside a wedge of a pie chart:

Given that the circle is inscribed in a bounding box 200x200 pixels and a mouse click happened at (130,50), here's how you check it:
First, check the distance from the center of the circle to the click coordinates. If this distance is greater than the radius of the circle, you need not go any further. This part was easy and I remembered it from high school.
The center of the circle lies at (100, 100). The distance of the click at (130, 50) is:
sqrt((130-100)^2 + (50-100)^2), or the square root of the square of the difference between the x-coordinates plus the square of the difference between the y-coordinates. If this value is greater than 100 (the radius of our circle), the click is outside the circle and no more math is required.
Next comes the tricky part. If the click was inside the circle, you need to find the angle of the click. In the diagram, you should know angles a, b, c, and d because you already drew them. Depending on your API, you may have them in degrees, or sixteenths of degrees like I did.
So you start by normalizing the x and y coordinates. This means translate it to (0, 0), or more simply subtract the x and y value of the center from the x and y value of the click. In my case this means my translated-x (tx) and translated-y (ty) are (30, -50) (130-100 and 50-100).
The tangent of the angle θ is the opposite over the adjacent side, which are your translated x and y coordinates. To find the angle you need to use tan-1 ty / tx, or atan(ty/tx) if you include cmath. This result is in radians. Make sure tx is non-zero or you will have some problems here.
This part is important! If tx was negative, you must add π to the radians to make sure you get the angle into the negative-x side of the graph! If you don't do this you'll have even more problems.
To convert θ to degrees, multiply the radians by 180 / π.
In my API (I'm using Qt), the degrees go in the opposite direction, so I had to invert the angle.
Compare this result to angles a-d and you have your wedge!
Yesterday I mentioned how my barely-paid-off car lost power steering. It turns out things are just a little bit worse.
Not only is the power steering pump bad, I have a thermostat that croaked, too. So much for celebrating having paid off my car…
