(1) Sat Jan 01 2005 21:01 PST:
Hm, the first entry of 2005. What to say? Something profound--but not too profound. Perhaps a convocation for the new year, something to usher in peace and goodwill. Or I could just squander it by talking about games.

Hey, you know what games are cool? The ones by Steve Hardt. I've played his masterpiece XEvil for years, enjoying its ingenious set of moving parts, cartoony ultra-violence, and randomly-generated 2D playing field. Only recently did I learn that XEvil is Steve Hardt's second released game. XDeathlord was written earlier. It's got the same fun-style (there must be some German word for that) as XEvil, but in a vehicular combat mode instead of a personal combat mode. As such, it uses the X and Y axes instead of X and Z. I haven't been able to really get into the game yet, though, and I'm not sure why. Hopefully it's just my short attention span.

Steve Hardt also wrote a PalmOS game called TREADS, which I haven't tried out yet but it kind of looks like a more refined version of XDeathlord. The screenshots show Steve Hardt's game design philosophy, which I think is sorely lacking in a lot of the games I play for Roundups: a flexible set of techniques to use towards your goals, and lots of random variation within well-defined parameters. Almost every game I like has one or both of those traits (the rest I like because of minimalist simplicity), but they seem uncommon in the games I test for the Roundups. Not sure why.

Sun Jan 02 2005 21:30 PST:
By no popular demand whatsoever, I present the list of Cryptonomicon-Baroque Cycle tie-ins that I haven't seen mentioned elsewhere (qv. NYCB passim). Presented in descending order of plausibility. Contains spoilers.

There are several references throughout Cryptonomicon to the Shaftoes' arrival in America as indentured servants, their escaping at the first opportunity and lighting it for the mountains, etc. I feel kind of lame pointing this out because it's so obvious, but no one else has actually come out and mentioned it, so I will. It's not just the samurai swords in the trunk of the car (though that is the coolest reference).

