December 1998

The '90s Prisoners Dilemma

    Do you remember the TV show called The Dating Game ? It shouldn't be to hard to remember, since it's still on the air, but it hasn't changed much over the years. As time passed by, every once in a while you'd see some new variation, and recent times have proven to be no different... Enter ' Change Of Heart '. Now I'm sure you're asking, "Just what does this wonderful piece of American entertainment have to do with the Prisoners Dilemma?", well you're about to find out.
    For those of you who are unfamiliar with the 'Prisoners Dilemma', it's this weird little logic puzzle that's existed in many fields (sociology, artificial intelligence, etc), but here's what it basically is: You have two prisoners locked in a cell, and they can either work together to escape, or turn in the other. Now, if they both decide to work together, they escape; but if either one decides to turn the other in, then the tattletale lives and the other prisoner dies. Now if they both turn each other in, then nothing happens. Normally, this little test is performed over and over again, and they try to forecast what the other will do, etc. Now if you give this problem to most AI, the outcome is that the best scenario is to turn the other prisoner in, since the risk of dying outways the positive of escaping, and if he does turn you in as well, neither one benefits. This is usually refereed to as a non-zero-sum, ie; the best strategy often enhances the other player at the same time.
    Now back to the show 'Change of Heart'. The concept is simple, a couple comes on the show, and they each go out on a date with another person who has alot of the attributes they like. Once the date is over, they come to the show, talk about their respective experiences, and decide if they want to Stay Together, or if they've had a Change of Heart; thus you see how the show derived it's name. Now I am postulating that this show is a modern version of the Prisoners Dilemma, and here's why; You have the couple, in other words two prisoners, and they have two choices, to either have a Change of Heart (escape), or Stay Together (turn in the other). Now I must admit that the analogy doesn't really sound too appealing, but it is relatively accurate of the situation. Now, if you've ever seen an episode where one person chooses to Stay Together, while the other one decides to have a Change of Heart, you'll understand why the AI thinks the way they do.

Microsoft brings home the bacon

    Well, once again something that I feel Microsoft has brought about rises my ire, and as before I must point out that even though I think Microsoft has done alot of things wrong, I think on the whole they end up doing things right (or at least they have so far). So what is it, you ask? Very simple, it's something you deal with every day... Bloated apps. When I say they bring home the bacon, I guess I should clarify, they're bringing home the bacon grease, because that contains far more fat then just plain old bacon. So what triggered this radical view...
    I was just minding my own business, making a post on a Paris newsgroup of a simple feature enhancement; they have a multitap delay, and I thought it would be nice to be able to enter the delay times in Beats Per Minute (BPM or Tempo) instead of that ultra-unintuitive wonder called Milliseconds. So the moderator replied that he felt it was a good idea, and suggested in the meantime I go over to Harmony Central and check out some of the Win95/98 delay time calculators. Now, I have no intention of using on (especially since I wrote one already, and it's up here), but I was interested to see what else people had chose to implement in theirs, etc. Well, lo and behold, but I discover that they have two windows BPM to MS calculators; but here the catch - one is 1.4 MEGS! ONE POINT FOUR MEGABYTES!!! Now to put that in perspective, let's look at the very complicated algorithm used to calculate this wondrous data:

Delay time in Milliseconds = (Number of Milliseconds in one second) / (Beats Per Minute / Number of Seconds in one Minute)
MS = 1000 / (BPM / 60)

    Now how on EARTH anyone figured out how to milk 1.4 megs out of that is beyond me. Now keep in mind, this is the DOWNLOAD size, you haven't even uncompressed it yet; the installed footprint is 3+ megs!! Right now my very simple command line delay calculator weighs in at a hefty 55k, since I didn't bother to take the debugging info out, compressed, the zip is 32k... That's 54.5454545454545 times bigger (weird number, eh? ehheeh)!
    Ok, so I'm sure it wasn't very hard to sell you on the evils of these larger files, but what does this have to do with Microsoft? It's simple, really, you see - Microsoft makes like 90% of the development tools out there, and they make like 90% of the API the developers have to use. They promote using things like MFC, which is a bloated pig, and does a reverse lyposuction on any app unlucky enough to be developed using it. And they feel the skies the limit on their own apps, such as the Personal Web Server, weighing in at a measly 24 Megs, or their DirectX SDK, weighing in at around 100 Megs, or the full Internet Explorer install, weighing in at around 50 Megs, or blah or blah or blah! You have a much better chance finding on overweight app than finding a lean mean processin' machine.
    It's sad, but the days of small apps are truly gone, I think, and this is most eloquently illustrated at Frys... 17.2 Gigabyte EIDE harddrive, $390. And the wild thing is, two years from now that very same harddrive will probably be $50.