Every year my mom gets or makes each of the kids ornaments that represent our year in some way. This year my mom found one of my drawings (from the ICFP Programming Contest) and deftly reproduced it on a ceramic ornament (above). Mike got one of his drawings surreptitiously reproduced, too. Nice!
Hello friends! My brother and I drove back to Connecticut on Wednesday, and now we are having a relaxing time here getting sore throats and hanging out with the family. Some stuff I thought, at the time, I might blog about and so maybe I can wrap it all into a bullet-pointed blogdate. It's pretty much all about computer or game stuff:
The semester is over. At its end Jason and I spent a lot of time on our project for Logic Programming class, called "LFton". Basically the idea is to use the soul-splinteringly fast MLton compiler as a backend for the paint-strippingly slow Twelf execution engine. That would allow us a pretty short path to having reference implementations of languages that have been specified in Twelf. (We can already do that, it's just really slow.) Anyway, we almost got it working but didn't get time to do any of the optimizations that we had planned, so it's only about 1.5x faster than Twelf right now. We ought to give it another shot after the break, because I don't think it would be much more work to make it really fly and maybe write something up about it.
Right around that same time my laptop (Sony TR3A) started acting up: It would blue screen and then reboot immediately after using it for a few minutes. I think that this was due to overheating caused by the video card, which I hardly ever use for 3D stuff but Cortney and I were using to play Syberia, since we have recently gotten into playing adventure games together (BTW Syberia was pretty good, at least I want to say that because I don't want the adventure genre to die, although I will complain that the pace (by which I mean slow pace) of running around from screen to screen was totally maddening). Since we finished that and I uninstalled the game I haven't had any problems, which is good because I like my laptop despite its age, but at the time I was shopping around for new laptops in the eventuality and admit that the new Intel MacBooks were high on the list. Since I know the Apple product designers read my blog for insights into how to sell me Macintosh, I will say that there were three major turnoffs: (1) the lack of a two-button mouse standard on the laptop (I predict this will happen soon without any more complaining from me: They already make an external mouse that looks like it has one button but really has two, but they won't really admit it; the trackpad on the MacBook supports an awkward gesture where you can put two fingers on the trackpad and then click the one gigantic button to get the right-click effect, I mean, how could anyone think this is simpler than using one finger to press one button?); (2) the fact that the OSX still seems difficult to me to navigate by keyboard (is there any faster way to launch an application from a list than to alt-tab to finder, then hit the shortcut key for the Applications folder, then go to the app and Apple-O that thing? Why does the enter key try to rename applications instead of launching them??); but maybe I'd get used to that and (3) the just slightly unsvelte heft of the machines (it is painful to paradoxically be buying larger and large laptops since my first one in 1999. But other than that, I want! Cortney, whose laptop is actually dying of like the screen falling off, did in fact just buy a replacement MacBook and I find it to be pleasantly fast and well-built.
Right before we left for CT we had a games night at the Spopix residence... we played a card game called "Category 5" which nobody could quite figure out a strategy for until the last round, and then we played Apples to Apples and I wanted to relay to you the I think extra-funnifying twist that we came up with (you can stop reading if you don't know Apples to Apples because this won't make sense). Spoons complained that he often does better in the game when he just plays cards randomly, so in each round we added a "house" entry drawn from the top of the stack of red cards. If the judge picked the random card, nobody gets the Green. Otherwise, we go around the table (starting with the judge), each person getting one chance to guess which card was the random one. This is fun because we get a chance to guess what the other players would play, and it gives a natural disincentive to campaign for your card (so as not to give any of the other players information about which ones are legit). Anyway, good twist. Sorry.
Now that we're back in CT nursing our sore throats with like gallons of Peppermint tea, and looking for ways to escape parental friends parties, Mike bought an XBox 360 (partly to make it easier for for siblings to find presents for Mike and me since he was thinking of getting one anyway and also because we can't find the console we really want, the Wii). Recommendations for good games? We are playing Gears of War which is a delightful sequel to Halo 2, except with oddly crippled characters who can't jump for some reason (certainly not a lack of buttons on the monstrous controller). If it were Wii I'd just toss my controller up towards the ceiling to execute a grand cart en l'air.
Finally, I have been taking some time to work on projects. You may know that some of my friends are doing a "50 book challenge" this year in which they try to read a grand total of 50 books throughout the calendar year and blog reviews on them. (I don't think anybody is actually going to get 50, but I think they're at something like 40 which is pretty amazing.) I am a slow reader and don't do it very often so I was working on my "0.05 book challenge" (not 0.05 page) in which I try to complete 0.05 of Infinite Jest mostly while in the bathroom. Turns out 0.05 of that book is still only like 3 pages, which I completed easily the first day, and I also technically read another book—the first in the Griffin & Sabine trilogy that Cortney got me for Christmas in like 45 minutes, so while home I decided I could mindlessly wade through the 5th 'Arry Potta book, which is also like 1000 pages but all of the words cost 10 or less. I was really annoyed by the length of the previous book and especially its repetition (it seems that every time something happens or it is going to happen to 'Arry he needs to then mull about it for a chapter and then talk to each of his friends and teachers about it for another chapter). This book seems no better but I hear it gets a bit tighter starting with the 6th. But my favorite projects are the creative ones: I am working again on my Flash adventure game engine and the humorously shoddy demo "Let's Adventure!" (don't bother playing that grimy old version; there will be a new demo soon). That is fun. See you soon!
Most frustrating customer service call ever
(11 Dec 2006 at 14:53)
This guy called Verizon customer support because he was quoted a data rate of ".002 cents per kilobyte" (= $0.00002/kb) but charged $.002 per kilobyte: a hundredfold difference. An understandable braino that should have been corrected after a short call—but listen to his third phone call to the service representatives who make the most incredible assertions that the bill is correct, and the unbelievable logical conclusions that follow from that. No video, just sound. (youtube link; caller's blog)
Today I voted for Master Control Program in the election show.
I do not support currently available electronic voting machines. There are lots of places to read about how screwed up and pathetically misdesigned current electronic voting machines are. I do, however, believe in electronic voting in principle. Electronic voting improves the accessibility of democracy; some day I hope we will be able to vote from our home computers or cell phones. It can improve the accuracy of vote counting, for computers are much better at counting than people. More importantly, it can reduce voter fraud in both directions: With a well-designed system, it can make it much more difficult to cast fraudulent votes, and it can make it possible for voters to verify that their votes are counted.
Most of these properties depend on properly deploying cryptographic protocols, some of which may not have been developed yet. I am not an expert. Depending on what you demand of an election system, some argue that a system with all the desirable properties is impossible. Particularly at odds are the following desires: That voters be able to verify that their votes are counted, but to not give a receipt that can be verified by a third party. People argue that votes should not be third-party verifiable so that voters can not be forced to vote a certain way under duress from their employer or government. Even if these two are mutually exclusive, I personally think that first-party verifiability is more important and does not get the attention it deserves; I think it is much more likely that the government or election officials or other parties with access will tamper with the election results than I think it is that someone will be able to get away with large scale individual voter intimidation. (I am interested in your thoughts on this, however.)
In general, I think that we should have a large-scale open project to develop the mathematical techniques, cryptographic protocols, and implementation of electronic voting systems. (Similar perhaps to what NIST did for AES.) I believe such a project is well within the grasp of our technology and that there are more than enough willing and able scientists to work on it.
Here's the last video Mike and I recorded a few months ago when we had access to the high speed camera. Synchronizing the camera (which can only record for about a second) with the destruction is always tricky, but we did really well on this one and also the video is not quite what you think it is.