This I'm surprised no one has mentioned because it's the most interesting tie-in I found. One of the recurring images in The Confusion and The System of the World is that of a hollow or wireframe globe being consumed in flames (it's even the little logo on the spine of my copy of TSotW). I found that exact imagery used three times in Cryptonomicon. It's used twice in the set piece depicting the death of Admiral Yamamoto:

The nose of the plane, then, is a blunt dome of curving struts, like the meridians and parallels of a globe... The plane has been parked pointing east, so the glass nose is radiant with streaky dawn, the unreal hues of chemicals igniting in a lab...

The greenhouse disintegrates around him, the meridians and parallels crumping and rending which isn't quite as bad as it sounds since the body of the plane is suddenly filled with flames.

It's also used near the end in the scene where Bischoff is escaping his sunken U-boat:

Bischoff looks back and up, and sees the forward end of the pressure hull turned into a dome of orange fire, the silhouette of a man centered in it, lines of welds and rivets spreading away from that center like the meridians of a globe.

Its use in the Yamomoto scene is thematically appropriate for several reasons which I could write a whole paper on if I were the kind of person who writes papers instead of weblog entries on this topic. As far as I can tell the Bischoff scene has no reason to use it, except it's very near the end of the book which is where authors traditionally pile on references to the recurring images. So there you go. I think I got all of them because I wasn't looking for them at all and they just jumped out at me, but there might be more.

There's a correspondence between the sinister Investor in Quicksilver who goes around on a big ol' galleon or whatever, and the sinister Dentist in Cryptonomicon who is an investor and who goes around on a big ol' yacht. There's probably no geneaological relationship between them, though.

Near the end of Cryptonomicon Randy makes a reference to "Comstock's cabal". In Quicksilver, that Comstock's ancestor was the C in Charles II's CABAL. Coincidence? Probably.

(5) Mon Jan 03 2005 18:19 PSTTelling Y'all It's An Arbitrage:
I was able to buy a pint of half-and-half (for ice cream) for less than the price of a pint of milk. Why? The ingredients list for the half-and-half: "Milk, cream". Are they using really cheap cream that's cheaper than milk?

(3) Tue Jan 04 2005 16:13 PST:
Hey, Beautiful Soup fans (all others can ignore this entry). Among my other projects I am designing Beautiful Soup version 2.0, which should be much more coherent and powerful, as well as generating better parse trees and having better Unicode support. This will come at the expense of Python 1.5 compatibility and (as always) backwards compatibility with previous versions. Thanks to several incredibly useful contributed patches, I have almost everything figured out, but I have two unresolved issues about nomenclature and operator overloading, which follow. I know there is nothing Python programmers love better than arguing about nomenclature, so have at it.

Consider the following HTML:

<p><b>Foo <i>bar</i></b> <u>baz</u></p>
<div>Some more text</div>

*ML is parsed by Beautiful Soup (and other parsers) into a treelike structure, like so:

One of the two defining features of Beautiful Soup is that it tries harder than other parsers to build this tree even when the markup is bad, and will always give you some sort of tree, on the assumption that if you wanted a ParsingIsHardLetsGoShoppingException you would have created one yourself. But one of the things missing from Beautiful Soup v1 is (to refer to the tree above) any notion of the relationship between the P tag and the DIV tag, which I've discovered can be a very important relationship to have access to when you're screen-scraping.

Looking at the tree it's obvious that the P tag and the DIV tag are siblings; they're right next to each other on the same level of the tree. But there's no easy way in Beautiful Soup to get from the P tag to the DIV tag. The .next member of the P tag is the B tag, because it was the thing *parsed* immediately after the P tag. You have to get the parent of the P tag (the root of the document), then get the list of its children, then go through it looking for the P tag, then see what the next thing is.

In Beautiful Soup v2, the P tag is going to have some pointer to the DIV tag, and vice versa. This will only be useful for relatively well-formed HTML, but when you need it, you need it.

However I'm not sure what to call these new members. previous and next are already taken as referring to "previous/next thing parsed" and I want to leave that alone. The only other ideas I have are previousSibling and nextSibling. Do you have any other suggestions?

The other defining feature of Beautiful Soup is that it comes packaged with tree-traversal methods, inefficient to run but very efficient to not have to write yourself. There are two such methods. The main one is called fetch and it searches the tree for whatever you're looking for, returning a list of everything that matches. This is aliased (in v1 and v2) to the method call operator __call__, so in the example above you'd write soup.fetch("b") or just soup("b") to get a list containing the only B tag.

But if you know there is only one B tag, it's a pain to call fetch and then take the first item in the resulting list. So there's a helper method called first that does it for you. In Beautiful Soup v2 I want some operator-overloading magic for the first operator. I can't think of anything suitably Pythonic, though.

Overriding __getitem__ would look OK, but I'm already using it to get a tag's attributes, ie. a['href']. So I've got two current contenders. The first is the dot operator (__getattr__). The dot operator looks the nicest (soup.head.title is lovely) but it also happens to be used for member and method access on objects. I'd rather not have a solution that does one thing when you call .title and another thing when you call .fetch, especially when you might be parsing some XML or made-up markup language that has a "fetch" tag. It also seems like it would slow down the parsing a lot.

The second contender is the % operator (__mod__). I can't explain why I like (soup % head) % title except that I think it's funny. Unfortunately the joke is too complicated to express in words, so you'll either get it too or you'll just have to take my word for it. On the other hand, if you took the modulus operator at its word you'd expect soup % head to give you the whole document but without the HEAD tags, which is totally not what first does. The other possible reference is to the string interpolation operator, but first is searching for a 'string', not inserting one. So it's not very intuitive unless you share my sense of programming humor.

I may just not create any shorthand for first since it is already shorthand for fetch()[0]. It would be nice to have something clever and elegant, though, the way we use the method call operator as an alias for fetch. Again, I need ideas.

(6) Wed Jan 05 2005 13:27 PST:
Got my braces (mostly) off today. There are tiny bands of braces still on my front teeth, making my mouth look like one of those old video games where you keep playing the same levels over and over again, but every time the platforms get shorter and harder to jump onto. Those come off in 2 weeks when I get the retainers.

(3) Wed Jan 05 2005 13:30 PSTSpot The Villain:
Having trouble figuring out which guest star in a Star Trek spinoff is the villain? Just keep around this list of self-justifying catchphrases. Use of any phrase on the list is guaranteed to identify the speaker as the villain of the episode:

"We had no choice!"

"It was the will of the people!"

"Don't you see?"

And my personal favorite, "I am the Federation!"

(3) Thu Jan 06 2005 22:16 PSTOyster Mushrooms Rockefeller:
You come up with a great name for a dish and then it turns out someone else came up with it in 1998. They provided no recipe, though, so this is still groundbreaking stuff. I made this tonight for my "secondhand-eponymous dishes" mini-dinner party (also on the menu: Caesar salad and bananas Foster).

Basically you are going to put oyster mushrooms at the bottom of a ramekin (to simulate an oyster in its shell), and then fill it up with your favorite Oysters Rockefeller topping, except a little goopier to make up for the lack of oyster liqueur. Then you bake it and broil it. Here's the recipe I synthesized which tastes good, though I have no frame of reference to compare it to. It makes 4 ramekins worth.

MUSHROOMS

4 oz package mushrooms

FILLING

1 T butter

2 cups fresh spinach

1/2 onion, chopped

1 T or more chopped parsley

1/4 cup breadcrumbs

1/4 cup shredded cheese

Zest of 1 lemon

WHITE SAUCE

A little less than 1 T butter

1 T flour

1/4 cup milk

Chop the MUSHROOMS and put them at the bottom of ramekins.

Saute the spinach and onion in the butter until the onion is a little brown and the spinach has wilted. Put the mixture in the food processor, add the rest of the FILLING ingredients, and process.

Make a white sauce out of the WHITE SAUCE ingredients, using the pan you just used for the spinach and onion. (Quick mini-recipe to make white sauce: melt butter, add flour and stir, when it's brown add milk and stir and reduce to a sauce.) Pour the white sauce in the food processor and process again. You are basically making a weird pesto with white sauce instead of olive oil. Then scoop it into the ramekins and smooth it out flat.

Bake for about 12 minutes at 350 degrees, then garnish with more breadcrumbs and finish it by broiling for 2 minutes. Garnish with chopped parsley, hot sauce, lemon juice, or whatever. Tasty!

(1) Fri Jan 07 2005 11:52 PSTIron Chef America #3:
I say #3 because the Food Network extravaganza coming later this month is the third attempt to port the Iron Chef meme to an American production. There were a couple UPN "Iron Chef USA" specials in 2001 which although unwatchable were enjoyably unwatchable. Then recently Food Network did a few "Battle of the Masters" specials which turn out to have been an extended pilot for this show that's more or less exactly the same. Unfortunately there are some big problems with their casting, in some ways I think representing a step backwards from that of the much-maligned UPN specials.

Case in point: Bobby Flay. Bobby Flay is not one of the world's great chefs. He's just a pretty good chef who has a successful restaurant and a television show. Of all the chefs in the history of Iron Chef he's the only one I think I'd have a shot at beating if I somehow got on the show. I admire his willingness to make spicy dishes, but Emeril Lagasse has built his entire career out of a willingness to make spicy dishes (or, rather, acting as though somewhat spicy dishes were really spicy while making it obvious how to make them spicy for real), and he has the natural showmanship for which Bobby Flay substitutes boyish good looks. What's more, Emeril's shows already look like solo Iron Chef acts. So as long as only people with Food Network shows get to be Iron Chefs, pick frickin Emeril. After all, he's got two shows on the Food Network, so he's doubly qualified.

I don't like Mario Batali either, but from what I can tell he is actually a world-class chef. You can't get me excited about him, though. His dishes doesn't seem very inventive; well-crafted but also very traditional, more like a challenger than an Iron Chef. I can't think of an alternate choice among people already on the Food Network payroll, but surely there must be some great Italian chef in New York or LA who's crazy enough to be an Iron Chef. Go through the archives and call up the Americans who won or held their own when they were on the original show. Do I have to do everything for you?

Wolfgang Puck became famous in the early 1990s for putting weird things like goat cheese on pizza (well, it was weird back then). In a fair universe this sort of skill would make him a great Iron Chef, and I think of the non-import Iron Chefs he's the best. I still don't really like him on an absolute scale but my mind is still open. The obvious choice for an Iron Chef of California cuisine is Alice Waters, who invented the whole thing, but she'd probably find the whole thing kind of ridiculous.

I see Masaharu Morimoto in the promos but I don't know if they're going to keep him around as a real competitor or just as a relic of the Japanese show. I always liked him, because I think fusion cuisine is the soul of Iron Chefdom, and his predecessors as Iron Chefs Japanese didn't do a lot of fusion; after all, they were in Japan and could just play straight to the Japanese palate. I hope he stays around, even though it seems like a lot of Iron Chefs if they keep him, and we all know that too many Iron Chefs spoil the Iron Broth.

Alton Brown, by his own admission, is also not one of the world's great chefs. But that's fine because he's not an Iron Chef; he's the color commentator. This is a job for which already having a cooking TV show is actually useful experience. He doesn't have to come up with his own ideas on the spot; he just has to make whatever's going on sound interesting. I think this is the best casting choice they made, but I'm prejudiced.

Finally we come to the Chairman, played here by Mark Dacascos. I really like the actor but not the character he plays. He doesn't seem an eccentric, like Kaga or Shatner played. More of a dilletante, as though Kitchen Stadium were a side project he funded out of his stock options rather than a grandiose bid for culinary immortality or a scheme to humiliate rival clans with his army of chef-assassins, or even just an obscene display of wealth which was what Shatner seemed to be going for.

Uh, conclusion: I predict we're going to be seeing a lot more shows where the challenger wins. I find it highly unlikely that three of the four best chefs in the country would happen to already have shows on the Food Network. I find it only slightly unlikely that someone who was an Iron Chef in Japan could transfer his skills to the American palate, especially since Morimoto has a restaurant in New York and was the most American of the Japanese Iron Chefs (for all I know he really is American).

Coming soon: the meta-trend continues with another entry about Hey! Spring of Trivia.

(3) Sun Jan 09 2005 22:13 PST:
The worst part about coming up with a kitchen utensil or other gadget to be sold through TV infomercials must surely be coming up with another, lower-margin gadget to give away as the "But wait! There's more!" freebie. You put all your genius into one super molded-plastic product but your ungrateful market demands some cheap auxilliary device for cracking eggs or something. It seems such an integral part of the sell that I envision Gilbert and Sullivan teams of product designers, one who excels at the big product and one who comes up with the perfect giveaway to accompany. Or a SourceXchange type market for matching big products with small, to form marketable sets. I think too much about this kind of thing, possibly because I can see myself as the guy who comes up with those half-brilliant, half-lame ideas for kitchen gadgets.

(2) Mon Jan 10 2005 15:25 PSTApache Question:
It looks like you can't use a text file to drive a RewriteMap if the URLs you're rewriting to are longer than 1024 bytes. Is this accurate? Does anyone else consider this a blot on mod_rewrite (as though it wasn't already bespeckled with blots)?
I'm using a .dbm file instead, which doesn't have this problem, but it's aggravating.

(7) Tue Jan 11 2005 22:37 PSTStar Trek Nerd:
Look away if you can. This entry's more geeky than the Baroque Cycle one I posted a couple days ago. That at least had news value. This is just stuff that crystalized in my head recently.

The first Star Trek I ever saw was the original series' "Court Martial". I was maybe 8 or 9 and I saw it in grainy black-and-white at my grandparents' ranch. Recently it was on the TiVo so I gave it another watch.

It was not that great (I think that most of TOS, when taken on its own terms rather than vs. what else there was at the time, is not that great), but I was amazed at the new meaning it gave to one of the best Next Generation episodes, "Measure of a Man".

There's a good case, which I will now make, that the TNG episode was consciously structured in homage to the original series episode. The basic plots are the same: one of the major characters gets put on trial and a friend of his must do the prosecution. There are also stylistic commonalities. Each episode has a guest star playing an old flame of the captain. There's a moment in "Measure of a Man" where the defense has the computer read out all of Data's commendations and medals. It turns out that's a reference to a scene in "Court Martial" where the computer reads out Kirk's service record.

It was the second season of TNG, when they still did this kind of nod to TOS. But "Measure of a Man" is vastly superior to "Court Martial" as a piece of drama. In "Court Martial" Kirk is on trial because Starfleet thinks he killed one of his crew through negligence. Not a bad premise, but not noticably science-fictional. In "Measure of a Man" Starfleet decides that they own one of their officers, and he has to sue to prove otherwise. Just on the level of the premise, it's more interesting.

In "Court Martial" the prosecuting attorney just happens to be Kirk's old girlfriend, in one of the first examples of what quickly became a very tiresome Trek tradition of the guest star being somehow related to one of the regulars. Instant, yet unsatisfactory tension! On the other hand, in "Measure of a Man", one of Data's friends is compelled to prosecute him so the suit can even proceed. This is a lot more satisfying dramatically.

When the computer reads out Data's record it's a rhetorical device on the part of the defense, to create the impression that if he's not sentient he's really, really good at faking it. The corresponding scene with Kirk has the same form but serves no real purpose because we already know Kirk is a big hero, and as Data would say, that is not in dispute. You can be a galactic hero and still hit the wrong button on a horribly designed instrument panel and kill someone. In the TOS episode it's just the computer doing what it does whenever someone is sworn in.

That's the other thing. For a television show about humanity finding a better future in the stars, TOS is pretty paranoid and mistrustful of the machines people build to take them there. It's always the insane supercomputer or the malfunctioning space probe or, in this case, the computer whose records have been tampered with and can't be trusted. The centerpiece of "Court Martial" is Kirk's defense attorney, a card-carrying technophobe, giving a speech about how humanity (of whatever species) must always be the master of cold machinery lest we lose our own humanity (of whatever variety). This argument is the direct ancestor of the argument used against Data in "Measure of a Man": that because he's a piece of technology, he does not partake of humanity and must be owned and administered by it. "Measure of a Man" puts one of the underlying themes of TOS on trial and shows that it hasn't held up well.

I still think there are big philosophical problems with the defense in "Measure of a Man", but I won't go into them because I'm afraid if I do I'll create some sort of nerd singularity which will destroy this website. Best to leave well enough alone.

(2) Wed Jan 12 2005 10:25 PSTJokes With The Same Punchline:
What punchline is used in the most distinct jokes? I can't even think of a punchline used in two distinct jokes, but it must happen sometimes. Perhaps the people who did that big humor study could help; they must already have a big database of parsed jokes.

It turns out that when I thought this I reinvented BuyPoint Chess, which is less enthusiastic about allowing every single chess variant piece but was written by someone who's actually good at chess and can figure out game balance, and also who came up with it eight years before I did. I've got other ideas for introducing basic other-game mechanics to chess: bidding on pieces, drawing pieces from a Scrabble bag. But if I just spend enough time looking through chessvariants.org I'm sure I'll find any idea I might come up with on my own. It's the Library of Babel for chess variants.

(1) Fri Jan 14 2005 23:11 PST:
I added an RSS feed of the new books published by Dover to the Automat. Now it's easy to keep track of what's going on at every nerd's favorite not-quite-general-purpose publishing house. Don't miss Spacecraft Attitude Dynamics or Country and Suburban Houses of the Twenties: With Photographs and Floor Plans. Sometimes Dover's books are awesome and sometimes they remind me of Andy's father's geology books that we made fun of in ZZT games. "Why drink coffee when you can read Origin of Sedimentary Rocks, or the heart-pounding, best-selling Principles of Geomorphology."

Cannibalism story is done in rough draft, which is good, but now I'm back to my usual uncaring state about story-writing. I was hoping I'd get writing fever and end up going NaNoWriMo and writing the whole novel of which that story is but a set piece, but it seems that's not what my brain has in store for me. I did discover that making up a story while handwriting it goes a lot faster than doing so while typing it.

Sat Jan 15 2005 09:15 PSTSisyphus vs. Charlie Brown:
For millenia, Western civilization has used the myth of Sisyphus as its futility myth. But within the past fifty years a new myth has entered our psyche which I think does a better job in many respects: the myth of Charlie Brown trying to kick Lucy's football.

It may seem silly, and the myth of Sisyphus does have the gravitas, but only because of its great age. The myth has a big buildup about Sisyphus snubbing gods no one cares about anymore and inhabiting an underworld that's long been replaced in our namespace by the Christian hell, then leaving the underworld and being dragged back and blah and blah. All of it is to provide a flimsy justification why Sisyphus should have to push his rock all the time. What's missing is any real motive. Why should he push his rock all the time? He just has to. It must be stipulated.

On the other hand it's not hard to understand why Charlie Brown should, eventually against his own better judgement, try over and over again to kick Lucy's football. Kicking footballs is the kind of thing humans want to do. When the sport of football is forgotten everything will still be explained in the dialogue: "I'll hold the football, and you kick it". Charlie Brown's own desire, vanity, and hope compel him to go after the football time and time again. There is no need for the gods to curse him because he has cursed himself.

If this myth is tragic, that is because its hero is conscious. Where would his torture be, indeed, if at every step the hope of succeeding upheld him?

The lack of hope is only a prerequisite for Sisyphus' compelled labor. Hope is what tempts Charlie Brown to choose his fate for another year. His "torture", as it were, is delayed until the moment Lucy betrays him, when it is repaid with interest. Camus' Sisyphus has his reprieve while the rock rolls back down his hill, but during Charlie Brown's reprieve, the brief lifetime of his hope, he is building up the momentum that will inevitably be turned against him. I think that's more tragic.

Anyway, according to that history site, starting in 1986 Charlie Brown had actually given up his hope, and those strips are less compelling. The same thing that makes them less compelling also makes them more like the Sisyphean myth. Q.E.D.

Sun Jan 16 2005 20:17 PSTGet Up, Stand Up, Come On, Put Game Roundup:
First, some updates from Game Roundups past. I played xdeathlord
some more and it's not me, it's it. It's not nearly as good a game as
xevil. It's just plain hard to play. So blah. Second, since its last mention two years agoIter Vehemens ad Necum has in
true roguelike fashion gotten bigger and in true IVAN fashion gotten
weirder (and gorier), becoming simultaneously less and more frustrating. It remains in my opinion the most bizarre roguelike, the Yapok Sundria of roguelikes, if you will.

And now, new games. I'm very excited about this roundup; most of
the games here are really good. They're also for the most part pretty violent, which may or may not be a plus in your book. One of them isn't as violent as it needs to be, which won't satisfy anyone.

Formido, not
to be confused with Formico, the game of floor-laying, is a game where
you are beseiged by countless large alien insects. The challenge is to
see how many you can blow up before your inevitable death. Fun but
kind of depressing, and with no illusions: your score is counted
directly in bug deaths, not using any sort of "point" system.

As real-time strategy games go, NetPanzer is pretty
simple. There are only about eight types of unit, and scattered
factories that produce units for whoever owns them. No complicated
resource gathering, just "go over there and blow that up".

Deadly Cobra tries to
make the snake game genre more interesting with the
obvious-in-retrospect step of making the energy pellets into helpless
humans. By itself this would be a welcome yet cosmetic change, but
once you've taken that step the next step is obvious: the people can
move around aimlessly to increase your chomping challenge. These
developers have come up with all kinds of great twists on the snake
game. PLUS they have the snake's tail feed into itself when the snake
dies, like I wanted in the KDE snake game. Could this be the ultimate snake game? Probably. And yet, it's a snake game. Let's move on.

Marauder is a nice, simple
game where you fly a spaceship throughout the universe and blow up
other spaceships. Planets contain stores,
where you can buy weapons and sell cargo which you mainly steal off
the ships you blow up. (Hit enter when close to a planet to enter the store; I had to look in the source code to find this out.) Has comical effect when you crash into a planet and
it's like bumping into a wall. Thumbs up etc. Unfortunately there's no
win condition, so once you figure out the strategy you're addicted but there's nowhere to
go but to the next difficulty level.

I looked out the window and what did I see? Ack-ack popping in the Apricots source tree. Apricots has a
great name and a great Amiga cartoonish look (it was originally
written for the Amiga and, like rfk, has followed its author to
Linux). In this game you fly a jet and blow up buildings for points,
all the while being chased by other planes with the same goal. Just don't blow up the civilian buildings (enumeration of civilian
buildings follows: huts, little suburban cottages, office towers).

In nuclear war there are no winners, only survivors; but in this
war there aren't even survivors. You and your opponents die a lot, which costs points, and then you end up having to fight dogfights to get enough points to meet the win condition, because the landscape has been reduced to rubble. It gives the impression of an air war conducted by people who don't know how to fly airplanes: a more accurate treatment of a theme first seen in Battlefield Earth.

Apricots has lots of fun touches: stealth bombers,
trees and different landscapes, persistent wreckage,
excellent physics system. It's hard to land, but it's fun to die. A game worthy of the "X Carnage" brand.

Contrary to popular belief oki is not a
game where you have to move your family to central California. In
fact, in an early version all you could do was "run, jump, and
die". Well, it's a little further along now and you can also collect
coins. Coins are helpfully marked "C" and look like little copyright
symbols, which would make this game an excellent propaganda tool for
the intellectual property industry. The low-res, Game Boy-like
graphics mean it could be distributed over the mobile phones the kids
are using these days. Put on some simple DRM protection and it could
be a valuable opportunity to teach the younger set that the process of obtaining copyright clearance can be fun! I call it my new "Compliance Is Awesome" initiative.

TechnoballZ is a
tricked-out Arkanoid game that has too many power-ups to be a real
challenge. Has between-level store for buying even more power-ups. Too many power-ups, not enough paddle-death!

Gate 88 says "relive a
childhood daydream of deep space intergalactic battle", and it
delivers on that promise. It's a multiplayer space shooter/real-time
strategy game with vector-looking graphics that make it look like a
lost arcade game from the 80s. You build structures in space and then
defend them. Lots of fun. Not open source, but my "no non-open-source"
policy is mainly just an excuse not to have to evaluate
non-open-source games unless I want to. This one is really good.

Atris is the
Tetris clone I've been waiting for for a long time: it's got ASCII art
customizable block patterns so you can play with shapes made out of more
than 4 blocks. Also has a twist where the units of the blocks can
be different colors; such a piece isn't cemented together very well
and will fall apart and settle when you drop it, in a pleasingly Tear
Down The Wall-like moment.

Closed source games are not eligible for the Palm d'Rassemblement
De Jeu (Des Jeux?), so Gate 88 is disqualified and the winner of this roundup is
Apricots, the chaotic death-from-above game with the classic Amiga lines. Runners-up: Marauder and Atris. The traditional limerick prize
celebrates the many non-enemy-initiated modes of death in Apricots:

When Pilot Mike tired of slaughter
Right into a fir tree he'd auger
It felt like a balm
To smash into a palm
And bliss to crash-land in the water

(1) Thu Jan 20 2005 12:29 PST:
Does anyone else who uses the Technorati API notice that it's down a lot? I'm getting errors about 3/4 of the time or even more. Maybe it's my usage, the time of day my cron runs, etc. but it seems a little weird.

(5) Thu Jan 20 2005 13:22 PSTOn Retainer(s):
My top retainer mold has a negative cast of my palate that looks a lot like a Klingon's forehead. I've been carrying a Klingon forehead in my mouth all my life without knowing it. Now I wonder if the Trek actors who play Klingons are acting with big molds of their palates or someone's palates on their foreheads. Probably not practical.

Speaking of maxima of cool: I really hate comic books, but there's going to be a Buckaroo Banzai comic book series which I think I pretty much have to get. Yup, there's no way around plunking down my cash for the next item in that franchise. Nothing gonna swoop down from the sky and save me from this predicament. What's taking them so long?

Sat Jan 22 2005 21:38 PSTDevelopment Diary:
I've been putting off working on the Ultra Gleeper but today I did most of what I still need to do before CodeCon and it wasn't so bad. Now it's mostly a matter of writing the paper. I feel like I need to take a break from my existing projects and commitments and only work on new things for a while. Maybe after CodeCon, or after CodeCon plus Beautiful Soup 2.0.

Sun Jan 23 2005 18:00 PSTCrouching Software, Hidden Roundup:
Yes, it's the first Software Roundup in a year and a half! And I still
have a backlog of 137 non-game items to investigate. Since statistics prove the real draw to this site is the Game Roundup, I'm posting this first and the new GR will follow.

Debian is taking over! At least it is when you run debtakover,
the program that turns non-Debian systems into Debian systems.

I always hated the POV-Ray language, but pypov
lets me program it in Python. Thus proving that the real reason I
hated it was that I'm incompetent at graphics programming. Thanks,
pypov, for invalidating my lame excuses!

You know all those specialized database programs for keeping track
of your wine or whatever? Who has so much wine that they need a database? Anyway, Happydigger
keeps track of the archaeological artifacts you find while messing
around with a metal detector. I wonder if there's another such
specialized software for keeping track of your paleontological finds?
I don't see one, but I did find the cool Paleontology
Database Network and the USGS' Paleodata,
which doesn't seem to exist yet.

It was probably not a very gutsy move for Freshmeat to accept this clone of
Freshmeat to its application database. But there it is.

SlideRule does
what it says. Nice scrolling trick on the webpage, too.

letterize is supposed
to give you mneumonics for your phone number: a boon for those of us
who can't remember our own phone numbers. But if your phone number's
the same as mine, and I don't see why that shouldn't be the case, it
will just print a newline and exit. I guess this could itself be a
sort of mneumonic, but one that would require keeping a copy of the
program around. I'll stick to my checksum-based mneumonic.

NanoHive, in addition to having a
great name, is a simulation tool for demonstrating physical properties
on the nanometer level. It's like the haptic nanoCAD program in The
Diamond Age, but harder to use. I say wait for the haptic version
unless you're a big nanotech nerd (or perhaps I should say, an
incredibly small nanotech nerd). Sure makes cool demos though.

Timekeeping Mini-Roundup

The forward progression of time. Without it, would our universe be
the same? No one can say for sure. Here are four programs that react
in various ways to the asymmetric dimension that really puts the
"time" into "space-time"!

orbitclock the
time in the sort of format you might see on one of the computers on
Deep Space Nine. Not liable for inaccuracies caused by chronoton
distortion.

gtoday displays the
fixed and movable feasts of the Greek calendar. I don't read Greek or
know anything about the feasts, but I assume it does what it's
supposed to.

First there was phase-of-the-moon software. Now there's sunwait, the crunch that's
a blast to munch. I mean, the program that lets you set up a cronjob
to turn on your house lights 5 minutes before sunset every day. Or
activate your solar-powered deathbots from their long slumber. Just as
an example.

Speaking of the sun, its reliable machinations form the basis for
the atronomical Rube Goldberg device that is IridiumFlares. It
tells you when and where to look to see Old Yeller's light bounce off
an Iridium satellite, or bounce off the moon, then hit a
satellite and head right for your eyeball. Tip: if you mention Iridium
in your software somewhere where I can see it, I am almost certain to
include it in a roundup.

The
Revisionist snoops through Microsoft Word's internal versioning
metadata to prove once and for all that, eg., joint-company press
releases are largely created ahead of time and the people in question
never actually said those lame quotes. Be still, my heart! Has other,
more interesting uses.

BBS nostalgia reaches new heights with DuhDraw, a
clone of the venerable TheDraw ANSI-art program.

Keep Subversion and CVS repositories in sync with svn2cvs. Satisfy
your local CVS bigot. Are there CVS bigots anymore? Surely the one
thing that unites all version control system bigots is the lameness of
CVS.

enblend is a neat little
one-trick pony that improves the look of panoramic pictures made out
of multiple smaller pictures.

And finally, lipotell
is a script optimized for finding the parts of your filesystem that
have all the space-taking-up junk. Those files have no right to be so large!

The winner: pypov, which I hope people more graphically inclined
than I get some good use out of. And now, the traditional prize of a limerick, soon to be a major driver in improving open source software quality:

pypov shows me why, back in the day
I couldn't use POV-Ray
They say only fools
Go blaming their tools
I've just about had it with "they".

Sun Jan 23 2005 18:11 PSTIt's Another Tequila Game Roundup:
And here it is, the Roundup you've been waiting for. In case you're wondering, my Game Roundup backlog is a whopping 249 games. It's madness! But it's not like this is my job or anything.

We at Game Roundup have a soft spot for games that attempt the
nigh-impossible task of making tired game genres new. Scalar is a
jigsaw puzzle game where the mechanic is swapping two grid parts of a
picture to assemble the picture. But the quadrangles of the grid
aren't all the same size. So you can get pixillated images that
indicate that image needs to go into a smaller square. Pretty fun.

Target Acquired
is too clever for its own good. It's a space shooter in which
projectiles acquire your ship's momentum at the time of firing. There
are only three waves, but you have to relearn the space shooter from
scratch to get anywhere at all.

As long as I'm at it, here's Sable, by the same
author. It's a low-poly-count 3D shooter sort of reminiscent of Zaxxon
or the parts of the shareware classic Flightmare with the weird 3D
interface.

Behold ZapM, a willy-nilly mishmash of sci-fi
cliches in roguelike form that almost captures the vibe of the
late lamented Alphaman. Its main problems are: the feeling it gives
you that lots of items and skills don't do enough to warrant their
inclusion in the game (which makes it seem incomplete rather than,
say, poorly planned), and the fact that the item system is so similar
to Nethack's despite the genre change. It's not so much that "scrolls"
are now "floppy disks"; it's that the floppy disks do things like
teleport you and improve your armor class, things not generally
thought possible in software. However I love the way wands have become
futuristic ray guns. As roguelikes go it's very short; I think it's
the first roguelike I won while evaluating it for Game Roundup. Bonus:
has more Paranoia references than any other game not actually to be a
Paranoia-themed game. Bonus bonus: the webpage links to Clan EIT, which is funny and
which links to What Fools These
Mortals.

Axis of Evil is
probably the best political-themed adaptation of Space Invaders I've
seen, not that that's saying much. In Axis of Evil the space invaders
are--wait for it--ne'er-do-wells
like Khomeini and Saddam. Now, as all people bored of Space Invaders
know, the best strategy is to blast through your
protective barriers and fire through them even as you use them for cover. Well, in this case your
barriers are, political cartoon-style, labeled "Freedom", "Truth", and
"Civil Rights". Ba-dum-bum!

Unfortunately I couldn't get the game to not segfault when I tried
to start the game, but realistically the screenshot makes the same
point as the actual game. Which now that I look at the source code I
don't know if that was really the point the author was trying to
make. Oh well.

Alien Pool is a game
with a fun mechanic described as "similar to both asteroids and pool",
which is pretty good so I won't try and come up with a better
description. Nice low-budget sound effects too. I wish more game
authors would record their own little voice clips.

PUBLIC SERVICE ANNOUNCEMENT: If you've written an open source
game, Funkbunny Studios will write
the music for it. There's no portfolio on the page so I don't know if
anyone has taken them up on this offer yet.

In this Java
"Antichess", you must checkmate your king at all costs. I bring
this up mainly to point out another kind of Antichess I think is more
interesting: Anti-King
Chess, which introduces a piece that loses you the game if your
opponent takes it out of check. One concept: two executions. What
inspiration will today's challenger bring?

Tux-n-Run: I guess Run is
the other penguin in the two-player version. A mismash of artistic
styles in the splash screens is kind of creepy. The engine is pretty
good but the only level is like a bad ZZT game. Will review again when
it's a real game, if I remember. Probably the 30th or 50th game that
takes the OS wars as its metaphor.

At the other end of some spectrum or other we have Ensemblist,
which has a great interface with which I can't do a damn thing. It
starts out with you navigating a flowchart, which is fun, but then you
get into 3D and taking the difference between two shapes and it's like
the spatial recognition test they gave Hugh and you've lost me. But
since I prize originality so much I can't give this a bad score.

You purchased a thousand square kellicams of land on Zephulor for
a new condominium project. But when you arrived to inspect the land,
you found that Zephulor has a toxic atmosphere and is inhabited by
voracious alien slugs, as well as being full of strange platforms hovering in
midair. Now, in Adventures on Planet Zephulor
you will take your bloody revenge on the man-eating aliens who even now
invoke obscure zoning regulations to prevent you from constructing
more than six consecutive residential units without an intervening
common area! Okay, that's not the real plot of AoPZ, but there is no
real plot, so it will have to do. Hey, maybe I could offer my
freelance services to people who need a plot for their game, the way
Funkbunny Studios offers to do the music. What do you think?

Anyway, AoPZ is a PyGame platform shooter that kind of reminds me
of Jill of the Jungle. It's got big, good-looking, explorable levels
but unfortunately there's not much in those levels to find when you
explore. If like JotJ it had puzzles, more weapons, etc. it would be a
really great game. The player control needs a little work too, but it
might just be cosmetic.

CamelTrouble is
a little arcade game written in Perl. You are a camel who must go out
in the desert to grab some monks who've gotten lost. Along the way you
must avoid vicious pythons and cups of java who will harm you. The
Freshmeat description makes it sound like the monks are at the mercy
of these desert monsters, creating a sort of Robotron hostage
situation. But in reality the pythons and java cups are completely
harmless to the monks and will only hurt you, the camel. It's got some
odd bugs (try selecting "Go" multiple times for a psychedelic
monsterfest), but it's not bad.

Why not take two of the most-often-cloned games in history, and clone them simultaneously?
Tong takes the Tetris and the Pong and bashes them together and makes them fight like plastic dinosaurs. You play both games simultaneously and they interact with each
other in pleasing ways.
Disadvantages: you have to use keyboard and mouse simultaneously (a
weakness of mine), and the tarball is 32 freaking megabytes. Most of
that is ogg files for the soundtrack. It's a really nice soundtrack,
but still.

Speaking of which, Tetris clones are now getting their own
clones. Exhibit A: Abandoned Bricks, which
features a Bastet mode. You'll recall that Bastet, star of a past Game
Roundup, always gives you the worst piece possible for your present
situation. Now, the bastardry is spreading. Beware! Many of the
villagers have recently reported nighttime trances wherein, under the
influence of some sinister force, they write Tetris clones. It could
happen to you!

Graviton demonstrates a
great solution to the problem of displaying a field on which two
players are scuttling around shooting each other. Rather than
splitting the screen, the camera zooms in or out to keep both players
visible. Worth it for that mechanic alone. Not much else in the
game. Basic duelling-pyramids game. Will the red pyramid/blue pyramid
war never cease?

Batrachians
is a clone of an Atari 2600 game without the slow control response
time endemic to that system. You are a frog and compete with another
frog for flies. In a masterpiece of realism, frogs are represented by
ovals
labeled FROG, and flies (less realistically) by ovals labelled
FLY. It's fun and it has a great twist on the way Atari 2600 games
end. Typically in a game of this sort, where each game lasts a set
amount of time, once the timer runs out everything goes to reverse
video and I guess it's nighttime? Well in Batrachians it really is
nighttime, and instead of happening all at once the sky gets gradually
darker and stars come out. A nice touch.

When I hear the word "gravity" I reach for my laser pistol. But Gravity Wars has
old-school Linux cred and lush Amiga graphics (Is it wrong of me to
love those Amiga-style graphics and like games just because they have
them? Why don't games these days have that kind of smooth, cartoony
graphics? Reh reh reh.). So who cares if it's a Finnish
spaceship-in-cave game? Well, I started caring when, after finally
getting all the neccessary keys to get to the next level (there are
fruit and keys, like in Super Pac-Man), I was suddenly informed that I
was out of fuel and plummeted to my death. I tell you there is
something in the Finnish psyche that makes them love to produce these
spaceship-in-cave games. I do not understand it. But man, those
graphics. Maybe there was some Amiga rendering tool that made that
style of graphic. I never even had an Amiga, have barely used one, and
I'm turning into an Amiga zealot solely on the basis of ported games.

Spillwords is a clone of
a classic game I've never heard of. Basically you get a bunch of
Scrabble tiles and have to form a set of words out of them within the
time limit. Once you put two letters together you can't disconnect
them and change your mind later. Dragging a letter around lets you
knock other tiles around the board, creating a surprisingly tactile
experience for a computer implementation of a word game. Recommended.

Arrows is a fun little
game of the type where your movement is constrained by arrows. There
are rules about when you can deviate from your planned course,
creating new arrows, which gives the game a nice mixture of planning
and thinking on your feet.

So there we go. Tong wins this Software Roundup, and gets the limerick:

A game that is more than one game
Is constantly changing its name
The more clones we tacks on
From Asteroids to Zaxxon
The more we put Firefox to shame

Mon Jan 24 2005 19:30 PSTAccidental Users:
I often write software expecting other people will use it and they don't. So it's always a pleasant surprise when someone uses a piece of software I didn't really intend for anyone else to use. The person is Josh Barratt, fellow Alton Brown fan and Minix hacker, who has installed a copy of The Me Software Map, the script I wrote for managing the "here's a list of all the software I've written" page often seen on nerds' websites. This gives me hope for the future.

(1) Mon Jan 24 2005 20:23 PSTI Can't Believe It's Not Not Software Roundup:
Even though I have so much to do and today I shoveled even more on my plate (more about this later), I figured I'd just go through some of the Software Roundup backlog and weed out the ones that turned out to not be interesting. I should have known. I got sucked into the shadowy world of software trying-out and another new Software Roundup was born. Here it is. Now I'm going to turn off the computer, except I need the computer for the stuff I'm supposed to be doing. Dang.

wbumount dares
to ask the question: who is blocking umount? This program finds the
dastardly processes, and takes pictures of them and posts their
process IDs on a website along with mocking commentary. Why, wbumount,
why?

News On The March presents: PERL! Used more than you'd think! Once
thought only fit to drive lame CGIs that mix up the panels of penguin comics, Perl is now
recognized for its true purpose: driving mission-critical database
table management CGIs like ir.pl, which you put
on your intranet if you're an airline and use as a ticket system for
your flight delays.

Someone goes through a lot of trouble to turn their MP3s into an
Icecast stream, and then you go and use ficy and turn that stream
right back into data files. It'd be ironic, if it weren't so not
ironic.

Mind AI has the
right philosophy for a successful AI project, but not much else. The
biggest file in the codebase is the IRC interface.

Are you a real man? Prove it! Eat that beetle! Hm, yes, I guess it
is true that in many cultures insects are consumed by both sexes
without the act having any particular significance. We need something
more universal, something less culturally bound. Wait! I've got it!
The ultimate decision procedure for manitude: do you dare employ the
Real Man's Compiler
Collection? Instead of wasting your time with error messages and
warnings, which ISO has declared effeminate, RMCC simply tells you
whether or not your program compiled successfully. But I say why stop
with compilers? We can make an arbitrary shell command more manly with
my new manify.sh:

#!/bin/sh
$* &> /dev/null && echo "Yes." || echo "No.";

Hm, actually this is basically what RMCC does. Time to take the
masculinity up another notch! Now we must also amplify and embed in our culture
the stigma of a nonzero return code. Why should our program dignify a
"program that fails" (my new political code word) with a reponse?
Surely ignoring failure altogether is more manly.

#!/bin/sh
$* &> /dev/null && echo "Yes.";

And once we've started down that path, the masculine virtues of
silence and fortitude will carry us the rest of the way:

#!/bin/sh
$* &> /dev/null;

Now that's manly! Rrrrrrr!

If you want to write a Python script that acts just like a web
browser to some unsuspecting website, you have a myriad [Ed. note:
actually 1/3333.33333... myriads] of options. Python Browser Poseur, Perl port mechanize, and
mechanize fork mechanoid. In conjunction
with Beautiful Soup, an unbeatable combination for prying open some
difficult oyster shell of a site. Which is the best? How should I
know? What does this look like, some sort of
Software... Roundup... look over there!

See? Isn't this more interesting? It's the Open Text Summarizer, which
uses stemmers and such to find only the juicy parts of standard
input. To prove its mettle I had it summarize Proust's Remembrance
of Things Past. The result:

For a long time I used to go to bed early. Suppose that, towards
morning, after a night of insomnia, sleep descends upon him while he
is reading, in quite a d ifferent position from that in which he
normally goes to sleep, he has only to lift his arm to arrest the sun
and turn it back in its course, and, at the moment of waking, he will
have no idea of the time, but--

I'm sorry, time's up.

And now the winner. For fear of aspersions being cast upon my Y
chromosome, I have no choice but to hand the award to the Real Man's
Compiler Collection, that blackmailing constable of social
norms. Enjoy this limerick, Real Man's Compiler Collection:

Wed Jan 26 2005 06:56 PST:
Going to the yearly CollabNet retreat, or as it's called this year, the CollabNet retrograde advance. It's likely no bruising of news will occur until Friday night. To top it all off, the company doing our team-building activity stole my and Kevin's team-building business idea and watered it down into a safe, liability-free activity.

We planned to take participants on board our walktheplank.net-branded ship as swabbies, show them how to handle a rope and a cutlass, then storm the nearest container ship. Those that survived would become more effective teammates and take home valuable merchandise, as well as peg legs and other picturesque injuries. They've watered it down to mere "pirate-themed challenges" such as the Cannonball Carry. Such is ever the reward of genius! And of genoise.

Thu Jan 27 2005 19:16 PST:
I found a cute book at SFMOMA about Elmer, the cute elephant whose skin is a patchwork of different colors. Sort of a more colorful Checkerboard Nightmare. I got it for Sumana to cheer her up.

In spare moments I make progress on CodeCon paper and new currently-secret project. For some reason writing in longhand works well for me. It tires me out though.

Fast Jack's calculator gets passed around during Geometry and he pays
out at lunch. He got his leather jacket without mowing any lawns, but
he's after the romance: Frankie in a tux, raising to a cool mil
between sips of neat. He can't keep this secret, nor share it.

"Hey!" It's Robson. "Your video poker's crooked!" Robson never got a
PIN, but he has ways.

"You can check the program." Fast Jack's wasting his breath.

"I lost ten hands straight. Tell me that's fair."

Fast Jack has a letterman's jacket, too. He thinks about variance,
runs like a hot Nevada wind.

(5) Sun Jan 30 2005 21:14 PSTGranola:
The thing I've missed most while having braces turns out to be granola, so I've been making a lot of it and it's great. I'm using Alton Brown's recipe but with different nuts and fruits. Macadamias are great, peanuts are less great. Dried berries are better than raisins. Alyson, would you post or send me the recipe for the granola you made when I came to visit last year?

(6) Mon Jan 31 2005 18:22 PSTSpeaking of Granola:
My AAA membership expired and they sent me this really obnoxious membership renewal package, so I got pissed off at them and joined the vaguely-named Better World Club instead. They wear their politics on their sleeve instead of being sneaky about it like AAA does.

So far it's working fine. The only things AAA has over BWC as far as I can tell are: with AAA you can be a map hog and get a billion maps and they have to suck it up; BWC limits you to ten per year. And because my AAA membership was grandfathered in from my mother, or mothered in, I guess, the membership card said I'd been a member for longer than I've actually been alive. But that comedy gold mine went bust when my membership lapsed, and I already have more maps than I know what to do with, so I recommend switching unless BWC's hippy attitude aggravates you as much as AAA's fake-personal direct mail and mandatory upsell magazine aggravates me.

Tue Feb 01 2005 08:20 PSTThis is pretty funny:
Someone submitted the precis of the movie (At Least) Three Cheers for Cause and Effect from Infinite Jestas an actual proposal for a movie. How far was the query letter submitter hoping it would get into production before someone realized this? Who would even watch that, or any of the movies from Infinite Jest (except, I suppose, Infinite Jest itself)?

(3) Wed Feb 02 2005 15:46 PSTCan't fight the freezer:
Am thinking of getting a big standalone freezer to supplement the meager freezer on top of my fridge. I like making food and freezing it to heat up later. How much sense does this make? I'm not sure where in my house it would go.

I'll try to keep posting every day despite the month and a half of constant activity that looms before me. I like posting to NYCB but too often it turns into an excuse to procrastinate, which is my big problem. In addition to Ultra Gleeper, where I've finally pulled out of the rest stop and onto the straightaway, this new project is the textbook example of something you don't want to do if you want to retain free time. I guess I can prove the Ultra Gleeper is worth its salt by just spending a couple minutes a day posting links I find through it.

(8) Thu Feb 03 2005 15:47 PSTExciting Gmail Contest:
It used to be that people who got Gmail accounts would hold contests on their weblogs to give out their Gmail invites. The first n people who commented on the relevant entry would get a Gmail invite. Well, time passed, as it always does, and now there are too many Gmail invites to go around. Everywhere I go, people bombard me with offers to send me Gmail invites. Soon I predict it will escalate to bombarding me with actual Gmail invites, and then with bricks.

To keep things civilized I am starting a contest. The first one person to comment on this entry offering me a Gmail invite can go ahead and send me one. Surely this friendly competition will solve the Gmail invite problem once and for all!

Thu Feb 03 2005 20:06 PSTAnd Other Dangers:
I'm rebooting my Ultra Gleeper installation to get a feel for how long it really takes to set up the dataset, and to write the getting-started document. So far it's taking a loooong time; I think because I'm running it on a machine with less bandwidth. Best find so far: Code Names, a map of secrets.

Gleeper TODO note to myself: (all of this has to be done by Monday)

Find out why some pages show up twice in a recommendation list.

http://foo.com won't be created if there's http://foo.com/, but the opposite isn't true.

In what country was Mentos 'the Freshmaker' invented? : 87
In what country was Mentos 'the Freshmaker' invented : 25
In what country was Mentos 'the Freshmaker' invented? : 9
In what country was Mentos 'the Freshmaker' invented? : 9
In what country was Mentos 'the Freshmaker' invented : 8
In what country was Mentos invented? : 7
Mentos 'the Freshmaker' invented : 7
what country was Mentos 'the Freshmaker' invented : 7
country was Mentos 'the Freshmaker' invented : 4
country Mentos Freshmaker invented : 3
in what country was mentos invented : 3
In what country was Mentos 'the Freshmaker' invented? : 2
In what country was Mentos 'the Freshmaker' invented : 2
Mentos freshmaker invented : 2
Where were Mentos invented? : 2
in what country was mentos the freshmaker invented : 2
what country was Mentos invented : 2
what country was mentos invented : 2
where was mentos invented? : 2
In what country was Mentos 'the Freshmaker' invented? : 1
In what country was Mentos invented : 1
Mentos 'the Freshmaker' invented : 1
what country was Mentos 'the Freshmaker' invented : 1
COUNTRY MENTOS FRESHMAKER INVENTED : 1
IN WHAT COUNTRY WAS MENTOS THE FRESHMAKER INVENTED. : 1
In What Country was Mentos, "The Freshmaker", Invented? : 1
In what country was Mentos "the Freshmaker" invented? : 1
In what country was Mentos invented : 1
In what country was Mentos invented : 1
In what country was Mentos invented? : 1
In what country was Mentos the Freshmaker invented : 1
In what country was the freshmaker Mento's invented? : 1
Mentos "The Freshmaker" was invented in what country? : 1
Mentos 'the Freshmaker' invented? : 1
Mentos 'the Freshmaker' were invented in : 1
Mentos Freshmaker invented : 1
Mentos the freshmaker invented in what country : 1
Mentos, 'the Freshmaker' invented, candy : 1
WHAT COUNTRY WAS MENTOS INVENTED : 1
WHAT COUNTRY WERE THE MENTOS INVENTED. : 1
What country invented Mentos the Freshmaker? : 1
What country was Mento's the freshmaker invented? : 1
What country was Mentos invented in? : 1
Where was Mentos 'the Freshmaker' invented : 1
country was Mentos 'the Freshmaker' invented? : 1
in what country was Mentos "the Freshmaker" invented : 1
in what country was Mentos 'the Freshmaker' invented : 1
in what country was mentos 'the freshmaker' invented : 1
in what country was mentos invented? : 1
in what country was the mentos freshmaker invented? : 1
in what country were mentos invented : 1
in what country were mentos invented : 1
in what were mentos invented : 1
mentos freshmaker invented : 1
mentos the freshmaker invented : 1
mentos the freshmaker invented country : 1
mentos the freshmaker was invented in what country : 1
what country invented Mentos candy? : 1
what country invented Mentos? : 1
what country invented mentos "the freshmaker" : 1
what country invented the Mentos, freshmaker : 1
what country was "mentos" invented : 1
what country was Mentos "the fresh mint" invented? : 1
what country was Mentos 'the Freshmaker' invented? : 1
what country was mentos the freshmaker invented : 1
what country was mentos the freshmaker made in : 1
what country was the mentos freshmaker invented : 1
what country were mentos invented in? : 1
where was Mentos invented : 1
where was mentos invented ? : 1
where were mentos invented : 1
where were mentos invented? : 1

I gotta say, "the Mentos freshmaker" sounds like a much more interesting device than "Mentos, the Freshmaker". More like a doomsday machine.

(3) Sat Feb 05 2005 19:05 PSTRecommendation Engine Meta-Discoveries:
My friends all have IMDB pages, but at least I have an Audioscrobbler page. Which reveals that the shorter my songs are, the more people listen to them. Not a lesson I think people want me to learn, but one born out by cold hard statistics.

In non-meta recommendation engine discoveries, HobbySpace "seeks to show that everyone can participate in space exploration and development in one way or another."

Have fun. If you start using this, or start writing your own, I'd like to hear what you think. I made an account on my installation for Sumana so hopefully I can get some user feedback from someone who's not me.

Update: I redid the web page to make it more user-level "why you need a recommendation engine" and less academic "why is this recommendation engine different from all other recommendation engines?", since the latter is now well-covered in the paper.

(5) Tue Feb 08 2005 08:18 PST:
Does anyone know why the HTML standard doesn't allow PUT or DELETE as form actions? Sure, they're not widely used, but neither is the form's TITLE attribute, or the KBD tag, and they're in there.

Tue Feb 08 2005 21:23 PST:
Gleeper find of the day: the Archaeology Data Service, a collection of zoom-in-able maps and search engines that help you find really old things in the UK. Like peat, and moats. You know, when I was in England I didn't see a single recognizable moat, but apparently they're all over the place there.

(11) Thu Feb 10 2005 14:45 PSTCurry Recipe:
From Sumana's mother, Nagalakshmi, who wants me to come to India and says if I do she'll teach me how to cook Indian food.

2-3 teaspoons peanut oil

1 teaspoon mustard seed

1 teaspoon turmeric

small amount of grated ginger

Heat the oil in a pan. When it's hot, add the mustard seed, turmeric, and ginger. Then add:

My problem was, I was using too much liquid and my curry always was soupy.

I revently bought a bunch of spices mail-order (more on this later) but I didn't get any turmeric. I thought the only reason people used turmeric was for color, to fool diners into thinking you'd put saffron into the food when actually you were too cheap to buy saffron. Sumana and her mother think this is a hilarious misconception of mine.

(2) Fri Feb 11 2005 00:31 PSTCodeCon Request:
If anyone reading this is coming to CodeCon tomorrow, would you mind printing a copy of my paper and giving it to me there? I'm out of reach of printers--printers and I never did get along very well; the feud dates all the way back to my old noisy dot-matrix--and I'd like a paper copy to use when working on my talk. Let me know if this is within your abilities; I'd also love paper copies of my preliminary slides, on which to write my notes.

(6) Fri Feb 11 2005 09:46 PSTForbearance:
I decided not to use my CodeCon presentation to push my pet hypothesis that the "free money from the government" guy is actually the Riddler from Batman.

"Riddle me this, Batman! How could you get $800 for remodelling the Bat-Cave? Or $400 for a new cape? Or over $1000 for repairs to the Batmobile?"

(5) Fri Feb 11 2005 19:55 PSTMea Gleepa:
It turns out the Ultra Gleeper requires version 0.5.3 of SQLObject, not version 0.6 or up as I previously stated. It looks like I started working on it about three days before 0.6 was released. I know Ian Bicking reads this weblog, so maybe he could speculate on whether porting to 0.6 would be fraught with peril or as easy as changing the import statements.

Update: I just released 1.0.2, which fixes RSS bugs and also moves the variables specific to my installation into cfg.py where you'll run into them while setting up the database and change them to your stuff.

(14) Sat Feb 12 2005 11:01 PST:
I have a compulsion to buy weird soaps and sometimes I regret it. Like the cocoa soap. It smells like cocoa! Hmm.

The soap I'm using now is some lavender clay soap. I dropped it on the bathroom floor when I was taking it out of its package, and little bits shattered off. Yup, clay soap.

The flyer for the CodeCon Google reception last night says "Relax and rewind." What does it mean to rewind, in that context? It could have been a retro-video-game-themed party, but no such luck. They probably meant "unwind"?

Off to give Gleeper talk.

(1) Sat Feb 12 2005 19:53 PST:
Gleeper talk went really well, I think. I'll put up the slides tomorrow in PDF format, and hopefully they'll archive the recording of the talk, so you can experience it retrospectively.

The OpenOffice presentation program is really good for drawing little ad hoc diagrams like the ones I made heavy use of in my talk. Better than any of the specialized diagram-drawing programs, closer than them to my preferred presentation strategy of scrawling ovals and arrows on a whiteboard.

Details about my next big project (until now maintained in parallel with the Gleeper, now to eat up all my time) coming soon.

Sun Feb 13 2005 09:31 PSTNow We Are Sick:
Can't go to CodeCon today because my sinuses hurt. I will tell you a story about being sick and the moral is: never buy more than one box of TheraFlu per illness.

My senior year of college I got sick a lot for some reason, with the sinus/ear/throat problems to which I am prone. Fortunately in the UCLA student store they sold TheraFlu, a granular substance which when added to hot water produced a soothing liquid similar to apple cider. I did this once and it worked really well to relieve the symptoms, so the next time I got sick I bought two boxes of it.

But by the time I started in on the second box, the peculiar not-quite-apple-cider smell and taste of TheraFlu was starting to itself become a source of sickeningness. I gave up halfway through the second box, even though it really helped the symptoms, because just smelling or thinking about it made me want to throw up. And now I can't even appreciate real apple cider, which I used to like a lot. Thus, the aforementioned moral.

Turning to the lighter side of the news, I put up the slides from my CodeCon talk. Hopefully soon the archived audio will be put up, and you can read along.

(1) Sun Feb 13 2005 10:27 PSTKind Of A Penguin:
There's also a new NewsBruiser, because Jarno found a bad bug in the comment system. I recommend everyone who uses comments upgrade to this version, especially since 2.6.0 also fixed a bad bug in the comment system. I don't actually know of that many NewsBruiser weblogs that have comments, though. All the crummy.com weblogs have been automatically upgraded.

(6) Mon Feb 14 2005 14:58 PSTSony Walkman Personal Stereo Park:
San Francisco renamed Candlestick Park to Monster Park, hopefully because monster.com gave them a lot of money but also because "Monster Park" sounds cool and scaray. How about renaming Alcatraz to Monster Island?

(4) Mon Feb 14 2005 16:41 PSTThey Keep Coming:
Ie. the recipes from Sumana's mother. This is a cold/sore throat remedy that really surprised me. You grind pepper into a saucepan full of water and boil the water. Then you grate ginger into it and drink it. Shocking!

(2) Tue Feb 15 2005 20:39 PSTThe Real Recipe:
It turns out the recipe I gave for the cold remedy yesterday was actually Sumana's garbled recollection of the recipe. Here is the real recipe, from her mother:

Start by melting 1/2 t butter or thuppa (ie. ghee) in a pot. Then add:

1/4 t turmeric

1/2 t ground pepper

1/4 t fresh or ground ginger

1/2 t cumin (optional)

A few whole cloves (optional)

4 cups water

Boil down to 2 cups and drink with honey. Or add salt and serve it with rice.

Sumana also got me a copy of Make. If I were good at making things I'd be all over that magaine. As it is, I'm only partially over it.

(3) Wed Feb 16 2005 21:59 PSTA Refreshing Splash of Lemon-Lyme:
For a Valentine's Day dinner I made Lemon Lime Risotto with Asparagus, which was very tasty. I love odd little risottos; it's a good medium for experimentation. Lately I've also been thinking of ways to make desserts with buttermilk.

Thu Feb 17 2005 13:47 PSTRSS aggregator as task aggregator:
One of the things I like about the Ultra Gleeper is its RSS feed, which not only gives you recommendations but also the interface you for rating the recommendations, right in your aggregator. It works really well for me because I use Feed On Feeds, so my aggregator supports Javascript (incidentally, only recently did I find out that "DHTML" is just a code word for "Javascript"). It should work in any aggregator since they any aggregator has to be web-enabled enough to handle clicking on a link, even if it doesn't support Javascript.

If ever again I get into a segfault.org-like situation where every day I have to go through a bunch of user submissions and publish or kill them, it'd be easy to do that as a series of operations in my RSS aggregator. There's an emerging consensus that anything non-urgent you have to keep an eye on should be exposed through RSS, but I'd like to actually be able to take action on those things without having to click over to the main site. You'd see the item, and then any controls neccessary to edit the item, and buttons to publish or kill it. About as easy as such things get.

The only drawback to this idea is that you have to authenticate to get a customized RSS feed, so either your browser needs to store username and password or you need to stick it into the feed URL.

A similar idea in the same vein, which I didn't actually use, was the idea of wrapping any RSS feed at all in Gleeper clothing. The result would look almost exactly like the old RSS feed, but each item would be annotated with a set of rating controls for each link in the entry. I never did this because it'd be way too much trouble to be an RSS feed man-in-the-middle, and change all my subscriptions to point to the cache. It's a good idea though, until someone gets mad that you're changing their RSS feeds, which I estimate would take 16 seconds.

Update: It occurs to me that one could combine these ideas. Suppose you have a website that keeps track of tasks for you, and provides an RSS feed for the tasks, but you have to click through the RSS feed to actually manipulate the task. You could write a script that annotates the RSS feed with the HTML forms and links you need to manipulate the task, and do it all from your aggregator.

Thu Feb 17 2005 21:12 PSTIt's Time To Dim The Lights:
This has been linked all over, but I enjoyed it a lot: Over Time, a student short featuring puppets that are not quite Kermit the Frog. It's funny and it's (off-brand) Muppets, but it's also got an interesting take on the relationship between puppet and puppeteer. Better than those dang pizza ads that's all the real Muppets are doing nowadays.

(10) Fri Feb 18 2005 13:43 PSTSQLite:
At CodeCon I was mobbed with people who wanted to know why I made the Ultra Gleeper run against MySQL instead of the hip self-contained database, SQLite. Actually I think it was Danny O'Brien, who just plugged the Gleeper in this week's NTK and maybe one other person, but I'm no stranger to micro-mobs. Anyway the answer is that I barely heard of SQLite and I've been using MySQL installations more or less continuously at work and at play for years, so I just went with what I was used to.

I know everyone hates software that's hard to install and that the Gleeper is currently such a software, but I was surprised at how for many people the breaking point was having to set up a MySQL database. If most of that is balking at setting up MySQL, then SQLite will probably solve the balking problem. I haven't installed it but I don't see how it could be harder to install than MySQL. Plus the database files it keeps can live in the same directory as the app instead of in /var/, which I think is probably the big draw though it doesn't make much difference setup-wise.

Because people (including me) are all about self-containment, I'm planning to distribute a copy of SQLObject with future versions of the Gleeper. That should short-circuit the SQLObject version fiasco, and it's the only external library the Gleeper depends on. Including a copy of every single external library works well with NewsBruiser, and as a matter of fact it works with the Gleeper, which already includes about ten external modules in its lib/ directory. Why not SQLObject too?

I don't want to distribute SQLite in the package, because it's not a Python library. I'd have to either distribute platform-specific binaries or hook up with SQLite's build system. That said, I don't have a problem with changing over to SQLite if people think that's easier. I had all sorts of doubts about SQLite, but then I realized they're the same doubts people who use proprietary databases have about open source databases, so they're probably WRONG. SQLite looks really nice.

The other thing I could do is write a script that takes you through the installation process, instead of a document that tells you how to do it. A very powerful tool for making installation documents look less complicated is to hide the verbiage at the other end of hypertext links that might not be followed. I didn't do this because I didn't have time before CodeCon. I'm still not doing it because I'm working on a different project, with a deadline. Spooky! To me, anyway. Whoooo!

PS: This is also why there's no new Beautiful Soup, or whatever else it is I promised you I'd do.

(4) Sat Feb 19 2005 16:48 PSTXML-RPC APIs:
Does anyone know of any XML-RPC interfaces that don't require authentication and that live on the public Web? I know of two: the weblogs.com ping API and its imitators, and the Advogato XML-RPC API (some but not all of which requires authentication). I don't think either of those is interesting enough for my purpose. My studies have shown that all the new web services expose REST and/or SOAP APIs. Poor little XML-RPC's showcase of implemented services is stuck in 1999. Am I wrong? Am I wrong?

Update: I can't believe I forgot the XML-RPC API I wrote for Downhill. It doesn't really meet my criteria either, because it's not that useful anymore. The Weblog Ecosystem data it depends on is about 2 years old and it's not being collected anymore so I can't update it.

(3) Sun Feb 20 2005 17:23 PST:
Making good progress on the secret project, which I don't even really think needs to be a secret, but if I weren't too lazy to find out I'd instead be too lazy to work on the project. So it's a good trade-off. Meanwhile my brain is working on other ideas to astound you. I'm really starting to identify with the Richard Feynman quote (was it a quote or an anecdote about him?) that suggests you should cultivate a smal set of ideas and apply them to everything that comes your way, so that when you find a match people will think you're brilliant.

(5) Tue Feb 22 2005 07:40 PSTNontrivial Tests For Being Trapped In A Cultural Artifact #2:
Product placement. If you live in a modern consumer society, yet lead a Soviet-like existence in which there's effectively only one brand of soda, one type of car, etc, you're probably in a movie or TV show.

(3) Tue Feb 22 2005 13:50 PSTIain Pears:
I read An Instance of the Fingerpost, which everyone seems to love, and thought it was incredibly boring. Then I read The Dream of Scipio and thought it was really good. Conclusion: I like reading multiple, mutually analagous stories better than I like reading the same story told from multiple viewpoints.

(1) Wed Feb 23 2005 21:20 PSTLessons Not Learned:
I thought I was on track for my secret project, but it turns out the deadline got moved way up and I wasn't paying enough attention to notice this until yesterday, so it's a midnight oil combustion-fest 'round my place. That Leonard! Will he never learn? THEANSWERISNO.

(2) Fri Feb 25 2005 22:58 PST:
Hey, if you have ideas for interesting little things to do with the Google web API, let me know. I'm trying to think of one for my project, but I've been drawing blanks, and the non-blanks I've drawn have proven not to be feasible.

Sat Feb 26 2005 22:36 PSTWhew:
(Almost) done with the mysterious and spooky project. Ahead of schedule, too. Now I've got this big adrenaline rush left over from my rush to finish it that I'm not sure what to do with. The solution: rocksurfing! The incredible new sport that combines rock climbing, windsurfing, and sluicing for gold! It's extreme cubed!

(3) Sun Feb 27 2005 09:26 PSTCleanup:
Two things for my project for which I could use some help. First, if there are any REST bigots in the house I'd like to run some stuff by you. Let me know.

I'm also having a problem with Python's CGIHTTPServer in conjunction with POST requests. I can use the cgi module just fine with a POST, so there must be some way to get it to work, but if I try to read sys.stdin (where the POST data goes) from a CGI it just hangs. What's up with that? I found people talking about similar problems, but only on Windows and on Python 2.4. Has anyone else seen this?

(4) Tue Mar 01 2005 09:29 PSTWorld Famous Ultra Gleeper:
So what did I find out today but that the Ultra Gleeper, which still needs to be rejiggered so it's easier to install, is famous! It's mentioned in an article on CodeCon and Demo on B1 of today's Wall Street Journal (though they devalued it to a mere "Gleeper").

And when I tried a Google News search to see if Google had some sneaky deal with the WSJ such that I could use it to link through their subscription firewall (answer: nope), I discovered that the Ultra Gleeper got a much more gushing treatment in Red Herring, in an interview with Christian Leybold, a VC whose company sponsored the "underground convergence of algorithmic minds". Doesn't this mean I get a free round of funding?

(12) Tue Mar 01 2005 21:48 PST:
Hey, how are you doing? The thing I've been working on for the past month is a chapter for a book. The book's about beginning programming in Python, and the chapter's about web applications and web services. I tried to write the chapter that would have turned me into a super-prescient web application genius if I'd read it in 1997, when I first started writing CGIs. Actually, most of my writing is messages to myself that come far too late to help me, but might help you.

So (the first draft of) that's done, and now I have to deal with all the personal stuff that's been piling up, but maybe this could be a new, not-very-lucrative career for me. It was pretty fun to write, except for the deadline panic, and I was able to write a lot more than I thought I could.

(1) Wed Mar 02 2005 09:17 PST:
Near the end of Moby-Dick Ahab's piling on the hubris because not only is he about to clobber the white whale but his weird preternatural advisor has practically assured him victory! For Ahab to fail, according to this guy's estimates, an elaborate set of conditions would have to be met: he, the advisor, would have to die first, and then Ahab would have to see him again somehow, and then encounter not one but two separate hearses (Hearses? On the ocean?) and come on, it's all just so far-fetched, how could that stuff possibly happen? And then of course it does and Ahab screws everything up. Same with prophecies in fiction since Oedipus Rex.

So you trust a guy to tell you the future, and then he starts telling you that your stupid plan can only fail if all this unlikely stuff happens. He's probably just trying to tell you that it's going to happen, but using terms that make it sound so ridiculous that you don't violate the timeline by actually acting to stop it. But it's gonna happen. It's the equivalent of the man who bets you that "he can make the Jack of Spades jump out of the deck and squirt cider in your ear". Don't take that bet.

PS: I guess I started thinking about this after the previous entry, where I described my writing as messages to my previous self except the messages can't actually go back in time.

(2) Thu Mar 03 2005 20:46 PST:
The Lego Fantasy Roleplaying Game gives purpose to all that Lego frippery (ghosts, pirate cannons that don't work, pirate cannons that do work, etc.) by turning each piece into a game rule. This confronts my hatred of Lego frip-pieces with my love of intricate RPG rules. Touché, Lego Fantasy Roleplaying Game, and well done. What I'd really like, though, would be some sort of Lego/Crystal Castles/Nethack type game.

(4) Fri Mar 04 2005 19:58 PSTFOOLISH HU MANS:
Sumana tried that "Laughing Cow" cheese and thought it was disgusting. I explained that the cow was actually laughing at her.

Update: Sumana disputes this story. Maybe it was someone else.

(11) Sat Mar 05 2005 08:38 PSTSong & Dance:
In the early days of rock 'n' roll[0], songs and dances were package deals. Every band had one or more songs that was just an excuse to do the corresponding dance. The song talked about nothing but how great the dance was, and sometimes told you how to do it. I don't know if the dances were invented to go along with the songs, or if dances spread through a different medium, and bands wrote songs to cash in on a dance craze.

You don't see this much anymore. I'm actually kind of glad, because I think those songs are generally pretty lousy. From a memetics standpoint, I do like the idea of a song just being an advertisement for some accessory to the song.

(1) Sun Mar 06 2005 23:14 PSTThe Pocket Wisherman:
I've got an Amazon wish list where I toss in whatever books strike my fancy in my online travels. The idea is that I'll know what to look for when I'd otherwise just be aimlessly staring at the shelves of used bookstores. The flaw in my plan, which you have no doubt realized, is that when I'm in those bookstores I don't have access to my wish list. Oh, the exquisite irony!

Yeah, I've had enough of that lousy irony. A while ago someone proposed the obvious solution: print out your wish list and keep it in your notebook. The problem is that while Amazon gives you a wide variety of ways to sort your wish list, none of them do you any good in a physical store. No alphabetical by author, or title, no sorting by genre. So yeah, you've got a hard copy of your wish list, but when you've got a wish list like mine with over 250 items, you'd spend all your time context-switching between the printout and the bookshelves.

I figured I could do better, because Amazon exposes their product and wish list info through a REST interface, and I've been messing around with it for a while (other bits of messing-around to show up in my book). So I wrote The Pocket Wisherman. It grabs a wish list, figures out the most-represented genres (for things that have genres), and sorts everything by genre and (where appropriate) author or artist. I wrote a formatter to print a big HTML card of the information that you can print out.

Except. I can't control printed dimensions in HTML. But I wanted 3x5 cards to put in my little birthday notebook. So I wrote a thing that generates the cards in PDF, four to a page. I also wrote a thing to generate a big HTML list, so now I can autogenerate the kind of obsessive page that other nerds would spend days keeping up to date (if only I could do the same for the books I've read... wait, I guess I can).

The Test

But how well does it work? Yesterday, I put it to the test by taking my printout cards to Black Oak Books in Berkeley. I'd made many previous visits, while my wish list was accumulating its items, but on any given trip I'd never found more than maybe 5 books I really wanted. How many would I find if I had easy access to my wish list? How easy would it be to correlate the wish list and the store bookshelves?

I ended up buying 11(!) books from my wish list, and 2 by authors on my wish list (Stephen Baxter and Fernand Braudel) where the bookstore didn't have the specific book I'd put on there. I got 3 books not on my wish list, which is about my usual total haul when I go to a used bookstore. Total elapsed time: about 2.5 hours, which is slightly longer than I would have spent in Black Oak without a list.

There were 6 books on my wish list that I didn't get because they seemed too expensive (including the out-of-print novel with the hilarious name, "Buddy Holly Is Alive And Well On Ganymede", available in a signed first edition for $45). There was also one book I looked at and then decided I didn't really want it. Total books found because of an entry on my wish list: 20. I'm confident I found about 70 percent of the books on my wish list of which Black Oak had used copies. Pretty good.

How easy is it to apply this program? For ze so-called "genre fiction" it is incredibly easy. The Pocket Wisherman automagically figures out which genres to sort by, so that science fiction is shown as Science Fiction and not Fiction (unless you don't have much science fiction). Genre fiction classifications are pretty monolithic, so you just go to that section of the bookstore and run through your list and the bookshelves in parallel. One pass and you're done.

For nonfiction it is difficult. The biggest section of my wish list is "History", but history is not a monolithic classification in most used bookstores. Black Oak has separate sections for the history of every region of the world. It puts biography in with history, though some bookstores have them separately. I went all over the place trying to remember what the books were about (the downside of the truncated author names and titles that make the card display so compact) and in which subgenre I might find them.

General fiction was also a pain, but I think that's just because there was so much of it and so little of it was stuff I wanted.

I had a big "unclassified" section that I didn't really check at all. It's made of high-hanging fruit: really obscure stuff, stuff I don't think a used bookstore would sell, and stuff that might be categorized in any of a number of places.

The categorization itself slips up in a couple places. Historical fiction in my list gets categorized under History instead of Fiction. Sometimes the Amazon data is just wrong (why is the big Far Side collection filed under "History"?)

Sumana points out that if the bookstore has a terminal where you can look things up, or has a lot of staff (unlike Black Oak), you can just hog the terminal or a staff member for a while and avoid a lot of these problems.

Anyway, give it a try. If there's enough demand I might host a web application version of it, but that could be pretty ugly due to the one-query-per-second-per-IP-address limitation of AWS.

Mon Mar 07 2005 08:17 PST:
Oh, the thing I forgot to mention in that enormous entry is that Michael Josephson put my OnDemandAmazonList class in the "contributed code" section of the PyAmazon project. Ordinarily to iterate over an Amazon list you have to iterate over the first page, then grab the second page, iterate over it, etc. There's also at least two different things that might happen when you go over the end of the list. OnDemandAmazonList hides that complexity and lets you iterate over a wish list or result set like a regular Python list. Now I might be able to get away with not including that code in my chapter, which would be nice.

It seems you cannot write about Dave Eggers without adopting his writing style.

(2) Wed Mar 09 2005 18:28 PST:
Not in the mood to do much software writing lately, for whatever reason. Sorry, people who use software I wrote. I did release a minor fix to The Pocket Wisherman which gives PDF wish list cards a bit of a margin so that printers don't print off the edge of the page, as happened to me once in a sort of Fermat's Last Theorem stroke of fate. I thought I was so clever setting the edge of the card flush with the page so as to save a whack of the scissors, but those printers have different ideas.

Tomorrow: jury duty.

(3) Thu Mar 10 2005 16:51 PSTThe Pocket Wisherman Gets A Bite:
Wow, someone bought me things off of my wishlist, previously used only as an example. Who is this mysterious patron of the crummy.com arts? Maybe I'll find out when I go in to work tomorrow to pick up the packages. Thanks!

(2) Fri Mar 11 2005 14:10 PSTThere's a dollar in every one! My chain letter scam worked!:
It turns out I have two benefactors: Kevan, who bought me The Third Policeman; and Josh Lucas, who bought me Moneyball and Fear and Loathing on the Campaign Trail. These data points lend still more support to Kevan's hypothesis that when Alice buys Bob a gift from Bob's wish list, she actually buys from the intersection of the wish list and the things Alice likes.

Kevan writes:

Come on, admit it, you only made the Wisherman so that people would buy things from your wishlist in gratitude. This book's one of my favourites, anyway; enjoy it.

I encourage everyone to believe this.

Fri Mar 11 2005 15:04 PST:
I got roped into writing another chapter for the Python book, so once again free time is a thing of the past. Lousy past, hoarding all my free time! [whack] Take that! Crud, I destroyed the past.

(3) Sat Mar 12 2005 20:41 PST:
I think woefully unexplored is the continuity of modern haute cuisine ("deconstructed dishes", recent causes celebres of turning food into aerosol foams, printing images on rice paper with flavored inks, etc.) with similar bizarre preparations used in medieval and ancient times, Not strange ingredients like flamingo tongues and lampreys, which was what I always used to think of, but the dishes themselves: the ground meat of animal foo molded into the shape of a roasted animal bar, the Satyricon's twelve-course Zodiac meal, four and twenty blackbirds baked in a pie, etc. It's the same impulse in both cases, but now we have better technology. I would love to read (or write) something that tied these trends together.

My current favorite example of old-school culinary tomfoolery is this medieval recipe for an enormous egg using 30-40 normal-sized eggs and two pigs' bladders. That sucker's huge! There's no reason to make such a huge egg except to mess with visitors' minds. "Yup, everything's bigger here in Mecklenburg-Strelitz. You should see our cows!"

(6) Sun Mar 13 2005 17:25 PST:
Okay, that's enough of that. I took my cards to Moe's in Berkeley and found nine books from my wishlist (plus two not in the wishlist) without trying very hard. Then I went to B&N and spent accumulated gift cards on another five. The increasing fragmentation of my wish list is exposing problems in the Pocket Wisherman's automatic categorization, but if I fix them I'll just go off printing new copies of the cards and buying more dang books.

The new chapter I'm writing for the Python book is on network programming. I'm planning to write a tiny IRC-like chat room thing, and a multiplayer game of some sort, and maybe a file-sharing something to demonstrate peer-to-peer. Let me know if you have any ideas, especially for the game. I don't want to introduce a whole lot of irrelevant-to-the-chapter overhead just to get a cool demo application, but it'd be nice to have something besides the not-terribly-heart-pounding number-guessing game I'm currently planning.

(3) Mon Mar 14 2005 20:56 PST:
I wrote my cute little IRC ripoff for the book in about 100 lines of Python. I was going to invite you all to telnet in and try it out, but there are firewalls in front of all the machines on which I can run the program, firewalls that prevent me from exposing servers of any kind to the outside. Tragedy!

Tue Mar 15 2005 20:49 PST:
Went to the Ferry Building for the first time today. It's full of
expensive little boutiques, including a store that sells only mushrooms.
You don't see many stores that try to cover a whole kingdom of life.
The whole experience was nice, albeit overpriced.

(5) Wed Mar 16 2005 21:15 PST:
Still in jury selection blah. I don't understand how sitting and doing nothing can be more stressful than going to work. Too tired to write anything, which is a problem as I'm supposed to be writing the other book chapter.

(1) Thu Mar 17 2005 15:55 PST:
Jury selection is over and I'm not on the jury. Bizarrely, both of the people I made friends with during the process are on the jury. So don't make friends with me if you want to get out of jury duty.

This is fortunate because it means I can go down to Bakersfield tomorrow to see my mother. Hoorah!

Thu Mar 17 2005 22:07 PST:
This depiction of game auteurs basking in the glow of game mega-auteur Will Wright (who writes the games I've always wanted to write) is a little odd to me. It seems to have an unhealthy obsession with Wright's technique of saving money by rendering graphics dynamically instead of paying someone to animate every possible sprite you might see in a game.

I'm no artist, so I've always accepted that I'd need to do this for any fancy-graphics games I might write. I've never had a budget for paying anyone for anything, and a "we need an artist" announcement is a near-sure sign of a moribund open source game ("Our ambitions have overshot our abilities! Who has some spare ability?"). So maybe it's just a different worldview.

The thing in that presentation that seems really interesting and novel to me is the tactic of creating in-game content by reusing the products of other users' normal play. Now that I write it down I see it's not totally novel: for instance, bones levels in roguelike games do the same thing. That's a lot more limited than what Wright is describing, though.

This type of hack, interpreting the normal behavior of users in a way that yields new information, is one of my favorites. In a game context it could cause privacy problems or be a Tar Pit From Hell, but you could structure games to avoid those problems; game state need not be a general-purpose communication mechanism.

(1) Fri Mar 18 2005 21:31 PSTMedical Heuristics I Learned From Watching House:
If you don't know what it is, it's probably some obscure form of poisoning.

Fri Mar 18 2005 21:32 PSTI'm Disorganized, Just Like A Real Author:
Hey, a couple days ago someone sent me mail asking if I wanted to write a tutorial, presumably for money. I'm interested but I can't find your mail. Would you please resend it? I remember you mentioned reading NYCB, so hopefully you'll read this.

Sat Mar 19 2005 21:30 PST:
Having lots of fun clicking around Board Game Geek's GeekLists, which are much more interesting than the similar product lists on Amazon, or, indeed, more interesting than writing about network protocols.

(2) Sun Mar 20 2005 19:20 PST:
In the antique store I saw a book with one of the best titles I've ever seen. I'll use wacky font sizes to try to convey the way the title looked on the cover:

Gold!...no gold

The book itself was some self-published autobiography of growing up in central California or something. I could tell it was self-published because the jacket copy told me that when I was done reading the book I would feel like I really knew the author and consider them a close friend. Only the self-published author would consider that the best use of jacket copy space. I don't know anyone who reads books to make friends with the authors, and I imagine non-self-published authors would be kind of creeped out about people who considered themselves your friends based on what they read in a book.

In a refreshing reverse of what's usually less creepy, this is less creepy if the author is dead. Then reading their stuff is the closest thing possible to actually making friends with them. I don't think the author of Gold!...no gold had that in mind, though.

(1) Mon Mar 21 2005 09:57 PST:
Spam asks me: "Would you take the time to meet people that spend over one billion dollars on travel?". I can't imagine such people would stay still long enough for me to meet them.

(6) Tue Mar 22 2005 21:12 PST:
It's hard to keep writing a cutting-edge weblog such as NYCB when every spare moment is being dedicated to writing quality Python information for beginners (you hear that, Debra?), so I'm just ripping off stuff from other weblogs. From Amygdala I steal Star Trek blooper reels, which are actually pretty dull, even the titillating-sounding "TNG -- Cast Swearing.mpg". The 'VOY Bloopers' one has some decent ones, including funny pre-post-production overacting from Tim Russ. That's the one I'd recommend, if you're IMAP. Interested. I meant interested.

(2) Wed Mar 23 2005 19:25 PST:
Does Newton's Wake have any thematic connection to Finnegans Wake, or is that wishful thinking?

(2) Thu Mar 24 2005 19:18 PSTa/s/l:
I figured out the problem that was preventing me from running my lame IRC ripoff server such that others could connect to it. So telnet in to crummy.com, port 2000, and keep me company tonight while I write my lame BitTorrent ripoff.

It turns out the problem wasn't firewalls; it was a misconception of mine about DNS. You'd think they'd be able to find domain experts to write these books, and you'd be right. But it turned out the networking domain expert didn't have time, so they turned to me to write that chapter instead.

Update: That was fun, like a little party, in that no one showed up for hours and then a bunch of people showed up and stayed past my bedtime. I got some good advice on select().

(3) Thu Mar 24 2005 21:12 PSTSocket Question:
Okay, here's something interesting. Python's socket documentation for the socket.shutdown method mentions three constants: SHUT_RD, SHUT_WR, and SHUT_RDWR. However, nowhere I can find does Python actually define these constants. It's obvious what they are because they're ripped off from C/Unix constants of the same names, and those always start numbered from zero. But it seems really weird that the socket library would forget to define these constants even though it defines a million other constants. Am I missing someplace where those constants are defined?

Thu Mar 24 2005 22:02 PSTHamentashen:
Sumana got obsessed with hamentashen so I made some tonight. Only one of them held its echinodermoid shape throughout baking; the others unfolded and became little tarts. I made a poppy seed filling, which was probably really expensive, but tasty.

Happy Mordecai! I mean Haman. Purim. Happy Purim.

(3) Fri Mar 25 2005 16:10 PSTPolls You Can Bruise:
I'm not going to haul out the old COPOUT code just for this one poll, but I'd like your opinion on how I should end my networking chapter for the Python book.

I've got enough pages to cover one more topic in a fair amount of detail (a couple 10-100LOC examples or one 200-300LOC one). Should I cover a) the peer-to-peer architecture by writing a little file-sharing/distibution network type application, as I planned, or b) the Twisted library, which makes writing networked applications easy such that much of the rest of the chapter is rendered moot and rather quaint-sounding? I'm leaning towards b) even though a) would be easier, because I don't want to be responsible for people thinking raw socket programming is the way to go. On the other hand, so far I've been able to write my chapters without using anything outside the Python standard library, and I think that's a worthy goal.

Let me know what you think I should do. I was going to try to write the last section tonight, but instead I'll start pitching everything into the Word template. I'll write the last section tomorrow after I've decided what goes in said section.

Whichever one I do, the other one will get a little text-only section under "other topics", because I think they're both important.

(6) Sat Mar 26 2005 19:24 PSTTime Meddler:
This is the game that makes our fortune, Leonard me boy. Time travel game! In other such games you experience time travel from the perspective of a human: you turn back the clock to a specific point and relive events from there. In this game, you are a four-dimensional being! To you, the timeline looks like the pages of a flip book spread out before you. Like a Trafalmadorian you can visit any segment of the timeline that strike your fancy. Unlike a Trafalmadorian you can also change the timeline. Your changes have ripple effects into the future.

The game board looks like a 2D grid. The squares contain people and objects in different states over time. That is, the x axis is stepwise "time" and the y axis is stepwise "state of person/object #y". Your job on each level of the game is to meddle with the timeline to achieve a certain result (eg. to make two people fall in love). You can insert items into the timeline, move objects around, etc. Every time you do something at time x, the timeline is redrawn from x+1 onwards. With the right modelling the possible actions and resulting events could be very flexible.

It is a turn-based puzzle game because of course it makes no sense to have any time-related operations since the whole point is you exist outside of time.

How do I know this game will make my fortune? TIME TRAVEL, DUH!

Next time on NYCB Game Design Brainstorming: Captain Compliance! The game where the object is to get permission to play the game! Inspired by my review of oki. I'm still not sure exactly how it will go, though.

(1) Sun Mar 27 2005 22:51 PST:
Almost done with the book. I have to think up two more study questions and that's it. I can't believe I've written 110 pages of stuff!

Mon Mar 28 2005 22:27 PSTWelcome Robot Sea Monsters:
I must be more wicked than I thought, because no rest for me. Tonight I did taxes and wrote an item for an O'Reilly "Hacks" book. Tomorrow the technical reviewers' comments come back on my web applications/services chapter for the Python book, and I have to work on that. You'd think I was making a living at this or something.

I'm really proud of the web chapter (and undoubtedly I will remain proud until I get the reviewers' comments), partly because it brings me full circle back to the student class on CGI I gave six years ago. But mainly because in this chapter I suggest a definition of web services that I've only seen one other place, but that I'd like to see more often. I think it's a pretty intuitive definition that will hopefully set the younger generation on the right path.

