I don't think I've mentioned this here before. In some spare time I've been porting my old DOS puzzle game Escape (don't go there, the download is broken) to modern operating systems using the SDL. The port works pretty well, though it lacks the polish for a proper release. (Soon!) But today I reached a milestone: I solved the last of 100 levels that were originally released with the game. This is important because I wanted to make sure I hadn't changed anything in the reimplementation that made levels unsolvable or trivial (in fact I had, so some levels needed to be fixed), and because the new web-based level archive assumes that each level has a mechanized solution that can be checked. Anyway, if anyone's interested in trying it out, even at this early stage, send me some good puzzles and perhaps they will be included in the "official" level collection!
Well, the theorem I've spent the last several weeks trying to prove turns out to be false, at least in an extention to the language that we want to support (products). I'm not sure if that rules (because it explains why I had difficulty proving it) or sucks (because it means I wasted a lot of time).
Sweet. If you are in kindergarten through high school you should definitely join the military force known as K.A.S. (kids against school). Check out this picture of one of their operations against T.A.S. (teachers against kids).
Here's a great animation of the approaching hurricane. Reload throughout the day to see its progress... It's projected to pass over Pittsburgh on friday night, though hopefully it will be much weaker by then.
This article over at slashdot about "secure programming" gives me hope about the future. Most of the time when some security bug comes up I go there and rant about how C and C++ are actually the source of most of our security woes. But this time, there are loads of people making that argument (and well, for the most part) for me. Even the authors of the web page (devoted to secure programming in C and C++) have now put up a page responding to all those comments. (Their conclusion: C has 5x as many security holes per source line, but other languages have the potential for security holes, too.) For my perspective, see my posts: [1, 2, 3, 4, 5, 6]
The hive mind of slashdot is not something to brush off lightly. Hopefully*, modern languages are finally making headway into the mainstream... Just wait 'til they find out that you don't need to run in a VM to get safety and garbage collection!
* The usage panel overwhelmingly rejects this use of "hopefully," but, I don't care.
Yes, someone has really done it: He shipped himself from Dallas to New York in a cargo crate, pried himself out of the crate in front of his parents' house, shook the stunned deliveryman's hand, and then got arrested on outstanding warrants.
As reported earlier I have done some looking into my great great great great grandfather (Tom 1)'s service record in the Civil War. Based on my best information, here's a listing of the Murphies in his regiment.
There some weird stuff here. For example, there's a Michael P. Murphy, which is exactly my brother's name. He will be happy to know that he outranked Tom 1: A fifth sergeant to Tom's mere Private.
Now there's a new Tom and Mike P Murphy. Does this mean that the robot war starts soon?
Proving admissibility of cut is a polynomial time problem: it's O(c * j * r^2), where c is the number of contexts, j the number of judgments, and r the number of rules. But you have to do all that by hand. It is a relaxing process, in a way, like programming or putting stamps on envelopes. My current progress: 675 of 1764 cases. (Of course, in practice many cases are the same or don't apply, so it goes a bit faster than you might think! ;))
Here's a weird thing. My bathroom is not really a paragon of lickable-cleanliness (whose is?) but it's no Grand Central Station, either. Nonetheless, sometimes a mushroom grows in one specific spot in the grout by the bathtub. It pops up quick, like two days!
I guess I'm the kind of guy who thinks that's pretty cool, even though I pull it out and then pour bleach all over the spot. Here's a nice image of it.
Through random clicking this morning I found, by amazing chance, the answer to a puzzle that had been vexing me very slightly for ages. What was that weird show with the fly-head guy that I saw like one episode of when I was 10?
The answer is Maniac Mansion, perhaps the only sitcom based on a videogame that lasted more than one season. And doesn't the fly-head guy look kinda like Rob Schneider?
Now it's time for the traditional monthly status update!
Later this month (on the 27th) I turn 24, which will begin the longest drought of prime ages that I have ever endured. Potential expensive birthday gift ideas: Car GPS unit, Canon macro lenses, ...
As mentioned before, I recently did a demo for my Hemlock Grid ML compiler. So I've shifted work from that now to 100% paper-and-pen theory stuff. I'm working on a symmetric modal lambda calculus for distributed computing. Once I figure out exactly what that means, well, I'll let you know.
Mike and I bought a bunch of video games. We have been playing NHL 2003, shooting for a perfect season with our ridiculously souped-up Pittsburgh Pirates team. This is the first videogame I've ever played that will actually pronounce your custom characters' names, as in, "Lemieux... passes the puck ... Tom shoots--SCORES!!!". If I had a really rare name like "Nefertiti" or "Skeletor" I might have slightly worse luck, at least until they figure out how to make a hockey commentator voice synthesis robot. I also got the ridiculously fast F-Zero GX. It's a good game, but the music is nowhere near what it was on the SNES, which is really sad. Nintendo has some kind of technology, I guess, which can take a perfect melody from any old game and then turn it into barely recognizable mush.
Since I haven't been programming for work, homebrew programming projects are flourishing. I have been hacking on my radar software a lot recently. This weekend I did some work on writing MIDI files so that I can build a digraph-based chord progression generator.