In the networking chapter I don't do anything like that. For one, I don't know nearly as much about low-level networking as I do about web programming (though I know a hell of a lot more about networking than I did when I started writing that chapter). But mainly it's because on the network and the transport layer, we already had the fight between the simple geeky incrementally-developed protocol and the huge corporate designed-by-committee protocols, and just like in the movie, the ragtag band of geeks and their scruffy but loveable protocol won. Not much to do now except to show people how to use it.

We had that same fight on the application layer for email and chat and "content delivery" and you name it, and almost all the time the geeks won. And just when you thought the fight had been appealed all the way up the protocol stack and settled once and for all, now we're having the same fight on top of HTTP! Being too young to have been involved in the earlier fights, I figured I might as well do my bit for this one, and throw in my lot with the idea of web services I think fits the best with the Python philosophy.

Update: The guy doing the Hacks book (okay, it's Danny, if you must know) says of my hack: "I'm speechless!". Nothing like a shot of praise to bolster my spirits in preparation for the clobbering I fear the tech reviewers will give my web chapter.

I think I'd be a good game designer, but almost everything I've heard says it's a miserable profession, and far better to just dabble in it as an amateur. But they say the same thing about writing, and I'm kind of headed in that direction, so maybe I can take it. They probably say that about software development, too, and carpentry.

(6) Tue Mar 29 2005 21:43 PSTBlockquote Thetans:
Beautiful Soup is on a roll lately, getting lots of buzz at PyCon, and at the BangPyPers, the Bangalore Python users' group. Now that I've got a little free time I worked on version 2.0 this evening, which should make people happy. But then I watched The Emperor's New Groove with Sumana, which made me happy.

I can't think of any other Disney films that are out-and-out comedies. Usually they've got a bunch of songs and morality crap and it's like a dang variety show up there. I really dislike that, but this movie was great. Even its failed jokes were funnier than the comic relief in a typical Disney animated feature. Of course, I stopped seeing these movies a long time ago; maybe they're all like this now.

(5) Wed Mar 30 2005 08:44 PSTSoftware Package Names:
Apropos all the buzz detailed in the previous entries, Sumana said the problem with Beautiful Soup is that you can't tell what it does by looking at the name. This is true, but I'd say it's true of a majority of software packages. It's at its worst in commercial software where your package name is a product name and needs to be trademarkable. It's not as bad in free clones of commercial proprietary software, where they can't use the trademarkable name so they take a word describing the software and hack "K" or "G" or "GNU" into it. But I think those names are pretty bad and unimaginative. That may be my bias towards wacky names that stick in your head but (though usually trademarkable) would never make it past a marketing department.

Maybe software packages need subtitles, the way every nonfiction book nowadays has a subtitle that explains the catchy main title in way too much detail. "Beautiful Soup: The Hidden History Of The Python *ML Parser That Handles Bad Input And Provides Tree Traversal Methods".

Wed Mar 30 2005 22:18 PST:
Okay, I've got the new Beautiful Soup running an extremely sensible parsing algorithm based (more or less) on the difference between block tags and inline tags. I gave it a pretty-print mode so I could eyeball the parse tree, and it looks good everywhere I've tried it. Major features I still have to implement:

Make fetch() capable of searching for text, not just tags.

Add the nextSibling and prevSibling members for tags that have siblings on the same level of the parse tree.

(8) Thu Mar 31 2005 10:56 PSTGrapefruit Riot:
I've told this story before, but when I was a kid my father would eat grapefruit halves for breakfast and I thought it disgusting. But recently I had the other half of a grapefruit my mother ate and it was still disgusting but not after I'd put sugar on it. Previously even sugar was not enough to disguise the foul taste of the grapefruit, but with sugar it was pretty good. Now I eat grapefruit all the time, though I don't yet have a special spoon for it. I guess your taste buds do change as you get older.

Then I started thinking about sugar and fruit in general and got totally lost. Why exactly is fruit good for you? I have been eating more fruit than I used to to satisfy my sweet tooth, but that's because it's chock full of fructose. The sugar named after fruit.

Obviously a mango is better than a slime moldcandy bar, because in addition to sugar the mango has fiber and vitamin chemicals, while the candy bar has fat and preservative chemicals. But is the mango really a good nutritional investment in an absolute sense? And what about fruit juice? This canned (bleah) 100% fruit juice on my desk says 180 calories and 37 grams of sugar. That's more calories and more sugar than a can of ginger ale. What does the fruit juice have that moves it from the tiny space on the top of the food pyramid into the middle?

I tried to figure this out with web searches but all I got was people telling me to eat fruit. I'm eating fruit! I just want to know what's in the fruit that makes it so great.

(4) Thu Mar 31 2005 16:15 PST:
What's the deal with WIGU? The old strip ended, and after a couple weeks of messing around with other things, half the characters from the old strip showed up again and now it's like it was before. It's the Outland of web comics.

Thu Mar 31 2005 22:45 PST:
The Beautiful Soup 2.0 beta is available for a limited time only, before it becomes the real 2.0. Before I bless it I want other people to try porting their old code to the new version, but mainly to see if the new tree builder works as well as I think it does deciding how to build a parse tree out of bad HTML. All the other stuff is new features, so if you have to change your code, it's because your old code was a victim of the weird ways version 1.x parsed bad HTML. One fun way to test it is just load an HTML file into a BeautifulSoup and prettyPrint() it to see if the tags line up the way you think they should. It all depends on your idea of what's fun, of course.

Beautiful Soup 2.0 only works with Python 2.2 and above, which is unfortunate but I had to do that so I could subclass the string and Unicode types. Should a sufficiently large mob form outside my castle, I'll consider doing a version of the the new version that works with Python 1.5.2.

Fri Apr 01 2005 15:23 PSTBuzzword Namespace Collision:
I went to the bank website and it said "LEONARD RICHARDSON - Personal Accounts" and I thought "Wait, why is Bank of America trying to sell me on Social Security privatization?"

(4) Fri Apr 01 2005 20:59 PSTAnacrusish #3:
This is actually #2: I wrote it about six months ago but I just showed it to Brendan instead of posting it, and I forgot about it. I'm cleaning out Beautiful Soup email from my inbox and I stumbled upon it, so why not post it now? Because it's got the same problems it did earlier, that's why. Oh well.

Silas

God has bent the spectrum over His knee. A rainbow goes from red to
between yellow and green, then back down to red. Grass, if there was
any, would look sick and brown. Silas's arms have mainly lost their
highlights, but his rubber gloves are as black as before.

Silas wipes at his face for suddenly appearing goggles. Is it his
brain, his eyes? The room, the world?

Silas looks down at the package and tries to remember. Clearly someone
does not want him to succeed.

(3) Sat Apr 02 2005 20:57 PST:
I don't think I've ever enjoyed (or even seen) a TV show as formulaic as House. The least formulaic part of that show is at the very beginning, where the announcer warns you that there are going to be CGI simulations of what happens inside peoples' bodies. What will the announcer say? Will he advise "viewer discretion", or "parental discretion", or just plain "discretion"? It keeps me guessing every time! But then the episode starts.

(1) Sun Apr 03 2005 16:14 PST:
I got dragooned into seeing a movie today, but I got to pick the movie. I picked Melinda and Melinda, and... well, it was okay, but not great. Pros: Will Ferrell was funny, and the concept is good and very Socratic ("Oh, hi, Socrates, we were just discussing which is the worthier form of drama: comedy, or tragedy?"). Cons: It dragged a lot.
Two miscellaneous fun things: the movie features Wallace Shawn in full Grand Nagus Zek mode, and there's a scene where a guy wears a plastic mullet like the one Brendan has.

It's a cliché to say that Woody Allen doesn't make funny movies anymore, but I'd rather perpetuate a cliché than a base falsehood. At least he's started having good ideas again.

(1) Mon Apr 04 2005 09:09 PSTMore Movie Magic:
Though I've never understood the "magic" part. Anyway, yesterday Sumana and I made up for watching Melinda and Melinda by re-watching the first halves of classic comedies Austin Powers and Some Like it Hot. I decided it would make Some Like it Hot a little more interesting to pretend that the character Dolores is actually Dolores Haze from Lolita, even though the timeline doesn't match at all. Also, William H. Macy was born to play Osgood Fielding III in the remake.

Sumana says I should write the screenplay for the heist picture in which Richard Feynman teams up with the Kool-Aid Man. "Okay, Kool-Aid Man. You get us through the wall, I'll get us into the safe."

Tue Apr 05 2005 20:56 PST:
I think Beautiful Soup 2.0 is just about done. I'm not announcing it yet because I'm still writing the documentation, but you can download it as a beta from the main page.

Thu Apr 07 2005 06:24 PSTBelated Soup:
Man, I hate it when I save as draft instead of publishing something. Anyway, here's what I wrote last night:

Well, I tried, but no Beautiful Soup 2.0 tonight. I'm almost done with the online docs but not quite, and I still have some things on the TODO list I want to put into 2.0 as long as I'm breaking backward compatibility. Tomorrow I get my reviewed copy of the web applications/services chapter back, (contrary to my fears the tech reviewer thinks I wrote a good chapter) so if I can't somehow squeeze it in tomorrow it's probably not going to happen for over a week.

(14) Fri Apr 08 2005 12:32 PSTDismissed out of hand:
I'm eating a Granny Smith apple. Whoever said they were good to eat raw? It's so tart. Brrrr,

(4) Fri Apr 08 2005 20:43 PSTFried Tofu:
I used to make stuff with tofu but not successfully. My attempts at stir-frying it were failures. Recently I had to create a vegan feast, so I fried tofu in peanut oil and brushed it with a peanut sauce, and it was tasty. What was missing from my previous tofu attempts was texture, and frying solves that problem.

(3) Sat Apr 09 2005 12:43 PST:
Hey, quick question. If I start up a server and bind it to localhost (instead of an IP address or an external hostname), then no one can access the server from outside localhost, right? This is backed up by my experience and stuff I've read, but I want to make triple sure so I don't tell people they're okay when they're actually exposing their systems to the outside.

(5) Sat Apr 09 2005 23:43 PSTShaun of the Dead:
Sumana rented it and we watched it tonight. It was really good, but in an amazing twist of fate the movie was ruined for me by false spoilers! Somehow while hearing about the movie (or, perhaps, seeing the name of the movie) I got the impression that halfway through, the main character got killed and came back as a zombie, but nonetheless they managed to pull it off as a romantic comedy. I thought this was so awesome that I kept wondering how they would manage it, and once it became clear that 1) it was not going to happen, and 2) the nature of zombiehood in this movie was such that it couldn't happen, it was a big disappointment. Still the best zombie movie I've ever seen.

(5) Sun Apr 10 2005 14:50 PSTBeautiful Soup 2.0:
After much last-minute tweaking of Python and CSS, Beautiful Soup 2.0 is released! I really outdid myself this time. Still in one file, much better at parsing bad HTML, has pretty-printer, lots of idiomatic shortcuts for writing more concise code, lots of documentation. And, in contradiction of Leonard's Immutable Law of Open Source Software, it's not plugin-based. Go for it. No Python 1.5 support in this one, unfortunately.

Mon Apr 11 2005 11:05 PSTSOAP Bigot Needed:
Earlier I asked for some REST bigots to review the REST portion of my web chapter. I should also show the SOAP portions of the web services section to a SOAP bigot or two so I don't say wrong things. I'm pretty sure I got it right, but you can't be too careful when your writing's going into a book so heavy that an angry reader could use it as a weapon against you.

So if anyone who knows SOAP wants to look over about 10 pages real quick and flag any errors, please mail me or leave a comment. I'd like to send in my revised draft tonight so I can start working on revising the other chapter.

Mon Apr 11 2005 11:47 PSTPiracy Oddities:
When I think about modern piracy I think of the awful stuff, that makes you feel guilty about being interested in piracy: mafias and triads hijacking ships and "making the crew walk the plank" as Cryptonomicon put it. But the ICC CCS weekly piracy report only has a few penny-ante incidents a week, mostly pirates sneaking on board and stealing ship's stores.

If you read between the lines ("Coast near Aceh is particularly risky for hijackings") you see a glimpse of more dangerous incidents that don't get reported or don't show up on the weekly report they publish to gratify our weird voyeuristic tendencies. A while back I read a book called Dangerous Waters which painted a picture somewhere in between, of an East Asian pirate threat that was ever-present and chronic but not with many resources behind it, and easy to foil in most cases if you took safety precautions. Where does the truth lie?

I bring this up because there's a note on the piracy report page that I noticed when I went to fix its Automat feed by rewriting the scraper in Beautiful Soup 2.0:

After Tsunami there were no incidents of any kind in the Malacca Straits for two months. However, attacks have resumed since 28.02.2005. In the last four weeks there have been three serious attacks of Kidnapping the crew for ransom in Malacca straits. Heavily armed pirates have boarded ships and seized the master and one or two crew members and taken them ashore. Pirates have not stolen any property and sole aim has been to kidnap the crew.

Did the tsunami reboot the Indonesian piracy industry, giving them a chance to come up with more agressive and dangerous strategies? What's going on?

(2) Mon Apr 11 2005 15:24 PST:
The best thing about Arrested Development (apart from the total interconnectedness of everything in the fictional world, without which the jokes wouldn't be funny) is that the Ron Howard narrator is a real character in the show. Kevin even says the narrator is the protagonist. Anyway, last night's episode verified my suspicion that, like all the other characters, the narrator is a petty soul consumed with his own minor obsessions.

Near the beginning he took a potshot at the narrator of some other fictional show, and then kept sniping at that other narrator throughout the episode. I couldn't get enough of this, as narrator-on-narrator bickering is one of the purest forms of fourth-wall-breaking comedy gold in my book, second only to narrator-on-character bickering.

(1) Tue Apr 12 2005 09:33 PSTEasy Come, Easy Go:
A couple days ago I got a letter from the Clark campaign. They are wrapping things up and they have an outstanding paycheck for me and is this the right address? Apparently between the week where nobody got paid and the actual end of the campaign, I must have put in a few hours of useful work, because I have $50.80 coming to me.

Then this morning I did my Arkansas taxes and it turns out I owe the state of Arkansas another $53. So that money's just going to go right back to Little Rock.

Tue Apr 12 2005 21:27 PSTNight Of A Thousand Game Roundups:
Cheap game roundup to celebrate that I sent off the revised copies of both my book chapters today. Yes, I am pretty much awesome. But enough about me. The stars of this particular show are the games, presented by ME! T-Rex!

They say the neon lights are brighter on Broadway. But Cruising on
Broadway, a clone by Game Roundup veteran Paul Robson, is a
little dull. It looks nice but it's homomorphic to a very very simple
game of Pac-Man. Not his fault.

Ever since I went on my Roundup rampage against snake games (not
to be confused with my Roundup of snake-themed Rampage clones), the
authors of said games have been lying low, disguising their snake
games as other sorts of games. For instance, here's SpacePong, which you'd
think would be Pong-esque but it's actually snake game-esque, with
echoes of the old DOS game Helius. See how I pepper my reviews with
knowing, incredibly obscure references? That's the sign of real
quality writing there.

Anyway, Space Pong is a pretty fun mouse-scribbling game. You're a
metal ball, controlled with the mouse, which bounces around space
collecting green boxes. Overzealous mouse movements send the ball
careening out of control, a dangerous thing to be out of due to the
sessile space mines and roving asteroids that would just love to have
you smack into them and have to restart the level. This is in sharp
contradistinction to most traditional snake games, where the major
threat is your own ever-lengthening tail. This is a bit unfortunate
for Space Pong because the "long tail" is the only aspect of snake
games that is hip nowadays.

There are too many Angband variants! What we need is a
way to abstract away the differences between two variants and have
them use a common framework! What if we provided a series of roguelike
services? And it was written in the Java® Programming Language?
You'd have Ng, the Java Roguelike
Engine Project. It's a shoo-in for
this Roundup's HAS
prize, but even though I started writing this review
a long time ago and only came back to it today, it's still active. Despite its near-identical fit into the "incredibly ambitious software project sure to be abandoned" category, it's refusing to be typecast.

Crummy: The Site is proud to tell you about SSC: The Game. This is a 2D
space combat game inspired by the venerable xkoules game that Andy and
I independently got addicted to in the late 90s. Wait, actually, that
was xkobo. Totally different space game. In this space game, you're
a yellow blob who shoots it up with blue dots. The graphics are basic
but there are several nice camera angles, proving that you can have a
game take place in 2D yet give it the 3D effects that the kids demand
these days.

SSC seems abandoned and the gameplay is pretty clunky (maybe my
computer's just too slow, maybe I should install THE FASTER CPU I
ALREADY BOUGHT), but it looks like the games I like and it has really
nice enemy swarming behavior. Running into the edge of the universe
gives you a huge wrestling-ring-rope-style boost of kinetic energy,
and the swarms of blue dots use this to propel themselves as a group
across the screen. Nice emergent behavior in this game.

Continuing the seeming trend of games set in space is XGalaga and XGalaga++. I
found out about XGalaga++ first, but XGalaga is actually the better
game. Both have power-ups, cool aliens, and the dorky-looking
spaceship from the original Galaxian. XGalaga has much smoother
gameplay. On my scorecard, smoothness of gameplay has a huge positive correlation with perceived quality of game. Just a tip, in the unlikely event that people have started using my tastes as a touchstone for the games they write (surely before I reach that point I'll reach the point where people are emailing me URLs to their games without taking my tastes into account).

This one's funky. E.T. Traveller is far
superior to the disastrous E.T. Atari 2600 game. In fact, I liked it
better than just about any Atari 2600 game except Combat, but I've
never been a big 2600 fan. In this game you "collect objects that have
been randomly scattered in 3D scenes", yielding an experience oddly
reminiscent of robotfindskitten. Except, I explored the one 3D scene
provided and there were no collectable objects, just sad cool-looking
buildings abandoned for billions of years until I, the E.T. Traveller,
came along to check them out.

Comes with a scene editor of which I can make neither head, tail,
hide, nor hair. Just to prove its incomprehensibility to me, the
scene editor can export to POV-RAY. Both game and editor have an approach to user interface
design I've never seen anywhere else: it opens up a GUI window for the
graphics, but prints text output to the standard output of the
terminal where you started it. I guess it's kind of like what you'd see with Freeciv if Freeciv printed stuff to the terminal instead of the text box within the frame of the game.

The winner: Strategic Space Combat, aka SSC. No limerick as I am done with writing for today. Submit your own limericks in the comments, why don't you?

(1) Wed Apr 13 2005 10:36 PSTWhat they did to my manuscript:
I've decided to stop thinking of the Python book as a book with a bunch of authors and start thinking of it as an anthology of essays on Python. Thinking about it this way makes those huge multi-author books make a lot more sense.

However the publisher sees them as big books, so the copy editor went through my chapters (essays) removing the "I" voice because the "I" for this book has multiple personality disorder. I use "I" a whole lot, because my nonfiction writing style is "Hello, allow me to tell you stuff". My "I'll show you x" became "You'll learn to x", and "I think you should do x" became "You should do x". The latter I'm a little uneasy with. It's just, like, my opinion, man.

Speaking of which, the copy editor also took out my Lebowski homage (changing "parlance" to "terminology"), but left "encroaching ennui" and all of my jokes intact. Not a bad trade.

(4) Thu Apr 14 2005 11:46 PSTOranges and the Juice Thereof:
Planet Organics had blood oranges on their list. I've loved blood oranges ever since I had blood orange juice from a Tetra-Pak Susanna brought back from Romania. I ordered two pounds of oranges for an exorbitant $4.00. As a tribute to the old Romanian aristocracy, I would bathe in the blood of oranges!

Well, it turns out two pounds of oranges is six oranges. Furthermore, that six oranges when squeezed yield about a glass of juice. So I spent $4.00 (of Sumana's money) on a glass of blood orange juice. I was enraged, but then we drank the juice and it was really good. Also, if you go out to a nice place for breakfast around here, a glass of non-blood orange juice costs $3.50. So $4.00 for fresh blood orange juice is doable as a one-time thing. I wonder if you can get those Tetra-Paks here, though.

Thu Apr 14 2005 21:46 PST:
How do I keep getting sucked into these things? It must be my instatiable greed for latinum. I'm now in charge of revising a third chapter of the Python book. Soon I'll be an expert at everything!

Almost Immediate Update: Perhaps I spoke too soon; the original author is going to try to make time for the revisions.

Sat Apr 16 2005 21:49 PSTBeautiful Soup 2.0.2:
People who complained about Beautiful Soup not being set up with distutils, it is now. I also made real unit tests out of my ad hoc tests, so you get the Good Programming Practices two-for-one deal. In conjunction with the unannounced version 2.0.1 there are also some fixes for bugs I found while getting the tests into place.

Sun Apr 17 2005 20:55 PST:
Saw Eternal Sunshine of the Spotless Mind with Sumana and Sarah. (Remember, you heard about it here first; you also saw it long before I did). Everything I might have to say about the movie has probably already been said, so I thought I'd just recount a funny bit of dialogue from when we were perusing the DVD menu:

(13) Mon Apr 18 2005 17:05 PSTAnticatnip:
There are stray cats that wander the neighborhood, and they like to sleep on the patio and in the garden. Sumana dislikes these cats; they creep her out. Is there an anticatnip I could plant that would let me externalize the cost of stray cats by getting them to sleep on other peoples' patios?

Tue Apr 19 2005 22:41 PSTThe Secret To Writing Tutorials, I Guess:
Writing a tutorial is like writing a test suite for someone's understanding of a topic. You start off with very basic assertions and gradually build on them until you can make assertions about the whole system. If you don't do it this way, you don't have full coverage of the topic.

(3) Wed Apr 20 2005 22:16 PSTCue "doodly-oodly-oodly" Music:
Okay, I have revised that guy's chapter and I am now done with the Python book altogether! Except I still have to send off a list of helpful URLs, and a little bio. I'm thinking of reusing my CodeCon bio ("Leonard Richardson lives in San Francisco and writes software calculated to drive you mad"). I would actually be "using" that bio, which I like quite a lot, since as far as I know the CodeCon people never used it anywhere. Anyway, what should I put in my bio? And what web pages are good supplementary resources for 1) network programming, 2) web applications, 3) web services? I have my own list but I'd like to know what you think.

Tomorrow flying to Utah for John's graduation. Taking the train back means lots of time for reading, and for writing fiction. Ah, sweet fiction, where you can make up random stuff and no one can say it's wrong.

(2) Thu Apr 21 2005 11:32 PSTSelf-Promotion:
Sometimes we have people over for dinner and then Sumana wants me to play the gee-tar for entertainment. Recently we had Riana over and Riana was surprised that I play music. Clearly I am not that good at self-promotion if people I've known for years don't know I play music, even though there's a music link right there on my home page. I blame all the other stuff I have to do that has kept me from finishing my new album and achieving the musical superstardom I obviously deserve.

At the opposite end of the self-promotion spectrum, Riana also thought Jake Berendes is someone I'd made up. That's a common misconception, but a misconception nonetheless. Jake is doing installation art pieces on the other side of the country. How could I fake that? I can't even sew. I think I sewed a little stuffed-animal-size pillow once, but it split apart.

(1) Thu Apr 21 2005 13:13 PSTOnionskin:
What is up with the really cheap, thin paper used in mass market paperbacks published in the 60s and 70s? I got a used 1972 copy of The Sot-Weed Factor and it's about as thick as any other paperback novel, but it turns out that's just because the pages are one micron thick. It's actually as long as (and more obscure than) frickin' Quicksilver.

Fri Apr 22 2005 11:27 PSTDoodly-oodly-oodly:
Hey, guess what. I messed up the copy of the doctored chapter I sent in, so I had to do the doctoring again from John's computer here in Utah. Fortunately I had the screenshots and the sample code to work from, so it only took five dang hours out of my vacation.

Sat Apr 23 2005 20:52 PST:
Leaving on the train, eventually. We went up to Salt Lake today and it was pretty fun. I was unable to find anything at the cool SLC bookstore, which makes me think that I can't go shopping for books anymore without my Pocket Wisherman printout. Actually I did find some stuff, but I was too cheap to buy it.
So probably I'm just being cheap.

(6) Sun Apr 24 2005 20:42 PST:
Back from Utah after a long train ride. There was a guy who did color commentary over the PA during our sojourn in the Sierra Nevada, and he talked about the Donner Party for five minutes without ever mentioning cannibalism, discussing every other aspect of the Donner Party in so much detail as to make me think that the cannibalism part was an urban legend (which it wasn't, and if it was you think he'd have mentioned that interesting fact). But it got me thinking along the same lines as many of my previous thoughts: why shouldn't I create and sell soy-based human flesh for ethical cannibals and the curious? I could call it either "Soyman" or Soy-lent Green".

Mon Apr 25 2005 10:22 PSTFanboy Roundup #2:
Tragically, NYCB fan favorite Bob the Tholian was killed in the most recent episode of Enterprise. Or was it merely his evil mirror-universe twin, Bob the Evil Tholian? You can tell he's the evil one because his name is spelled backwards. And the little crystalline goatee.

This season of Enterprise has been great for fansboy like me (apart for moment of sheer wince-inducing awfulness like week-before-last), but that's because it's been filling in gaps left by other Trek series. This comes at the expense of doing new interesting things that a franchise needs to do to get new viewers, and creating new gaps to be filled in by later editions of the franchise. I don't know if this navel-gazing was whyEnterprise was cancelled, or whether, given the probable fact of its cancellation Manny Coto (my new Trek hero, BTW) decided to just do everything he ever wanted to see in Trek and damn the consequences.

Fanboy Roundup continues later this week with the Hitchhiker's movie.

(2) Mon Apr 25 2005 14:45 PSTBIDDLE NOWADAYS!:
Someone's selling a laptop on eBay. Among the "REAL SCREEN SHOTS TAKEN FROM ACTUAL THE COMPUTER YOU WILL BE GETTING!!!!!!!" is the CNN screenshot from the Eater of Meaning (scroll down to "GO ONLINE TO THE INTERNET"). Plus things that aren't even screenshots, just the result of Google Image searches.

Ordinarily I 403 people trying to use Crummy images to spice up their eBay auctions, but I'll make an exception in this case. I guess if you bought this computer, the whole Internet would look eaten to you.

(4) Tue Apr 26 2005 22:09 PSTGraphs With Python:
What's good for doing programmatic graphs with Python? I'm using PILGraph for a little project of mine. It's nice and simple but I'm having problems getting the labels to actually show up. I'll probably end up fixing it because I like the simplicity, but I'm wondering what else there is.

(6) Wed Apr 27 2005 15:16 PSTAncient Chinese Secret, Huh?:
I am interested in ancient history; I don't know why, but I like hearing about things that happened an incredibly long time ago. Let's say between 1000 BC and 1400 AD. About a year ago I reached the satiation point of my original interest in the Roman Republic and Empire (though I still plan to finish Gibbon, and to read primary sources). I've branched out both temporally and geographically, but I am having big problems finding good-quality books on ancient history. Part of this is probably due to a lack of written documentation about many parts of the world, or at least documentation that is not written by foreigners and full of crap about how peoples' feet are mounted on their foreheads. But some of it is just weird inexplicable gaps.

I found a highly recommended series on Byzantium by John Julius Norwich (who also invented My Word!). I bought the abridged version because I don't know if I really want three volumes on Byzantium. So that's good.

There's a million books on post-Roman pre-Renaissance Europe. What is good?

In my trips to bookstores I have not found anything at all on ancient China, which is really weird because I know there's recorded history there. There are many books on China but none of them seem to deal with anything that happened before the Boxer Rebellion. What's going on here?

There are some books about ancient Korea but I don't know how to tell which ones are good.

I haven't found much about the antiquity of other parts of Asia (inc. Russia), or non-Roman or post-Roman Africa.

I should probably learn about ancient Indian history from sources besides Amar Chitra Katha comic books. I think not all of those are canon since they often include things like flying monkeys.

There's probably a bunch of stuff about the post-Roman Middle East. I've seen stuff out of my peripheral vision but haven't looked into it for fear of being overwhelmed.

I haven't really looked into the history of the post-Bering-Strait Americas either, but neither has anything jumped out at me. The tribal nature of ancient North American civilization probably makes a general treatment difficult, but there must be something good about the big South American empires.

Information on the shoggoth civilization of ancient Antarctica is sadly lacking.

I could stand to learn more about the ancient Greeks, though I should probably just read primary sources in translation.

I think I know enough about ancient Egypt, but maybe not. It seems pretty boring. Either you're a grunt and you spend your whole life building the pyramids, or you're the Pharoah and it's all the time folks coming around interpreting your dreams or telling you to let their people go. (Note: observations that antiquity was more or less like this around the world will not be accepted as a substitute for book recommendations.)

Thu Apr 28 2005 07:18 PSTLack-Of-Cliffhanger Cliffhanger:
I read Dan Simmons' Hyperion and for the most part it was great. The universe is well-fleshed out and has fairly credible newslang and people act believably. It reminds me of the universe in the The Legend Lives! IF game, which I always liked and which I think has the most interesting universe I've seen in sci-fi IF, albeit one of the worst titles. (Obligatory disclaimer: Planetfall and Suspended and probably others are better games.) Geez, I haven't played any IF or felt guilty about abandoning my IF project for probably a year. Anyway.

The book is really good in general but parts of it are very boring (boringness is not correlated to "action" in the crude sense: some of the most boring scenes describe firefights and daring escapes). In particular there's a boring part about 40 pages from the end which goes on and on with fisticuffs and murder and repercussions and blah and blah. Maybe it's just boring because it's a framed story inside a much more exciting story that's coming to a head, and I've come to expect the last-minute revelation in these stories that someone is not who he seems. In my sci-fi epic, revelations that people are not who they seem will come at unpredictable times.

This framed story's eating up more and more pages and I realize that not only is this book the first part of a multi-part series, but it's not going to have a real conclusion or even a cliffhanger. Instead it will be as though it was originally a longer book that got split down the middle. Sure enough, that's exactly what happens. Just a chapter break with no next chapter after it, even though with about ten more pages there could have been a real heart-pounding "to be continued" cliffhanger. I never realized this before, but this is more frustrating than a real cliffhanger!

So, good book, but no resolution, even by the accepted standards of first books in series. I'd advise you to get the first and the second books at once, but maybe you won't like the first book and you'll blame me for forcing you to buy into the capitalist publishing machine when all I did was advise you to do this. Also, the copy I got in the used bookstore has much better cover art than the overly literal cover art you see for the book at Amazon. So get the, ah, 1991 edition if you want to feel threatened every time you close the book, instead of feeling like you're reading an Edward Scissorhands novelization.

Thu Apr 28 2005 22:44 PSTRSS feed construction helper:
This is kind of a neat tool I wrote but I'm not sure what to call it. It's a wrapper around the famous PyRSS2Gen library. It provides a simple pickle-based backend storage for state relating to an RSS feed that's screen-scraped from a web page. Some of the state it stores is redundant with the actual content of the RSS feed, but some of it is contextual information like "when was the first time a screen-scrape attempt found the item that has this guid"? (I am too tired to explain why this information is useful, but trust me, it quite often is.)

The tool provides convenience functions for fetching a new version of the web page, and does the good-citizen Etag and Last-Modified thing, so all you have to do is write a hook method that scrapes the webpage into a bunch of RSS items and adds them to the feed. As items go on the top of the feed, older ones automatically drop off the end.

In conjunction with Beautiful Soup) this makes it incredibly easy for me to screen-scrape a web page into an RSS feed and have it keep working over time. Up to this point I've been trying to run the various Syndication Automat feeds out of NewsBruiser notebooks. It's a clever idea but cleverness is just about all it's got going for it. It's clunky and awkward, and there are some cases I just can't handle, such as the Dover page where the items I want to RSSify don't have any dates on them. (That's why the contextual information mentioned earlier in this entry is useful, BTW)

I thought any alternative to using NewsBruiser would be a lot of backend work, but it's not. My module's about 150 lines of code: here it is in a temporary location until I come up with a real name for it: RSSHelper.py. Here's a sample script that uses it and Beautiful Soup and ASCII, Dammit (actually the "HTML, Dammit" subset) to make a Dover automat feed.

It originally took me an hour of work and eventual failure to get a NewsBruiser notebook-backed feed for the Dover site. It took about five minutes to write that script linked above. And the new script actually works, instead of putting the same books into the feed over and over again.

I've got the same feeling with this as I did when I stopped writing custom parsers for screen-scraping and started using Beautiful Soup. Is this as cool as I think it is? Do things like this already exist? What should I call it?

PS: Danny deserves a midwife credit since I came up with this and wrote it while working on my second hack for the Life Hacks book.

(2) Sat Apr 30 2005 22:21 PSTSubway:
I was planning to write a series of articles on Subway, but a cursory run-through shows that such a series of articles would probably spend most of its time guiding people through small problems in Subway, and my time would be better spent organizing fixes for those problems instead of enshrining them in print. In other words it's not mature enough yet to be the subject of technical articles. So I may go back to my original idea of just writing individual articles on Cheetah and SQLObject, as I'd planned before I realized "hey, these things are all used in Subway". What do you think? Am I selling Subway short?

New Beautiful Soup, with minor fixes and real Python 2.2 support. Now going to see Hitchhiker's with Sumana and Zack.

Mon May 02 2005 21:05 PSTPython Generators:
I'm messing around with Python generators for the first time, because I figured they'd make it easy to write different ways of traversing a Beautiful Soup parse tree, a la Ka-Ping Yee's scraper script. And they do make it easy, but they also slow down recursive tree traversals quite a bit. Is there a fast way to do this, or should I just unroll the recursion so I'm not creating a million generators?

(2) Tue May 03 2005 18:56 PSTHey Hey Hey:
At the DI in Provo there was a Fat Albert T-shirt, but due to bad typography it actually said "Fatal Bert and the Junkyard Gang". I looked at it and thought "wow, that's a pretty cool band name", but then I was disappointed. So from now on, just call me Fatal Bert.

Wed May 04 2005 18:46 PST:
My computer blew up. Fortunately, the hard drives seem okay. I'm not sure whether or not the motherboard got it or whether it was just the power supply, but I just got a new motherboard that I never installed because it wouldn't fit right in my case and my video card wouldn't fit in it. So really the whole experience has just been an impetus for me to buy the missing pieces.

I'd been meaning to do this for a while, but the impetus for me actually doing it was that I ended up writing one of those while loops in the screen-scraping script I wrote for the vaporware Productivity Hacks book. With the new stuff in 2.1.0 I could trim a line of code from the manuscript and make it easier to explain.

In fact, Beautiful Soup 2.0 (and the RSS feed builder mentioned earlier, which is going to have a life of its own once I finish the hack) was done for the same reason: so I wouldn't have to explain in print what this complicated code was supposed to do. This is the true power of documentation: it forces you to make things work in a way that's easier to explain. Assuming you care about the people who are reading your documentation, I mean.

(1) Thu May 05 2005 13:20 PSTDamn frogs, stealing our women!:
Every since I was very young I've been fascinated with the story of the
frog who would a-wooing go. There are so many variants of the song, but they're all clearly about the same frog and mouse.

Sometimes they get married and everything's fine. Sometimes they get married but then eaten by a fish or a heron or a cat. Sometimes they get eaten in the sixth verse for no real reason. It's like a probability distribution of all the different ways the lives of the frog and mouse could end up. They probably got eaten, but I prefer the versions where they don't. Cause having them get eaten just seems like

I'm tired of singing this song to you, mm-hmm
I'm tired of singing this song to you, mm-hmm
I'm tired of singing this song to you
They all got eaten by a bird, and away it flew
Mm-hmm, mm-hmm, the end

Especially when it happens in the sixth verse.

(4) Fri May 06 2005 12:26 PSTRestaurant Review:
Watercress on Valencia. A little pricey: $20 for three-course menu. They do one flavor really well: an earthy butteriness that was detected in beets, candied nuts, mushrooms, and chicken. Maybe it was just butter, but how do you get butter into a cube of beet?

Big problems setting portion expectations. We got salads and they were tiny (and tasty). Then the entrees were enormous (and tasty, though a little salty). We held off on the entrees so we'd have room for dessert, and then the desserts were tiny (and not good).

Oh, I need to review the really good place we went to in Provo. Later.

Sun May 08 2005 16:26 PSTUncle Morty's Dub Shack:
I saw the series finale of Enterprise on Sumana's pre-post-production press preview DVD, but Sumana has embargoed me from telling you about it, so instead I will talk about Uncle Morty's Dub Shack. This is the funniest MST3K-style TV show since MST3K. In fact I think it is the only MST3K-style TV show since MST3K, but I'm not trying any predicates-on-sets-with-only-one-member tricks on you; it actually is funny. The setup is very similar to MST3K, but its episodes are only a half-hour long so it moves a lot faster than MST3K. It's also significantly lowerbrow than MST3K, but not as lowbrow as I'd feared. It's like an Adult Swim realization of MST3K.

The conceit is way too complicated, like a movie version of Pee-Wee's Playhouse that spends forty-five minutes building up Pee-Wee Herman as an eccentric cyberneticist who after his wife leaves him decides to build a strange playhouse with sentient talking chairs, etc. There's a theme song that explains the idea, but before that you get a thirty second-intro to the theme song that puts it in context, and by the time it's all over you've lost a good chunk of the air time.

Basically, four slackers are compelled to dub English versions of old Bollywood and kung fu films, but they don't have any translated scripts, so they just make up whatever story seems to fit the action. The show is half dubbed film clips and half skits like the ones before the movie on MST3K. Sumana originally thought the skits were dumb and fast-forwarded through them, but they're actually pretty funny and often clever.

Uncle Morty's Dub Shack is on the poorly-named Imaginasian TV, the new basic-cable answer to local Chinese channels. They run an episode practically every day, and it's not the big watching-a-movie investment of an MST3K episode. You just get the ten minutes of the movie about which the show's creators could make up the funniest story.

(1) Sun May 08 2005 21:48 PSTRestaurant Jargon:
I've written before about words that only show up on restaurant menus, weird vegetables, and techniques like "coulis". At Watercress there was tomato something, "tomato coralage" or some similar word. I asked the waiter what a tomato corolage was, and he said it was just tomato sauce. So either he was patronising me, or he didn't actually know, or this mystery word actually means "made into sauce" and was just put on the menu to make the food sound fancy.

I've decided that when I see a word I don't recognize on a restaurant menu, I'll write it down to remember it, and expose its true meaning here on NYCB. First, the only cooking term so far I've learned from menus: coulis is a sauce made in a blender and strained to make it seedless and very smooth. In restaurants it is usually used to garnish a dessert, and is inevitably made from two fruits: raspberries plus something really off-the-wall like passionfruit. Using three fruits in a coulis would clutter up the menu. Using one makes it seem cheap.

Also, jicama, a food I first saw on restaurant menus. Jicama is a South American root vegetable that has the texture of an apple. I can't decide whether or not I like it.

(2) Sun May 08 2005 22:03 PSTPotato Blue Cheese Soup:
I was going to make a potato-leek soup similar to Ultimate Chowdah, but the cream in the fridge had gone bad. So I came up with the idea of using blue cheese to thicken the soup instead of cream. It was definitely one of my better ideas.

1 tablespoon butter

2 onions worth of aromatics

Salt

5 cups broth

2 lbs potatoes, quartered

2 ears corn, removed from cob

Oregano

Thyme

4 oz blue cheese

Pepper

Melt butter in soup pan. Add aromatics and salt, and sweat. Add broth, potatoes, corn, and herbs. Cover and cook, stirring occasionally, for 25 minutes. Get out the stick blender and blend it. Stir in the blue cheese. Add pepper to taste. Yum.

For the record, the aromatics I used were one onion, part of a leek, and two stalks of baby garlic. Yes, it's Clean Out The Fridge Daze here at Leonard's house.

(4) Mon May 09 2005 08:09 PST:
What's a webpage you've always wished had an RSS feed? I need a demo site for the RSS feed builder. I've already done two, but one is for the O'Reilly book and the other (new books from Dover) requires some fancy scraping that makes it too complicated to be an example.

(5) Mon May 09 2005 10:59 PST:
Yesterdate, the 8th of May, I installed seeds in my garden. Sunflowers, watermelons, corn, and "garden beans" (As opposed to beans that grow in the rec room? They look like green beans so I planted them.). I mention this so that I'll have a record of when I planted these things. I don't remember when I planted the potatoes, so I don't know when to reap the harvest. I don't even know how potato plants work. I guess I'll find out when I dig one up.

My mother says there's no way to know what to grow: you just have to plant things and see if they die or not. Nothing grew when I planted last year, but I planted way too late and also the soil in my backyard was all dead. Not even weeds were growing there. I don't have that problem anymore!

Mon May 09 2005 22:21 PSTScrape 'N' Feed:
I came up with a name for my RSS feed helper, and fixed it up, and I hereby release it. I don't know if I'm allowed to put that example on the actual page to illustrate the module, or if it has to be first published in the O'Reilly book.

I probably never would have come up with the idea for this module if it hadn't been for the need to compress the large feed-scraping problem into a small "Hacks" entry. I've never done so much work for a hundred dollars. (However, I have done a whole lot more work for nothing.) You are the privileged recipients; my feed-scraping has never been easier than with this module. Though sometimes I get the feeling that scraping web pages into RSS feeds is just an obscure hobby of me and a few others.

Update: Actually I have done more work for less than a hundred dollars. When I was about 10, I dug up a huge tree stump in the side yard. It took me most of the summer, on and off. I think I got fifty dollars for it.

(1) Fri May 13 2005 18:59 PSTFriday Pie-Blogging:
Going to Seth's party. I made a vegan strawberry-rhubarb pie, with rhubarb from my garden. The first fruits of my garden! Fun fact: the leaves of the rhubarb plant are a deadly poison! Well, they're a poison anyway. Much like lilies.

(2) Sat May 14 2005 22:30 PST:
I came up with the perfect name for my restaurant: "Overkill". It signifies everything I want in a restaurant. I don't think I actually want to have a restaurant, though. Too much work, not enough payoff.

Tue May 17 2005 22:42 PSTStill Nothing Interesting Happening:
Having no luck getting all the parts of my computer to work together:
my video card seems to have taken over the PCI bus, preventing anything else from working. I knew we never should have moved past 1993 computer technology. I have given up
getting it to work until I get my articles written.

This site is titled Predator at the Chessboard, and is decorated with dinosaurs; yet the dinosaurs pictured are herbivores. Is this not a contradiction of some sort? In fact it isn't; and this, patient reader, for two reasons.

(2) Sat May 21 2005 21:31 PSTXiao Loong And Thanks For All The Fish:
Yesterday: date with Sumana. We went to Xiao Loong in West Portal, a tiny Chinese restaurant which I've always thought would be really classy just because the door is painted a really cool shade of red. Well, it is pretty classy. They use a great technique where they dip things into hot oil for one millisecond and then stir-fry. The sauces are good but the tofu was in big chunks that didn't absorb the sauce very well. We had to mash it up to make it not bland yet covered with sauce.

Video rental time! We got The Great Dictator and the original Ladykillers. The Great Dictator was alternatively hilarious and bizarrely sentimental. You don't see movies with names like The Great Dictator anymore. I miss that.

Oh, one weird thing about this movie. At the very very beginning there's a scene during World War I and Charlie Chaplin is playing a German soldier. So you think he's playing fake-Hitler, because of course real-Hitler was a soldier in World War I and used this to his political advantage later. But apparently this was not common knowledge in 1940, because in the first scene Charlie Chaplin is playing the other guy in the movie, the everyman barber who just looks like fake-Hitler, and it's incredibly disorienting. You're expecting in the first scene the kind of vicious anti-Hitler humor you end up getting later on in the movie, because c'mon this guy is Baby Fake-Hitler, but he's played as a garden-variety buffoon, the Tramp, not fake-Hitler at all.

We just finished The Ladykillers and it too was great. Truly this is the weekend we struck comedy gold. About halfway through I realized that Alec Guinness' mannerisms in that movie are just the same as Danny O'Brien's mannerisms. I expect the movie would be even funnier if you watched the whole thing imagining it's Danny O'Brien planning the heist.

I inherited a corduroy jacket from my grandfather, which I wear sometimes when I go out. It's great because it makes me classy. Without the jacket I haven't shaved and I'm wearing ratty jeans and a T-shirt I got for 25 cents at a yard sale. With the jacket I get let into restaurants.

Back to working on article.

Sun May 22 2005 22:20 PST:
Reading The Metaphysics of Star Trek because I got it for free somehow. I can never tell if the people who write these books are required to incorporate every single relevant reference from the TV show, or if they're just really good at picking and choosing examples to illustrate the various controversies.

The book is a pretty good introduction to the problems of mind and identity; I had not previously heard of the closest-container schema for numerical identity, and it's interesting but it doesn't make me feel any better about going through the transporter. Plus this book introduces a great term which I think deserves wider use: "recruited matter".

So it's a lot better book than I thought it would be, and not so aggressively "that is impossible" as The Physics of Star Trek, which I must have also somehow gotten for free because I wouldn't have bought it. These books apparently just fall off the backs of trucks into my lap. I believe Sumana is involved.

(3) Tue May 24 2005 09:24 PSTFound Fiction:
Sometimes the new Project Gutenberg texts that show up in my RSS feed are really interesting, but usually they're boring sentimenal novels of the nineteenth century. However even boring sentimental novels can provide entertainment value via their lists of illustrations at the front of the book. When each illustration is captioned with a corresponding line from the book, you can read the captions as a sort of derivative work created at semi-random out of sentences from the book. It often makes for intriguing literature.

"I would therefore respectfully suggest as a special topic of conversation the consummate cheek of—yours truly, Paul Reymouth Edgarton!"

"Your paper-doll book?" stammered Barton

"Don't delay me!" she said, "I've got to make four hundred muffins!"

Suddenly full comprehension broke upon him and he fairly blurted out his astonishing information

"You're nice," he said. "I like you!"

"Any time that you people want me," suggested Edgarton's icy voice, "I am standing here—in about the middle of the floor!"

Man, four hundred muffins. Almost makes me want to read the book. Actually I just skimmed it and that one's not too bad.

Tue May 24 2005 10:42 PSTWhen Things Happen:
My Soy-lent Green idea has come to fruition as HuFu. Specifically it has come to fruition as T-shirts and other paraphernalia about the purported product; you can't actually buy any.

(2) Tue May 24 2005 15:12 PSTbecome one of the low rates:
Continuing my interest in mortgage spam. About 90% (or, perhaps, 3.77%) of the recent mortgage spam I've seen tries to give the impression that this is a follow-up to some earlier missed connection. For instance, from the most recent specimen to get past my filters: "We tried to contact you earlier about flnanclng your home at a lower rate."

Why is this such a common feature of mortgage spam? Are they trying to trick the people who are trying to get a mortgage but haven't heard back from the bank? A sort of phishing applied to customer poaching?

Tue May 24 2005 21:33 PST:
List of possible terrorist plans. Includes dumb ones, and oddballs like "Terrorists might throw the nation's largest pancake breakfast." "Terrorists might unplug ticker tape thing." I think I've done that by accident. This needs to be an NKI list. Robotfindkitten: Public Safety Edition. Be alert!

I have from the beginning felt that my paper is a much better contribution to the field of computer science than the Ultra Gleeper itself. The Gleeper, like all flesh, is frail and has shortcomings, but the paper exists in the realm of ideas, and solves all the damn problems and crowns me king of the world already.

Regrettably I have used this fact as an excuse to not work on making the Ultra Gleeper easier to install and use. I am a mess, I have writing assignments and even despite that I'm lazy and don't do work (this is also the reason I have not responded to your email). Also I beat myself up about the absolute amount of time I waste, even though by relative standards I'm a pretty productive guy.

Oh yeah, as long as I'm touting accomplishments that just highlight my lack of follow-through. blogs.gnome.org has started using NewsBruiser for their user weblogs, and they say nice things about me that I don't think are deserved. Also Benjamin Kahn ported one of those standard weblog themes (ie. one of the ones you see everywhere on weblogs of all shapes and sizes) to NewsBruiser. It looks nice!

Second, Josh has started a reading group for The Art of Computer Programming. His aim: use group dynamics and the fear of failure to make the members of his pact keep reading the thing and working the exercises. I always knew peer pressure was a technology capable of substantial non-infringing use.

(2) Sat May 28 2005 15:17 PST:
In Bakersfield, as seems to be the tradition. Went to the Bakersfield Home and Leisure Expo, which was on the fairgrounds and sounded like it would be like the county fair. Unfortunately it was only like the part of the county fair that's a big ripoff. There were a couple desultory snack bars, and a single building full of booths for various businesses, mostly mortgage-related. I expected them to come up to me and act like they already knew me. Cool things: Jerky Hut, where I got some habanero beef jerky for Kevin, and this business that sets up dress-up tea parties for little girls. Yes, the thing girls once did as a normal leisure activity is now catered and done as a birthday party or something. It's like if someone tried to sell me a party where you go swimming and then play Nintendo. But Rachel seemed very interested in the tea-party idea, so maybe I'm missing something.

Oh, the reason we wanted to go in the first place was my mother heard that there's this guy who does topiary dinosaurs, and we wanted to see that. He was not there. There are topiary dinosaurs online, though.

Sun May 29 2005 22:23 PST:
For lack of anything better to do Rachel and I went to see the new Star Wars movie. And it was pretty good as such things go, though... well, if I start complaining about things I'll stop liking the movie. Just one thing: all the scenes take place in furniture catalogs. In fact, furniture catalogs are more realistically furnished than the scenes in this movie. Nobody in the movie has any paperwork or magazines lying around or anything. It's creepy. But this, as with all of this movie's shortcomings, just leaves me wondering if the same shortcomings are also present in the original movies, hidden behind a veil of nostalgia. Come out from behind that veil of nostalgia and fight, you cowardly shortcomings!

(1) Mon May 30 2005 22:04 PSTDr. Teeth:
So I went to the dentist to get a crown put on the tooth that's had a temporary filling for three years, and he didn't seem incredibly impressed with the job my braces did straightening my teeth. Personally I think my mutant tooth is still a little crooked but on the whole they're straight enough. Anyway, he tried to upsell me on some gumline cosmetic surgery that was just plain weird.

Here's a rendition of my two upper front teeth with the gumline:

_-___
|_|_|

As you can see from my state-of-the-art diagram, the gumline above the mutant tooth is higher than the rest of my gumline. That pesky tooth is weird enough to guarantee I'll never be in a cereal commercial, but it's not a big deal. This is where the upsell came in. The reason it was weird was that I'd think cosmetic surgery might be used to restore my gumline to the population average, making it look like this:

_____
|_|_|

But it seemed like my dentist was proposing raising the other tooth's gumline, bringing me further from the population average for the sake of local symmetry:

_---_
|_|_|

And making me look like a rabbit. No thanks. Of course, we've already established that I know nothing about teeth or how they're supposed to go into the mouth of Homo sapiens, so maybe that gumline isn't as weird as it looks.

(2) Thu Jun 02 2005 11:59 PSTKinds of Sauce:
As Kris' and my generic Tom Waits parody goes, "Life just keeps suckin'." However, I have discovered that hot fudge sauce is better if you make it with coconut milk instead of condensed milk. Also, I made a strawberry coulis and it didn't turn out great. Not bad for a first try though.

Thu Jun 02 2005 21:37 PSTGame Roundup: The Antirevenge:
I'm actually not terribly clear on this concept of "antirevenge", but
I do know a few things about games and the rounding up thereof, as I
shall demonstrate. Incidentally, my fancy new graphics card has
graphics acceleration, so I should now be able to review a bunch of
games (like Kenta Cho's magnificent space shooters, each of which
redefines the genre) that have been stacking up because previously my
only review of them could have been "too slow".

There's a whole genre of games I never knew about before: Slime Volleyball. First
invented by computer science
students at the University of Western Australia, it has spawned a
Roguelike number of variants. All
the variants are fun to play, mainly because you're controlling these
awesome slime characters. Very good character design here. Iconic.

Lost
Labyrinth of previous Game Roundup fame has lost
its Unix branch, but the developers have put a lot of new features
into the Windows version and the game is much more playable now,
assuming you have Windoze, as the kids call it, though probably not
the kids in this part of the timeline. I think it's still too hard,
but there's not so much near-instant-death as previously.

crosssum lets you solve
those number puzzles that take place in crossword grids. Not the
Sudoku which became popular in the UK between the time I wrote that
sentence and the time I wrote this one, and which indeed made me have to
write this clarifying sentence.

In these times of crisis we must find ways to reduce our dependence
on foreign games. This is why more and more game makers are producing
explanation-efficient ludemic hybrids. Torrent
combines SameGnome and Tetris: you must click on adjacent blocks of
color to remove them, to avoid the blocks from reaching the top of the
screen. Now I can use words on something else!

Like Batalhao, a
fun little Brazillian tank game in which your tank has to protect the
city from other tanks. The other tanks will try to blow up your pizza
parlor and your hospital, with no regard for the relative strategic values of those locations. In fact I think the city in this game is
the town where Encyclopedia Brown lives, which was always
being described in terms of the buildings within the city limits (two delicatessens, a synagogue, etc.). This game has some tactical element missing that if present would make it a great game; as it is it's just a good game.

It had to happen: 3D
Minesweeper. The only question is, why? On that soul-searching note, I end this Game Roundup. My antivengeance is complete!

Fri Jun 03 2005 20:21 PSTThe Krakow Wakes:
Friday night dinner date: Krakow in West Portal. Polish food. Pricey, but everything's homemade and good. They have a wonderful thing called sourdough soup, which I don't even know if it's a real thing or if it has actual sourdough in it or what, but it was incredible. Best chicken I've had in a long time, but that's not saying much because I only eat chicken in restaurants and, like restaurant chocolate cake, restaurant chicken is always incredibly dry, so just doing chicken right is enough to be noteworthy. The only saeurkraut I've ever eaten and enjoyed. Good chocolate mousse for dessert. I would go again and just eat a couple bowls of the soup. It's that tasty.

(1) Sun Jun 05 2005 22:31 PSTMissed Calls... Of Destruction!:
Riana and I went to see a preview of Godzilla: Final Wars, but it was sold out, so no Godzilla for us. Instead we watched a DVD of Kiki's Delivery Service, which was great.

Working on a little project which is fun and which you might like when I'm done. Also trying to get my sci-fi story done before someone actually implements the idea and it becomes pointless New Yorker fiction instead of sci-fi. My next article isn't due until the end of the month so I have a little time to do other things.

Mon Jun 06 2005 23:44 PST:
Lately I've picked up an interest in the universe. I come to this interest only recently, after becoming frustrated at the lack of anything else to be interested in. Where to start but with a map of the universe and its major features? Disturbingly, among its major features are two Great Walls and something called The Great Attractor, which can't be good. Disturbing it may be, but this new hobby of mine has much to recommend it. Now, if only there were souvenir bits of the universe that you could buy and take home with you. Wait, that's it! I'll be rich!

(1) Tue Jun 07 2005 09:20 PSTHubris:
There are a bunch of buildings full of biotech companies by where I work, and today I saw a big on-building logo that said "LifeMasters". I feared for the worst, but it turns out that LifeMasters is just some health care thing for people with chronic conditions. I've never feared for the worst and then been so disappointed.

(7) Tue Jun 07 2005 13:41 PSTGained In Translation:
I should have mentioned earlier that my seeing Kiki's Delivery Service earlier with Riana was actually the second time I saw it; I'd also seen it the day before with Sumana. Also we had watched Elf, which Sumana really likes but which I wasn't crazy about.

Anyway, when I watched it with Sumana we watched it in Japanese with subtitles, just because that's how we saw Spirited Away in the theater and we liked the voice work for that movie. About halfway through the second viewing, the disc started acting up and we tried various things to fix it, including switching the audio track to English. And gaah! but the English track was a mess.

There was already a perfectly servicable and (as far as I could tell) pretty faithful English translation, which was used as the subtitles for the Japanese audio track. But in the dubbed version, this translation had been jettisoned in favor of what was clearly a much looser and greatly inferior translation, complete with entirely new lines of dialogue that didn't even work. It was like someone's bad fan fiction had been dubbed onto the movie. So I guess I am going to have to be a subtitle snob, if that's what they do when they dub movies. I never really compared the subtitled versions of a particular movie to the dubbed before, because I assumed they used the same translation for each. Does this always happen?

Thu Jun 09 2005 21:37 PST:
Remember the Game Roundup about a year ago where I gushed about a game called Metal Blob Solid? Well, the game is now complete, and there's a postmortem along with postmortems of the designers' other games. I've always loved game postmortems, especially for open source games.

(7) Fri Jun 10 2005 09:52 PST:
I tried making marshmallows with agar agar and it was a disaster. What went wrong? I tried again with gelatin and that too was a disaster, but not in an unsuccessful-marshmallows way; more like a third of the marshmallow mixture stuck to things like my hands and the kitchen, and wouldn't go into the pan.

Perhaps if I made marshmallows using John Agar as the thickening agent. Yes, that would surely work.

(1) Sat Jun 11 2005 22:34 PST:
I came up with an idea today which is not particularly clever, but which I think I could get a patent on if it's not already patented. It's the same caliber of ridiculous stuff that gets software patents put on it, and I was idly kicking around the meta-idea of actually trying to get a patent on it to use an example of ridiculousness. Does this make any kind of sense or is it all a sucker's game?

(2) Sun Jun 12 2005 22:05 PSTThe Bayes Motel:
I kept wondering about the suitability of Bayesian textual analysis to such-and-such a problem domain. Would it magically solve the problem as it does with spam, or would it be like trying to evolve an artificial intelligence by rating randomly generated sentences? Eventually I decided that the time had come for action! So I hired this guy to write a really simple generalized Bayesian rating application which you could use for just long enough to see if the problem was tractable. Yes, I don't just sit around--I make others do my bidding! But then he subcontracted it to a company in the Phillippines, and they went out of business, and their contracts were picked up by a floating libertarian utopia on a raft built out of abandoned oil drums, so make a long story short I ended up doing it myself for about half the price.

It's called The Bayes Motel and it does a pretty good job. By which I mean I wrote applications using it for a domain where Bayesian rating obviously works, and one where it almost works, and... it works and it almost works. TBM also does something I've been wanting for a while without realizing it: different tokens are displayed with different colors, to help you visualize how a piece of text got a certain Bayesian score. Pretty slick! And inefficient. Oh well, it's not supposed to be a big heavy-duty application anyway, just a prototyping tool. I hope you find it useful.

(5) Mon Jun 13 2005 21:33 PST:
Sumana has been playing a CD of marches so I have been marching around. I invented a march I call the Dinosaur Stomp March. In this march you stand perfectly still and pose like T-Rex in the third panel of Dinosaur Comics, and move your left leg up and down in time to the beat, stomping on something. It's kind of an avant-garde march because it disregards what's generally considered the primary purpose of a march: getting you somewhere else. On the "things stomped per measure" metric, though, it's off the scale.

(4) Tue Jun 14 2005 21:01 PST:
I've seen recipes for brewing root beer before but they always involved bottles and bottlecaps and some kind of crimping device for affixing the bottlecap to the bottle and blah and blah. That's why I was so interested when I found David Fankhauser's recipe where you brew the root beer in a two-liter bottle. Great idea!

He's also got lots of other interesting recipes, mainly for homemade cheese and other dairy products. My seventh grade science teacher was named Larry Fankhauser; I wonder if the two are related.

Wed Jun 15 2005 21:15 PSTDel Eat:
I wrote a tiny script that runs my del.icio.us tags through the Eater of Meaning's WordEndingEater to get different words, and prints links to the tag pages for those words. Sometimes these tags don't go anywhere, like "carpets" or "antedates", but sometimes they're pretty interesting, like "macro" (wonderfully ambiguous) and "twenty". It's fun--until you try it yourself!

No packaging; I'll just put it inline for those interested. You need the Eater, of course, and Beautiful Soup (or one of those fancy del.icio.us-Python interfaces with all the XML dependencies).

(2) Thu Jun 16 2005 10:25 PSTWho Wants to Be A Hundredaire?:
I got into the book-writing business at the beginning of the year, on the recommendation of Clark colleague Tony Steidler-Dennison. Not only has the experience been more or less fun, but with my pen I have made enough money to pay for the dinosaur hunt I'm going on with my mother in August (assuming it is just a trip to Alberta to see some dinosaur bones and not some sort of Sound of Thunder thing where we hunt live dinosaurs).

Now, you too can gain entry into this lucrative field (writing, not dinosaur hunting)! Tony thought of me when his editor needed someone to work on a Python book; now I'm paying it forward. My Wiley editor needs someone to finish a chapter about clustering on Knoppix. I don't have the equipment to run any kind of cluster, but I bet one of my readers does.

You should probably know something about cluster programming, but not neccessarily anything about Knoppix. The ability to write good prose is 5-10 times more important than knowing about the topic beforehand. You just have to be good at picking things up quickly, because by the time you're done you will need to know a whole lot about the topic.

Send me email if you're interested in this. It's just one chapter and much of it is done already, so it's about the easiest introduction into the world of writing you could hope for. If you deliver on time the editor will have a mental picture of you as someone who saved their bacon, and think of you for other, larger projects, and pretty soon the world is your scallop.

(3) Fri Jun 17 2005 23:42 PSTJonathan Strange and Mr Norrell:
I can't say enough good about this book (mainly because I'm tired). It's great. You should read it. I borrowed it from the library--it was just sitting there and I was able to read it for free! Amazing, these libraries.

(4) Sat Jun 18 2005 10:14 PSTDry Cake:
Every time I make a cake (as opposed to brownies or some other baked dessert) it comes out dry. I can't figure it out. What are the causes of dry cake? I am not accustomed to my food disobeying me in this way.

I made some bread yesterday actually. A couple weeks ago I was running out of pizza dough so I decided to make some more. But I wasn't thinking and I made french dough starter instead. So, lots of french dough starter in the freezer.

(4) Mon Jun 20 2005 21:29 PST:
I did make pretzels, and they were great but I didn't oil the pan so they stuck. Oh well. One lives, and, occasionally, learns.

I finished the revision on my Cheetah article, and submitted the first draft of my CherryPy article, so now I'm ready for my next overambitious project! Man, this is a big one.

(1) Tue Jun 21 2005 13:30 PST:
There seems to be some interest in a Ruby port of Beautiful Soup, and I'm thinking of doing the port myself. I need to stop being a dilletante and do a good-sized Ruby project, and that's a good place to start. Do any Ruby people read this weblog? Would you like to have this?

Floyd also mentioned that he dabbles in Ruby, so that's one. I am going through the Poignant Guide, which is funny and gonzo and Fafbloggish, and I have a simple question about idiom. I see code like the following, which sets up a block that deals with a single item:

File::open('foo.txt', 'w') do |f|
f << "text"
end

This idiom makes sense when you're iterating over a bunch of items, but why create a new block to deal with a single item? Is it somehow more Rubic (Rubyic?) than the following code, which seems much more straightforward?:

f = File::open('foo.txt', 'w')
f << "text"

Let me know. I'm trying to spare you the details of my mastery of Ruby (and puppets), but this is undoubtedly the first of many questions.

(9) Wed Jun 22 2005 20:42 PST:
I was Google sightseeing (they just put up the first decent-resolution satellite photos of the whole world that I've ever seen) and I noticed something weird in Libya. It looks like the Black Pit of Doom. Now that I've seen it I can find the same feature on other, much larger-scale satellite maps. I'm almost positive it's a real geographical feature and not a picture of a solar eclipse or something, but I can't find any information about it on the web. I tried the geographical name search engine for that latitude and longitude, and nothing it found seemed to match. What is that thing? It's creeping me out.

Wed Jun 22 2005 22:30 PST:
Are your Nethack bones files dull because you always play the exact same character? Sign up for Hearse and it'll deliver other peoples' bizarre bones files straight to the directory in which you put bones files. Other, inferior bones file sharing services put the bones files in inappropriate directories like the current working directory, or /usr/bin/. Not Hearse!

Thu Jun 23 2005 10:37 PSTMy Neighbor Totoro:
Really cute but somehow not a whole lot of substance. The She's Got a Thing for a Spring of movies. But I would watch it again (and I would probably play She's Got a Thing for a Spring again). Some of the more bizarre qualities I exhibit (the stomping around and roaring) I used to think were Godzillan or T-rex-esque, but now I think they might be totoroid.

The DVD we borrowed from the library, which is apparently the only edition available in the US, was dubbed (who knows how well etc.) but supposedly Disney is going to release a subtitled version soon... Hold on, I've just been handed a late-breaking bulletin. It seems Disney won't have enough incentive to release the subtitled version unless copyright is extended another twenty years! Hey, why is this "bulletin" written with letters cut out from magazine headlines?

Thu Jun 23 2005 21:50 PSTThe Man in the White Suit:
We just finished watching this movie and I checked my mail and there was spam Business Cooperation in Textile Products. So he's still at it.

Oh yeah, the movie. Not as funny as The Ladykillers, but a more interesting plot, with several good dramatic moments. The Lavender Hill Mob is now waiting at the library, so our Film Festival of the Long Now proceeds apace, in which we will eventually see all the Ealing comedies starring Alec Guinness.

(1) Fri Jun 24 2005 06:57 PSTDeglazing: Clip 'n' Save:
Brendan doesn't know how to deglaze a pan so he is stymied by my mother's chicken recipe. You deglaze by pouring a cool, flavorful liquid into a hot pan and then quickly scraping off the pan all the burnt bits that stuck to it while you were cooking. The burnt bits and the flavorful liquid will form the basis of a sauce. To deglaze, you usually use one of the three Bs: broth, booze, or lemon juice that somehow starts with a B.

(1) Fri Jun 24 2005 23:07 PSTGame Roundup You Can't Get Out of Your Head:
Lots of Roguelikes and pseudo-RPGs in this Roundup, mainly the luck of
the draw. There were a lot of Pac-man type games, but there were so
many Pac-man type games, more and more of the URLs from my Game
Roundup file turning out to be Pac-man type games, that I decided to
round them all up in a special "Pac-man Type Game Fever" roundup,
forthcoming.

The mini-game Ambassador
of Pain really cleared up a lot of my misconceptions about
diplomatic service. For instance, who knew that international
relations were so much like a snake game, except without the snake?
And how else would I have found out that the major topic of discussion
at summit meetings was pain?

There is not a whole lot to this game, but you can define the
levels with ASCII art, and it has a level in which you must make your
way up the TCP/IP protocol stack. So that's two points in its favor.

Jump n Bump has nothing
to do with arcade classic Bump 'n' Jump, except that both involve
bumps and jumping. You'd think that would be a lot of commonality, but
while in Bump 'n' Jump you were a car and you needed to jump over
obstacles and bump your opponents, in Jump 'n' Bump you are a bunny
and you need to jump onto your opponents (bumping them is also
an option). Multiplayer only. Lots of fun, very polished; a basic carnage game.

Dragon
Hunt is a little Python game of the Final Fantasy genre, written
by the guy who ported all of Kenta Cho's games to Linux. Not very
difficult, but kind of fun. And c'mon, this guy ported Kenta Cho to
Linux. Give him a break and play his game.

crossfire is a
Roguelike I've known about for years but never really tried out,
possibly to avoid a namespace collision with the old IBM game called
Crossfire, covered in an earlier Game Roundup. It's multi-player and semi-real-time, giving it sort of a
Gauntlet feel, which is really nice. What's not so nice is the weird
feel of the tile system. Not sure what's going on there. Also the
interface is kind of awkward: you can tell it's been programmed for
extensibility but not actually extended that much. However it does
have lots of user-contributed maps in its map set; it's like Rocks 'n'
Diamonds, only not overwhelming to the point of aggravation. I
shouldn't have overlooked this game for as long as I did.

Silmar is an updated
Java version of a DOS Roguelike that I remember uploading to Da
Warren. So this guy's been working on the same game idea for over ten
years. You don't see that kind of dedication too often. So how is it?
Well, I took the old version out of mothballs to do a comparison, and
I must say the new version is much nicer. The only feature of the old
version I miss is the enormous number of character classes: the old
version was the only Roguelike I've ever seen that lets you play a
baseball player.

Nowadays Silmar is an interesting Roguelike, pretty tough, with an
IF-like fixation on light management and lots of interesting
non-character-class related features like a spell that bookmarks your
location on a particular level (so you can get back there later). It's
also got abandoned mine shafts that you can't resist poking around
in. You'd think there'd be treasure in there, or a bonus level, but
half the time they're just empty and the other half they contain a
ferocious dragon who comes out and slaughters you. So it's got a real
sort of Lassie "don't poke around abandoned mine shafts" vibe.

RPGD is a
BBS-style game, but I couldn't get signed up with it so I never got to
the point where I figured out if it was like the door games I like
(Wizard's Arena) or the door games I don't like (Legend of the Red
Dragon). I guess I suspected it would be like the latter and I didn't
care enough to sign up for an account. I like the ANSI graphics
though; that brings back the memories.

Widelands was covered in an earlier Game Roundup (the one linked above) and I couldn't figure out what the heck was going on. Now it's been improved, made more usable, and I see that it's an
RTS game after my heart, kind of like SimCity. The focus is on
building roads and structures to gain new types of materials, but
there's still no real indication of what you're going to do with those
materials so it's like playing FreeCiv without any knowledge of what
the tech tree is for. I'll check back in another few months.

I'm also not sure what is it with these games and frame rates. They
seem awfully proud of their frame rates, so much so that it has to
be displayed on the screen at all times. It makes no sense to me.

Sat Jun 25 2005 06:45 PSTEthics:
Sumana pointed this out during the screening of The Man in the White Suit, when the captains of industry are trying to get Alec Guiness to sign away the rights to his idea. Some people don't care about you as a person at all; they'll try to cheat you, walk all over you, trick you, but they won't lie to you. They have to be able to convince themselves they gave you a fair deal. That's why that scene is so great. You don't see that trait in movies much anymore; it's too complicated.

Sat Jun 25 2005 22:13 PSTFraud of the Century:
Not, as would be cooler, "Frog of the Century". Today I went with Sumana and Riana to the Monterey Bay Aquarium. There were awesome jellies and a sea turtle and huge sharks and huge tuna and penguins and bat rays that you could touch (they feel so soft!), but the real reason we went was to see the awesome mola mola (mola mola), king of the open seas. And indeed there was a big tank containing lots of fish and surrounded by drawings of the mola. But there were no molas in the tank! The gift shop had postcards of that tank which distinctly showed two molas, so the molas must have died or gone on vacation and been removed from the exhibit. I bought a poster of the postcard but that was as close as I got to a mola today. Big disappointment.

We did see a guy who works at the aquarium and was a college friend of Pete Peterson II, and the jellies were incredible. They were illuminated from within the tanks, and in one of the tanks you could push a button to turn off the light and see the jellies become nearly invisible.

Coming soon: sea creature nomenclature prescriptivism: exposed!

(1) Sun Jun 26 2005 19:14 PSTGarden Refactoring:
Went to the garden store to get new stuff to replace the stuff that died. I got a big jasmine bush because Sumana really likes jasmine. I also got the Sunset book so I wouldn't have to keep calling my mother with "will this grow?" advice. The Sunset zone system (and the underlying biology) is so complicated; there should really be a big online lookup table.

(1) Mon Jun 27 2005 21:18 PSTJake Berendes BoogaBooga:
A couple days back Jake was in BoogaBooga (nb. obviously this is my goofy nickname, you get the picture). Also, I got a postcard from Jake! He claims to be coming to San Francisco this fall, and demands vegan tiramisu when he gets here. That's going to be tricky since tiramisu contains just about every non-vegan substance known to man, and all extant recipes are full of unimaginative substitutions. But I'll never have to deliver on it because c'mon, Jake Berendes in California? It could never happen.

Also while writing this entry I noticed that there are some MP3s up from Jake's new album, which now that I think of it I should probably buy cause it's not just gonna magically get sent to me. The songs on this album are based on search requests to his website, and in the postcard he says he's looking forward to the album I've barely touched. "Trouble rarely stops but when it does we make our own," he says.

(6) Tue Jun 28 2005 16:06 PSTSo Long, And Thanks For All The Non-Fish:
In high school or college I learned from one or another pedant that you're not supposed to call starfish "starfish"; you're supposed to call them sea stars because they're not fish. Well, they're not stars eithGAH MY EYES! Okay, some of them are stars. Also at some point I learned that octopods used to be called "devilfish". They're not fish either.

When we went to the Monterey Bay aquarium last weekend there was one awesome permanent exhibit with a lot of jellyfish. Also a "The Art of Jellies" exhibit which was pretty gimmicky if you ask me, though it did position a tank of jellyfish in a mirrored room, giving you the impression that they had you surrounded. But apparently the marine biology cartel now wants you to say "jellies" (or, I suppose "sea jellies") instead of "jellyfish", because those things are amazingly not fish.

The only other non-fish with a fishy name I can think of is "cuttlefish". I've never heard anyone saying you should call a cuttlefish something else, but I checked "on the line", as the kids say, and "cuttle" is the hot new name for that beast. How long has this been going on? Did people used to refer to cucumberfish, anenomefish, and urchinfish until someone rewrote the aquarium displays to encourage the biologically correct usage?

In an interesting reverse of this trend, at the aquarium I also noticed that the fish that used to be called a "dolphin" is now called a "dolphinfish". I think chopping "fish" off the names of obvious non-fish is not really worth it, but I'm glad about the "dolphinfish" change because that was really confusing. I'd hear about sport fishermen catching a bazillion dolphin and wonder why nobody was upset about that.

(2) Tue Jun 28 2005 20:33 PST:
Decklin Foster, who seems to have some connection to the Chicago cabal, has written roux. This is a screen-scraper->RSS feed gateway that uses Beautiful Soup, much like Scrape 'N' Feed, but where S'N'F gives you the page and has you write a screen-scraper, roux has you define some suspiciously regexp-looking things that magically reach into the soup and extract the things you want. As Vic Fontaine would say, crazy! Decklin, how does it work?

Tue Jun 28 2005 21:49 PSTDarmonodes’ Elephant:
This has beeen bothering me for a while. In Moby-Dick Melville uses a metaphor that includes "Darmonodes' elephant", known for its antisocial behavior. I didn't know if this Darmonodes character was supposed to be the owner of the elephant or a historian who'd included the elephant in a book of prurient anecdotes or what, so I looked him up and--nothing. The only place he shows up on the web is in copies of Moby-Dick. Did Melville make him up to avoid direct association with the elephant story?

2007 Update: I found this annotation in Google Book Search, in the Northwestern University Press's edition of Moby-Dick (ISBN 0810102684):

Apparently a misreading as the name for the elephant's owner. The editors of the Hendricks House Moby-Dick... point out that it does not occur in Melville's source passages and that its form is an impossible one in Greek. The NN [presumably another edition] editors have no explanation or emendation to offer.

I'm pretty sure Melville made up a dirty story and ascribed it to ancient history.

Wed Jun 29 2005 09:57 PST:
Kevin says: "That's the thing I like about your generation: you never let lack of talent hold you down for long."

(3) Wed Jun 29 2005 15:26 PSTParty Food:
I am having a multipurpose party on Sunday which is partially a birthday party. I'm going to start making food for it so I don't have to make it all on Sunday, and I want to know what you think I should make. I am going to make a whole bunch of pretzels and have various pretzel-dipping substances around, but I want to make other, more substantial stuff too. What?

astroids that will come to earth and destroy it do you have a picture of that

Well? Do you, smart guy?

ingredients to make a real live metroid egg

Not gonna work.

(2) Thu Jun 30 2005 08:02 PSTThe answer to this question is false. T F :
Seth is talking about self-referential aptitude tests, so maybe it's time to tell the story of... the self-referential aptitude test that ripped me off (nb. change to "broke my heart" for inclusion in Readers Digest).

This was in seventh grade algebra. We were given a mimeographed worksheet containing a "test of [our] ability to follow instructions". It had twenty instructions on it to follow. It said "Read this test all the way through before you do anything." So I did. The first instruction said to put your name at the top of the paper. All the rest of the instructions were to write down the answer to various trivia questions, except the last one, which was along the lines of "Stop! Don't write anything on this paper! Just turn it in!"

Ridiculous, I thought. By the time I get to that instruction, I'll have already written all kinds of things on this paper, and there's nothing after it. It's probably a trick to get people to follow the instructions out of order. Anyway, having read the test all the way through, I started on the first instruction. I completed all the instructions until I got to the one that said stop, then I stopped and turned it in.

Well, that wasn't what you were supposed to do. You were supposed to execute the the last instruction before any of the others, and never write anything on your paper. Why should you execute instruction #20 before executing instruction #19? Because #20 looks weird! Geez, Leonard!

I fought it, and lost. At the time I foolishly thought that mine was the only correct solution. But I don't think the worksheet said anything about the order in which you should complete the instructions, so there are actually a large number of correct solutions, including the one the teacher considered correct. So I could have satisfied my own sense of correctness while still getting a good score on the assignment (this was a big dilemma for me in school; it's not so much a factor now that satisfying my own sense of correctness is more closely aligned with doing a good job).

The moral, as always: don't mess with self-reference unless you really know what you're doing. Start by messing with Texas, and work your way up.

EXT. ILLINOIS COUNTRYSIDE - AFTERNOON
GENERAL MCBOMBEM
I just got off the phone with Washington. The
Gravlax is headed towards Chicago. You'd better
pray this device of yours works, doctor.
PROF. TOUCHFEELY
I can't shake the feeling we're making a huge
mistake. We haven't been able to establish
communication with the Gravlax yet. For all
we know its intentions are peaceful.
GENERAL MCBOMBEM
By golly, I won't see the Earth destroyed
just to test out your pet theories! Sergeant,
activate the atom ray!
SERGEANT JONES
Sir, yes sir!
CUT TO:
There is a huge EXPLOSION (STOCK).
EXT. ILLINOIS COUNTRYSIDE - CONTINUING
The area is covered with a fine paste of GRAVLAX.
GENERAL MCBOMBEM
(scraping GRAVLAX off his hat
with one finger)
What _is_ this stuff?
PROF. TOUCHFEELY
(tasting GRAVLAX from his
tie)
It's cured salmon, General. Perfectly harmless.
(wiping GRAVLAX off his suit)
As I suspected, the Gravlax came to this planet
to lend its salty taste to little sandwiches
and other light appetizers. But we were not
ready for it. In our arrogance and blindness we
assumed that because it had a name like
"Gravlax" it had to be some sort of hideous
B-movie monster. Perhaps one day mankind will
learn.
GENERAL MCBOMBEM
It's delicious.
Enter PETE, frantic.
PETE
Doctor, General. I just heard from the lab
in Peoria. That signal the Gravlax sent from
its ship -- it was aimed directly at its
original point of origin.
GENERAL MCBOMBEM
That could only mean...
PROF. TOUCHFEELY
More of them are on the way.
CLOSE ON MCBOMBEM
GENERAL MCBOMBEM
We'll be ready for them.
THE END
...
?

Fri Jul 01 2005 20:15 PST:
Sumana has gotten her wisdom teeth out without complications. She is now resting. Sumana was quoted as saying "Ow!"

Sat Jul 02 2005 09:29 PSTBaffling Interface:
My fridge has an "Energy Saver" mode. The switch has two settings: "Use (Damp Exterior)" and "Save (Normal)". It's on "Use". If I want to save energy, should I switch it to "Save"?

Update:This web page explains what the switch does but only in a tiny clause does it actually explain which setting is which. "Save (Normal)" is the setting I want, unless I start seeing a damp exterior, in which case I should switch to "Use (Damp Exterior)" to get rid of the damp exterior.

Sat Jul 02 2005 22:24 PSTGo Now And Smite The Crudites, Who Have Displeased Me:
Spent the whole day cooking for tomorrow's blowout. Way more people claim to be showing up than I planned for, but I am prepared. Tomorrow I just have to make simple things like the guacamole and the crudite dip. I have decided to pronounce "crudite" like it's the name of an Old Testament tribe.

Sun Jul 03 2005 15:59 PSTSummer Disease:
The party is in progress. I have decided to adopt the consensus pronunciation of "crudite" but to spell it "croup d'eté".

(4) Sun Jul 03 2005 22:27 PST:
The party was a success! I'm tired. According to Seth, Aaron Swipe Swartz has picked up a lively interest in Jake Berendes, so I lent Seth my audiotape copy of Jake's "lost" (ie. not purchasable or downloadable online[0]) album, robot moped dehumidifier, the idea being that Seth can make a copy of it and send it to Aaron. I really wish it were available online; just about every song on that album is great.

Manoj showed up! I'm pretty excited about this. Manoj was on the east coast for a while but he came back here to work for Google. I'm glad because Manoj is the model for a character in a story I'm writing and I want to keep him under close observation.

(2) Mon Jul 04 2005 13:51 PSTUnidentified Stationary Objects #2:
This one's in Iran. Oil slick? Meteor impact crater? Parked alien spacecraft? Another weird volcano? I can't see this one in other sattelite photos so it's more likely to be a transient phenomenon.

(7) Mon Jul 04 2005 21:09 PST:
Today we saw two similar movies, Double Indemnity and The Lavender Hill Mob. Double Indemnity was an amazing movie: original, strong theme, good acting from everybody. One thing I noticed is that Fred MacMurray is basically a more versatile version of Will Ferrell. Try it out sometime and you'll see that every one of Fred MacMurray's roles is one that Will Ferrell would like to have, and you'd think it would be great, but he'd probably mess it up somehow. I'm not a big Will Ferrell fan but watching Fred MacMurray actually makes me feel better about watching Will Ferrell.

The Lavender Hill Mob was okay but definitely the low point of the Alec Guinness comedies from Ealing. I believe we've seen them all now so I can say that. It started losing my interest after the caper was pulled off, and the ending was an interminable Laurel and Hardy-type chase sequence which made me not like the movie. But if I ignore that part it was definitely enjoyable. I was hoping there'd be more of a mob.

(1) Wed Jul 06 2005 21:48 PSTNothing Happens:
I made sourdough soup and I like it (not as much as the one I had at the restaurant) but Sumana doesn't. Tomorrow my mother and Rachel come up. Hoorah! Other than that nothing really interesting is happening here. I thought I came up with the term "social robot", but not even close.

(1) Fri Jul 08 2005 20:49 PSTBad Numerology:
Horrible things have been happening within two days of our birthdays. Yesterday there was the Tube bombing in London, and tomorrow's my birthday. Two days before Rachel's birthday the Madrid bombing happened. And Sumana's birthday is near September 11. I expected that as I got older my birthday would become a grim confrontation with mortality, but I wasn't expecting it to start so quickly.

In non-awful news, my mother and Rachel are here, and today we went to 826 Valencia.

(4) Sat Jul 09 2005 22:24 PST:
Went to a Giants game today with my mother, uncle, Sumana, etc. It was surprisingly fun. It certainly went a lot faster than the last time I saw a major league baseball game (approx. 18 years ago), but maybe subjective time just goes faster now.

Sun Jul 10 2005 21:42 PST:
Doing all right. I have a big project (more on this later) and I didn't get much done on it earlier this weekend because of the birthday celebrations, but I made significant progress this evening. Sorry for not posting much interesting, but maybe you'll enjoy some Epigrams in Programming.

Mon Jul 11 2005 21:30 PSTForeign Policy:
The new beat by Jake Berendes hails back in its lo-fi splendor and Internet pranksterism to his early days with crupper scupper supper upper and the flupperdupper maleatora. His previous solo albums (including his debut, <simulated wood grain vinyl>, which I only recently remembered about) showed him on a clear trajectory into a black hole constructed of samples pasted together on a cosmic Macintosh.

But Foreign Policy demonstrates Jake and his guitar and the rain alone in his bedroom and not even sounding as high-quality as stuff I've done that people ribbed me about afterwards. Leading me to believe that these seemingly artless recordings are actually microsecond samples of ambient noise, twisted into an approximation of the Berendan vocal cords like the Guns 'n' Roses Self-Similar Midi Synth. Just as the song lyrics have been constructed from the shattered hopes of people who asked the web for something and got Jake Berendes instead. Each song fulfils a search request while giving the listener the feeling that they have failed to find something.

Songs to watch out for as they climb the pop charts: "jla dreamer", "history of sour candy", "old lamborghinis", and the Matthew Barney-esque "synchromaids".

(1) Tue Jul 12 2005 11:43 PSTName Popularity Edge Cases:
I know where to go to find statistics on the popularity of the names people choose when they name their children. Where would I go to find statistics on the popularity of the names people choose when they change their own names?

Thu Jul 14 2005 09:42 PST:
Found from the Project Gutenberg feed: The Pursuit of the House-Boat is an early piece of fan fiction starring the ghosts of various historical and fictional characters.
It is little better than a hypothetical Hanna-Barbera cartoon dealing with the same subject, but
the clever part is that it features Sherlock Holmes, freshly dead from his trip over Reichenbach Falls.

The author figured that since Conan Doyle was sick of using the Holmes character, he could just steal it and use it in his own works (I wonder if you could use Holmes this way today.) But then the story's canonality was invalidated when Conan Doyle started writing Holmes stories again, claiming that Holmes didn't actually die. Retcon is a cruel mistress.

“‘DR. JOHNSON’S POINT IS WELL TAKEN’”
“‘WHAT HAS ALL THIS GOT TO DO WITH THE QUESTION?’”
“POOR OLD BOSWELL WAS PUSHED OVERBOARD”
“THE STRANGER DREW FORTH A BUNDLE OF BUSINESS CARDS”
“THREE ROUSING CHEERS, LED BY HAMLET, WERE GIVEN”

(1) Tue Jul 19 2005 14:30 PST:
There must be something interesting you could do with this list of each day's registered .com domains. Did you know that 149,161 new .com domains were registered yesterday? Most of them are just sitting there as search engine bait; in fact, a lot of them look to have been registered automatically from search requests.

Update: I ego-grepped the domain list and found "leonardispizza". Who dares claim that I am pizza? A search engine bait domain, that's who.

(8) Tue Jul 19 2005 19:46 PSTBeginning Python:
More thrilling (for me) than the wait for Half-Blood Prince: my book comes out on Friday. In celebration I'm experimenting with shameless marketing on my home page, similar to how Ted Leung advertises his book, but with the lousy page design you've come to know and know from crummy.com. I really, really hope that that cover is not the actual cover they went and printed, because my picture on that cover makes me look like the biggest freak in the world. Worse than my passport photo. I sent them another picture, but who knows what goes on in these publishing companies. Anyway, buy the book, if only to embarrass me.

Wed Jul 20 2005 13:07 PSTNon-Life On Other Planets:
Really great APOD today, and of course moon maps. Turns out the moon is not nearly as interesting as the Earth. Should be fun fodder for Paolo's Games on Google Maps list. You know, Google Maps has totally rehabilitated Javascript. People (inc. me if I weren't busy) are falling all over themselves to write stuff in this primitive and previously shunned programming language.

Wed Jul 20 2005 14:49 PST:
I wanted to call our pirate ship the S.S. Mutiny. Kevin disagreed. I pointed out that whenever we made a raid, it would be bounty on the Mutiny. Kevin was not as impressed by this as I felt he should have been.

(8) Thu Jul 21 2005 20:55 PSTThe Spice Trade:
I bought a bunch of spices a while back. I bought a bunch of spices. I didn't figure the weights correctly so I've got enough sage, dried parsley, cloves, etc. to last for years. So if you want some spices, let me know when you're at my house and I'll give you some.

Among my spices are many whole spices which I figured I would grind as needed to make them last longer. This has not worked out very well because I have found no good way to grind spices in small amounts. I got a tiny coffee grinder because that's what Alton Brown recommended, but you have to fill it to the top with spices to get a good grind, which defeats the purpose. Should I just buy a mortar and pestle?

(4) Sun Jul 24 2005 14:47 PSTWaffle Iron Panini:
Riana came over and I made tomato soup for lunch. I planned to make grilled cheese sandwiches too. Sumana suggested the idea of grilling the sandwiches in the waffle iron. It worked out really well. Some waffle irons let you switch out the places for a special panini plate, but why bother? It works just as well with a regular waffle iron and it looks a lot more interesting.

(1) Mon Jul 25 2005 09:18 PSTRubyful Soup:
I should have done this yesterday because I don't have time to go into a lot of detail this morning, but I want to get some feedback before I go on the dinosaur hunt. I've ported Beautiful Soup to Ruby. It's not terribly useful yet because it's based on the standard library parser in Ruby, which throws exceptions when it encounters bad markup, but it's getting there. Try it out and let me know what you think.

(2) Tue Jul 26 2005 14:06 PSTThings To Do In Alberta When You're Not Dead:
We have an extra day in our dinosaur hunt trip. We are going to go to the Museum of the Rockies in Bozeman, and the Dinosaur Provincial Park in Alberta, and the Head Smashed In Buffalo Jump of previous NYCB fame, and the Glacier National park. What else should we do in that general area (we can't really go camping)? Should we stay at one of those Olde Tyme Cowboy Lodges and eat chuckwagon food?

Wed Jul 27 2005 22:16 PSTBuddy Holly Is Alive and Well on Ganymede:
This is a great book. I say this because I really identify with the author. It's exactly the sort of book I would like to write, full of excitement and humor and chases and really weird stuff that doesn't let up. The writing style reminds me of Gordon Korman. Highly recommended and (like all the books Susanna tried to buy for me for my birthday) out of print.

(1) Fri Jul 29 2005 08:00 PSTLocal Boy Makes Good:
When I ran a BBS, back in the 90s when everything was fresh and new, I had a caller named Gabriel Koerner. Gabe came to our sparsely-populated get-togethers and contributed on the message boards, which made him a dedicated caller in those days of higher standards for user interaction (whereas now a dedicated weblog reader is someone who subscribes to the RSS feed and occasionally leaves a comment).

Gabe Koerner was kind of odd, but my BBS was geared towards people who were kind of odd, so he fit right in. He was a big Star Trek nut, but so was I. "Ah," you might say, trying to look for the essential difference between him and me. "But Gabe was in fact such a Star Trek nut that he wrote fanfic Star Trek parodies." Which is also what I did. I thought Gabe was annoying sometimes, and that his Star Trek parodies were somewhat derivative of mine, but it's obvious in retrospect that I was also annoying at that age, and forensic analysis would reveal my own Star Trek parodies to be somewhat derivative of Robert I. Brayer's. So I don't think there was really any qualitative difference between my dysfunction and Gabe's.

However, my dysfunction remained mostly unnoticed in those pre-web days and even now manifests itself only on this obscure weblog, whereas Gabe's was captured on film in the hit independent film Trekkies, a film about Star Trek geeks and their awkward differences from consensus society. I haven't seen the movie but here's how Gabe describes himself on screen: "[S]o snyde [sic], so condescending and unappreciative. So damned whiny and anal retentive." Not a good foot to put forward.

Over the years I sometimes heard discussion of Trekkies, and Gabriel Koerner was always mentioned as the film's pinnacle of hopeless geekdom. Now, when you say that kind of thing about someone who used to call my BBS, it's like saying it about a member of my family, albeit a member of my family so distantly removed by blood that I probably don't really do anything about your saying it. Anyway, what could I say? The common Trekkies-derived perception of Gabe was not wholly incompatible with Gabe as I knew him; I just felt it was in bad taste to make a documentary about it.

But it turns out that Gabe doesn't need any lame "put up your dukes!" type defense from me, because he has managed to parlay his geekdom and his appearance in Trekkies (not to mention Trekkies II, which I think they missed a golden opportunity to tack a The Wrath Of onto the title) into a series of gigs making CGI models for science fiction TV shows and movies. He worked on the last two episodes of Enterprise (in fact, I think he was just about the only good thing about the last episode), and on the Serenity movie, and he's working on the Battlestar Galactica remake that's taking up 15 hours of my TiVo space. So without selling out to consensus society Gabe has made a place for himself. Here's his weblog where he posts occasional notes about his projects.

Once again Danny O'Brien's advice proves its worth. In fact, I think it needs to be given its own name for easier reference. Ideally something like "The O'Brien Heuristic" that sounds like a Star Trek reference in its own right.

The other day I got mail from Gabe letting me know that he and the rest of the Battlestar Galactica effects team are up for an Emmy. He has made me want to watch (part of) an awards show, something that has never happened before. Good luck, Gabe.

Fri Jul 29 2005 08:32 PSTBanned Books That Are Lousy:
The subtext of some lists of banned books is that these books are inherently worth reading because someone doesn't want you to read them. Otherwise bookstores wouldn't have special displays and sales on the banned books. But it needs to be said and I'll say it: some of these books are just plain lousy.

For instance, Catcher in the Rye. Boringest goddamned book I ever read. I also really hated Bless Me, Ultima, but that might have been because I was forced to read it in high school. The Goosebumps series: pure fluff. Etcetera. It would be useful if the book-banners consistently banned only stuff like Huckleberry Finn and A Wrinkle In Time, because then we could use their reactions as an oracle for literary quality, but unfortunately that doesn't work.

(3) Tue Aug 09 2005 15:35 PST:
My second developerWorks article, on the Cheetah templating language, is now published. What's more, I'm actually getting paid for these articles! (Once I set up direct deposit with my agent.) This is an intriguing development because I still haven't seen one cent of my advance for the book, or even the paltry sum I've earned so far in Amazon referral commissions.

(4) Tue Aug 09 2005 16:44 PST:
One interesting feature of this list of recipes is that they have you sauteing things in vegetable broth instead of oil or fat. Does that work? If so, how do you use up vegetable broth a tablespoon at a time without it going bad? Freeze it into ice cubes?

(2) Tue Aug 09 2005 17:34 PSTAttack of the Killer Information:
Vacations are good for reading; I took 5 books with me and read all of them plus two of the three I bought while on the vacation. Among these books I re-read (and finished this time) Snow Crash. It didn't bother me nearly as much as the first time I tried to read it. Because the book itself hasn't changed (NOT ONE WORD HAS BEEN OMITTED), and because outside events since then have not made the book look more realistic, the change is entirely due to my mental processes.

First, between my previous reading and now I have read approx. 2 million words of Neal Stephenson's other writing, and found it pretty good, so I'm better disposed to the book now. Second, I was probably in a cranky mood when I read it the first time, because I was camping out in Peter Hodgson's abandoned office at UCLA (a somewhat Snow Crash thing to do, now that I think about it) and that always felt weird to me.

Most importantly, thanks to a Crummy reader whose email I can't find, I now realize that Snow Crash is obviously a freaking satire, you dolt. It makes mock of the politics and the science fiction of the 1980s. It does not subscribe to your Earth notions of sci-fi plausibility because that would wrench it out of the Comedy Universe. My loyal reader drove this point home with some scathing commnent like "'Admiral Jim's National Security'? Come on!", which was of course absolutely correct. Seriously, when I read this person's email it was like when the Metallica parody song I wrote actually convinced Adam that Metallica is a pretentious band whose lyrics are foolish, and he stopped being a big Metallica fan. Words actually changed my mind, a feat rarely recorded in the annals of human endeavor. I realized I had to give Snow Crash another chance.

When approached in this light I found Snow Crash very good and funny and full of cute touches just like everyone says, with my previous complaints rendered mostly moot. It does not matter that it describes an utterly pointless computer network, because its pointlessness is the pointlessness of VRML. It does not matter that it describes an unworkable political metasystem, because its unworkability is the unworkability of the Declaration of Independence of Cyberspace. The problem with the computer network was almost certainly unintentional but the political incongruity is the basis of the book's humor: that having lost the concept of the state, its characters create little cargo cult states out of for-profit corporations. It's funny and it demonstrates a point: that's satire.

The problem, and sorry that once again my analysis cleaves so closely to the utterly conventional, is the ending. In an amazing twist, the ending is the problem here even though I actually liked the ending! I found it the strongest and most satisfying of all the Stephenson endings except maybe the ending to Quicksilver (Zodiac's ending was perfectly fine, but Zodiac has a pretty short reach for a Stephenson novel). The problem is that the rest of the book sets up high-stakes stuff that should be handled by the ending but ends up ignored, like the final mines in an abandoned game of Minesweeper.

To wit: Snow Crash posits a previously undiscovered facet of human nature which is interesting and disturbing (probably also totally implausible, I wouldn't know), but its last act focuses on blowing things up and exploring motivation and getting the main characters out of the scrapes they're in. Which is great but what about the aftermath of this disturbing revelation? It's as though a Lovecraft story ended with the guy barely getting away from Yog-Sothoth or whatever, and then going back to Massachussets and resuming his math fellowship at the university, shaken by his experience but perfectly sane. What about the stars, man? The wheeling, uncaring stars? It is not covered in this story.

So if I may add one more unwelcome two-cent piece to the teetering pile of Stephenson ending analysis, I'd say you've got your choice of two Stephenson endings: "something new and amazing is about to enter the world, but the book is over now", and "something new and amazing has entered the world, but it shouldn't have any ongoing repercussions and fortunately none of the main characters were hurt". With The System of the World you get both endings simultaneously, which if you ask me is real value.

This theory is IMO the first to explain how these endings that so many people complain about, especially endings of the first type, can hold a visceral appeal to the author himself. Infinite Jest has a similar ending (and also similar satire; I read my old Snow Crash rant and it's like someone complaining that Subsidized Time won't work or raise enough money). It sets up the main characters to collide in a climactic scene, but omits the climactic scene. However it does start out with a scene taking place after the climactic scene, just to prove the author isn't cheating, which I think saved David Foster Wallace a lot of fanboy grief.

(2) Wed Aug 10 2005 10:09 PSTHow I Spent My Summer Vacation:
Just a list of things I want to talk about, so I don't forget. More information in additional NYCB entries available on request. Also available not on request but it'll take longer.

Bozeman: downtown, the co-op

Museum of the Rockies

Tiny dinosaur egg museum in the other half of a municipal building

Lethbridge: town built on a huge gulch

Brooks: town of boredom

Canadian Safeway

Dinosaur Provincial Park and badlands

Drumheller: town of tourist traps

World's Largest (statue of) Dinosaur tourist trap

Reptile World tourist trap

Royal Tyrell Museum

Downtown Drumheller and co-op

Vulcan

Cardston

Glacier National Park

Butte

Eagles cover band

Yellowstone National Park

Cody

Freelance antique museums as ways of getting your junk collection out of the house

"If a man has a title of his own, he should be addressed as Dr. Michael Wilma." Even if that's not his name.

Update: I also like what it did to the part of this entry where I quote its output.

Wed Aug 10 2005 14:11 PST:
A clickolinko mention made me go check out Brandon Bird again (I thought I bruised him before, but my archives say no). He does really good pop paintings in a variety of styles. And he keeps putting them out; the best of the new crop is The Death of Jennifer Sisko, which I would love a print of (see also previous, more understated, DS9-themed work The Lesson of the Geese). If I could afford it I'd commission Brandon Bird to do my "First pirate on the moon" painting, but as it is I'm stuck haggling with Kevin's cheapskate artist friend.

Wed Aug 10 2005 20:09 PST:
Thank you, Lazyweb, for coming up with stuff I really had no interest in writing or even using, yet felt that it should exist: Dancing Monkeys analyzes MP3 files and generates Dance Dance Revolution step files for them. The end.

(2) Thu Aug 11 2005 15:12 PSTThey Want The Crust From Your Sandwich:
A bunch of old Audubon paintings (lithographs?) of birds at the online edition of Birds of America. Our vacation saw an insane amount of dinosaur-throwback behavior on the part of birds, though maybe we were just looking for it.

Also, continuing the trend of "museums try to get you to change your terminology", the Museum of the Rockies tried to get us to call birds "avian dinosaurs" and regular dinosaurs "non-avian dinosaurs". This may have made sense at one time but the time was 65 million years ago. If that terminology catches on, I demand to be referred to as a "mammalian cynodont", or "Roy Dalton Richardson Leonard Dalton Richardson".

(8) Sun Aug 14 2005 08:20 PSTUnicode Roguelikes:
Recently I saw signs that the bounty of Unicode characters is about to break into the world of roguelike games. Exhibit 1: Jean-Paul Calderone's primitive roguelike-looking game which endlessly recreates the boring "maze" levels of Nethack, but with Unicode monsters like the fearsome FISHEYE and VERY MUCH LESS-THAN. I tell ya, with Unicode you don't even have to come up with monster names. Just use the real character names.

More interesting (in fact, insanely addictive) as a game is chessrogue, in which the monsters move (and, if you have a Unicode terminal, look) like chess pieces. It actually feels a lot more like those "escape the robots" games than a Roguelike. Anyway, in chessrogue you have the Mega-Man like ability to acquire the powers of the pieces you capture. Unfortunately this is nothing beside your amazing power to screw up and get eaten by a pawn just when everything was going so well. There are no hit points or combat, no "The pawn hits!". You just get captured, like in chess, and the game is over.

When will Unicode start showing up in more Roguelikes? Some might say that the plethora of Unicode characters would make games hard to navigate, but I say bah. Lots of people play Roguelikes with little 16x16 bitmaps instead of ASCII characters. Now, there are 256^256 possible 256-color 16x16 bitmaps, a number so large that NYCB style guide forbids it from being spelled out here, but there are only 95,156 graphical Unicode characters. So it should actually be much easier to play a Roguelike with Unicode characters than with bitmaps.

After all this Unicode mania I started thinking about Unicode art. Surely this medium would be the annointed, universally accessible successor to ASCII art. But the Unicode art gallery has only three things in it, none of them very impressive. Is it the very limitations of the ASCII form that keep its practitioners penned within its 95 printable characters? Will the same prove true for Roguelikes?

(1) Mon Aug 15 2005 21:42 PST:
I am getting over a cold. But, a couple days ago I went to a party at Marc Canter's house and I hung out with Phillip Pearson, and it was really fun. We did the geeks-meeting thing where we talk about our projects and obsessions, and the people-from-different-countries-meeting thing where we compare and contrast our countries. It brought up a funny Canada anecdote which I should share with you, my readers (you'll get these anecdotes out of me eventually).

At the Tyrell Museum they had one of those stretched-penny machines to which my mother is addicted. It was imported from the US, and the coin mechanism had been modified to accept Canadian quarters. But it had not been modified to smash Canadian pennies! Because 1) that would be too hard, and 2) it is apparently illegal to smash Canadian pennies in Canada, unlike with American pennies where it just looks illegal because of the strenous disclaimers that tell you it is in fact legal.

So how does this machine work? Well, the museum keeps around a little dish of American pennies just so you can smash them into souvenirs. This kind defeats the purpose of these machines in the first place, since the idea is that you can get a souvenir out of stuff already in your pocket.

Tue Aug 16 2005 14:06 PSTBattle of the Zoos:
Is the Oakland zoo better than than the San Francisco zoo? I've never been to the former.

(2) Tue Aug 16 2005 20:48 PSTTalking Shop:
del.icio.us has a recommendation engine now. Looking at the results it gives, I think I can guess at its inner workings. It feels a lot like the "related pages" you can get from a Google search, which makes sense because it's got a lot of the same constraints: it needs to give recommendations given a URL or a small number of URLs, and it doesn't have a way of keeping any recommendation feedback. Like the Google recommendations, it could use a good dose of the Indie Rock Peter Principle; many results it gives me just because they've been bookmarked by thousands of people and are somewhere near this URL in the graph. The IRPP can be applied without introducing a per-user scaling factor, unlike a lot of other ways of improving recommendations.

I just know I'm gonna turn into one of those crotchety computer geezers who had an idea back in 1972 and spends their whole life complaining that nobody Gets It.

(1) Tue Aug 16 2005 20:52 PST:
CherryPy for CGI Programmers, my third DeveloperWorks article, is published. I didn't get a chance to go through it for last-minute errors because I was coughing up blood--the blood of being incredibly lazy! So now I'm afraid to look at it.

Incidentally, if you want to make money writing, articles are where the money is at, not books. I made about 75% of my Python book advance writing those three articles, and it took me about 10% of the time. Plus my book advance still only exists in potentia, whereas I've already gotten and spent my article money.

Not feelin' good. Not gonna take it out on you.

(3) Wed Aug 17 2005 22:08 PSTMarch of the Penguins:
This is a great movie. Very beautiful. However I think the narration anthropomorphized the penguins too much.

Thu Aug 18 2005 20:16 PST:
Rubyful Soup is now usable. I did a lot more work adopting it to the Ruby idioms, but more importantly I hacked the REXML parser to ignore the most common case of bletchitude (wrong tag closing order).

Sun Aug 21 2005 21:06 PSTThe Futurist Cookbook:
I found this at the Fort Mason bookstore, which was lucky because I thought I'd have to special order it for an exorbitant fee. It's a combination art manifesto and cookbook. There are a bunch of rants against pasta, and then some sample dinners which are actually short-short stories, and then just when you think there will be no recipes there are recipes for the rest of the book.

After reading this book the main thing about Futurism I find interesting is the obsession with airplanes. People call themselves aeropainters and aeropoets. The Futurist Cookbook tells you to make aerofood, and to bake bread into the shape of airplanes, and names the dishes of a dinner after the stages of an airplane flight ("Taste Buds Take Off", anyone?). It reminded me a lot of contemporary artists who are obsessed with the Internet. The airplane stuff was kind of cargo cult and distracting from the real point of Futurism, which is actually good because as far as I can tell the real point is fascism. Good aesthetics (modulo airplane obsession), lousy politics.

My mother read the cookbook while she was here and deemed it "crazy". It is pretty crazy, but it seems to mark the first time food was treated primarily as an artistic statement (it's hard for me to pin down exactly what happened here for the first time because of all the stuff that went on in antiquity and medieval times, but it seems like something happened here for the first time). There were some recipes with great names like "Network in the Sky" (possibly interoperating with the Mashed Potato Cloud), and a recipe for risotto balls that sounds really good. Also it had the following anecdote:

The time set for sitting down at table had already passed and no one said anything about getting thie Lucullan feast underway. I got up to ...

— Look, my dear friend, in being late even you are passéists; I thought the Futurists, if only to do something new, would have started early but instead there's the usual boring wait just like at all the banquets in this bourgeois world.

He looks at me and smiles ironically — to eat in the future ... what's more Futurist than that?

(2) Sun Aug 21 2005 21:29 PSTDesk Set:
Sumana borrowed this movie from the library. It's pretty funny and it has great corporate set design and booze-drenched office Christmas parties like The Apartment. The acting is good; you don't get good snort-laughing from today's top actresses the way you got with Katherine Hepburn. The whole story is an object lesson in not making really stupid design decisions, which got kind of frustrating. The romance seems kind of tacked on. Sumana watched the DVD commentary and reported that in the original play, there was no romance and it was a Man in the White Suit sort of comedy.

Incidentally, has anyone noticed that Kate Mulgrew really likes to play characters also named Kate? She's playing Katherine Hepburn live at some local theater, she played Kathryn Janeway of course, she played a Kate Columbo in an old mystery series, and I think there was another mystery series that only had a pilot where she played another Kate. It is odd.

Speaking of marketing, to raise some extra scratch I've been forced to accept advertising in the Starslip Crisis RSS feed. Some might say, "Hey, shouldn't Kris be getting the money from that?", but those people don't recall that time in college when I lent Kris an infinite amount of money.

(1) Tue Aug 23 2005 21:29 PSTAnd That's How You Narrate A Documentary:
I may have been too hard on the narration of March of the Penguins. I'm slowly making my way through a Discovery Channel documentary I Tivoed and its narration is just ridiculous, full of bombast and unnecessary verbiage and what Mark Twain called the right word's second cousin. In fact that's why I Tivoed it, because I couldn't resist the title "What Killed The Mega Beasts?"

Outside of this documentary, mega beasts are known as megafauna, but clunky CGI renditions of the wolly mammoth and the buckeye giant beaver demand a clunky partial translation into English. Everything must be MEGA in this world of 64-ounce colas and ever-larger computers. Uh, computer monitors.

Quotes from the program so far, from memory:

"The mega beasts were united by only one thing: their size."

"Eleven thousand years ago, these wooly mammoths suffered a mysterious fate: total extinction."

"...not realizing that they, too, were about to become the hunted."

"Humans had both opportunity and motive for megabeast extermination." Yes, the butler, who I'm convinced, first
gored the Colonel to death before trampling him to smithereens.

"McPhee's disease theory sounded plausible, but it lacked one crucial element: evidence. ... Perhaps the beasts of Monster Beach could give it to him."

I love how often a line of narration in this documentary has the structure of a joke, and is funny, but is not actually a joke.

Wed Aug 24 2005 09:15 PST:
I got phishing spam from "Wells Falgo". I think I am being spammed by the lisping kid from "The Music Man".

(4) Wed Aug 24 2005 20:47 PSTThe Five Obstructions:
I'd never heard of this movie or the other one but Sumana rented it and it was pretty good. A filmmaker holds his idol captive and compels him to do remakes of his 1967 film The Perfect Human, subject to arbitrary and ridiculous restrictions. It's got a real Bond villain feel to it in parts.

Most of the remakes are good (esp. the first one, which has the most arbitrary restrictions) but like all remakes not as good as the original, which is an extra on the DVD and is really amazing. You know who would really enjoy The Perfect Human is Kris. Kris, check it out and see if I lie.

(6) Thu Aug 25 2005 21:28 PSTOakland Zoo:
To answer my own question from earlier I went to the Oakland Zoo with Rachel. The SF zoo has more animals, but in general the animals at the Oakland zoo have better habitats, and it's sunnier. The primate cages at the Oakland zoo are much bigger and have more stuff. I wouldn't want to live in them, but I would if I were a squirrel monkey. (Last time I went to the SF zoo they were doing something to the monkey cages, so hopefully those will be better soon.) The fancy new habitats in SF (the savannah and the lemur habitat) are much better than their counterparts in Oakland.

Animal battle: the Oakland zoo has bats, elephants, alligators, and enormous tortoises. The SF zoo has kangaroos, gorillas, lemurs, and an anteater. The Oakland zoo has a really heavy emphasis on Africa and (to a lesser extent) southeast Asia; the SF zoo has animals from all over.

I don't think I'd ever seen a bat close up before; they're really odd creatures. I had seen approximately 12 million bats fly out of Carlsbad at eventime, but you don't get a good look at any particular bat when that happens. I bought a stuffed bat to hang from the ceiling along with my stuffed pterodactyl.

Number of dumb "Foo at the Zoo" jokes on a single notice board: 3. ("New", "Boo", and "Brew" (?!))

Fri Aug 26 2005 21:24 PSTPrimer:
You can tell that this is one of those weeks when we borrow a bunch of movies from the library. I watched Primer by myself because Sumana doubted she would like it. I think she probably wouldn't have liked it. The plot is insanely complicated, which I found refreshing, but there's just one plot and on an emotional level it's pretty simple. There were enough technical twists to keep me interested, but I can see how someone else would just give up.

The DVD cover said the movie was rated PG-13 for "brief language", but then the DVD itself said the movie was rated R for the same reason, but if there was any "language" it was so "brief" that I didn't notice it. There's a lot of crosstalk in that movie.

Oh, at one point I paused the DVD and used the zoom feature to get a closer look at a detail. Then I forgot I'd done that and watched the rest of the movie in a zoomed state, never noticing that about 1/4 of the screen space was missing until the end when the credits were chopped off. It's got that kind of cinematography.

(1) Sat Aug 27 2005 22:55 PSTI Stole Zack's Stuff:
Specifically, some books, and a tool chest. (Zack is moving to San Diego and doesn't want this stuff). We also played a fun Cheapass game called The Big Idea, which is kind of like Kevan's Prior Art-O-Matic... but with a card-matching interactive component! I triumphed with my "Beer Cow", a surefire hit at Midwestern university fraternity parties. It gives beer, and by the time it's empty, you're drunk enough to have a good time tipping it over.

(1) Sun Aug 28 2005 20:44 PST:
Rubyful Soup is basically ready. I just need to add in some of the other stuff of the Python version. The parser is now based on a port of Python's SGMLLib parser, which means the main problem (choking on bad XML) is now gone. In fact it handles bad XML better than the Python version.

I made deep-dish pizza in the cast-iron skillet and it was pretty good. I also made brownies with this egg/fat substitute made from prunes and they were quite acceptable, though not as good as other brownies I've made (Sumana disagrees; she says they're great). Also she says I should keep my cell phone on.

(4) Tue Aug 30 2005 23:02 PSTThe Fall and Rise of Reginald Perrin:
This is one of a block of British sitcoms that the San Mateo (?) public television station likes to show on Sundays. I really don't see what is great about the majority of British sitcoms shown on public television (eg. "As Time Goes By", which as far as I can tell doesn't even have any jokes in it) but this one is wonderful. It has a wide variety of types of humor, it's extremely plot-arc-driven, and it has a view of human nature that holds up well over the years. I recommend it.

(2) Wed Aug 31 2005 21:23 PST:
Ah, you're just in time to see me test my panspermia cannon. Stand back! Only seasoned professionals dare approach this potent geothermal-powered device! As a professional screenwriter and lifelong extropian I am uniquely qualified to build and operate and take the credit for this machine. Back, I say!

First, the apple test. Bang! As you can see, I have fulfilled mankind's eons-long dream of accelerating apples to escape velocity. With luck, that apple will land on a foreign planet and take root there. This device makes me the Johnny Appleseed of the cosmos!

Now, the plum. The cannon is now aimed directly at Mars. The Martian terraforming process begins now, with this plum! Bang!

What is it now? It seems my overzealous assistant, Behemoth Radix, has loaded the panspermia cannon with marshmallows. You fool! Marshmallows are not the seed of interplanetary life! Except perhaps in the ammonia clouds of certain gas giants... yes, yes. Behemoth, your progress astounds me. Let the cosmos be filled with gaseous marshmallow balloon-creatures! Bang!

What? Who dares disturb my demonstration export of picturesque Earth life to the universe? Ah, General, your question please. Yes, I suppose it could be used as a weapon, if the enemy lived on other planets, and if more than anything they hated having fresh fruit delivered through space to their door. I find your obsession with militarizing each of my inventions disturbing, to be honest. First it was my "fun bomb", which you thought could be modified to deploy munitions other than fun. Then, your ludicrous plan for my top-secret stealth glider. Frankly, your naivete astounds me. But keep those checks coming!

Thu Sep 01 2005 22:43 PST:
Sumana started talking about a boring ergonomics lecture which was so boring that the Powerpoint slides had been printed out in advance and given as notes. Presentation slides do not serve the same purpose as notes, but they're close enough for these purposes I guess. Sumana had not seen this lecture but suspected that it was the kind of presentation where etymology was deployed as an offensive weapon.

"Ergonomics is a Latin word," said I, kicking off this putative lecture. "It derives from 'ergo', 'therefore', and 'nomics', 'self-modifying games'. Therefore, self-modifying games. You may ask yourself, what does any of this have to do with ergonomics as practiced today? And you may ask yourself, where is that large automobile? And you may say to yourself, this is not my beautiful house!" Etc.

Sumana asked me to write about this so there would be a NYCB entry today. I have been writing all day already and the world is coming to an end, so I'm not in a writing mood at this moment, but the writing is done now.

(6) Sat Sep 03 2005 23:10 PSTMarket Research:
If I were to write even more about food than I already do, what kind of stuff would y'all be interested in?

(5) Sun Sep 04 2005 23:39 PSTFamous Last Wor...:
I've heard about the "last, unfinished work" of various writers and composers. The piece they were working on when they died. But I've got a monotonically increasing number of "pieces" I'm working on, and I don't see that ever changing. When I die I'm going to leave behind dozens or hundreds of unfinished works. I just now noticed this discrepancy, which seems like a moderately huge one. Is this what actually happened for Bach, Schubert, et al.? Is the idea of the one unfinished work just a romanticization and simplification? Or am I just really disorganized and undisciplined?

I think there needs to be a B-movie with that title. Do they even make B-movies anymore? It doesn't seem like it. The movie business has gotten too complicated and unmaneuverable, just like everything else.

Tue Sep 06 2005 20:27 PSTAttack of the the Moon Illusion:
I had this stupid hypothesis about the cause of the famous moon illusion, but when I did a search for a page to which to link "moon illusion" I found The Moon Illusion Explained, which blew my hypothesis out of the water. That page posits a hypothesis that, while much more complicated, is also less vague and has facts to back it up. I find it satisfyingly analagous to explanations of the Monty Hall paradox, in the way it supposes your brain confuses two different concepts (in this case, linear size and angular size). Bizarre tidbit:

Interestingly, Ross and Plug (2002) cite many old reports that people (including some scientists) had said the moon looked only about 10 to 30 centimeters in diameter!

This gives me a great idea: the Special Edition Collector's Moon! This limited edition miniature silver-plated copy of the moon is the perfect tribute to your own haphazard spending habits. Act now, and 5% of the profits will join the other 95% of the profits in my checking account.

(5) Wed Sep 07 2005 13:55 PSTWord Problems That Turn Out Not To Be That Interesting II:
I noticed that the word "begin" has letters that are pretty evenly spaced, or at least they look evenly spaced if you have teeth as bad as mine used to be. B is letter 2, E is letter 5 (+3), G is letter 7 (+2), I is letter 9 (+2), N is letter 14 (+5). I wondered if there were any words (of more than two letters) whose letters were precisely spaced. This is the kind of thing I think about, as you'll recall if you remember the days of The Arbitrary Text Code.

So I wrote a little Ruby script to run against the word list I use for the Eater of Meaning, and it turns out there are such words! But they all have only three letters. Here they are, minus a proper name ("Stu", skip=1).

ace (skip=2)

din (skip=5)

fed (skip=-1)

fox (skip=9)

gnu (skip=7)

jot (skip=5)

I changed it to allow one index of slop and it found a bunch of four-letter words plus "accede" and "deeded". So not terribly interesting. I was hoping to get one really interesting solution like "nowhere/abjurer" or "terra/green" from the rot13 puzzle, so that I could say "what common English word..." like on Weekend Edition, but it is not to be. The vowels are spaced too close together. In the field of two-letter words, though, it is kind of interesting that "me" has skip=-8 and "mu" has skip=+8.

(7) Fri Sep 09 2005 22:01 PST:
In Bakersfield for Susanna's birthday. (It's also Sumana's birthday! Happy birthday! Incidentally I saw a fan of Sumana's on the freeway: the license plate said I LUV CES). Tomorrow I go down to LA to hang out with Adam and Kris, and for the first time in about ten years, Gabriel Koerner, who the New York Times once called "Gabriel Koerner", and then referred to on subsequent reference as "Mr. Koerner". Don't thank them; they're just following their style guide.

Hey, you know how you're supposed to start stories in the middle? I thought I was starting my story in the middle, but it's actually pretty close to the end, and I never noticed this basic fact until today. I've never been a fan of stories told almost entirely in flashback, like "As he wrote the end of this sentence, he thought about what life had been like when he'd first started writing this sentence." Maybe real writers don't like them either but they just come up on you all sneaky-like.

I wonder what's the shortest possible story told mostly in flashback. There must be one that's only one or two words.

Sun Sep 11 2005 20:06 PST:
Had a great time in LA. Saw Gabe (as he predicted, Lost won the Emmy, to which I say bah), saw Adam and Kim and Kris, saw Pete Peterson II and Ann. Fun was had by all, connections were made and remade, ridiculous music was composed. Kris and I came up with a story idea which Kris is going to write and submit to McSweeney's. I'm just posting this to force him to do it.

Mon Sep 12 2005 21:36 PST:
Sumana was in the comic book store and I was browsing and being bored. I noticed a Transformers graphic novel so I flipped through it, and I saw a truly pathetic sight. A Transformer was sitting in a chair in front of a (Transformer-designed) computer terminal, using it the way a human would use it. He was having trouble because the monitor was busted or something. Just sad. Use a null modem, man! It really disrupts my suspension of disbelief when a putatively alien character acts just like a human, because their alienness is just window dressing and wasn't well thought-out.

I need to change my life. My current situation is not too bad but
it is frustratingly lopsided. Currently I work at a job that's pretty
boring, but I'm only working at it 3 days a week and I'm spending the
other 2 workdays writing a book, which is really fun. I don't spend a
lot of money, so 3/5 of my full-time salary is enough for me to live
on.

I want another job, preferably one at a startup, because those tend
to be less boring. As it happens, I occasionally get contacted by
people who want me to work at their startups, and I just got a good
offer to work on a really cool project. Unfortunately, working at a
startup would seriously disrupt my work on the book, which I am loath
to do. Even more unfortunately, this particular startup lives on the
east coast, where I don't really want to move.

It's a good offer but not a slam-dunk, so before deciding what to
do about it I want to see if there are any interesting companies here
in California (or somewhere else nearby, or that let you telecommute)
that would like to hire someone with my skills. I'm doing this mainly
through NYCB because for some reason a lot of cool people read this
weblog, and in my experience jobs found through networking turn out
much better for everyone than jobs found through Craigslist.

I have a couple alternatives. The first is to maintain the status
quo, which is not terrible and which has inertia on its side. The
second is to work on the book full-time to get it done faster, and
start looking for a job once the book is finished. The third is to
become an author, making a living from puny book royalties and
lucrative consulting work. Probably within a week I'll decide among
these four paths.

I put my resume up for those who
are interested; send me an
email if you have any ideas, or comment about the general path you
think I should take. My fate is in your hands, loyal readers. Disloyal
readers not eligible.

(1) Fri Sep 16 2005 22:48 PSTIt's A Caaaake!:
Worked all day preparing Sumana's birthday party, which is now winding down. I made a Borg cube cake that looked pretty good, and a vegan pumpkin pie that I was suspicious of and somehow everyone else picked up on that suspicion and nobody touched it.

Kent Johnson found a huge performance bug in Beautiful Soup, so look for a new version of that this weekend.

Very I/O intensive day today as I did basically nothing but read and write. Tomorrow I will try really hard to catch up on Beautiful Soup work.

(3) Sun Sep 18 2005 22:32 PSTIs It Beautiful Soup Yet?:
I guess it is. I thought I would just fix the performance problem, but then I started looking through the backlog and I couldn't stop myself and I spent 45 minutes fixing bugs. I held off on fixing some of my backlog because I don't trust myself to write test cases for them at the moment.

I finished my writing quota early and spent most of the rest of the day at the beach with Sumana, which was lots of fun: interesting rocks, and snowy plovers. On the way there Sumana came up with the term "Goohoo" to describe the Oxbridge-like brain sinks where about 80% of my CollabNet ex-coworkers work now.

(17) Wed Sep 21 2005 22:54 PST:
If I were to have business cards made, what should I put on them? I was thinking some little template on the back that would be useful to people.

(2) Thu Sep 22 2005 14:42 PSTCheese Smackdown:
Best cheese yet: Humboldt Fog. It's goat cheese, it's blue cheese, and it's gushy Brie-like cheese. Once it was the king of cheese; now you eat it with humble pie.

Fri Sep 23 2005 21:32 PST:
This collaborative programming contest is a good visualization of how improvements happen to software, but I think the lessons might be applicable to the advance of knowledge generally. The contest program sees two types of improvement: incremental improvements that only help a little, and ways of rethinking the problem. The latter might help a lot or might actually make things worse for a while, but it allows lots of new incremental improvements. You could map this pretty easily to a paradigm-shift model of science.

(1) Sun Sep 25 2005 21:46 PST:
I did get stuff accomplished today, but not anything that's visible right now. I'm reading A Fire Upon the Deep, which is just awesome (not just because it preemptively steals many of my ideas). I read Vinge's The Peace War and I thought it was kind of dull but this is great stuff. I love the big ole space opera.

c) Stories that deal with the previously unestablished death of a Star Trek character, or that establish major facts about or make major changes in the life of a major character, for instance a story that establishes a long-lost sibling or reveals the hidden passion two characters feel for each other.

d) Stories that are based around common clichés, such as "hurt/comfort" where a character is injured and lovingly cared for, or "Mary Sue" stories where a new character comes on the ship and outdoes the crew.

(1) Sat Oct 01 2005 22:34 PST:
Tivo recorded one of those programs full of snippets of artsy videos. One of them was really nice: sort of drifting around Paris while Claire de Lune played. Proving something or other about our age, it looked kind of like a drug commercial. It could have been sponsored by drug companies and called "Claritin de Lunestra".

(2) Sun Oct 02 2005 21:19 PSTIt Exists!:
Sometimes Sumana uses "it exists" to indicate indifference about something. But today I use it in celebration. We went to the new Cody's books, and they had Beginning Python! I finally got to see my book, and it was great to see stuff I wrote in print. The only downside is that my last hopes for the actual book cover being the non-freaky picture have been dashed.

I started writing some documentation for Rubyful Soup. Only about halfway done, but it's a good start. I've learned a lot about technical writing in the past couple months, as you can tell by comparing the documentation files for the two Soups.

(3) Mon Oct 03 2005 21:42 PSTChallah:
I made a challah bread (originally intended for French toast) and people raved about it, asked if challah were my specialty, etc. I'm not sure how to deal with the quality of my cooking because it's not something I feel I'm especially good at. I keep thinking people are just being polite but the charade has been going on for long enough that the hypothesis starts taking on aspects of your more sinister conspiracy theories, with salivating lizard-men lurking in the shadows waiting to eat leftover risotto.

Sometimes I think about going to culinary school, but it would be a big waste of money because I doubt I could ever be happy making food for a living. However I am always on the lookout for ways to be a dilletante on the cheap, so I just bought a cooking school textbook for self-teaching. We'll see how it goes.

Tue Oct 04 2005 10:43 PST:
Here's an excellent thesis on recommendation engines with overview and ideas for decentralizing the recommenders. It's got equations and everything. I'd pull a quote but it's in PDF and really who has the time? Life is too short to waste time justifying my decisions!

Link from waxy, which has seemingly picked up an interest in recommendation engines.

Tue Oct 04 2005 20:00 PSTRubyful Soup 1.0:
It's got documentation, it's got some minor improvements, it's got the version number that means "at last, perfect!" in the open source world and "crappy rushed-to-market" everywhere else. Enjoy it! It will be there.

(4) Tue Oct 04 2005 21:47 PSTThe Day Job:
I've quit my job at CollabNet. My current plan is to finish this book first and then find a more interesting job. We'll see what develops!

Wed Oct 05 2005 18:53 PST:
This is an idea, not a serious suggestion. Consider a political system in which getting re-elected to an office requires a bigger percentage of the vote than being elected to that office for the first time. The nth time you stand for election you have to get over 50+k(n-1) percent of the vote, or you trigger some kind of instant runoff. This achieves some of the anti-corruption advantages of term limits while mitigating the anti-experience bias created by term limits.

Thu Oct 06 2005 17:41 PST:
You know those old science fiction B-movies where "giant" lizards and dinosaurs wrestle with each other? They're always flipping each other over in their jaws. How did they film those scenes? The mandibular body slam is not a natural fighting technique of lizards, and it doesn't look very real (though realer than stop-motion), so it must be something that's easy to gimmick up with fake lizards. But I can't figure out what that gimmick might be. Do they have the lizards on sticks that they turn over? Gabe probably knows this one.

(2) Fri Oct 07 2005 12:23 PSTFool! That's My Strawberry!:
Going down south for a wedding. Not in the mood to do a bunch of driving but oh well. I leave you with this game, in which you drive around a badass motocross bike to... gather strawberries. Needs to be in a Game Roundup. There needs to be a Game Roundup, in fact.

(4) Sun Oct 09 2005 21:37 PST:
Back from SoCal. The wedding was great. We saw all of my immediate family as well. Two more days of work and then I'm a full-time writer!

I have a likely gig lined up at Broadband Mechanics after the book is done. But they keep getting business and they need more people now, especially JavascriptECMAScriptDHTML AJAX hackers. If you're interested email Phillip.

(3) Mon Oct 10 2005 22:01 PSTFun with Amazon Wish Lists I:
For years I have been waiting for a web application that lets me keep track of my books. So far the best storage mechanism I've found is the Amazon wish list. It's not intended to keep track of books you already own, but it works fine for that purpose.

Unlike trendy repositories like LibraryThing and AllConsuming, Amazon wish lists are free and reasonably fast. I've tried local spreadsheets but wish lists are easier to keep updated, and you can do more stuff with them. Amazon gives each account multiple named wish lists, and it has a (read-only, blah) RESTish API. The features it doesn't have (tagging, mainly) I don't really need, though I would like to be able to comment on a book and retrieve my comment through the API.

Among the wish lists I'm using for nontraditional purposes are the requisite list of books I own, divided into
books I've read and books I haven't. I'm starting to maintain a list of all the books I've read, though I started about 23 years too late. I have separate lists for my cookbooks and movies that Sumana and I plan to rent. Et cetera.

Amazon has a horrible interface for showing you your wish list. It's designed to make you buy things from the wish list, preferably things that show up on the first page of results. But its interface for finding something and adding it to a wish list is the easiest I've used. As for looking at the list that's why the Pocket Wisherman was invented (no, really, that's why). The only problem comes when I read a book and need to find it in one list to move it to another.

I have 2 or 3 books that don't have ISBNs and don't show up on Amazon. I don't know how to keep track of those. On the whole it works out pretty well. If you want to keep online lists of books or other cultural artifacts, and don't mind (or relish the thought of) writing the display code yourself, consider using an Amazon wish list. If you also keep a "real" wish list on Amazon, don't give any shipping information for your subsidiary lists. This will make it more difficult for people to use Amazon to buy you things from those lists.

Next time: exploiting price information. (I also cover this in more detail in the Python book.)

(4) Tue Oct 11 2005 07:58 PSTFun With Amazon Wish Lists I.V:
I should talk about the target audience for this series before more authors of online bookshelf programs leave comments in my entries. This series is not for bibliophiles per se; rather for bibliophiles who want a programmable API to their bibliophilia.

If you only want to make an annotated list of all your books then use LibraryThing. It's fast, easy to use, and the data is reliable. You can simulate multiple discrete lists by using tags. It costs $10, which is not much compared to other things you've paid for. You could also use All Consuming, which is free and does non-books, but was really slow when I tried to use it (which was a long time ago). You could also use one of the 200 bookshelf applications sure to show up on Ning. You could buy Delicious Library for your Mac, which uses a webcam as a barcode scanner. You could, in short, use whatever incarnation of this particular project tickles your fancy, because your fancy is not tickled by external APIs.

If you want to build a list of books and then use it as a data structure, then Amazon wish lists are the only game in town operating on a higher level than a Z39.50 binding: see for instance this NYCB from last year, before I got REST religion. Amazon provides some interesting data not available through other APIs, like prices and sales rank, but you can join on ISBN to get that data, so a lot of the things in the series will be applicable to people with Tyrannioware or other Z39.50 systems.

(4) Tue Oct 11 2005 09:16 PSTOverworked:
How many "business hours" would you say are in a "business day"? I would say eight. But someone told me they would call me back in 24-48 business hours, which makes it sound like every hour in a business day is a business hour.

(3) Tue Oct 11 2005 13:57 PST:
Today Kevin told me that the noble gases can be coerced into forming compounds, mainly with fluorine. When this was discovered (1960s), Kevin's father wrote a paper on the subject called "How the Noble have Fallen". Just recently the noble gases have been bound to uranium. Stay tuned for action as the noble gases form compounds with more and more other elements!

As we know, Japanese robot technology is making great advances. Once a gigantic humanized robot was only an imaginary object, but it will be made in the future. We wonder whether it is in demand or not.

That reminds me, I need to finish the postmodern Godzilla fanfic I was going to serialize a million years ago... aw, who am I fooling?

(3) Wed Oct 12 2005 21:10 PSTSquid Ink:
A while ago Sumana and I found out that the squid ink used to dye pasta is taken from the ink sacks of dead squids. Previously we had naively imagined that it was extracted like milk from a cow. Like you'd put a bunch of squid in a tank, and suddenly hold up a picture of a thresher shark. Oh no! Water full of squid ink. Move the squids to another tank and distill the inky water into squid ink for pasta. That doesn't really make sense if you think about it. There's no real point to putting squid ink in food except for aesthetics' sake, so we stopped eating stuff with squid ink.

I bring this up now because there's an Italian deli on Valencia I've always wanted to go into, and today we were there when it was open and we did go into it and they had little bags of squid ink for sale. We were on Valencia to have a dinner to celebrate my newfound unemployment. We ate at the fittingly-named Last Supper Club, which was tasty. Sumana liked it more than I did. I would probably have liked it more if we'd had a cheese course instead of dessert: I really had my eye on the gorgonzola fondue.

The first time we ate on Valencia it was at an Italian restaurant called Bistro Annex. I got suckered by the romantic candles on the tables. It was not good eats, though apparently it's a spin-off of Watercress, which we've been to and liked. Bistro Annex had subcontracted their desserts to a dessert company, and the dessert company had printed up a dessert menu that was a lot flashier than the main menu. It was, I realize, disturbingly like Brendan's restaurant that instead of having a kitchen just goes to other restaurants to fulfil your order.

Basically we should have gone to the Salvadorean restaurant next door. We still haven't been to that restaurant, but it probably would have been pretty good.

Anyway, I have just recently started to really observe restaurant kitchens. The neatest thing at Last Supper Cafe was how they cook the pasta. They have deep-fryer machines full of water which they occasionally top off from a pot set under a barely dripping tap. To cook a bunch of spaghetti they drop it into the basket of the deep fryer. When it's done they pull out the basket and reuse the boiling water. It's probably some specialized $600 pasta-boiling machine but it basically looks like a deep fryer full of water instead of oil.

Thu Oct 13 2005 21:09 PSTFun With Amazon Wish Lists II:
A neat thing I saw today is a search engine for used computer-related books on Amazon. I love buying stuff from used bookstores, so it's no surprise that UsedPrice is my favorite field of the AWS Bag data structure. In this section I'll present a couple simple ideas for efficiently allocating your money by combining Amazon wish lists (or other lists of desirable ISBNs) with AWS' pricing information. These ideas go beyond the Pocket Wisherman, which is designed to help you finding stuff from your wish list in real-world locations.

In the web services portion of Beginning Python I demonstrate a web service client that goes through an Amazon wish list looking for bargains. A bargain is defined as an item available used through Amazon for some small fraction of its new price.

There are lots of bargains because many people think they can make money selling used books online for a penny and making it up in volume. Actually they think they can make it up by skimming money off the $3.50 shipping surcharge that Amazon charges the buyer. But they might as well be trying to make it up in volume, because $3.50 is not that much when you think of the labor involved in determining the book's condition, doing the data entry, then when someone buys the book finding it, packaging it, and shipping it out. That kind of low wage is usually associated with foolhardy professions like writing the books in the first place.

But people persist in listing books online at sub-yard-sale prices, and even when you tack on $3.50 for shipping you can find lots of good deals on books you wanted to buy anyway. The formula I would use today (slightly different from the one in the book) would be to add the UsedPrice for an item to the shipping cost (assumed $3.50), then consider the item a "bargain" if the total cost is 25% or less of Amazon's OurPrice.

Ideally you would have a script that generated an RSS feed containing all the current bargains on your wish list. I haven't written this useful program yet because my pressing concern right now is slowing down the rate at which I acquire books from my wish list.

Recently I was given an Amazon gift certificate. You can't use gift certificates on used items because you're not really buying from Amazon. The rational way to use them is on things that aren't available used, or that cost just as much used as new. In other words, anti-bargains. Tweak the threshold algorithm and by bargain finder script became an anti-bargain finder.

The anti-bargain finder relies on the assumption that used availability on Amazon is proportional to used availability in the real world. If there were some book that crowded used bookstores in the real world but wasn't being sold used on Amazon at all, it would be falsely flagged as an anti-bargain. This is unlikely to happen because so many of the used listings on Amazon come from real-world used bookstores in the first place.

I think I had another hack idea in this category but I can't remember it at the moment. These are pretty simple ideas but they can save you money.

(1) Thu Oct 13 2005 21:10 PSTSpeaking of used books:
We went to Borderlands yesterday as part of our Valencia walk and I ended up with three books. Two of them were from my wishlist but--I don't know why I keep buying the old novelizations of Infocom games when they're guaranteed to be juvenile disappointments. Just because George Effinger wrote one doesn't make them a legitimate art form. But yesterday I bought the Stationfall novelization. I don't know if I could even stand to be in the same room as a Planetfall novelization because the game was so great and the book is bound to be so awful. Well, I say that now, but if I ever actually see it I'll probably end up buying it. I should accrete all six and then purge them by giving them away as a prize for the IF competition.

Fri Oct 14 2005 13:11 PSTRuby Cookbook:
Well, the contracts are sent in and Lucas announced it, so I too will announce it. The book I'm working on is the Ruby Cookbook for O'Reilly. I'm co-authoring it with Lucas Carlson. So far it's going really well. One thing I still need to get set up is the website where I solicit recipe ideas; I'll try to do that today. In the meantime you can send me mail if there's something you'd like to see in the Cookbook.

(2) Sat Oct 15 2005 20:15 PSTGame:
Play a game of Twenty Questions. Then invert the answer to the first question and try to think of a different object that fits all the questions. Alternatives: invert the earliest answer you can, invert all the answers.

Jake Berendes sent me an awesome stuffed mola mola today. By coincidence I sent him a less awesome thing today.

(6) Tue Oct 18 2005 20:56 PST:
Today I picked up Sumana's mother at the airport. We had a good time making lemon rice. She brought lots of ACK and other Indian comic books for Sumana, a tunic (!) for me, snacks for both of us.

Also today O'Reilly sent me a "new author" package with some books about writing and a T-shirt. Basically I think they are trying to make me feel like I'm a college freshman and they are my supportive parents. Every month they'll send me a box of cookies or something.

(1) Tue Oct 18 2005 21:49 PST:
I stuck some AdSense ads on the NYCB archives and other Crummy pages that I run (as opposed to other peoples' weblogs). I did this 1) as an experiment to see how much money I would get by selling out, 2) because I don't have a real job right now, but mainly 3) because I've been freeloading off of Kevin's hosting services for long enough and it's time he got a cut of the action, which means I must drum up some action for him to get a cut of.

My ideal audience for these ads are the people who come into my site on really weird search requests that I can't help them with. Often times someone will do a search for, say, a game called Rat Poker with colorful rats that you color coordinate. For the median person who comes into my site on that search request, Crummy is a smorgasbord of disappointment. My scintillating discussion of mola molas and scripting languages are ashes in their mouth. Assuming I'd ever talked about games in which you color-coordinate rats (the plague has never been so stylish!) it would have been a computer hippy Linux game reviewed in a Game Roundup, or some crusty old DOS game in the Da Warren archives.

But there's a slightly larger chance that some programmer has recently written a Flash game that's all about picking the right rat to go with your jacket, and is advertising it through AdSense. The search request person should have just clicked on the AdSense ad for Barbie Rat Shop in the first place. But if the same ad shows up on my page and they click on it, I get money.

I have tried to make these ads unobtrusive by picking the most boring color scheme on offer, in keeping with the philosophy of design simplicity that drives all of our efforts here at crummy.com. Let me know if they bother you nonetheless. They sort of bother me, mainly because I've already had to tell Google not to use my site to push ads for the PublishAmerica vanity press, but also because there's sleazy impossible-to-block-all-of-it "give us your personal information and receive a tasty herring!" stuff. What kind of way is that to make a living? Whatever happened to making money the old fashioned way, by putting ads on your website and writing about random crap?

*curry leaves (I don't remember whether they go here or in the skillet, but if they're like bay leaves they should go in here.)

salt

water

Put in rice cooker.

mustard seed

*chana (?) Sumana's mother said this was a spice but it seems to be a lentil. Maybe it was "chana [something]" and I just wrote down "chana".

2 T peanut oil

Fry in skillet. When it starts popping, add:

*3 red or green chilis, chopped (we used a bunch of cayenne powder)

handful of nuts (peanuts or cashews)

handful of unsweetened shredded coconut

Fry it up. Deglaze with

Juice of 1 lemon

1 t sugar

If you have timed everything correctly the rice in the cooker is now about 5 minutes from being done. Drain the excess water from it, and dump the rice into the skillet. Stir, cover, let sit until it's done.

Cleaning tip: chop the lemon rind into quarters and put one of the quarters into the rice cooker pot. Fill with water and turn on the rice cooker for 5 minutes. The turmeric mess will wipe away.

Sumana: Really makes you think, huh?Leonard: Yes, but not about anything in particular.

(2) Thu Oct 20 2005 20:13 PSTPenguin Pictures:
If I know one thing about you, random reader of my weblog, it's that you like cool things. It is my blessing... and my curse! For I must labor night and day (but mostly day) to find cool things for you. One such cool thing is the Flickr photo set of
Antarctic M, who labors night and day (but mostly day, but for different reasons than I labor mostly day) to take incredible pictures of penguins and other austral phenomena. Through the power of WEB 2.0 she can actually put these pictures online, something never thought possible before the development of SOAP.

Fri Oct 21 2005 20:11 PST:
I got a fancy Ruby gem set up on RubyForge, so now you can just gem install rubyful_soup and start screen-scraping the Rubyful Soup way. No dependency worries or anything. Plus, while I was figuring out how Ruby gems work, I wrote about five gem-related recipes for the Cookbook. I lauv zis cauntry!

(3) Fri Oct 21 2005 21:02 PSTSumana's Mother's Sambar:
I was a sous-chef for this operation so I don't precisely remember how you make it. This is my best guess.

Cook the dahl in water and turmeric in a pot. Add the vegetables and cook some more. (Throughout this adventure, add more water whenever neccessary.) Meanwhile, scrape out:

1/2 of the flesh of a coconut

I scooped it out with a melon baller. Save half of it for the raitha. The other half goes into the blender and gets chopped into coconut flakes. Then to the blender add:

5 stalks cilantro

Sambar powder. here's a recipe. Sumana's mother gave me a bag of it; probably you can buy it at a local Indian store.

1/2 stick cinnamon

A little water

Blend into a paste. Scrape into the dahl and stir. Now the sambar is basically ready and just needs to cook some more. While it cooks make the raitha. To the leftover coconut add:

1 cucumber, peeled and grated

1 serrano chile, diced

1 cup plain yogurt

3/4 cup buttermilk

1 tomato, diced

Stir to combine. Finish the sambar with about a tablespoon of brown sugar and 2 teaspoons of salt. Finish the raitha with 3/4 teaspoon of salt. Serve with rice.

I like putting the raitha on top of the sambar as a sauce. Sumana thinks this is really weird. But I used to put ranch dressing on top of pizza, and this is an analagous situation. To me, it is Sumana's habit of eating the raitha completely separately that is weird.

Sat Oct 22 2005 18:50 PST:
Jason Scott, the chap who runs textfiles.com and who did a (presumably awesome) documentary on BBSes, is now doing a documentary on text adventures. This is so in tune with my demographic of one that both Mike and Brendan sent me this information. Brendan actually suspects that I am Jason Scott. Ha ha! Such an impossibility strikes me as humorous! Ha ha! Ha!

Incidentally, when I saw Austin Powers I did not get the Macarena reference at all. I only got it a couple days ago after Sumana painstakingly explained every aspect of the joke. I thought Dr. Evil was walking like a toy robot, making a sound a toy robot might make while walking. I actually like this explanation of his behavior a lot better.

Mon Oct 24 2005 14:51 PSTTorosaurus, Torosaurus:
Last night in a dream I discovered that if you have to sing a song from an Italian opera, but you don't know the words, you can just sing the names of dinosaurs and it will work out okay.

Wed Oct 26 2005 23:32 PST:
More book work. Today I was unable to avoid learning about continuations, a topic on which I was for years able to maintain total ignorance. I got my revenge, though, by writing about continuations as though they were a way of manufacturing Pez dispensers.

I also wrote a song. It's an "I Will Survive" type anthem to be sung by Godzilla, and it will go on the next album. I had to give Kevin's drum machine back, and still haven't figured out how to record on the computer, so who knows when that album will be forthcoming. My writing breaks are good opportunities to practice, though.

Thu Oct 27 2005 22:48 PST:
I'm ahead of my self-imposed arbitrary schedule for the book but I don't want to use any of the slack time because then I won't have it. I guess that kind of makes sense because there might be an emergency in the future.

Anyway, today when I wasn't writing I spent a lot of time playing Angband spinoff #300, Troubles of Middle-Earth. As the name indicates it's sort of a Tolkien-themed Angband variant. Yes, Angband itself is supposed to be Tolkien-themed but it's just not enough for some people. This game lets you gallivant all around Middle-Earth and jumbles the three ages all together for your delectability.

There's also a bunch of weird stuff like Deathmolds. I don't think any of those supplemental volumes of Tolkien's obscure myths mention Deathmolds, or any kind of sentient molds for that matter. I think I'd have heard about that. This obsessive eclectiveness (really the defining feature of the roguelike genre) yields some weird features though. As usual with Angband clones, I was having a great time until my carefully constructed character was cloberred by something significantly more powerful than myself.

(1) Sun Oct 30 2005 21:36 PST:
Argh. Spent all day working on a recipe about matrix multiplication. Like a party in an after school special, it started out with laughs, everyone having a good time, but then someone started passing around some linear programming and it all got kind of blurry. Next thing I knew I was lying optimally in a pool of my own vomit, clutching the memoized state of all subpools of the vomit. A lot of the fun in writing this book comes from relearning stuff you learned in college, but it's not so fun when it takes all day to get it right.

(1) Mon Oct 31 2005 22:16 PST:
Today I realized that I should probably rewrite one of my old songs because it mentions a file format that's obsolete, or at least not used for what it used to be. Then I started thinking about all those old file formats. Remember when files used to use different data serialization techniques, rather than just different XML tags? Seems like every application had its own three-letter extension, or a mysterious set of .DAT files. Am I the only one who feels nostalgia for these weird beasts?

You may have noticed that I try to avoid telling you about my dreams unless some aspect of the dream would be interesting if I'd thought of it while awake. There's no need to thank me for this, though large cash donations are always appreciated. Anyway, last night I dreamed I was reading a Terry Pratchett book and weird punctuation started creeping into the middle of the words. There'd be a string of periods or an exclamation mark where it didn't belong. More and more of these strange characters started showing up in the text, and then you turned the page and there was a two-page spread that looked like a screenshot from a roguelike game. In retrospect all the weird characters made sense within the roguelike game, and the screenshot accurately represented the state of the plot of that scene in the book.

It would be pretty neat if someone could actually do this for a nontrivial story, but it seems like a task similar to the map of Rome in Gigamesh that you see if you only look at the commas.

(7) Tue Nov 01 2005 19:29 PSTWikipedia Says:
Wikipedia says that, originally, movie copyright dates were written as Roman numbers so that the studios could release five-year-old movies in Lebanon or Peru, and the audiences there wouldn't have the fact that the movie was five years old jump right out at them. This is entirely consistent with the known behavior of the movie industry, but I'm suspicious of it because I can't find a non-Wikipedia source for it, and also it forces me to add another item to my previously simple heuristic for when to use Roman numbers.

You are pretentious (Super Bowls, titles of movie sequels, dates carved into buildings, names of people).

You are desperate for visually distinct ways of representing the counting numbers (outlines, page numbering for prefaces).

You want to obfuscate a number (movie copyright dates).

Actually, Pete Peterson II makes me add another item, since he's not named that for pretentious reasons. Lousy heuristic! In a sinister twist of fate, it's now become as complicated as Roman numbers themselves!

(1) Wed Nov 02 2005 23:09 PSTDr. Livingston, I Presume:
We checked out the Tivo for the first time in over a week and watched the new House with Ron Livingston. That guy is so typecast. He can't not be his Office Space character.

Today it finally happened: I wrote a recipe that Lucas had already written. It's not horrible because the plan is that we go in and revise each other's recipes anyway. But now I have to figure out how to merge the two recipes.

Nothing else of interest is happening to me, except for the run-in with the pirate bird-people. Lots of stuff is happening to Sumana, though.

(2) Thu Nov 03 2005 22:15 PST:
Cleaning out the garden for planting. I think the garden is mainly just an way to fool myself into doing exercise by making myself think it's useful work. It doesn't produce all that much food. This year the total harvest was a bowl full of green beans, some garlic, and 4 pumpkins. Not a very good return on the work I put into it. The rhubarb plants and the artichoke plant are still alive, but not producing yet. But it beats lifting weights or jogging around for no reason.

(1) Sat Nov 05 2005 20:56 PST:
I'm reviewing the proposal for a new Python book, in exchange for a sum so modest it's actually called an "honorarium" to make me feel better about it. But it's a good-looking book that fills a niche (the niche being the scattershot organization and frequent out-of-dateness of the online documentation). And I'm now the kind of guy who accepts honoraria. Next stop: corruption!

Sun Nov 06 2005 21:05 PSTWhat You Call Hell, He Calls Game Roundup:
Frustrated that NYCB is not as interesting as it used to be what with all the book-writing, so I took time today to do an old-fashioned Game Roundup. But not so old-fashioned that instead of reviewing Linux games I'm going to be reviewing crappy old jigsaw puzzles and board games. Seriously, have you seen those first commercial games from the early 1900s? What was wrong with those people? They weren't stupid; games like chess and backgammon have been around for thousands of years. But when someone got the idea of printing games and selling them commercially, it was Chutes and Ladders all the time. Though most of the games sold today are not much better, so maybe I'm being unneccessarily hard on those turn-of-the-century fools.

Anyway, here we have five games. In the near past I also found a new (Java?) version of an old Ultima-type game called Ranadin. This was a really great game in its time, but I can't find the URL to the new version on the web or anywhere in my notes. All I have is this excellent quote from the intro: "The king announced victory and dispersed his army, leaving the true threat largely undisturbed to this day." Now, games.

Variations on Rockdodger is a
superior version of a game called rockdodger which is like
a pacifist version of Asteroids. Instead of destroying the rocks in an
asteroid field, you are a harmless space probe and you can only
maneuver so as to avoid the rocks. Your score is based on how long you
can keep up this futile task.

The champions of realism might point out that in a real asteroid
belt the asteroids would be scattered across millions of square
kilometers and not all crammed into one space. What these people
conveniently ignore is the possibility that your space probe itself is
hundreds of kilometers in diameter. Though that would mean you were
expending an enormous amount of reaction mass whenever you turned on
your thrusters.

Variations on Rockdodger is so much better than rockdodger that
having played it I can't even play the original. It's too difficult,
too visually unpolished, and too full of the bottom two-tracks of
four-track techno music. VoR is also incredibly difficult but it has a
better feel and is more fun. It's a good way to waste 30 seconds
(maximum playable time according to the author: 2 minutes; my high
score: 55 seconds).

I mentioned Troubles of
Middle Earth before but I'll mention it again. It's Produced "in
collaboration with Eru Iluvatar and Manwe", so you know it's
good. It's got several interesting implementations of magic, and it's
scriptable in Lua. Lua is the up-and-coming embeddable scripting
language for games. There's
even a book about it. Someone should write an article about this
phenomenon. Perhaps that someone will be me.

The best thing about ToME (maybe this works for other Angband
clones) is if you die, you can start the game in wizard mode and
resurrect the character. This keeps me from the temptation of using
wizard mode all the time, but it also stops me from incredible Angband
clone frustration. Those suckers will kill you in a heartbeat. Maybe
I just need to read the spoilers. Oh, the other good thing is there's
a type of magic that gives you access to the millions of attack types
monsters use to kill you in said heartbeat.

Exodus Arcade
Game is a clone of an old Commodore 64 game which was itelf almost
exactly like Pac-man, right down to the ghosts. But instead of the
magical power pills of Pac-man you can get a little lightning bolt
that you can use to stun the ghosts. Not a good trade-off. I do like
the way it represents your need to visit every part of each board:
there are no dots for you to eat. Instead, you go around lighting up
the bulbs on the edge of the board.

This game allegedly takes place in the Dungeon Dimensions, which
are portrayed rather differently than I always imagined them from
reading Pratchett. Requires non-open-source library.

Space Mine
is a game that resembles Anthill, the first C program I ever
wrote. You run a mine (which, incidentally, is in space). You need to
sell ore and pay your workers and buy new factories. But no matter
what you do, at the end of the first round it says YOU'VE OVERWORKED
EVERYONE and you lose. Now it probably is true that I OVERWORKED
EVERYONE, but what am I supposed to do? The simulation is not
stable. Just as no matter how I tweaked the starting parameters, games
of Anthill always ended in the ants not producing enough food for
their population, which lead to ant cannibalism, which led to even
less food and more cannibalism until the colony wiped itself out (I
believe this is also why SimAnt was a commercial flop). So,
inevitably, with my space mining operation.

You'd think Spacerider would be a
space version of Easy Rider. I was suckered in by the screenshots that
showed a huge spaceship blowing up Metroids. This seemed a great idea
to me. Why send out fragile, humanoid bounty hunters to do battle with
Metroids when you could just bring out the heavy artillery and blow
them up easily? But the game disappointed me. The huge spaceship packs
less punch than a well-equipped bounty hunter, and it's got big
nacelles hanging off that do nothing but make you an easier
target. There are no power-ups in this game, and the metroids and
other abominations keep coming thicker and faster until you're reduced
to just blasting a path through them, and then you can't maneuver
enough to give yourself space. Game over.

Slime
Bomber is a superior shooting game, in which you fly the aircraft
of your choice and drop slime bombs on the Suess-esque buildings of an
enemy city. It's like Nickelodeon Goes to War. Why are you dropping
slime bombs anyway? That's privileged information, airman.

Mon Nov 07 2005 22:16 PSTToot!:
Today I wrote my 100th recipe for the Ruby Cookbook. For the sake of history, let it be known that it was the recipe "Performing DNS Lookups". Not sure why history cares, but there you are.

(4) Tue Nov 08 2005 22:56 PST:
Is it a good idea to make one of those English Christmas fruitcakes? They look really good, but they also look like they might explode at any minute.

(1) Fri Nov 11 2005 13:39 PST:
I decided there was no point to keeping private my private outline for the Ruby Cookbook, so I put it online in color-coded form. Now you don't have to email me ahead of time and ask me what recipes are still available (though this would still be a good idea, so that I can mark recipes as reserved). Plus, you can get a visual feel for our progress on the book.

PS: the other day I wrote my first Mandelbrot set generator (for the recipe about complex numbers), which was really neat. Soon I'll have graduated to ASCII art drawings of Mr. Spock.

(1) Sat Nov 12 2005 22:51 PST:
Today: bunch of cooking day. I made a bunch of food for Sumana to take to work so she doesn't have to buy lunch. I also started making plum pudding, using this recipe which I realized too late is actually a recipe for an infinite number of puddings, not just one. So it better turn out well.

And I did Christmas shopping and played computer games. Tomorrow I'm going to work on my story if I know what's good for me, which I don't.

Sun Nov 13 2005 08:39 PST:
Today I discovered that you can switch the tunes of "She Blinded me with Science" and Gary Numan's "Remember I Was Vapour".

Also, in honor of the end of Checkerboard Nightmare, our Filk Will Eat Itself Dept. has come up with yet another Checkerboard Nightmare Filk For The Lazy. Play TMBG's "Doctor Worm", and shout "Hot!" at the appropriate intervals to turn it into "Doctor Hot"! Annoy your friends! Stupefy your enemies (ie. those who, until you started this filk, were your friends)!

Tue Nov 15 2005 09:12 PST:
Watching ATK there was an offhand remark that putting butter on your popcorn gives great flavor but makes it soggy. What about clarified butter? That's got all the water boiled off. My cursory web search doesn't see anyone making a clear statement that they tried this and it did or didn't work, so I'm going to try it and make such a statement.

(2) Wed Nov 16 2005 19:17 PSTAnd for a Buck and a Quarter:
In "Minnie the Moocher", did Minnie actually have a heart as big as a whale, or was her heart only as big as the heart of a whale? I know it's a metaphor; the question is, which metaphor?

(3) Thu Nov 17 2005 22:34 PST:
Man, working from home is great. Also great is having a well-defined set of requirements and seeing yourself make incremental progress every day. I set up the Cookbook page so it accurately reflects the working outline (it's actually the canonical outline, as far as I'm concerned) and has statistics about the recipes in progress. As you can see we're closing in on completing the chapter on date and times. This is disproportionately exciting because our deadlines are hit or missed based on the completion of chapters, not recipes per se.

Aaaand... tomorrow I might have the new web toy ready for you to play with. The data gathering is really the most labor-intensive part of this one.

Fri Nov 18 2005 23:38 PST:
Toy still not ready for prime time, but I did get the date/time chapter of the Ruby book finished, and I found this big ole transcript of Bucky Fuller rambling on, so no one can say I didn't get important things accomplished. I also prepared secret appetizers that went into freezer bags to be baked when my family comes up for Thanksgiving.

Sun Nov 20 2005 20:49 PSTGhee Popcorn Success:
The TiVo recorded The Apartment on PBS so we re-watched it tonight. Man, that movie is a lot darker than I remember. Anyway, I decided it would be a perfect time to test out my hypothesis of putting clarified butter on popcorn. It worked! Great butter flavor and it didn't make the popcorn soggy. Another great quick tip, not from America's Test Kitchen.

(5) Mon Nov 21 2005 21:51 PSTThe Moon is a Harsh Mistress:
I guess when you're a kid in a small town and you want good science fiction and there's no Internet, you're supposed to befriend an adult who knows about science fiction, and borrow it from them or get it via inter-library loan. But I didn't know of any such adults, or even about inter-library loan until it was almost too late, so when I was a kid there was not much science fiction for me to read.

There was an anemic selection of young adult science fiction at the middle school library. This selection was much bigger than it needed to be because only three of its books were worth reading: two whose titles I don't remember, and Robert Heinlein's classic juvenile novel Have Space Suit Will Travel. Man, that was a great book. So I started out very well-disposed towards Heinlein.

The Arvin library had about two bookshelves worth of science fiction, plus some in the paperback racks. It was mostly mediocre Star Trek novels, and now that I think about it, the remainder was also pretty mediocre, but I read it. I read some of Heinlein's later stuff like The Number of the Beast, which even at that age I could tell was lousy despite the gratuitous sex scenes added to throw me off the track.

My dad had a copy of Stranger in a Strange Land which I also read and found to be very boring. I later learned that it was a classic, so I read it again a couple years ago and found it to be very boring again. I realize this makes me an iconoclast. So I figured Heinlein's adult writing was a bust.

But for some reason (probably extreme low cost), I recently decided to buy a cheap copy of The Moon is a Harsh Mistress. I just read it and dang if that wasn't great. Good plot, funny humor, MacLeod-esque in its sardonic political one-liners. The computer science was abysmal but I didn't mind. I did mind the political hay made of the contigent fact that the computer science was so abysmal, but I say go with the flow. I think apart from Lem (who will probably forever be a special case) this is the earliest-published science fiction I've read that I didn't have to judge by the lowered set of expectations I usually use for old science fiction. Well, 1984 qualifies as well.

Also, while doing research for this entry I discovered Frank Key, who is kind of what you'd get if Olaf Stapledon wrote Fafblog.

Mon Nov 21 2005 22:11 PSTThe Unofficial LEGO Builder's Guide:
Sorry to shout, old chap, but the author of The Unofficial LEGO Builder's Guide (which I am currently reading) spells LEGO in uppercase throughout the whole book. He also always says "LEGO pieces" or "LEGO elements" or "LEGO bricks" instead of "LEGOs", just like LEGO Corp's anti-trademark-dilution guide says you should. I guess you have to do that if you're writing a whole book but it looks weird. Anyway, I thought I'd ELOG these facts for you to OGLE.

Apart from this (which looks to happen less frequently in later chapters as it slowly sinks into the reader's head just what brand of click-bricks we're talking about here), the book is great. It's the book I always wanted to write, just as OOP from Microserfs was the computer program I always wanted to write (now we have LDraw).

There's also a sentence in the book which I wanted to share with you because it seemed tautological and funny, though I guess you can parse it to be non-tautological:

Although only a few elements fall into the standard cylinder or cone categories, what they lack in number they make up for in uniqueness.

(2) Tue Nov 22 2005 11:19 PSTPRESENTS:
This is so awesome (sent to me by Ryan North himself): Chris Noessel's NewsRex takes stories off the news wire and formats them as episodes of Dinosaur Comics. Just one more step towards my proof that any form of communication can be represented as episodes of Dinosaur Comics.

(3) Tue Nov 22 2005 22:32 PSTChristmas List:
By Susanna demand, for the people who give me Christmas presents. You'll notice there are actually durable goods on it this year (because I don't have much income at the moment), but I would still be fine with you giving money to charity in my name.

My CD player/tape player/radio is reaching its age of planned obsolescence and I would kind of like a new one. These probably cost about $6 now that they have to compete with iPods.

My #$(%* crosscut shredder has basically stopped working so I would like a new one that has some kind of chance in the actuarial tables. Why do home shredders break so easily? I have not been overloading it.

I have what looks like "mortar" written on this list and I don't know what that means. Maybe it'll come back to me. Do not buy me mortar for Christmas! I'll just end up returning it. Update: Sumana suggests that I meant "a" mortar, along with a pestle. This seems like the kind of thing I would write down on a Christmas list, though I'm not totally convinced I need one.

Now that I'm writing a book, having space on my desk has become more important than having a big ole monitor, so I would like an LCD computer monitor. It doesn't have to be huge. Nor do you actually have to get me one, since they're a little expensive.

And of course there is my ginormous wish list, which I went through and gave priorities to some of the items I really want as opposed to the ones I would just like to have someday. Incidentally, the Life Hacks book was cancelled (blah), but O'Reilly might put some other form to the wish list and screen scraping hacks I wrote. I just sent off an agreement to that effect. I am just trying to make this entry kind of interesting for people who don't need to buy me PRESENTS.

I am doing pretty well this year w/r/t acquiring and making awesome presents for people with not much money.

(2) Wed Nov 23 2005 21:52 PST:
Family over for pre-Thanksgiving dinner, which was fun. I made fried polenta with blue cheese, which it's probably good that I don't make it a whole lot. We also had some molasses spice cookies I made which were really good.

Today I found out how to parse an ID3 tag out of an MP3 file, and I put that information into a Ruby Cookbook recipe on binary file manipulation. It's actually quite easy so long as you limit yourself to the original, 128-byte ID3 format and stay far away from the overdesigned ID3v2. The "2" stands for second system. Ooh, snap!

Usually every year my grandmother makes peanut brittle for Christmas. This year she is passing on that because she's not been well, so when my mother came up for Thanksgiving she foisted a big bag of raw peanuts on me. I don't know if I'm supposed to make peanut brittle for everyone or if I'm the kind of person who people want to give raw peanuts to (Sumana's mother also foisted raw peanuts upon me when she came to visit). The bag weights about 2.5 pounds, which seems to make between 3 and 6 pounds of brittle. That seems like less than what my grandmother usually makes. I think she might use two or three of these bags. Anyway, I'll try a little batch and see how it goes.

Here are a couple more things I thought of to put on my Christmas wish list:

I need a new pair of pajama pants because one of my old pairs got all ripped up.

It would be awesome to get a robotfindskitten T-shirt, but it doesn't even exist yet.

I was going to ask for a pseudoscope, because it sounds like you can use it to look at ordinary things and see horrifying Lovecraftian vistas, but then I noticed that they cost close to a thousand dollars. Not worth it. But maybe there are just some cheap glasses with prisms or mirrors that will let me perform my inverted sight experiment.

More as I think of them.

Sat Nov 26 2005 16:42 PSTFinnegans Wharf:
Man, I am never going to Fisherman's Wharf again if I can avoid it. We went there yesterday and it was overpopulated. However during that trip I got to hang out with my uncle Robert, which was nice. Sumana comes in and looks at the text box I'm writing and says that I shouldn't say I don't want to go there anymore, having only been during big tourist days. But during those visits I've now seen everything I want to see, so why go again? I don't eat seafood so that's not a reason.

We went to the Múséé Mécháníqúé. I have been thinking about the penny arcade (now quarter arcade) entertainments on display there, trying to take them in the context of their time, and it's not working very well. My closest frame of reference would be old video games (in fact, they had some old video games there). But most old video games are still fun, and they're fun multiple times. Whereas all but the most complex mechanical entertainments at the Múséé are only fun once, if that. Some of them were really boring and repetitive, not even interesting on a mechanical level; I say this as a person who likes watching model trains.

But unlike video games, penny arcade machines were probably something you'd only see once a year, at the fair or on a vacation. In that context it makes sense to pay a cent to see something once, even if it turned out to be a cheap thrill you wouldn't want to repeat.

I think the best pieces at the Múséé were the music boxes. There were three "execution" diorama machines and my mother watched all three of them. I guess the entertainment-crazed populace needed to be weaned off of live public executions somehow.

(1) Sat Nov 26 2005 16:56 PSTMy Favorite Wife:
This was a weird, weird movie. At almost any point it could have become a noir thriller: the main character would be forced by his own spinelessness to kill someone, and the noir would start. But since it's not a Coen brothers movie that didn't happen. Instead, the characters constructed big tissues of lies which were destroyed and constructed again. It starts out awful Marx Brothers and soft focus sentimentality (which I guess is just the other aspect of awful Marx Brothers; hey, remember those Marx Brothers movies near the end, hideous in form, where Harpo's character was actually named "Wacky"?) but as you get used to it it becomes a sort of relentless psychological slapstick that dies out at the end.

For the first third of the movie I was driven mad by the voice of the male lead. Who was it he sounded like? Then Sumana told me: he sounds like Tony Curtis' imitation of Cary Grant in Some Like it Hot. Because he is Cary Grant. I had never seen Cary Grant in a movie before, except when I was very young.

(1) Sat Nov 26 2005 19:36 PSTFast Hot Chili:
This recipe is derived from a really complicated recipe for a non-chili black bean soup from a Greens cookbook. I got rid of most of the complicated steps and now it's made almost entirely from things that come in cans. The other recipe is worth making but it's not hearty like a chili, and it's really inconvenient to make without a food mill.

Then prepare in a big pot: 2 cans drained kidney beans, 2 cans black beans with juice, 1 package fake ground beef, and 2 cups vegetable broth. You could substitute the kidney bean juice for the vegetable broth, but I've never trusted kidney bean juice. You could also omit the vegetable broth altogether. Heat this up a little so it'll be about the same temperature as the stuff in the skillet.

Then dump the skillet contents into the big pot and cook a little longer. Puree some of the chili and/or add crushed up tortilla chips to make it thicker. Eat with avocado/chopped tomatoes/sour cream/etc. This is pretty hot; the hotness dial is the serrano peppers if you want to change it.

(5) Sun Nov 27 2005 20:23 PST:
My grandmother, Rosalie Richardson, died early this morning. My mother has more. She'd just gotten out of the hospital healthy, so we all thought she'd be with us a lot longer. The funeral is on Thursday and it's going to be difficult. She was the grandparent to which I was closest.

Rosalie was born December 29, 1930 to George and Rachel Benson in Monet, Arkansas. Growing up Rosalie, her parents and five brothers and sisters divided their time between Arkansas, Missouri and California. It was in Orland, California where Rosalie met her true love, her husband, Dalton. Shortly after the birth of their second child, Rosalie and Dalton moved to the Orange County area where they began a farming career and had three more children.
In 1965 Rosalie, Dalton and their children moved to Kern County and began farming in the Wheeler Ridge area. Rosalie loved living and working on the farm. In Wheeler Ridge, Rosalie continued to raise her children and worked in the farming office. On the farm Rosalie made a home where her children and later grandchildren loved to be and always felt welcome. In 1994 Rosalie and Dalton retired from farming and moved to Bakersfield.

Rosalie was an active member in Meridian Community Church. She found great joy in church activities and fellowship with other church members. Rosalie enjoyed decoupage and in recent years she rekindled an interest in quilting. Rosalie created many beautiful things and received great joy in giving them to family and friends. Rosalie loved Christmas; every year she would make peanut brittle for her friends and family. Rosalie had many fans of her famous peanut brittle. In her spare time Rosalie enjoyed doing jigsaw and crossword puzzles.

Rosalie loved her family unconditionally and enjoyed spending time with her children, grandchildren and great-grandchildren. Rosalie was a kind and loving person who always had a warm smile on her face. She touched the lives of all who had the pleasure of knowing her.

Services for Rosalie Richardson will be at the South Kern District Cemetery in Arvin on Thursday, December 1, 2005 at 12:00 noon.

Donations may be made to the Dalton Richardson Memorial Agricultural Scholarship Fund at Arvin High School.

Mon Nov 28 2005 20:44 PSTCookbook Note:
Almost done with the "files" chapter but not feeling great about it. Seems like too many retreads of stuff in the other cookbooks. I guess that's to be expected since file access is so generic, but if you have any ideas for new recipes let me know of them.

Fortunately you can get around some of the problems by hacking together stuff using the web service APIs. They don't do nearly as much as I'd like, but Amazon wish lists with all their problems are still the only online book tracker that provides any web service API at all. Another comment in that weblog entry is the inevitable "we're doing it better with Rails and we need beta testers", which is worth a shot; as is (still) LibraryThing if you just want something that works. The Z39.50 gateway is looking better to me all the time; the software equivalent of beer goggles.

(3) Fri Dec 02 2005 17:52 PSTPeanut Brittle Again:
I thought it would be a good idea to make peanut brittle for my family in memory of my grandmother. But it turns out that my cousin Brian has inherited the peanut brittle equipment and duties, so that isn't neccessary. But I have to get rid of these peanuts somehow, so I thought I'd make peanut brittle for my friends in the Bay Area. Send me email if you are interested and I'll let you know when you can come over and get some peanut brittle, or I can give it to you when next we meet. Now I just need to figure out how to make peanut brittle.

Mon Dec 05 2005 08:54 PSTThe Acts of the Muppets:
On the satelite radio on the way to Bakersfield we heard the title song for Jesus Christ Superstar. I noted that it sounded like it was being played by Dr. Teeth and the Electric Mayhem. This opened up a fruitful discussion about a Muppet version of Jesus Christ Superstar. The problem is that Big Bird would have to play Jesus, for the same reasons he would have to play Gandalf in the Muppet Lord of the Rings, and I don't think Big Bird could carry a whole Andrew Lloyd Webber musical.

So I proposed that the Muppets could do the book of Acts instead. That's more of an ensemble piece, so it would work better. Plus that makes it possible for Kermit to play the part of Paul, which is excellent because the Muppet Panic was invented to depict the conversion of Paul.

(3) Mon Dec 05 2005 22:05 PSTCrazy Scrapbooking Idea #2:
We went to a craft store the other day and I was looking at the aisles of scrapbooking stuff (when I was a kid there was no scrapbooking stuff at the craft store!) when I had an idea. The main problem with scrapbooks is that they're big bulky physical objects, and the cute stickers that go into them are incredibly expensive to buy or time-consuming to construct.

What if there were a DTP program for scrapbooking? Something like Kai's Power Tools that simulated the experience of real scrapbooking, except you ended up with a web page you could share, and you didn't have to buy those decorative scrapbooking accessories--you could use clip art. It would not be nearly as complicated as a normal DTP program.

Like my previous scrapbooking idea, this one is probably already implemented. But there's always the possibility that no one would actually want this, in which case the field is probably wide open.

"Once upon a midnight dreary, while I pondered, weak and weary,
Over many a quaint and curious volume of forgotten lore."

"Ah, distinctly I remember, it was in the bleak December,
And each separate dying ember wrought its ghost upon the floor."

"Eagerly I wished the morrow; vainly I had sought to borrow
From my books surcease of sorrow—sorrow for the lost Lenore."

"Sorrow for the lost Lenore."

Really plays merry hell with the meter though.

(2) Tue Dec 06 2005 10:36 PSTPeanut Brittle: The Foisting:
I made a batch of peanut brittle yesterday and it turned out pretty well. However I still have many peanuts left, and I have gotten no requests for peanut brittle except for the one from Susanna, who is already going to get peanut brittle from Brian. If this keeps up I will have to start foisting peanut brittle on people. Foist!

Tue Dec 06 2005 10:41 PSTChristmas List Addendum #2:
More things I thought of, in decreasing order of me actively wanting them rather than them just being nice to have. The top one is a lot more important now that I've finally set up recording on my computer. Last night I made up a song about House for Sumana and we recorded it w/Audacity, just like that.

Cheap MIDI keyboard. Though one with a plain 1/4" output jack would probably work too.

Small cheap digital camera (so it's not a big deal when I drop it and break it), or small hardy digital camera (so it won't break when I drop it).

Small pressure cooker

Noise-cancelling headphones

Small deep fryer

(5) Tue Dec 06 2005 18:23 PSTEggnog:
A couple things about eggnog. I found out from John that the eggnog you buy at the store is supposed to be diluted. Specifically it's supposed to be diluted with booze, but you can dilute it with milk, so long as you dilute it with something. My whole life I've been drinking concentrated eggnog. This explains a lot about my relationship with eggnog.

Before I learned the truth about eggnog I was planning to make some homemade eggnog to see if that was any better (I still am, actually). One thing that occured to me when looking at the recipes is that the ingredients for eggnog are exactly the same as the ingredients for ice cream. So you could make the eggnog ice cream that John loves so much just by pouring eggnog into an ice cream maker. But then I saw an episode of Good Eats where the exact same thing happened, so I can't take the credit for that idea.

Tue Dec 06 2005 20:05 PSTHouse Band:
I redid the House song mentioned yesterday with a drum track, and got Sumana to lay down some backup vocals. Here it is: House, M.D.. Includes bonus Stacy's Mom backup vocals joke, because we're still in love with Stacy's Mom (I like songs where people try to justify their unethical or socially frowned-upon behavior, which actually explains this song too). It sounds better than any song I've produced to date, but don't let that fool you; it's actually sillier and more pointless than the majority of my songs.

Incidentally, the drum machine I'm using is Hydrogen, which is wonderful. All it's missing is a cursor that shows you what part of the song it's playing. Also it would be nice to have a little tool that shoves all your note events over one sixteenth note because you designed the whole measure a little bit off.

Thu Dec 08 2005 21:11 PST:
This film has been modified from its original version. It has been formatted to fit your preconceptions.

Fri Dec 09 2005 22:32 PST:
I think not enough people realize the genius of Kevan's Christmas cracker joke generator. It takes advantage of the fact that, while there are an infinite number of bad punny riddles, there are only a finite number of punchlines to such riddles. The infinite aspect of the jokes has been parameterized as user input.

Fri Dec 09 2005 23:00 PSTThe Jerk:
Saw this from TiVo and it was really funny. But pretty obviously it had undergone severe cuts for television, unless the director was way ahead of his time in developing an Adult Swim-like style of split-second cuts right when a joke was about to happen. But man, what a funny movie, right down to the bits that weren't funny. They anticipated those SNL skits that go on way too long without being funny, even though "too long" here was only about a minute.

(5) Sun Dec 11 2005 21:56 PST:
Now that I've gotten recording to work on my computer I'm having a rare old time actually doing recordings. So far I've recorded two new songs for my upcoming album, which I hope to release next month in time for the ten-year anniversary of the day I bought my first guitar and started learning to play. I'm not totally sure why I would want to advertise the fact that I've been playing guitar for ten years, given my current level of ability, but it seems like the kind of things real musicians do to prove how self-indulgent they are.

Should I release (drafts of) my songs as I complete them, or keep them hidden from you until everything's ready to be released? Also I need to pick a name for the album. This is my first serious musical release in five or six or eight years (depending on what you count as "serious") so I'm a little out of practice with the cover art and the naming and whatnot.

Sun Dec 11 2005 22:42 PSTQuote:
"These hypothetical scenarios are weird; you can go back in time and tell someone what job to take, but you can't say 'Hey! Stop 9/11 from happening!'"

Sumana claims that people keep writing slashfic with the canonical pairings because they prefer those pairings. I think this just shows a failure of imagination. If I wrote Trek slash I would like an occasional challenge like trying to fit Phlox, Lore, and Yeoman Rand into the same story. At any rate, the generator comes up with some really funny pairings.

This is also my first Ruby CGI program. The code's pretty bad; I've decided I don't really like Ruby's HTML generator. It's very idiomatic, but it combines logic and presentation like... well, like the farewell embrace between Spock and Vic Fontaine that fateful day on Starbase 26.

Mon Dec 12 2005 21:00 PSTWhen I stop the drum machine:
Does anyone else get into a fugue state programming a drum machine where it feels like you're playing Space Invaders or using the old TheDraw drawing program?

I like how Hydrogen makes you come up with names for your drum patterns. Never before have I had to name parts of songs. My names for the patterns of the song I'm working on:

Bass heavy

Smells Like Teen Spirit

Cymbal Mania (square)

Cymbal Mania (swing)

So there!

+ Snare

Take it to the bridge

Cymbal for bridge

Another dang cymbal

The bridge seems to be getting angrier!

I also find myself putting down dummy tracks that give a visual picture of the different parts of the song; otherwise I get confused and forget how long things take. Yes, I'm a worse percussionist than George Michael Bluth.

(1) Mon Dec 12 2005 22:42 PST:
Playground is a shared space for building things out of virtual click-bricks. Opens up lots of possibilities for games. Are there any networked games with Lego-like mechanics? I'll settle for LEGO-like mechanics.

Why can't a piece of sci-fi explore peoples' emotional reactions to something that can't happen or has yet to happen? This seems like "it's a graphic novel, dammit!" territory.

(3) Tue Dec 13 2005 22:58 PSTI'll Clobber Your Heart With My Dancing:
We watched Holiday Inn, another Tivoed classic. Pretty good; there are not enough movies where people start businesses. However, all the songs except "White Christmas" were forgettable. I'm not someone who goes around claiming that polygamous marriages will solve everyone's problems, but it really would have helped the characters in this movie.

There was an odd wartime newsreel type song for the Fourth of July, where the chorus sings "Freedom! Freedom! Here comes the Freedom Man!", and, yes, here he comes, the Freedom Man, to sing about freedom. "I'm singing a song about freedom," he sings. I think a lot of the problems in this country stem from the fact that freedom is no longer sold door-to-door.

Blackface. Argh. Every movie I've seen with Fred Astaire (a grand total, I believe, of two) also has hideous blackface. In this movie I suspect there was an actual blackface number which was cut for cable, but they couldn't cut it all because there's a touching scene where Bing Crosby proposes to his beau... while making her up in blackface! Gah!

Also we recently saw A Day at the Races, where the Marx Brothers put on blackface for no reason at all. Supposedly they did it to hide among genuine black people, but the authorities are fooled for precisely 0.0 seconds, so they could have just skipped it. The only interesting aspect of it is that Harpo only puts blackface on one side of his face, making him look like the racial allegory aliens from the original Star Trek.

Wed Dec 14 2005 20:58 PST:
Kevin heard the songs I've been recording, and compares my music to Joan Jett's. That's nice of him to say, but I think he's only saying it because "Get Around" has the same meter as "I Love Rock and Roll".

It's a good idea though, until someone gets mad that you're changing their RSS feeds, which I estimate would take 16 seconds.

I was clearly a little off on my timing there, because it's been at least 18 seconds and I don't see anyone who's complained about this yet. I guess all the people who would get mad are still diverted by the spectacle of Greasemonkey modifying their web pages.

Wed Dec 14 2005 22:28 PSTJoke:
Sumana is reading The Mythical Man-Month. This reminded me of a Segfault story I never finished, in which I alleged that most of the people who'd originally bought that book had confused it with a sensationalistic book of cryptozoology published at the same time: The Mythical Moth-Man.

Apparently nothing, but I did learn about the game MIDI Maze while trying to answer that question. Man, that's awesome: using MIDI as a networking technology. The equivalent today would be USB Maze or something.

Fri Dec 16 2005 09:12 PSTEggnog Transitive Closure:
Here's another thing that has the same ingredients as eggnog: the batter in which you dip French toast.

(1) Fri Dec 16 2005 09:33 PSTThe Story Of oooooo:
Sumana and I once tried this experiment, except we were seeing how many "a"s we could put in "It's a faaaaaake!" before we stopped getting Google results. I think the answer was somewhere in the 50s.

My mother read me this book, and at least one of the sequels, when I was young. Man, she must have read to me for years because we went through The Hobbit and Lord of the Rings, the Narnia books, these books, and who knows what others, all presumably before I started reading at that level myself.

Anyway, it's a really fun book, though looking at it now I see a Victorian subtext of "Don't go around wishing for things to be different than they are!" Well, it's not really fair to malign the Victorians for that subtext, since it's the subtext of any wishing story, from old genie folktales to contemporary time-travel movies. The only thing I can think of that doesn't have this subtext is the wishing in Nethack.

PS: There was also a similar book, a lot more recent, also British, which had some siblings finding a pink creature that had grown in toxic waste. I mainly remember it because the book mentioned the "loo", and for a long time afterwards I thought that bathrooms in England had a strange device called a "loo" that nobody else had. Has anyone else read this book?

(1) Mon Dec 19 2005 21:48 PST:
Things did happen yesterday, but I couldn't write about them because my neighborhood had no power all day because of a big thunderstorm. Mike Popovic came over (he was briefly in town from Maine), and we had lunch (produced on my gas range), and talked for hours.

Tonight: random date night. Sumana and I walked down Valencia and went into, I believe, every bookstore that was open. We also ate dinner at a tapas restaurant which was not good enough to justify its price.

I like the tapas idea though, and I wonder if other types of cuisine might start having tapas-style restaurants, and if this would encourage experimentation. Though I know nothing about Spanish food except what I've eaten in tapas restaurants, so for all I know this has already happened, and the tapas I've been eating are fusion tapas.

(10) Thu Dec 22 2005 13:18 PSTAnti-palindromes:
What is the term for a sentence that reads as a completely different grammatical sentence if you reverse it? I've never heard of any such sentences, and I can't think of any, but they must exist. Seems like they'd be O(n2) times more difficult to construct than palindromes, because you have to combine the letters and then try to split them up again.

Also, hilarity occured in conjunction with the book delivery. It was delivered over Thanksgiving weekend, when we were all at the zoo with Riana. Now, Riana used to date Josh, so when I opened up the package and read the note inside her gast was flabbered. "You got a present from my ex?" she said. "He never sends me presents!" Man, you can't buy that kind of hilarity. At least not since my hilarity store went out of business.

(3) Thu Dec 22 2005 20:00 PSTRetief:
To what extent do you think Keith Laumer's Retief stories are good clean biting social satire, and to what extent are they reactionary claptrap? The question comes to my mind as I prepare to save space by parting with my nearly-complete Retief collection. Also because there's a new, post-Laumer book in the franchise called Retief's Peace, which looks a little closer to the reactionary side. I still plan to read it eventually, despite Sumana's continuing amazement that I can stand to read Retief stories at all.

Fri Dec 23 2005 22:39 PST:
Today we visited Rachel and Jeremy and I tried my Christmas pudding out on them. They loved it, to the extent that they are going to deal out the rest of it at a Christmas dinner tomorrow. So I think my second pudding (yes! I made a SECOND PUDDING) will be well-recieved in Bakersfield.

Funny story: I also brought hard sauce for the pudding. Rachel put the sauce in the freezer during dinner, under the theory that hard sauce should be hard. As far as I know this is the only confusing food name for which the French are entirely blameless.

Useful tip: to make hard sauce, simply start making cookies and then don't finish.

(2) Sat Dec 24 2005 21:01 PST:
Having fun in Bakersfield where it is incredibly warm. The pudding did not go over as well with my family as I'd hoped; oh well. It was received okay.

Susanna and I have gradually taken over all the work that my mother used to do: filling stockings, cooking dinner, etc. The cooking is exhausting but the stocking-filling is really fun.

(1) Sun Dec 25 2005 10:08 PSTApples to Apples Variant:
This variant was discovered at a CollabNet retreat in 2004, but I remembered it last night and we played it. The variant is that you can't draw new cards until your entire hand is used up. As the game goes on, you have to get more and more imaginative about your cards' connections to the adjective cards, and it gets funnier and funnier.

You can also use this to wind down a standard game of Apples to Apples.

(2) Tue Dec 27 2005 06:58 PSTApartment Criteria:
Unless you live in NYC this is a boring entry. In fact, I find it a boring entry, but that might be because we haven't moved yet. In order to move we need to find an apartment, which means I must inflict upon you our list of criteria. Please send me mail if you know of an apartment that satisfies the following fitness function. We have other types of search going on in parallel with this one.

Apartment criteria listed in descending order of importance:
Under $1800/mo
2 bedrooms
Brooklyn (Park Slope? Sunset Park?) or Astoria in Queens
<= 5 minute walk from subway, 10 minute walk maximum
<= 3 blocks to full service grocery store
Low crime neighborhood
Washer/dryer in building
Low street noise at night, preferably during day also
Dishwasher
Big kitchen
Well-lit by natural light
Part of house rather than apartment building
Gas range rather than electric
<= 10 minute walk to restaurant clusters
Known responsive landlord
Little or no vermin problem
On first floor of building
Things that are okay:
1 bathroom
Small apartment building (< 6 units)

Tue Dec 27 2005 07:54 PST:
I just realized that How the Grinch Stole Christmas has basically the same plot as the book of Job.

Wed Dec 28 2005 23:43 PST:
For probably the third time in my life, my dreams were accompanied by music that turned out, when I woke up, to be memorable and pretty good. This time it was a Sheryl Crow-type song which, though no Jake Berendes West Covina, was not bad at all. In retrospect, I think the song was about the singer's status as a character in my dream. I think that's a good meme-propagation technique if you're a singer-songwriter trying to make it big in my dreams.

Eventually I'll have enough remembered dream-songs that I can do a real analysis of the musical style and see how it differs from my normal style.

(3) Thu Dec 29 2005 17:01 PSTThe Violence-Screen's All-Time Rocker-Shocker!:
That's the heavily-hyphenated tagline for The Big Sleep, which we borrowed from Andrew and watched in our ongoing orgy of pre-move borrowed media consumption. I didn't even know there was such a thing as a "violence-screen", but they had all sorts of weird movie gimmicks back then.

We put the DVD in upside down and ended up watching the unreleased 1945 version of the movie, which included long dialogueless scenes which were presumably the ones not written by William Faulkner. Most memorable is the text adventure-like scene where Humphrey Bogart is snooping around a house, finds some keys, unlocks a desk with one of the keys, finds a box in one of the drawers of the desk, takes it out of the desk, unlocks the box with another one of the keys, and takes out a book of ciphers. Next scene: he's in his office trying to solve the ciphers! What's next, the Towers of Hanoi?

Afterwards we found out that we'd seen the 'wrong' version of the movie so we flipped the disc and saw some of the scenes that were added before the movie's 1946 release. They were better than the cut text adventure scene, but not by much since their only purpose was to save Lauren Bacall's career with crude sexual innuendo. (I am not making this up; that's more or less the reason given by the UCLA film professor who guided us through the 1946 scenes on one of the bonus features.)

There's a lot of stuff that happens in this movie, and Sumana kept getting tired so we had to take it in shifts. It was worth it, though. Strong characterization, great cinematography, nicely confusing plot. It also has good Marxesque comedy bits, like one where Lauren Bacall's need to call the police loses out to her insatiable desire to participate in telephone comedy routines.

No NYCB discussion of this movie would be complete without a comparison to The Big Lebowski. IMDB trivia claims that the latter movie actually has more in common with The Long Goodbye, which I haven't seen. But there's nearly a complete mapping from the characters in The Big Sleep to characters in The Big Lebowski, and some of the themes are similar, so I think the relationship is like that between O Brother, Where Art Thou? and the Odyssey.

I think The Big Lebowski is a better movie than The Big Sleep; it's not as complicated, per se, but it's more complex. It has more interesting things in it. Sumana became agitated when I made this statement, so I'll qualify it by saying that my judgement might be different if I'd seen the 1946 version first. Incidentally, I recently saw a tremendously patronizing Big Lebowski "Achiever's Edition" boxed set for sale and was very glad that no one got me that for Christmas.

Bonus: The Big Sleep includes a hot bookstore clerk who takes off her glasses and lets down her hair and -- bam! -- she's milquetoast and not that hot after all! How do they do that? Why do they do that?

That's a funnier premise than The Five Obstructions, so I have high hopes for this movie. Plus it's got a great "Japanese comedy troupe" name (which is, within the movie, actually the name of a Japanese comedy troupe). It looks like I'd have to go to one of those importer web sites to get it, though.

Also, Kevan may be interested in the French film Les revenants (English title "They Came Back", which doesn't seem to be any kind of translation), assuming he hasn't seen it already.

I have an awesome Christmas present still to give Susanna. Also a juicer.

(2) Fri Dec 30 2005 21:01 PSTContents May Transitize In Transit:
A bunch of these secondhand boxes I got for moving are from Alcoa, and all over them is written talk about closures. "Improper handling may result in damage to closures", "Closure temperature should be no less than 65 degrees F", et cetera. I couldn't figure this out, since closures are abstract concepts which don't need to be put into boxes.

Then I noticed that the company name on the boxes was Alcoa Closure Systems, and it dawned on me that the boxes themselves were the closures. "Closure" is just a fancy word for "box". All the warnings are regarding the operational tolerances of the boxes, and the contents be damned.

Sat Dec 31 2005 19:10 PSTSome Kind of Chaat:
Another recipe from Sumana's mother. I asked her what it was called and she said "snack". Pretty generic name for something I can't find on Google. Anyway, here it is.

1 ladle safflower oil

mustard seed

1 spoonful turmeric

4 or 5 curry leaves

raisins, cashews, and peanuts: 2 handfuls total

2 T salt

2 T white sugar

Fry this all together on low heat. Mix in:

2/3 lb. puffed rice. You can also use Rice Krispies.

2 t sambar or rassam powder (you can probably use curry powder)

Stir for a while, turning the rice over and over, until all the rice is crispy and turmeric-colored. Store at room temperature.