[Comments] (11) : Sumana and I were talking about whether or not science fiction writers had envisioned second-order effects of personal computers, like screen savers. Discussion was somewhat limited by the fact that neither of us could even think of anyone writing an SF story about the personal computer before it showed up in hardware. The usually-helpful Technovelgy doesn't help much here (it does say there is a pocket computer in The Mote in God's Eye, a year before the Altair). As has already been established this is exactly the kind of thing I don't know, so I'm sure my readers can provide lots of interesting examples.

I'm specifically interested in stories where a computer is assigned to or owned by a relatively average person, regardless of the computer's size or power. All we can think of is people going to the computing center to use the monolithic communal computer, using the shared ship's computer, etc. Of course, the easy solution is to update all those old stories by simply appending ".com" to the monolithic computer's ACRONYMAC name.

: Usually I'm underwhelmed by the edge.org yearly question, but this year's ("What have you changed your mind about?") has yielded a lot of interesting answers. In general I think asking about edge cases and failure conditions gives interesting results.

[Comments] (5) : Once in a while we get a glimpse in the New York Times of the crushing problems that beset the incredibly rich. The problems seem to center around that home away from home, the home away from home. A year ago it was the difficulty of getting an appliance fixer to come on a boat to Dolphin's Ass, MA and fix the stove in your summer home. But what about stocking said home with books? Books don't buy themselves, you know (except on the Kindle). And sometimes your guests want to read a book they'd enjoy, not something you bought because it's the right dimensions to fill a shelf. ("Don’t forget the oversize art books for those tall bottom shelves.")

"At one Manhattan couple’s weekend home in the Catskills, books seem to have a life of their own." I blame Gumby.

It's like an article about arranging a dinner party for mutually incompatible species of aliens. ("If grandparents are going to be the guests, then you should have... photo books of places they’ve lived in or visited, maybe art books or military histories or books on their hobbies.") If I had an extra home I was going to let people borrow, I'd probably stock it with books I'd already read and liked, copies of which I conveniently already own and want to get out of the book-crowded house. If you don't like it you can bring your own books! Get off mah property!

PS: Due to an extended-family sharing thing I actually have access to one of these summer homes, but since it's in Utah I've so far avoided being the sort of person who gushes about 'the summer home', or even goes there.

PPS: Apparently all my writing is now going to have the tone of TF:AR entries.

: From that we go way, way downmarket to misleading TV gadget ads, including an early one from 1985. Sumana and I have always loved the actors who feign cartoonish incompetence at everyday tasks so as to make the product advertised look more useful. I never know the intended register of those scenes. Do the rubes who buy the gadgets see the incompetence scenes as mere Seinfeld-esque exaggerations of real everyday problems?

Anyway, that reminded us of the Rototron Cornbobber, so we had to watch that again. Rick Lax, who wrote and co-starred in the infomercial, now has a law school weblog. You, sir, are a mouthful!

: There's a group on LibraryThing listing the contents of famous peoples' libraries.

: As part of my ongoing experiments with poetic meter, I put up a feature that creates new Shakespeare sonnets from the existing ones. I've got two generation mechanisms and I'm not sure which is better, so I'm going to let them both run for a while.

A similar thing exists already, but it includes rhyme constraints (not a bad thing) and lots of undada human volition (well...).

I've also got one for Paradise Lost, but Shakespeare was more fun.

: We finally went to the famous Chinatown Ice Cream Factory and ate ice cream. I was intrigued by the chocolate pandan ice cream. "It's chocolate and pandan," said the cashier. Uh-huh. "Pandan is a Malaysian leaf." Okay, I'll eat a leaf. It was good, sort of nutty.

[Comments] (1) If you're not recycling, you're throwing it all away: I've got a "space" screensaver on my laptop, which I thought it would be cooler than it is, though it's pretty cool: it fades through a random slideshow of famous astronomy pictures. Every once in a while it fades from the earthrise picture to the Sombrero Galaxy and I think "Oh no, the earth's exploded."

"[O]ne of the first things he did was to nationalize all of the businesses on this part of the lake": I'm a sucker for things with "mega" in the name, so I enjoyed National Geographic's 2004 African Megaflyover, a travelogue with aerial and ground pictures.

: Evan and I were brunching at our accustomed table and bemoaning the death of the personal letter as an art form. Oh, it's so much more intimate than email. Except I never got around to sending any of those letters, and once my mom got email we talked a lot more. So bah to the personal letter. But Evan had the retro Stockholm syndrome we old-timers sometimes get when we think about old technology. He liked the way you didn't know when your letter would arrive, when there was a several-day lag time and a day or two of uncertainty on either side.

Well, email used to be like that, as Clifford Stoll will tell you. And there's no reason why it couldn't be like that again, if you want to do some sort of Colonial Williamsburg E-Maile reenactment (that's the hipster Williamsburg, not the one in Virginia). Old standby mailtothefuture.com has been shut down, but mailtothefuture.org has sprung up in its place. All that's missing is the random element; you have to specify your delivery time to the hour, which is way too precise for these purposes.

HassleMe has a nice randomness element to it, but that's because it's emailing you periodically, reminding you to read an improving book or whatever.

[Comments] (1) Intriguing Search Requests: amiga star trek roguelike

All-Time Stupid Slogans:

  1. "Freshness — Hostess — Kids... They Go Together!"
  2. Collect U.S. Commemoratives
    • They're Fun
    • They're History
    • They're America

(The latter in use for at least thirty years.)

[Comments] (1) Slide a sandwich through the slot!: Text ad said, "The Chinese Boom is Real". I read "The Chinese Room is Real".

[Comments] (1) : There are a lot funny things about Leonard Nimoy singing "The Ballad of Bilbo Baggins", but I like to think the funniest thing would be Lobelia Sackville-Baggins's reaction if she heard it.

[Comments] (3) Mystery Songs: This story begins with Linnette the Psycho Elf, a friend of mine and Andy's from Prodigy, who sent Andy a tape of rare They Might Be Giants bootlegs. At the end of the tape there were three songs, possibly a demo's worth, by a non-TMBG band which used what sounds like a Hammond organ. One of the songs ("The Latest Theory") is just okay, but the other two are excellent and have stayed in my head ever since. Today I digitized them as part of my digitize-and-get-rid-of-tapes project. Here they are, with my inaccurate title guesses chosen for maximum Googlability.

No reliable information has survived about this band. I think they were local to Linnette, who lived in Massachusetts, I think, or somewhere in the East with a lot of trees, I guess because where else would an elf live? And the band may have opened for TMBG at one point. I've been low-key searching for information about this band for fifteen years, and although the amount of data I can search has grown by orders of magnitude this information is never in the pile. So I'm taking the first step and hoping someone attaches another piece eventually. And if not, you can at least enjoy the songs. Also it would be cool to hear from Linnette again if she reads this.

Disappointing update #1: Andy sez, "Wow, I'd completely forgotten about that tape, those mystery tunes, and their supplier! I think the original tape melted in my old VW."

Non-disappointing update #2: Caleb Wilson identifies the musician as Brian Dewan! The songs are from an EP put out by John Flansburgh's Hello Recording Club. Andy says, "The Internet saves the day again!"

[Comments] (5) : Sumana is back! She says, "We should sponsor a Summer of Code project where we pay young hackers to write ports of robotfindskitten. We could call it Summer of Kitten."

Who else is in my house? IT'S SETH DAVID SCHOEN.

[Comments] (6) : My least favorite science fiction story type is "space aliens act friendly but in a shocking twist they're out to screw us over." You no longer see this much in published stories, but I encounter it with some frequency because I'm still catching up and because I often take a lucky dip (love that phrase) into the old stories published at Project Gutenberg.

I am moved to write by one story in particular "PRoblem", by Alan Nourse, which I read recently. It's truly aggravating because it starts out as a fun illustration of the many, many possibilities for human/space-alien conflict that don't involve hostility. I was thinking "This is really good for 1956!" And eventually I thought "Wait, they're resolving the really good conflict with a few pages to go, could it be that..." Oh no! In a shocking twist, the aliens were out to screw us over! So I got caught by the twist, but at what cost? I was caught because the story convinced me it was too good for a cheesy twist ending.

I guess since it's in the public domain now I could just write my own ending. That won't solve the general problem though.

[Comments] (2) Pressing Issues:

Susie: did you want me to fedex your lederhosen?


Leonard: i always thought it was disturbing how there was a fisher price dog that was a regular dog, but also a dog that was a person who could drive cars etc.

[Comments] (1) : I hadn't heard about Boltzmann brains before reading this NYT article, but I knew vaguely that inflation was making cosmologists come up with strange ideas. It's a great idea, and one that deserves to be explored in fiction, but I don't understand why a Boltzmann brain is supposed to be more likely than an orderly universe containing billions of real brains. If I'm reading it right, a Boltzmann brain and a universe are both possible results of a random fluctuation in the meta-universe. But a Boltzmann brain is very complicated and a universe is just a set of initial conditions. Basically I'm a computer programmer and the instructions for a universe that will eventually contain brains seem a lot simpler (therefore more likely) than the instructions for a brain. The universe is a lot larger than the brain, but if these things are budding off from the meta-universe I don't think our concepts of size are relevant.

Maybe a Boltzmann brain with my specific mental states is more likely than a universe containing a real brain with my specific mental states? As you can tell I don't understand this very well, but I just wrote 7 TF:AR entries (only 44 to go!) so I get to babble for a while. Maybe Kris has devoted some thought to the problem; it's the sort of creepy idea that would keep him awake.

Update: This weblog entry seems to be saying that I don't understand it because I don't believe the underlying argument about the structure of the universe. If I did believe that argument I'd understand Boltzmann brains, and then immediately agree that the whole thing was ridiculous and change my mind.

[Comments] (1) Question Center Roundup: If you're like me, you probably lack the attention span neccessary to read through seventeen pages of the World Question Center finding out what eggheads have changed their minds about. You're stymied by the fact that there's no consistency whether the headline of an entry is the proposition the author changed their mind to, the proposition they changed their mind from, or just the topic on which they changed their mind.

But you're probably not enough like me to decide to go through the whole thing anyway and post a best-of, the entries that stuck in my mind as telling me something new and interesting. Which I just did. Enjoy!

: "It's Weird Al's compilation album, More Songs About Food and Food."

Cinematic Titanic: Initially I shied away from buying the Cinematic Titanic DVD because of the gargantuan 10-day backlog. Of course, I put off buying for more than 10 days because of it, but at least I was in control of not getting what I'd ordered. On the 17th I saw that the self-reported wait was down to "up to 5 days", and bought. My DVD went out the next day and it arrived today. So really the major bottleneck was the USPS getting a DVD all the way to New York from Northampton, MA. I guess there weren't fresh horses at the Hartford Inn or something.

Haven't seen it yet, but looking forward to it. Also got some AWESOME from Brendan.

: I can't get enough of the Super Golden Crisp that is John Harris's writing. Not content to write the @Play column for GameSetWatch, he also plays Peter Schickele at Gamasutra with his "Game Design Essentials" series (1 2 3 4). Man, it's better than actually playing games.

Cinematic Titanic - Reviewed!: Sumana was interested in watching the Cinematic Titanic DVD with me. I was apprehensive as Sumana has heretofore reacted towards MST3K in a way that must be described as lukewarm. We watched the first half last night and then I finished it off by myself this evening. She was happy that there was a woman in the cast, but not interested enough to stick around.

In terms of riffs it was a solid early episode of MST3K. That's not as good as it sounds; I have a very-long-term project to watch all the episodes of MST3K, and one thing I've discovered is that the early episodes aren't nearly as good as I remember. There's a lack of polish and an over-dependence on observational riffs.

Observational riffs take some aspect of the film and tie it in to some aspect of pop culture or common knowledge. This derives from the KTMA and first season episodes where there wasn't much (or any) writing done beforehand, and it was just noting who looked like who or what sounded like what. Oozing Skull example: Joel doing the Mod Squad theme song because a particular shot looks like the Mod Squad opening sequence. Classic baby-boomer Joel riff that's only funny because it comes as one of a flood; however, he does then turn it into a meta-joke, one of the funniest in the movie.

Commentary riffs do what people say MST3K does: "make fun of bad movies". It's not making fun to say that something looks like the Mod Squad opening sequence; it is making fun to say (Oozing Skull example) "Yeah, it's nice to just slowly ease into a chase scene."

The best riffs combine an observational with a commentary riff. The first one that comes to mind is from MST3K "Pod People": "Even the movie The Fog didn't have this much fog." It combines two jokes that aren't that funny ("The Fog starring Adrienne Barbeau!" and "Boy, there sure is a lot of fog in this movie") to get a result that's funny.

Here's the thing: I associate this sort of riff very strongly with Mike Nelson. It grows in prominence as Mike goes from staff writer to head writer to star of MST3K to nearly the most senior MST3K staff member to post-MST3K solo projects. Mike Nelson has been refining this technique almost nonstop for eighteen years. It's not easy to do, and he's good at it. I find the last couple seasons of MST3K dominated by bland one-note characters and a need (possibly imposed by Sci-Fi Channel brass) to jump strange new sharks every week, but the movie riffs are consistently funny. They're also extremely nasty, because most of them are this combo that takes the movie down a peg while tickling some semirelated part of your brain.

The Cinematic Titanic team don't have Mike and haven't done this sort of work since the end of MST3K. Two of them have been over at America's Funniest Home Videos, which doesn't have much call for sophisticated comedic devices. So this movie doesn't have much of what I think was the best device to come out of MST3K.

Another thing that would help would be fleshing out the riffers as characters in a fictional situation. Having a framing device really helps with suspension of disbelief, even a minimalist device like Uncle Morty's Dub Shack/The Film Crew. This is especially important because there's five people in the theater, and only Frank and Mary Jo have really distinctive voices (even UMDS only has four, and they're always doing funny voices). This will also help the problem some other reviewers noted, where the riffers were hamming it up. I suggest they're hamming it up because they don't have characters to play.

This is more an analytical review and less a "should you watch this" review, but in general I think you should watch this if you like MST3K. I'll keep buying the DVDs and will let you know once CT hits its stride. I've also ordered some Film Crew DVDs so that I can try the Mike fork of MST3K out on Sumana.

: I had some fun today flipping through My Year of Flops, reviews of commercially and critically unsuccessful movies written by The Onion AV Club's Nathan Rabin, who I thought was but was actually not the person who wrote my favorite-ever phrase from The Onion (referring to Jonah as "the Nineveh-averse prophet").

[Comments] (1) SNACK FOOD PRODUCT OR WHATEVER: Have another business trip (business trip) coming up, so once again I'm toiling in the TF:AR backlog mines. While looking up edible spoons I become enamored of the king of the patent overreach tricks: appending "or the like" to the name of your patent. "Covered food storage bowl or the like", "DISPOSABLE DIAPER OR THE LIKE", "Greeting card or the like". Here's my fave, which seems to be the patent on the Frito.


: I'm back in Florida. According to a sign I just missed Rudy Giuliani at the Ron Jon Surf Shop.

: People are buzzing online about the 50th anniversary of the Lego PATENT (sorry, LEGO patent), but I haven't seen anyone link to the patent. It's US patent #3005282 (filed six months after the Danish patent (?)), and it has some nice diagrams.

You can see a big chunk of the history of Lego by looking through patents. Toy patents from the 1950s are fun in general--big surprise!

: I always thought "redux" was a French word, but Mr. Québécois says it's not. Turns out it's Latin.

Overlooked Wargames: Napoleon at Chattanooga

: I'm trapped in the Orlando airport; my flight was delayed many, many hours. On the plus side, I'm kicking back in the plush Delta Crown Suite Lounge Whatever. On the minus side, they're about to kick me out.

I've never been in one of these fancy waiting rooms before. This is a really strange room; it's got a totally different (ie. non-tawdry) aesthetic from the rest of the airport. It's designed like a hotel lobby, but it's much larger than any hotel lobby would ever be. Certain design elements and furniture arrangements are copied and pasted over and over again.

In general, I have decided that Florida is Las Vegas trying to do California.

: I just got home; you can stop doing whatever you were doing while waiting for me to arrive. Like sleeping, for instance.

[Comments] (4) You Will Go To The Moon (But You Probably Shouldn't): I mentioned earlier that reading Oliver Morton's entry on changing his mind about manned space exploration had a strong effect on my own opinions. But Morton's entry is pretty sparse and assumes a lot of knowledge, so I wrote this longer entry about my own journey to a similar opinion.

A talk about priorities is usually a talk about money, so here's a baseline number. NASA's 2008 budget is $17.3 billion. This is not a trivial sum, but since the government always seems able to allocate much larger sums for pointless wars, weapons systems that don't work and/or are strategically useless, etc., I've never bought into the argument that this $17.3 billion is taking off the table money that could be used to solve pressing social problems. (In fact there's a pressing social problem that NASA is in a good position to help with, except that part got taken out of NASA's mission statement.) I prefer to think of NASA's budget as a Strategic Awesomeness Reserve. And over time I've come to the conclusion that manned space exploration is not awesome-effective.

My realization has been a while in coming and I can identify four big steps towards it: hearing the State of the Union Address in 2004, learning about the cancellation of the Europa mission in 2006, reading The Right Stuff in late 2007, and reading Morton's entry a couple weeks ago.

Until I started writing this paragraph, my recollection was that in his 2004 State of the Union Address, George W. Bush kind of casually announced an extremely expensive set of manned missions to the Moon and Mars, and then never mentioned them again; taking what in the hands of a competent president might have been inspiring, and making it seem tawdry and shameful. I'm not the only person who had this memory.

But what actually happened was even stranger. The week before the SOTU, Bush gave a totally separate speech outlining his Vision For Space Exploration(tm). A week later he had already forgotten about the moon base and manned mission to Mars he'd sent NASA scampering to develop. Or at least he didn't consider it worthy of mention in the SOTU, certainly not nearly as important as lecturing the country on the horrors of same-sex marriage. It gave me the strange feeling of being part of some space-nut block whose votes are vitally important to George W. Bush, a block worthy of billions in largesse, but a block whose hot-button issues must never be mentioned in speeches that people pay attention to. Unfortunately, unlike most of us, the people at NASA don't have the luxury of ignoring an incompetent president's offhand suggestions; they're still dilligently working on making a permanent moon base operational twelve years from now.

Item two: the Europa mission. Now that I'm researching this, it's a lot more complicated than I thought. The "Europa mission" was just one part of an enormous meta-mission called the Jupiter Icy Moons Orbiter (new from 7-11). The cost of the meta-mission would have been a huge $10 billion, a lot more than I'd guessed for Europa alone. Nonetheless, right now I think a Europa probe is the single most awesome space mission. (Runners-up: next year's Kepler mission and Mars Science Laboratory.)

$6.7 billion—a plurality of NASA's 2008 budget—is spent on "space operations": the ISS and the Space Shuttle. This is sunk awesomeness. It is cool to have a space station; it might even be $2 billion a year cool. But is the Space Shuttle twice as cool per year? We've been doing three shuttle launches a year. What do we do on those launches? We build the ISS. Why are we building the ISS? Because people living in space is awesome. Is it so awesome the whole package is worth $6.7 billion a year? Is there a more awesome way of spending that money?

Here are what I consider the top eleven most awesome American space projects of my lifetime, presented in descending order of cost. (Numbers are a little fuzzy, mostly due to inflation since the time total cost was reported.)

There's a huge discontinuity. The bottom seven items on my list cost less in total than continuing the top two items through 2008. Even if you think it's really really awesome to send H. sapiens into Earth orbit, is the Space Shuttle program thirty times more awesome than the Hubble program? (I realize that over its lifetime the Hubble has had to be serviced by astronauts from the Shuttle, but it would have been significantly cheaper to send up a new space telescope every five years!) I pinpoint the Space Shuttle, the ISS, and Cassini-Huygens as not being awesome-effective, and the MSL had better be pretty damn awesome. (Not sure why C-H was so expensive, except that it started out as a JIMO-like meta-mission and had to be pared down.)

More generally, just about any unmanned space mission you could imagine is better awesomeness for money than any manned mission, unless you think that sending a human body is so awesome as to outweigh all other considerations. Some examples off the top of my head that I'm pretty sure no one is doing: go to Europa. Go to the other moons of Jupiter. Send more robots to the moon. Send recovery missions to Mars and the asteroids. Set up a radio observatory on the far side of the moon. Build enough telescopes that astronomers don't have to fight for observation time on the Hubble.

Okay, that's pie-in-the sky stuff. But now comes the Vision For Space Exploration(tm) with its $100B lunar base. The manned missions are expanding, and they're squeezing out the unmanned missions--that's what happened to the Europa mission. The permanent moon base will cost about twice of NASA's contribution to the ISS, and (I don't have a number for this, but it's pretty likely) the twice-yearly round-trip flights to the moon for crew rotation will cost more than the thrice-yearly shuttle flights we do now.

Unlike with the Shuttle and the ISS, we haven't spent most of that money yet, or (thanks to W's buried speech) gotten psychologically invested in the mission. We still have an opportunity to step back and say "Maybe we should buy an incredible amount of awesomeness with this money instead of a moderate amount of awesomeness." Or maybe for you $100 billion gets into the range where it could be better spent on something other than astonomical awesomeness.

I used to buy into the Apollo-era idea that on a visceral level it doesn't count as "exploration" unless a human body does it. This lasted in some form until I read The Right Stuff. There I saw the origin of my emotions towards manned space travel, and it was kind of creepy. The Mercury astronauts were pioneers but they didn't explore anything. From an exploration standpoint it made no sense to include them in the capsules--they had to fight to get a tiny bit of control over their trajectory. They were sent up because we were locked in a competition to prove who was the most awesome, cost be damned. The moon shot came out of Kennedy's desire "to announce a program that the U.S. had a strong chance at achieving before the Soviet Union." Tying exploration into this is equivocation. Exploration demonstrates how awesome the universe is, not how awesome you are.

My preconception has a corollary that space exploration has been moribund since Apollo--that is, I've never lived during a time of active exploration. But if you look back without the preconception, space exploration has been steadily progressing for sixty years. The first golden age was the post-Apollo 1970s, when the solar system opened up to us. The other golden age is the one we're living in now, the one with all the stuff on my top-eleven list, where the Hubble has expanded the visible universe by orders of magnitude. The golden age doesn't need to stop or even slow down, but it probably will if NASA goes ahead and builds a moon base so that... people will live on the moon and it will be awesome.

Even in the unlikely event that the US government stopped doing manned space flight altogether, manned flight and research into it will continue. There is now a lot of private-sector interest in sending people into orbit, because people will pay for it. People will also pay to visit (probably not live on) the moon or a space station. I, too, think sending a human body to the moon would be unbelievably awesome, provided that the human body is mine. There is not a lot of private-sector interest in radio astronomy or sending a probe to Europa.

Don't settle for the moon. To quote Morton, "A world with a spartan $100 billion moonbase but no ability to measure spectra and lightcurves from earthlike planets around distant stars is not the world for me."

[Comments] (3) You Will Go To The Moon (It Will Be Cool): While writing the previous entry I was thinking of how to give the experience of being on the moon to the most people for the lowest cost. The moon is close enough that telepresence is practical, so my initial thought was of a playground of a few square miles where you could pay to run around as a telepresence robot. But user-controlled mobile robots on the moon are easy to break and hard to replace. So how about dropping a few hundred solid-state, solar-powered panoramic cameras in different lunar locations. Each has a linkup to a communications satellite that transmits a high-quality image back to Earth.

Now you can put on a VR helmet and get a view from any of the cameras. Since the cameras are panoramic, any number of people can use the data feed simultaneously to look in any direction. You're on the moon!

I don't think this is a practical business idea, but it's a lot more practical than actually sending people to the moon. Plus, it works the same everywhere. You can look around a time-shifted panorama of Mars in realtime, rather than telling the camera to move and waiting eight minutes for the shot to change.

: Fun essay with code: Can a Bayesian spam filter play chess?

: Recently I discovered another robotfindskittenlike game: Space Kitteh. It's like a 2D Flash version of Super Mario Galaxy. Also this GameMaker remake, which isn't on the list.

[Comments] (3) One Guy Who Publishes Anything: I've managed to go over ten years on this weblog without slipping up and mentioning my obsession with the old LucasArts graphic adventure Maniac Mansion (there are a couple MM links in my del.icio.us account, but only one casual NYCB reference from 2007). No longer! I am a Mansion Maniac. Catching up on my syndication feeds I saw a link to a long, dirt-dishing appreciation of the game, complete with description of an ending I'd never discovered and modern-audio-format encodings of the excellent NES soundtrack I've had stuck in my head for almost twenty years--including a live surf-band version of the useless surfer dude's song, and a Castlevania-esque song that's in the ROM but not used in the game. Bravo! All I can add is an anecdote about the intersection of MM with my childhood.

I never owned MM but I rented the NES version more than once, and more than once played it into the night at CJ Cullins's house. It was probably the first nonlinear game I'd played, and we spent a lot of time trying to get all the endings or trying random mail-order stunts, which if you've played MM you know means a lot of waiting. To pass the time we heaped scorn on Dave, the main character of Maniac Mansion.

Man, we hated Dave. Dave had it all: fancy pixilated clothes, a girlfriend (a cheerleader girlfriend!), a purpose in life (to rescue said girlfriend), and friends from across the B-movie teenager spectrum. Everyone from the school nerd to the punk chick wanted to help Dave out.

And why? In retrospect, they probably wanted to help Sandy. But why team up with Dave, a man with no marketable skills whatsoever? It's true. Every character except Dave had some special ability that would help you achieve one of the endings. Even useless surfer dude Jeff could fix the telephone in the library. Dave had nothing except an awesome soundtrack (credit where due!), yet you had to include him in your party. He was the "Human" on the D&D species table of Maniac Mansion, the bland standard by which more interesting deviations are measured.

Winning a game of Maniac Mansion then was always a bittersweet experience, because it meant reuniting Sandy with her lackluster boyfriend. There was always the knowledge that as soon as they escaped the Nintendo of America-policed confines of the text, Dave and Sandy were going to go off and make out. Despite this, it never occured to us to kill Dave off before the end of the game, which I think reflects well on us. (It's just as well, since looking at online walkthroughs I see that a dead Dave gets resurrected at the end of the game!) Instead we let him languish in the dungeon, positioned by the loose brick, ready at a moment's notice to help someone else get out of the dungeon. We called him Dave the Dungeon-Dwelling Dunlop.

Now's a good time to explain that "Dunlop" was our own designated derogatory term. There were a number of company names we'd adopted as insults because they sounded like insults: the other big one was "Bechtel". We also really liked "dolt" (which I got from Pogo) because it sounded adult. A rarely-used corporate insult was "Obex" (I think this was a sportswear company?) and that's all; we didn't have like twenty of these brand-name insults, but I think the practice deserves to be brought into the modern age.

Anyway, so there we are in 1991 or whenever, having a great time exploring this game while hating on the Designated Hero with our made-up insults. In my tellings of the fiction the real romance was always the one between Bernard and Razor. Not realistic within the 80s B-movie universe of Maniac Mansion, but as it turns out not an uncommon pairing in real life.

[Comments] (1) : The Internet Archive recently acquired a lot of "Pocket Guide" books that instruct the WWII infantryman on the customs of whatever weird foreigner-ridden place he's been sent, as well as nearly-indistinguishable "Short Guides" to Iraq and Syria. It's all written in that cheerful WWII field manual style where you're never quite sure the writer isn't having a joke at your expense: for instance, Iraq's history is said to go back "a tidy 5,000 years". They also toy with your affections, telling GIs bound for China and North Africa alike that "No American troops anywhere have a more important assignment." Also, apparently the Chinese love Irish jokes, "the Chinese equivalent for the Irish being people from Hunan province."

One of the guides to France says: "Anyway, so far as your military duties permit, see as much as you can. You've got a chance to do now, major expenses paid, what would cost you a lot of your own money after the war. Take advantage of it." From what I know of post-WWII American culture, a lot of people did.

[Comments] (3) : I have been paying only fragmented attention to the ongoing saga of Peter Hirschberg's awesome retro arcade as it garners more and more coverage. I don't have much interest in retro arcades for the same reason I'm not really interested in emulating the ZX Spectrum: there weren't any where I was growing up.[0] There was Galaga and Rush 'N' Attack at the Safeway, and later on Smash TV at the convenience store near the middle school, and... nothing else! In my day we made our own fun. Using cartridge-based home consoles.

Nonetheless, I really admire Hirschberg's attention to period detail, and so this part of a recent interview caught my eye:

I insist that people use the quarters I provide. The change machines are set to dispense quarters for free. My rules are "don't use your own money" and "don't take my money home with you."

Obviously there are many reasons why you might make those rules. But you'd really want to make those rules if you had gone through a Scrooge McDuck-like bin full of quarters looking for the ones minted before 1985, so that your restored arcade games would feast only on period coins. Then those rules would be the only thing protecting your machines from cross-contamination with quarters from the future, where arcade games are played with "drum kits and full-scale Army tanks" and you pay for them with a magstripe card.

Would this be the most awesome real-life Easter egg ever? My sources say yes. Ordinarily I would have been content to just post this idea as speculation. But Andy Baio's recent forays into investigative journalism have held me to a higher standard. Was it really that hard to just email the dude and ask? As it turns out, no. He does use a spam whitelist, and my client obediently treated the whitelist challenge message as spam, but that's nothing I haven't dealt with before. I was a journalist! Advantage: blogosphere!

Well, it turns out he doesn't use period quarters:

You're partially right. I use quarters instead of tokens because tokens didn't come along until the mid-eighties. But no, I don't use vintage quarters. That would be over the top. Even for me. :-)

I'm not one to say people should do things they think are over the top for them, but... let's look at this in terms of ritual. The original arcades were magic circles: places circumscribed from everyday life where you could perform a sacrifice and achieve the experience of another world. Hirschberg's arcade is a nested magic circle: a place circumscribed from everyday life where the otherworldly experience is you get to visit the sort of magic circle they don't have anymore.

Inside this nested magic circle, the ritual invocation comes without cost: this is why people in comments sections often compare Hirschberg's arcade to heaven. But it's still a real invocation, and since the object of the sacrifice (a quarter) is reusable and durable, the most powerful invocation would come from an object that had been used in similar invocations back when there were real magic circles dotting the landscape. Similar to the logic that sends people after the Holy Grail even when wine transubstantiates just fine in a Dixie Cup. The odds are good that any given pre-1985 quarter has been through an arcade machine at least once, so for maximum ritual impact, period quarters are actually one of the more important details. Advantage: making-stuff-up-sphere!

In case you're wondering, the real reasons behind the quarter rules are about what you'd expect:

The reason I don't have people use their own quarters is because I have to be careful that I do not make money with my gameroom, lest it be labeled a 'commercial' venture, and not covered under my homeowner's policy. Not to mention I want people to be able to play without paying.

Similarly, I don't want people taking my quarters home with them because it's real money.

[0] Last time I was in CA I asked Danny O'Brien how were the games on the Spectrum, and he thought a second and said, "a bit crap really." Yes! Best Commonwealth English phrase ever! I almost wish more things sucked so that Brits would say "a bit crap really" more! But then I remember the lessons of Jet Set Willy.

: This question has been bothering me for a while. Would you say that "Crystal Blue Persuasion" is something one engages in, or something one is a part of?

We just got back from seeing The Farnsworth Invention, which was good and Sorkiny. It turns out that Philo Farnsworth is buried in the same cemetery as my parents (Provo City, block 10, lot 18). My parents are in block 14, lot 78, as long as I'm looking stuff up.

[Comments] (1) Connection:

Lady Velkor, wearing a green peasant blouse and green hotpants, looked around the geodesic Kool-Aid dome. A man in a green turtleneck sweater and green slacks caught her eye, and she walked over to him, asking, "Are you a turtle?"

"You bet your sweet ass I am," he answered eagerly and so she had failed to make contact—and owed this oaf a free drink also."

The Illuminatus! Trilogy, p601-602

In comments on BoogaBooga it's pointed out that the Turtles also show up in The Right Stuff. I remember that now; I was going to write it down and post this entry several months ago, but I was on a plane with nothing to write with.

No Quarter: If future historians wonder why Jason Scott's ARCADE documentary wasn't finished until 2028, it's probaby because I turned him to sorting quarters. Similar to Duchamp taking up chess.

I went through my milk bottle of laundry quarters to gauge the quixotitude of this quest. I found:

So it's not as hard as I thought to find these old quarters. The oldest one in my impromptu collection is from 1970 and it looks great.

Space Probe Watch: MESSENGER made its first flyby of Mercury recently, acquiring never-before-seen footage and high-resolution pictures of cliffs. We get two move flybys and then a year in orbit around Mercury. Cost of the mission for those keeping track: $427 million, about the cost of a Space Shuttle flight.

As I get more into this research I'm wondering where the raw data for all these probes is. I always had a vague feeling it was "online" somewhere but had never tried to tie it down to a specific URL. It looks like it's just all over the place. For instance here's a bunch of stuff from the 70s and from the NEAR Eros mission. This looks like a job for... Carl Malamud!

: Just when you thought all hope was lost (and not too long before the rights would have reverted to me), Futurismic announces they're resuming fiction publication! I have it on good authority that "Mallory" will be published sometime "between March and June". My dissatisfaction with the Futurismic situation has waxed and waned. It's aggravating, sure, but they're a small business, not a big publisher, and unlike in many of these "they bought but didn't publish my story" stories you hear, they did pay me and they haven't gone under. Plus, in the intervening time I've had much bigger deal-not-going-through problems, as I hope to be able to talk about soon.

If that's not cool enough for you, maybe you'd like an interview with the guy who designed the Lego LEGO MONORAIL Monorail.

[Comments] (2) : Over the course of the afternoon I took pictures of snow accumulation in my "back yard". These photos are not that interesting, and what's more I'm sitting on photos that are much more interesting, like photos of cassette tapes from the 70s. In fact I'm sitting on photos of snow that are more interesting. But I had to empty out the digital camera and fire up the Gimp anyway, so I figured I'd put up the photos that were easy to deal with. I also took a picture of the excellent Future Stuff illustration of the GPS car navigation system. It's the most accurate picture of the future in that whole book.

: I've been on a writing tear after work this week, and I'm pleased to report that I have only 10 more Future Stuff entries to review and then I can just run out the clock. I'm a little worried that I've been using Future Stuff as an excuse to avoid doing real writing, but we'll see once I'm done.

: The Natural History of Chocolate. The sort of book you might see today (except it would be called Chocolate: The Natural History of an Obsession), but published in 1719. Might be the earliest book I've read that had footnotes, but I don't exactly read a lot of eighteenth-century books. Did you know that "The Fruit of the Cocao-Tree is the most oily that Nature has produced"?

[Comments] (6) Bookmooch optimization: Dude by the name of Ledbetter had a bad experience with Bookmooch and wrote an article for Fortune about it. At first I skipped over the article because I've seen this time and time again, someone writes an article about an online community and all the users of the community pile on. I don't want to get involved. But eventually I read the article and came up with a couple weblog entry ideas. I decided the world needs some tips born of experience on achieving good Bookmooch inventory turnover.

  1. Don't put out-of-date books on Bookmooch. I had a bunch of old O'Reilly books; I gave them to the thrift store. Sometimes people want old stuff (Rachel just asked me to mooch some 1989 Eastern Bloc travel guides for her), but those books are way down the long tail. If you put one of those books on Bookmooch you're buying a raffle ticket the size and shape of a book, and you don't know how long you'll have to hang on to it. It's not worth it.

    Ledbetter had a problem that he put a book on his list, not knowing there was a newer edition. Honest mistake. People were jerks about it. Lots of people are jerks. Sorry. (I've never encountered a jerk on Bookmooch, though.) As a practical suggestion, most of the book pages on BookMooch have cover photos, so you can usually avoid problems by matching up the photo with your cover.

    Contra Ledbetter, I don't think wanting the most recent revision of a book "smacks of a professional interest in reselling." Why wouldn't you be able to resell the old revision? Because people don't generally want the old revision. Ergo, they generally don't want it on Bookmooch. You're effectively reselling the book for a currency other than money, and the social mores of reselling apply.

  2. Don't put a book on Bookmooch if there are over 500 copies already on Bookmooch. In general, don't put classics or best-sellers on Bookmooch. No one will mooch the suckers. More precisely, no one will mooch your copy. Again, you're buying a raffle ticket.
  3. Don't put a book on Bookmooch if you should be selling it to the used bookstore or on eBay or whatever. Sumana bought an expensive multi-volume hardbound graphic novel (I name no names) and hated it. She sold it to Strand for like $15, which is much less than what she paid but significantly more than the estimated cash value of a Bookmooch point, especially given the cost of mailing that big boy out.
  4. If you've got a book in bad shape, say the cover is torn or a previous owner wrote "CARTER" on the edge, don't just say it in the condition notes. Ask the recipient to confirm that they read the condition notes. This avoids hassles later. I don't mind getting a book that's not keeper quality, and everyone I've asked did indeed see my condition notes and didn't mind either. It's a little extra lubrication of a transaction that lets you find homes for books that are perfectly useful, but that the used bookstore won't take.
  5. Give it time. Long tail. Yesterday I got a request for a book that'd been in my inventory for about 8 months.
  6. Have a big wishlist. Long tail. Ledbetter has four books on his wishlist. My steady state is about 250. At any given time, maybe 3% of the books on my wishlist have copies available. A lot of this is probably because of rule 3, actually; most of the books remaining on my wishlist are either rare, or still command a high price at the used bookstore, or are new enough that they haven't gotten into the used book ecosystem.

Ledbetter is suspicious of the point system because "booksellers would have no problem giving away hundreds of books they can't sell in order to acquire books they can." On the face of it this doesn't make sense: if you can give away a book you could have sold it, unless someone's mooching for Books by the Foot. But I think he might mean that booksellers can give away cheap books and use the points to get expensive books.

This is possible; I've gotten one book from Bookmooch that, if I was a used bookstore, I could sell for twenty bucks. I've given away books that a used bookstore could sell for eight because it was easier to mail them than to deal with the jerks at Strand and get three. But look at my first two tips. You can give away cheap books, and you can even give away books that are in unsellable shape, but you can't give away out-of-date books (no takers) or common books (too many givers). The only way to amass points is to give away books people want but that aren't overstocked; ie. to match supply to demand. You can try to arbitrage this, but it's a sucker's game--in fact, I suspect it's the same sucker's game as selling books for one cent on Amazon and trying to pay for your labor from the Amazon shipping charge. (Thank you, myriad suckers!)

The books I successfully give away tend to be those that are difficult to find used. Same with the books other people give to me. Sometimes I get lucky and get an expensive book. It works out the same either way; rarity becomes fungible with sale value.

But, Ledbetter's article got me thinking about my huge point surplus. I've got 79.6 Bookmooch points right now. If I mooched every available book on my wishlist I'd still have over seventy. People want my books a lot more than I want other peoples' books. The intuition is that this evens out, but Bookmooch isn't a zero-sum point system based on a gold standard of book swaps. The system includes inflation; you get extra points for mailing a book to another country, for completing a swap, and for listing books in your inventory. But the costs of the only two things you can buy don't go up as inflation is added to the system. So it's possible that everyone will eventually end up with a bunch of points they can't use.

This would certainly be a problem, but it has nothing to do with what people might do with your books after receiving them (like maybe selling them). I may do some screen-scraping and math and up-mashing to explore this possibility space in more detail.

Whose Basics?: A while back I scavenged a catalog for Back To Basics Toys which seemed to be going for an old-timey aesthetic. Some of the toys are cool (carom game board) and some are lame (Viewmaster) and some are not so much toys as excuses to browbeat some unlucky child with the past (books of nostalgia from "60, 50, and 40 years ago"). But I was unable to find any consistent "basics" that were being returned to. There are wood toys and plastic toys, toys that take batteries and electronic toys. There are copies of toys from throughout the twentieth century. There's laser tag and Lincoln Logs. There are board games and video games.

It's not like the catalog commissioned any of these toys. They're just aggregating stuff from many manufacturers and writing copy. But there did seem to be some vague strand connecting all these items. They're not 'nonviolent' toys: there's Laser Tag and Rock 'em Sock 'em Robots and a robot shark (robot shark!) that claims "Kids will jump in the 'Shark Tank'!" It's not some hippy brand-aversion thing; most of the toys are generic but there are lots of brand-name toys. Aha! But none of the brands are new. The latest probably date from the 1960s.

Mystery solved. The goal of the catalog is not to get your grandkids to play with the same toys you played with when you were a kid (as I thought before looking at it), it's to stop them from forming traitorous allegiances with unfamiliar brands. Sneaky!

Future Stiffed: I just finished writing up the last Future Stuff entry ("Freezing Humans"). Freedom! The whole review is fifty-five thousand words; as long as a NaNoWriMo novel, though of course many of the words aren't mine. Contrary to popular opinion I will not be tackling More Future Stuff anytime soon.

I'm going to hold on to the book for maybe six months, in case I need to make corrections or additions. Then I'm not sure what to do with it. I feel like I should be auctioning my copy off for charity, but I'm pretty sure I'm the only one who feels that way.

[Comments] (33) Where Are They Now?: I can't stop! Today I read Programmers at Work, a 1986 book of interviews by Susan Lammers (I got the version that doesn't have Bill Gates's head taking up half the cover.) For some reason I was compelled to write this weblog entry detailing what all of the people mentioned in the book did since the book was published. Some interesting links and history below.

[Comments] (3) Non-Terror of Fox Terrier: Today was a holiday but I worked in the morning because Sumana was at class. We met up in the afternoon and revisited the American Museum of Natural History. Sumana's interest was reactivated by a recent Colbert Report where Neil deGrasse Tyson showed Steven Colbert around the awesome exhibit of how big things are compared to other things. So we went and I took some pictures. In particular I took special pictures for Kris, the Northrups, and Rachel.

But this is the picture I want to talk about. NYCB gets results! In May 2006 I pointed out that the Natural History Museum blindly copies the ever-less-meaningful comparison of Eohippus to a fox terrier. But now they've changed that ancient sign to remove the useless comparison (and started calling the animal Hyracotherium instead of Eohippus, which is an apatosaurus/brontosaurus kind of thing).

It's all part of a wave of scientific hard-assedness that has swept the museum. Now, its ass was of remarkable hardness the last time I visited; the fourth floor is organized as a cladistic tree of the vertebrates, and just about every mini-exhibit has a cladistic diagram of the turtles or lungfish or whatever, and in those diagrams evolutionary branch points are labeled with the advanced features that marked the split! (I realize now I should have photographed some of those diagrams, but this should give the flavor.) It's amazing. But now they've kicked it up a notch by adding ominous warnings about falsifiability and updating the display placards.

Anyway, congrats to the AMNH for stopping telling kids that something they've never seen before is the same size as something they've never heard of, giving them facts without imparting knowledge.

Where's The Source?: Read some leftover documents from yesterday: a 2005 interview with Andy Hertzfeld and a transcript of a staff meeting at Software Arts the day the IBM PC was announced.

Hertzfeld says that he got Apple to agree to donate the MacPaint source code to the Computer History Museum. (It's a long and entertaining story; Don Knuth is involved.) But apparently donating the source code to a museum and allowing the museum to show people the source code are two different things, and the museum can't show it to anyone. (scroll to the bottom, here's an older but more official statement of the problem) But Knuth has a pirated copy...

: The "Mallory" protagonists' interests collide with RailBricks, a magazine for LEGO RAILROAD railroad enthusiasts. Includes an interview with Justin Carminien, who comes up with late-90s-looking Western-themed sets, complete with imitation box covers. I don't see a bordello, but it's early days yet.

I'm trying to "convince" the idea of the set to the viewer...a head at LEGO could say, "Yes, I could see that as a marketable product."

Or maybe it's not early days. I've never been good at determining the lateness of days.

[Comments] (5) : I have an important announcement to make! I'll be giving a talk about RESTful web service design at the Irish Web Technologies Conference next week. I see that Bill de hÓra will be there too. Now I just need to write my talk. And do the critiques for my SF writing group.

[Comments] (5) : Well, this is a new low. I just cut myself on a piece of bread.

: A coda to the recent minuet of computer history: the 1981 New York Times article on the announcement of the IBM PC. Written by Andrew Pollack, who's still a science writer for the NYT. We're told about this strange world of "desk-top" computers, a market dominated by Apple and Tandy. Shockingly, "Others May Write Programs," which IBM will "evaluate" and pay "a royalty on sales of the program." IBM was trying to be the Association of Shareware Professionals or something.

: You probably missed it because the Programmers at Work entry got on Slashdot and is now pushing 30 comments, but there's also a good discussion on the "Bookmooch optimization" entry, with the founder of Bookmooch and the author of the Fortune article.

[Comments] (1) Some Bookmooch Stats: I cast Number Crunching I on the raw BookMooch data (caution: the full data set is about a gigabyte, and you don't need it to duplicate these numbers). I present some interesting numbers below.

Total number of copies on wishlists: 981,103

Total number of copies in inventory: 414,146

Of those 981,103 desired copies, 27,141 are available. If everyone requested all available texts on their wishlist, there would be 387,005 copies left in inventory and 953,962 on wishlists.

420,938 distinct texts are on wishlists but not in inventory.

3,591 texts are in contention: they're in inventory, but not in quantities big enough to satisfy everybody who wants them. The undisputed champion here is Kafka on the Shore, which is on 175 wishlists but the only copy is owned by a guy in the Czech Republic who will only mail elsewhere in the Czech Republic. Most of the runners-up are owned by people whose accounts seem defunct. If you go down the list a bit you can see books that many people want, but that nobody wants very much.

: I've let these horns go untooted for too long. A couple of projects I worked on as a consultant have been released. First, the web service for Satisfaction, a technical support forum that lets you interact directly with clueful companies and route around the clueless. The service is a mix of Atom for stuff that has a publishing-type workflow (like support topics), and XHTML+microformats for the rest.

Second, the Passively Multiplayer Online Game is in beta. I actually can't get the PMOG client to register my visits to sites anymore, not sure what's up with that, but it's a fun game that doesn't require a lot of ongoing investment the way, say, Kingdom of Loathing does. It'll be even more fun if they implement my crazy ideas.

[Comments] (2) : Ah, check out this great company, Slooh. It's a perfect science-fictional business: use the Internet to sell time on robotic telescopes. The pictures you take can end up on a community website. See, for instance, this pretty decent Ganymede transit of Jupiter. I'd design their web service!

: Apparently I was the last straw: Susan Lammers has started up a project to repost the Programmers at Work interviews and explore the ever-present possibility of expanding upon the previous work.

: I'm safe in Dublin thanks to the kindness of Sean O'Donnell. They were actually training new passport officers in the passport line. I'm on this WebTV system that barely works, but I'm here. I need to get some more sleep and then off to the conference.

The Great Smell of Alberta Beef: Overheard in the airport: "No, lifestyle fragrance. For the Canadians."

Overheard on the plane: "[Buy stuff from] our award-winning duty-free." What kind of backscratching organization gives out awards for duty-free product collections? The Global Travel Retail Awards, that's who.

[Comments] (2) : My talk went well. Plus, no jet lag since I crashed right after my flight.

Mike Popovic has launched a new weblog, Grok Robots (I talked him down from the less mellifluent "Grokking Robots".) The topic: ROBOTS. I know there's not a lot of robot discussion on NYCB, but that's mostly because my robot-related interests diverge from most peoples'. I don't really care about the analogy between robots and people, but I do like robots that are very different from people. Spacecraft, or robots designed for special purposes like finding kittens. I can only hope that Mike will not neglect this field of robotology.

Which reminds me that I wish I could tell you about Andrew's golem story from last week's SF writing group. Best golem design ever! And I know of many golems.

[Comments] (1) : We won the pub quiz!

[Comments] (4) : Just checking in. I'm safe in London w/Rachel. I had the crazy idea that we could go to Paris on Sunday, but tickets for the Chunnel cost 159 pounds one-way. There goes that idea. I thought it was like the Metro North of Europe.

[Comments] (3) : Went with Kevan to the Duchamp/Ray/Picabia exhibit at the Tate Modern. I was mainly interested in Duchamp of course, because the website promised a wide variety of pieces I'd never seen. I think I've now seen all his major works except Tu m' (apparently at Yale!) and the original Etant donnes.

Sumana read an earlier draft of this entry and asked for an introduction to Duchamp for those who don't know anything about his work. This is problematic because as far as I know all such introductions are based on a very old but apparently incorrect narrative about Duchamp. They all talk about his proto-dadaist use of chance in the creation of art, and his technique of selecting a particular mass-produced object from its brothers and designating it as a 'readymade' work of art. A typical introduction is Wikipedia's.

Voici la chose: Shearer's and (to a lesser extent) Gould's work on the topic show pretty convincingly that this narrative is wrong. (See 1 2). Duchamp seems to have been engaged in an experiment to see how far he could go outside this narrative about himself and still convince the art world of its validity. Because the narrative is so old, because so many other artists' work builds on the Duchamp narrative, and because any new narrative would have to be a meta-narrative where Duchamp's greatest work was an elaborate prank designed to misrepresent posterity as to the nature of his art, I don't know what the new narrative would be!

Museums don't seem to know either, because they stick to the old narrative. What's the deal, art museums? You know the guy doctored photos. The Tate put up an original 'readymade' photo of a blank book, noting that the pages were blank. Right next to it they showed how Duchamp doctored the photo to make it look like a geometry book--and referred to it as a 'readymade' geometry book! Is it such an easy narrative to use that you don't notice it doesn't hold up? Or are you in on the joke?

Things of lesser importance: I don't generally think it's really important to look at the originals of paintings instead of pictures of them, but maybe I'm changing my mind. I saw some Edward Hoppers at the Whitney and the colors were very different from any reproduction I'd ever seen. I kind of thought Edward Hopper was a hack but those colors changed my mind. And until I saw the original Nude Descending a Staircase today I always thought it was a spiral staircase. See it in person and it's obviously a regular staircase.

In addition to being in thrall, the museum descriptions were somewhat fanciful. NDaS caused scandal at the Armory show "partly because no one had previously thought of a 'nude' doing something as prosaic as coming down stairs." Gimme a break. Nudes are always lounging around doing nothing, which is more prosaic still.

Much more later.

[Comments] (5) English Pub Names: By me and Rachel. Presented free of charge.

There were a bunch more that I don't remember; maybe Rachel does. Searching reveals two of these to be actual pub names.

: Sorry for no posting; I'm busy and ill. Perhaps I can keep you at bay with critiques of Lovecraft's stories? No? Back, damned thing, et cetera.

More on Duchamp and something about Gary Gygax soon. There's actually a vague connection in my mind between the design of D&D and Duchamp's readymades. Let's see if I can express it as a real idea or if it's doomed to remain a vague connection the rest of my days.

[Comments] (2) It's A Faaaaake: Shearer alludes to this but I want to explicitly get it out on the Internet because I did original research and dammit I'm going to get a weblog entry out of it. Like most of Duchamp's alleged readymades, the original of "Fountain" (the urinal) is conveniently lost. The ones you see in museums nowadays are replicas made in 1964 or in the 1950s (?). But they're not replicas.

Here's the best picture I could find of the 1917 version. Note that there's one hole at the 'top' and six holes in a triangle shape at the 'bottom'.

Here's the one at the Philadelphia Museum of Art. It's got five holes in the middle in a cross shape. Here's the version at the Tate. It's got the triangle at the bottom, and a line of four holes at the top. That's identical to the one at SFMOMA, and it's the one in Duchamp's 1964 blueprint.

Here's the scale model from Boîte-en-valise. It's got some kind of raised area in the middle that has 11 holes in it, in a kind of arrow pattern. Finally, here's a shot of one that seems to have a line of three holes at the top, though it's barely possible the angle of the photo is obscuring a fourth hole.

This isn't rocket art history. All these replicas were made with a certain amount of care. They're all the same shape and the signature looks the same on all of them. But the pattern of the holes, the single most obvious thing about "Fountain" once you get past the fact that some bozo is exhibiting a urinal and calling it art, shows up in four or five permutations between the thing that Duchamp supposedly bought off the shelf at 118 Fifth Avenue and the various exact replicas and scale models made of it over the years.

Still unexplained is why Duchamp would do this. Some artists and critics are skeptical of Shearer's work because they don't see a motive. For instance, Arturo Schwarz, who made the 1964 replicas under Duchamp's guidance.

"Indeed if Shearer's theories were found to be true, then all the aesthetic that lies behind the creation of the readymade will collapse... But the truth is that most of Shearer's conclusions are wrong; why would Duchamp have had to deceive the entire world?"


One of the pieces [replicated in 1964] was Hatrack, a coat hanger that was originally lost by Duchamp. But the object produced by Schwarz has six hooks of equal length, whereas in Duchamp's photos and drawings the original had five hooks of different lengths. "The truth is that I too did a model with unequal hooks but Duchamp told me that the photos were wrong, I had to change it at my own expense," explains Schwarz.

"The photos are wrong"! Well, in point of fact the photos are wrong; the question is what to make of that fact. There's a lot of space for theorizing, and I'm still exploring that space, but if I were Duchamp around 1950 I'd be a little disappointed by the rapid acceptance of the readymade concept. I'd want to set something up that would have on a sophisticated audience of artists the same effect as "Fountain" or "Nude Descending" had on the general public. Maybe that means doctoring old photos, maybe it means making fake replicas. All in a day's work for the guy who doctors photos all the time and whose mission is to destroy the concept of art.

[Comments] (2) : Sumana brought home a copy of MAD Kids, a dumbed-down version of MAD. Seriously. In my day we had MAD Kids and it was called MAD. If you didn't get a joke it meant you'd gotten a glimpse of a mysterious adult world and you had something to ruminate over.

I flipped through it. It had a "Spy vs. Spy Jr." where Black Spy Jr. concocts a needlessly complex plot to hit White Spy Jr. in the face with a pie. Just throw the pie! Actually now that I think of it the comic is written from the wrong POV. Many SvS comics involve a needlessly complex plot, but you're not in on the plot from the beginning--it's the other spy's doing and it's revealed in the last couple panels--so it's funny. Like I said, dumbed down.

[Comments] (2) Estate: Okay, here's a tip: don't die. And if you must die, make sure you've got somebody else on the title for your car and house when you do. I was on my mother's mortgage but around 2005 she refinanced and my name got taken off. Big mistake.

If someone else's name is on the title, then after you die they have to go around and show people the death certificate and fill out some paperwork. If not, they have to go through probate. My mother had a simple and uncontested will, but to get the title to the house we had to go to court to prove that the will was valid and said what it said it said.

This took approximately forever. Meanwhile we were paying the mortgage on a house nobody was living in, watching buyer after buyer bail on us while the court and the lawyers dragged their feet. Eventually we were also watching the housing market collapse and hoping we'd be able to sell the house for enough to pay off our expenses.

Fortunately, the story has a happy ending, in the sense that a fiasco is happier than a catastrophe. We finally got the title, we finally sold the house, and though we sold it for a price that's really disappointing given the amount of work my mother put into her house, it was enough to pay our expenses and give us each a small inheritance. I deposited the check today, so now I feel I can write about this.

Please, I'm asking you to keep this in mind. Talk to your parents or spouse or children or whoever and make sure this doesn't happen to your family. Maybe it doesn't apply to you now but it will someday. Also, don't mail things you inherited through the doubly-damned US Postal Service.

Dada Ripoff: One of the pieces shown at the Tate was a silent movie called Entr'acte. We saw a still from the movie in an early room of the exhibit, and were promised thrills, spills, and a scene where Marcel Duchamp and Man Ray are playing chess on a balcony when the chess board is swept away by a sudden jet of water. Classic gag! I looked forward to seeing this movie.

Well, they did screen the movie at the exhibit, and fortunately, Entr'acte predates Steamboat Willie, so you can download it and watch it yourself. Lots of art films on that site, actually. Like all art films it goes on way too long, but it's got some fun stop-motion and visual jokes, and an ending you'd expect from a Warner Brothers cartoon. But the water scene is disappointing.

The scene, let's say, starts at 4:30. There they are, playing chess. Now they're arguing. Perfect moment to squirt them with water! But no! First the jet of water is shown in a separate shot, totally telegraphing the joke, then we cut back to Duchamp and Ray arguing, then back to the water. Around 5:01 the gag, tattered as it is by now, is executed. The water hits the chessboard but Duchamp and Ray aren't in the shot! They didn't want to get their suits wet or something. C'mon guys! Comedy is not when a chessboard falls and breaks its leg! Also, to say that the chessboard is "swept away" is a gross exaggeration.

[Comments] (1) Hmm.: Hmm. HMM.

[Comments] (1) : After almost a year, The Future: A Retrospective is over! Some said the book would end in fire, but actually 'twas ice, with Freezing Humans.

I'd like to know your favorite TF:AR entries so I can do a best-of at the top of the page. I've got my own favorites in mind but I don't want to taint the opinion pool.

: Earlier today I was a parrot.

"Rrawk! I'm a parrot! Parrots are awesome!"


"Rrawk! The neutrality of this parrot has been disputed! Rrawk!"

[Comments] (1) 'the so-called “software” industry': From clickolinko a Time article from 1965 about the computer industry; not about cybernetics as the you might think from the name. Basically you're going to be disappointed if you expect cybernetics from anything that only has the string 'cyber' in the title, with no 'netic'.

[Comments] (1) Joseph Weizenbaum: Everybody on the net wrote about Gary Gygax's death but almost nobody wrote about Joseph Weizenbaum. The NYT has an obituary that covers the highlights: ELIZA and Computer Power and Human Reason. John McCarthy points out (Update: should probably be "pointed out", since he did it before I was born) that CP&HR contains a bunch of Leon Kass-esque "things man was not meant to know" stuff. This is true but the main thing I got out of the book is a warning about the ELIZA effect which I think is really insightful.

Throughout society we create rule-based systems and install them where there used to be people making decisions. If the rules are complex, maybe we put a person in charge of matching incoming events against the ruleset and carrying out responses. When dealing with the system we mentally fill in the blanks and it looks like there's volition there. But all the decisions were made up front and any people involved are just following a script.

This isn't a Chinese Room argument that no rule-based system can approach human intelligence. It's a pragmatic argument that says people will defer to and credit with intelligence systems that are actually really stupid. This is a serious problem because reactionary elements in society thrive on deference.

What's more, once we start crediting these stupid systems with intelligence we start modelling each other as stupid rule-based systems. After all, that's how the systems model us. We start thinking of each other (and ourselves) as less complex than we actually are. And thanks to the ELIZA effect, it works! We're happy! But our models are very wrong.

Here are some more contemporaneous reviews of CP&HR. Also see: Sherry Turkle's Edge Question Center thing.

Battle of the Capitalized: UNESCO LEGO

More Battles: Space edition. Google Sky versus Microsoft's not-yet-released World Wide Telescope. Who will win?

I really wish something like Celestia were practical for the whole universe.

[Comments] (8) Shoes: Often I complain to Evan (and anyone who will listen, which mostly means Evan) about my childhood growing up in the middle of a grape field. There's no point dwelling on the past like this, but I do it anyway. Here's the approximate rundown: I was just ordinarily unhappy until in early 1994 I got a copy of The New Hacker's Dictionary at the Cal Poly SLO college bookstore. I was a middling BASIC programmer, and suddenly I wanted to be a terrible C programmer who made an ass of himself on Usenet. This, I felt, was the future. But this future required connections and money and knowledge I didn't have. Frustration!

Now I can see things I could have done back then, but I'm fifteen years older and I've achieved the dream of being a terrible C programmer who makes an ass of himself. So I'm kind of nonplussed when I see people like famous science fiction author David Brin wax about the 80s and early 90s as a golden age of kids' programming education. BASIC, be it GW or Q, is lame, and to paraphrase a common saying about SF, the golden age of programming education is whatever age you are when you get Internet access.

These days the problem is that there is a plethora of programming environments, fragmenting the market for supplementary educational material. The one I most wish I'd had in 1994 is definitely Shoes, _why's Ruby toolkit that lets you do GUI programming with web-programming-like layout instead of the dominant widget-packing layout paradigm which is pretty insane. Of course in 1994 it would have been ANSI art windows or something, but you get my point, which is: Shoes is awesome.

My blurb for Shoes is: "Super-Hypercard". And rather than do a big boring document for Shoes like I did with Beautiful Soup, _why did the Shoes documentation as a fun little book. The dude is classy.

[Comments] (1) Dwarf Fortress Variant: Yesterday I thought of a new mode for Dwarf Fortress. In this mode you play an individual dwarf, as in the Roguelike mode, but instead of exploring ruins solo you're part of a running fortress. So this could be something you could drop into and out of in fortress mode; possess one of your dwarves and then jump back into planning the economy when neccessary.

Unfortunately I don't remember why I thought this mode would be fun. The only thing I remember deciding is that it was important your character be someone who'd created an artifact, but this was for story reasons. The other dwarves are willing put up with an artiste artifact-creator type wandering around doing random stuff instead of working.

[Comments] (1) : Sorry, I got nothing. Sometimes I post these big synthesizing entries but other times I look at the primary sources and nothing happens.

Oh, when I was pitting Google Sky against Microsoft Visual Telescope 2008 or whatever it's called, I forgot the much older indie competitor, WikiSky (still not a drink).

: Sumana had me listen to this This American Life where you hear sausage being made at The Onion. It was heartening to hear that the younger Onion writers are tired of the "Area Man Not Very Interesting" schtick the older writers have been riding for the past twenty years.

: Went to MoMA with Sumana, Zack, and Pam to see the "Design & the Elastic Mind" exhibit, which was like the Wired Nextfest except cool and with a crowd instead of a line. While I was there I reacquainted myself with the Three Standard Stoppages. Once you know the secret it is indeed pretty obvious, though they don't let you see the verso sides.

I keep having to go through Shearer's papers and my own researches to look up the alleged problems with the readymades. I did verify that the windows in Fresh Widow open in the wrong direction. MoMA had a replica of In Advance of the Broken Arm and I couldn't see the problem, but it turns out there's nothing wrong with the replica. Shearer claims there's something wrong with the original, but as often happens I can't find a high-res copy of the original photo to decide for myself. I should make a convenient web page that lists the allegations.

Oh, they also had Tu m' borrowed from Yale and stuck into an exhibit on color, so I've now caught the proverbial all.

Pocket Wisherman 2.0: I keep getting frantic emails from Amazon about how they're going to shut off their ECS 3.0 service and I need to rewrite my software to use the ECS 4.0 service. So this weekend I rewrote The Pocket Wisherman. Your Amazon wish lists can still be exported to handy PDF cards. But then I realized that the emails are probably actually about my sales rank tracker script, so I gotta rewrite that too.

I struggled and couldn't get PyAWS to work right, so I punted and wrote a cheap client with Beautiful Soup. The upside is that the PW tarball is much smaller because I'm no longer including a big third-party library.

The genre classification rules are also a lot simpler now. Previously I tried to partition books into the smallest possible number of genres, which meant waiting until you'd gathered all the books before deciding on a genre for any one book. It also meant that sometimes the genres didn't correspond to the sections you'd find in the bookstore.

The new system works from the fact that Amazon files a book under a huge number of categories, all of which are subcategories of a few general categories that you'd see in a bookstore. One of the books on my wishlist is under "Philosophy->Aesthetics", "Philosophy->Movements->Existentialism", "Philosophy->Eastern->Japanese", "Philosophy->Ontology", and "Arts & Photography->History & Criticism->Regional->Asian". Obviously it should go under "Philosophy" and not "Arts & Photography", because it's under "Philosophy" four times.

This reminds me that there's still something I need to do: handle situations where a book has a tie between general categories. In that situation I'll probably go through afterwards and assign each book to the most populous category.

Update: OK, that worked well. The once-huge "Unclassified" section now only contains books that Amazon didn't classify. I've still got the longstanding problem that the "History" section is too big and contains lots of things not filed under "History" in bookstores, but my attempts to compensate (eg. by counting "History" less than other genres) didn't lead to anything, partially because there's no standard place in bookstores where such books are filed.

: Interesting fact found by trawling IMDB: then-governor Ronald Reagan appeared on the Dean Martin Show in 1973 as part of an attempt to revive DMS's ratings with celebrity roasts. I thought that would be interesting to see, so I checked out a video of Don Rickles applying the roast. Rickles spends most of his venom on the audience, uttering the archetypal Don Rickles joke: "I hate a dumb guy!". And Ronald Reagan and Dean Martin look almost indistinguishable. Not really recommended, but historically interesting.

: Sales rank tracker rewritten in very little time because 1) it's less complicated than the Pocket Wisherman, 2) the amazon-ecs gem is more sensibly designed than pyaws. Hopefully now the tormenting emails from Amazon will cease. Villains! Dissemble no more! I admit the deed! -- tear up the planks! -- here, here! -- it is the beating of his hideous heart!

PS: Four years ago today, one of my favorite NYCB entries.

[Comments] (2) : Sumana and I watched Blazing Saddles the other day; I hadn't seen it since 2000. It was still really funny but also kind of disappointing. I'm going to just throw this out and not defend it, but I think Mel Brooks's two big flaws as a filmmaker are 1) the "puerile" tail of his Bell-curve sense of humor, and 2) he's downright sentimental about movies and Hollywood in general as well as the particular tropes he's exploiting. I found the second really annoying in Blazing Saddles (the first you can just fast-forward past) and I think this is why I never thought Gene Wilder was funny; the first place I saw him was this cheesy subplot where he's the feel-good straight-man sidekick.

On the other hand if Mel Brooks didn't have that underlying sentimentality, he might have ended up like those sub-Zucker and Zucker guys who put out an anthology parody movie every year and then run for cover.

Leonard's Miscellany:

[Comments] (2) : "Sometimes it in buyer's requirement that "Beautiful Soup" should be used in the Python spider". Who are these mysterious "buyer"s? Contract one-off scraping jobs arranged through developer-for-hire sites?

[Comments] (4) : Doing taxes is like playing a really unrewarding computer RPG. You go to fill out one form and it turns out to have been hewed into three forms in ancient times, and you have to run around collecting all the pieces. Then to get one piece there's a mini-boss in the form of a hideous worksheet. I guess what I'm saying is, bah.

[Comments] (2) Intertextuality in Games: I love it when a game references another game. What was the first time I saw this? Maybe in an Infocom game; those all had references to Zork, but I didn't actually play Zork until pretty late, so it was lost on me.

I dunno where to draw the line because a lot of games are flat-out clones of other games. If your game doesn't bring something new to the world of games it's less "intertextuality" and more "plagiarism." Also I'm not as interested in the way later games in a series reference earlier games in terms of plot or graphics or music, or when one game includes a related game as a minigame or Easter egg. In a very 80s move I borrowed the Wii Zelda game from Steve Minutillo (thanks, Steve!) and I'm about halfway through. Its mechanics are very different from any other Zelda game I've played (ie. the first three) but there are lots of references to the old games; for instance the old musical themes are now used as accentuating stings. Unfortunately they haven't reused the awesome death theme from the original Zelda (stay tuned for my mashup of the Zelda death theme, "Stairway to Heaven", and the one song from Earthbound [Update 2008-06-01: the Winters song]). And also all of this is just callbacks to earlier Zelda canon.

Of course, if one game references a totally different game, that's more interesting. I think almost all the Infocom games, even the mysteries, have some reference to Zork. I liked how Jeff Lait tied You Only Live Once into POWDER in a really obscure way. But this is still the same as when a book/painting/song references another book/painting/song. Games are capable of a totally different kind of reference, because they can steal gameplay elements from other games.

In Game Roundups past I've mentioned a couple games with full-on ludic intertextuality: Tong and The Bub's Brothers. Tong is a straight-up hybrid of Tetris and Pong. TBB is a Bubble Bobble clone but it's got powerups that, eg. turn Bubble Bobble into Breakout. Game ideas like Tetris and Breakout are so well-cloned that it's not difficult to imagine sticking them into some other game.

There's also parody. Kingdom of Loathing incorporates a huge number of other games, not just in the playable sub-games like the text adventure but by adapting other games' mechanics to the KoL schema. My own Guess the Verb! did something similar with text adventures, focusing on treasure collection and magic words for the cave crawl, on NPC interaction for the college game, etc. Super Smash Bros. is a parody game, which is why I'm interested in it even though I hate that kind of game. Ditto with Parodius, as the name implies. Also the GameCenter CX game for the DS (which will probably never be released in English), which parodies the whole culture of late-1980s console gaming.

Super Smash Bros. and Parodius get away with intertextuality by being made by the same company that owns the source material. The other games I mentioned get away with it by referencing generic games like Pong and Breakout or open source games like Nethack. Or, most often, they just file the serial numbers off the source material. But a new kind of game is starting to show up. This kind of game achieves intertextuality the same way contemporary art does: copyright infringement.

Games like Mega Mario have done this for years, but without really thinking it through. The earliest example I can think of was a couple games I found in 2006 where you play various non-Mega-Man platformers as Mega Man. Now, let me point you to I Wanna Be the Guy: The Movie: The Game. Due to its extreme difficulty I recommend experiencing IWBTG:TM:TG solely through the medium of speed-run videos, making it IWBTG:TM:TG:TM. Apart from having a satisfying number of original dirty tricks up its sleeve, this game is notable for ripping off graphics, sound, and gameplay elements from most of the well-known 8-bit games and several 16-bit ones. And it often combines them in ways that create new gameplay elements. I look forward to seeing more of this sort of game, hopefully ones that I can actually play.

Update: If you like this entry, you might like my just-published science fiction story "Mallory".

[Comments] (2) : Jeremy Penner reminded me of more heavily intertextual games: ROM CHECK FAIL and Barkley, Shut Up And Jam: Gaiden. Neither works in WINE so I can't play them, but they're exactly the kind of game my hyper-ludic-literate self likes to see.

Another thing I forgot to mention is that this new kind of game is inevitably what they call an "indie game", because you can't sell a game that rips off Pac-Man's sprites or makes unauthorized use of sports star likenesses. All you can do is hope nobody sues you, and game designers aren't covered by the same social mores that protect artists. You can always file the serial numbers off afterwards (the way some authors turn their fanfic into "original" universe novels), but part of the fun is the thrill of the remix.

: Oh, one more thing about GameCenter CX: It's Mystery Science Theater 3000. Right down to the jumpsuit.

[Comments] (1) The Future: A Retrospective: A Retrospective: Wow, I've still got the original "The Future: A Retrospective" in my browser's form field autocomplete mechanism. Anyway. Everyone knows that people surfing the web love lists, but a lesser-known fact is that they love short lists. Like, shorter than 275 entries, which is how long the completed TF:AR is. Maybe ten entries (the "David Letterman" standard), or five (the "Digg bait" standard). I await the inevitable reduction to a degenerate list of one entry, which will free us from the tyranny of lists altogether.

In the meantime, I made a best-of list for TF:AR. Evan was the only person who responded to my request for peoples' favorite entries, and both of his proposals (Vending Machine French Fries and Car Video Navigation System) were ones I was going to include anyway, so I just picked my favorites. It may be pushing your attention span, but I think there's enough good stuff in TF:AR to justify a best-of list of twenty entries. I know, twenty, it's like the freaking Metropolitan Museum of Art here.

Oh, The Pain: Trolled by The Onion. (see)

In other futurism news, I recently remembered this 2000 Slashdot article from David Brin. "[T]hink about Global Warming, the Supreme Court and the Internet. You'll hold your nose and vote for Gore."

[Comments] (3) How To Make Webcomics: I got my copy of Kris's 1/4-masterpiece How To Make Webcomics delivered today, and it's got the best inscription ever! But the inscription needs some backstory.

When we were in college Kris and I drew cartoons for each other. Our best collaborative work was this tightly-plotted Captain Planet parody, but that was just the most elaborate of the hundreds of drawings that filled our notebooks. The only downside was that I couldn't actually draw. No worries. I developed a style that Kris recently described (in a forum topic about xkcd) as:

[A]bstracted heads floating on the page that were laid out like a comic strip (logically) but had no backgrounds, no props, no bodies, no nothing. Everything was built from this symbology... it conveys an image the way an engineer would want to convey it: with as few lines and as much clarity as possible.

Ascribing clarity to my drawings is pretty generous, but you get the idea. To show you, I've uploaded a couple computer-industry-themed ones I did for an aborted 1998 Crummy project: a decent one with RMS, and one about the Netscape source release (10 years ago today!) that has excellent awkward pacing. Plus here's one scanned right from my sketchbooks, the only one I have handy that shows how I drew Kris (in baseball cap with Starfleet pin).

For as long as I've known him Kris has been really good at adopting other peoples' styles and it was a thrill to see him adopt my own. Thanks, Kris!

Uh, the thing in the lower left corner is a Karnaugh map, boring bane of our undergraduate existence. I'm not sure about the reference to the bee, but I vaguely remember a comic where a bee got into Bill Gates' office. Oh, the book, you say? Haven't read it yet. Probably awesome.

[Comments] (6) Mallory: At last! On the auspicious first day of April, Futurismic has published my first story, "Mallory"! Read it and/or weep. This is why I've been thinking so much lately about intertextuality in games. Futurismic blurb:

[T]his one has got everything. Seriously - geek hackers and classic arcade games, electronic Darwinism and domestic espionage, venture capital and Valley-esque start-ups … and a healthy dose of intellectual property panic. Leonard Richardson’s Futurismic début is quite a piece of work!

The story was written in 2006 and it takes place in 2007 (alternate universe, natch), so it's already experienced the old-science-fiction effect where parts of it are obsolete and other parts still read like The Future. I'm also not really happy with the writing, just because I know I can do better now. Hopefully that's just the writer never being satisfied with his writing; I'm not crazy about the writing in the Ruby Cookbook either.

Anyway, check it out. You'll probably like it if you read this weblog and you didn't subscribe thinking I would be talking about REST all the time and are now reconsidering.

[Comments] (6) April First Reconsidered: My first couple years on the net I enjoyed the silly things people did on April Fool's Day, but it got old quickly. You put up a fake website or put something on your website you wouldn't normally or you swap websites with someone else, or something under the rubric of "etc". In fact let's classify the whole spectrum of activities as "etc." I end up spending the day in a defensive crouch of skepticism and not enjoying or believing anything. I still like one-on-one AFD pranks, but I'm tired of the kinds of pranks you can pull by publishing HTTP resources to lots of people.

Except, a bunch of great things happened in my net experience today that made me think about a new direction for April 1: as a day to launch new projects that are maybe kind of crazy, but that have some meat to them. My thinking started in this direction on the 31st, when jwz announced he'd gotten the old Netscape corporate site running at its original URL. This was for the previously-mentioned ten-year anniversary of the Netscape source release, not for April Fool's Day, but it had all the good aspects of a traditional Internet AFD joke, without any aggravating deception. It was a cool hack released at an appropriate time.

First cool thing that happened today was that "Mallory" was published. Falsely publishing a story of mine would be a really dumb AFD prank on anyone except me, but I've fallen for "Mallory"-related pranks before, so I had a feeling of relief on realizing it had actually been published. And I realized--I really like this feeling! The feeling that something cool could have been a prank, society would have sanctioned its being a prank, but it was real. Where have you been all these AFDs past, anonymous feeling?

Second cool thing is that Fafblog started publishing again. As I write this the jury's still out on whether posting will continue, whether it was only for this AFD, whether posts will appear on Fafblog only once a year on the Internet's favorite holiday, or what. After doing about five seconds of research my guess is that there will be more Fafblog posts and that they will involve carrots. I'm making an argument here about what would be cool, so the question is actually moot. AFD was a great day to start posting to Fafblog again.

Okay, third thing is that Kris started a new comic today, chainsawsuit (doesn't look like he told the weblog software about the Monday-Wednesday-Friday update schedule). And the comics are really cheap-looking but they're funny and I think Kris occasionally needs to be constrained to doing cheap-looking comics. It's good for him. And why not launch a new cheap-looking comic on AFD?

Fourth thing I don't care as much about, but it fits the theme: Flickr put up their old copy of The Game Neverending, which was the project that resulted in Flickr and then Flickr took over everything and very few people ever saw the game. This was done as part of an AFD joke but according to a reliable source the site will outlive AFD.

See what I mean? AFD is a day where you can pull pranks, yes, but also a day where you can put out interesting work without having to worry about how it ties into what you normally do or how you'll justify it to shareholders. You can make a fresh start of something you abandoned. If you want to do something really infrequently, you can do it every year on April 1st; we're here on the net for the long term.

AFD could be a Carnival, a festival day where no rules apply and you don't know what to expect. And if you're the sort of person who just likes the pranks, this benefits you too. People like me are inured to traditional Internet AFD jokes. If April 1st is the day when some people make fake web pages for fake oddball projects and some people release their actual oddball projects, your audience can't dismiss your prank out of hand.

[Comments] (5) Quick Mallory Note: I don't want to be a person who annotates his own stories in public, partly because I don't actually know anything, but mostly because stories need to stand on their own. But I wanted to say something not about the ending to "Mallory" but about possible reactions to it. I ended the story where I did because (rot13 spoiler) gung'f jurer Ivwnl'f sevraqfuvc jvgu Xrvgu raqf. For me that's the climax because I read "Mallory" mainly as a story about (rot13) gur pbeebfvir rssrpgf naq bccbeghavgl pbfgf bs cnenabvn. But obviously there are parts of the story that I didn't tie up, and I've gotten pushback on ending it where I did.

Pushing back is fine, I can always try something different next time, but if you'd like to see the plot threads tied up, the best thing to do is to write your own story using the same characters. That's an easy thing to say flippantly but it's is a time-honored literary technique that, like so much other creative activity, was cast into disrepute by modern copyright law and is making a comeback. I've done it, I'm pretty sure most writers have done it, and it's a good thing to do if you feel the urge.

I used to never do this because I bought into a common argument against it: that using other people's characters is an empty exercise in wish-fulfillment and that the result will have no literary value. But then I discovered there's nothing special about other people's characters. If you have good original characters you'll find yourself with exactly the same wish-fulfillment temptation as if you were using someone else's. Part of learning to write is harnessing your desire for wish-fulfillment so that it serves the needs of a narrative.

Anyway, I doubt anyone will ever actually reuse my characters, but it's something I've found helpful in the past.

[Comments] (1) Dungeon Design: When Gary Gygax died about a month ago there were heartfelt outpourings, recollections of peoples' adolescences, memories of playing AD&D. Or, more congruent with my experience, memories of not playing AD&D but instead scouring the rulebooks and designing elaborate dungeons for the glorious day when you would get your friends as interested in playing as you were. For a while now, but especially since Gygax's death loaded it back into my analytical mind, I've been thinking about those dungeons.

I once designed a sixteen-le layer cake of a dungeon, each level themed around one of the elemental, para-elemental, or quasi-elemental planes, each containing a piece of an artifact that was necessary to kill the big evil guy who lived at the bottom of the dungeon. Yes, this guy had made a decision to live in a place where the theme was "vacuum", or salt or whatever it was. This dungeon was located somewhere in the middle of a field, in my poorly-sketched-out overworld.

What made me find satisfaction in designing this dungeon? What made me feel like this bizarre artificial construction was something you'd find in the middle of a field, in the sort of game where you tried to realistically portray another person? Even then I'd spent most of my life playing games where this kind of thing was an everyday occurrence: Zelda and Rogue and Colossal Cave. But as we all were told last month, all of those games have their roots in D&D.

Penny Arcade did a tribute to Gygax after his death (scroll down), but I think they paid him a more fitting tribute with this 2006 comic (link doesn't work right now but I'm pretty sure that's the one I want). The source of the artifact's power is its name. There will be dungeons, and dragons in those dungeons.

The name was chosen almost at random, because it sounded good; ie. because it's a powerful incantation. Its power grabs me even today when I know that D&D-like rules only explore part of the space of role-playing games. It survives even though I've made the more damaging realization that dungeons don't make any sense.

A dragon wouldn't fit in a typical dungeon. The dragon in The Hobbit had a huge cave to lounge around in, with convenient access to the outside. The enclosed spaces in Howard and Leiber and de Camp can get cramped but only rarely do you get something that looks like a D&D dungeon, because only rarely would a "dungeon" not break the rules of fantasy writing. Most of the time, a dungeon is a trick that only feels real if you're acting it out.

I'm reading Fischer/Leiber's "The Lords of Quarmall" right now, and it's strange mostly because there is this subterranean labyrinth that's laid out like a D&D dungeon. Of course it's also a place where people live, a concern you almost never see in D&D dungeons.

A D&D "dungeon" does not correspond to any realistic space, even if it's nominally a castle or crypt. Where did this concept come from and why does it feel right for dungeons to contain dragons? I started becoming aware that there was even a question here when I read this LiveJournal post a while back. It quotes the original D&D manual as placing the "dungeons beneath the 'huge ruined pile, a vast castle built by generations of mad wizards and insane geniuses.'"

The D&D manual refers to the "Underworld". There's no underworld in the Chainmail rules. Wargames strive for realism in terrain, and when I was a kid I instinctively avoided the wargaming parts of D&D; I still would if I still played it. My friend Adi (on the right) plays Warhammer and it looks so boring to me. On the rare occasions when I indulged in a taste for premade AD&D modules, I always skipped the hex paper and went right for the graph paper. I didn't have any figurines; when I DMed, we role-played the swordfights instead of keeping track of where everyone was. We wanted the dungeons.

I think dungeons were something that happened in the transition from a wargame to a role-playing game, or from a game with communally enforced rules to a game where one player was the referee. Was D&D the first game to have distinct levels, each one a challenge from the designer to the player? It feels right, but I can't say because I'm so deeply embedded in that metaphor. If that's true, it's not just that a whole lot of individual games were inspired by D&D; it's that it was the source for one of today's dominant game styles.

In sixth grade I drew out a whole Mega Man game, maps like you'd see in Nintendo Power. It probably wasn't any more ridiculous than, say, Mega Man 4, and it made a lot more sense than the temple of elemental weirdness I'd do later. I followed up Mega Man with an "original" game that was a rip-off of the Goonies II NES game. I was always drawing maps that were supposed to be played under certain well-defined rules.

So, why the hell did Dr. Wily always theme out his robot armies like Vegas hotels? Who put all the stairs and doors and ladders in that huge interlocking set of caverns underneath a restaurant in Oregon? Who would build a dungeon, carve out those twisty little passages, make sure all the rooms were square and stuff a live dragon through the front doorway?

These are the deeds of mad wizards and insane geniuses, like we were when we were younger. Who was I talking to when I drew those maps? I was talking to you.

Update: Uh, I did have one figurine, an ent. Treant! It was a treant! Except it really was an ent because I never used it to play D&D. My mother gave it to me and it was a souvenir of our shared LoTR fandom.

[Comments] (2) Stonehenge!: Yesterday Sumana had the idea of selling chocolate models of Stonehenge as equinox gifts. I thought that's one of those ideas that's so good someone must already do it. But no one does! All I could find was this one-off. Classic stuff-selling opportunity, just waiting for you to invest a lot of time and capital into it!

Update: I got the idea that I could make a chocolate Stonehenge on the cheap by pouring tempered chocolate into a Stonehenge mold. None of those either!

[Comments] (3) : Another interesting use of April Fool's Day: Guncho, a multiuser hosting environment for interactive fiction, was announced on April first, complete with unrealistic details and jokey anagrammed name. Then on April second the unrealistic details were rescinded, like a wave rolling back from the beach, and what was left was something cool. So even people who demand trickery on AFD can enjoy it.

I was thinking Guncho would be a good platform for something Kevan was working on, I won't mention it because a quick scan doesn't show him announcing it, but he's probably thinking the same thing.

[Comments] (2) Unremarkable Taste: I spent a lot of time after we moved to New York trying to keep mental track of the restaurants we'd eaten at and what we thought and what restaurants people had recommended. Only recently did I come up with the brilliant idea of keeping all this information in an HTML page so I didn't keep looking up the same Chowhound threads every time we wanted to go out for a nice dinner. Eventually I'll publish it for your New York-visiting convenience, but for now just take my word for it.

I knew about one weblog covering my neighborhood (Joey in Astoria), but after starting this project I discovered another (The Foodista), and I also found a local forum that has a lot of restaurant-related posts.

Specifically (he says, getting to the real point of this entry), it's occasionally got people who try to astroturf their own restaurants. But they're restauranteurs and not astroturf experts, so you get something sub-infomercial quality like "OCEANO'S the new place in town", complete with Fox News-style push poll.

It's not really cool to make fun of the writing of someone for whom English is probably not their first language, but beyond the spelling and grammar mistakes there's so much rhetorical wrongness in that fake writeup ("DON'T BE FOOLED....between the latino flair.there is something for eve[r]yone."), plus Mary Sue-ism and weird syntactic mistakes like mismatched brackets, that it achieves a kind of transcendence.

i didn't know what to try first.the wait staff was very helpful with their suggestion and i started off with the coconut shrimp appetizer,(delicious with each bite!!! to say the least.}well.as i was still debating on the suggestions of my waiter this gentleman approached my table.he akked me how everthing was,come to find out he was one of the owners!!!! what a pleasant man he suggeted that i try his favorite dish.CHURRASCO CON CHIMICHURRI.you have to try this mouth watering dish words cannot describe the unremarkable taste.

Now the thread has got other people reviewing the restaurant and everyone paranoid that everyone else is a shill. I know which restaurant the thread is talking about and I was kind of interested in trying it, but now I think I should not go just because of this astroturf. And there's not even any reason to do this, because a forum where people talk about local restaurants is not exactly a hostile environment for someone who wants to get the word out about their restaurant. As one thread participant puts it:

The thing is, if they had come on and been all "Hey, my name is Joe, and I own/my friend owns/I am the bartender at Oceano, please come down, if you do and mention this, we'll give you a free glass of wine/10% off/a great big hug/whatever, it would have been cool and this thread would be a lot different.

Compare the recently-opened Mojave which everyone is falling over themselves to praise (we ate there earlier this week and it was great) and where someone in an official capacity shows up and doesn't try to deceive you and is honest and offers free stuff:

From tomorrow we are going to have HAPPY HOURS.. I never worked in a place that implemented happy hours, so i hope it's not going to backfire on me...Sierra Nevada and dos xx are really good. and now we finally perfectioned the SANGRIA. i am sure you will like it, it comes with fresh fruit left in the wine for 1-2 days.. and very very very little ice.....

Anyway, for who of you write in this site i would to offer you an afterdinner drink when you mention about astorians.com

thanks again

The difference seems clear. There's also a panini restaurant that has such a fan base there's a thread where someone posts every day with the soup of the day.

[Comments] (1) Dilbert Minus Dilbert: I've had this idea for a little while, based on Garfield Minus Garfield, and today I did three examples with my nearly-nonexistent GIMP skills. Comedy gold!

Garfield never uses changes of scene (or even perspective, I think), where Dilbert often changes the scene in the second or third panel. Garfield has a small cast of characters; Dilbert has a large cast. So a DMD comic can just be an art-film-esque sequence of closeups and disturbing statements.

In stock Garfield we see Garfield's thought balloons as he remarks on the activities of the other characters (some scientists have speculated that these remarks are jokes). But the other characters don't see his thought bubbles and so can't respond. Garfield lives in a hell where he can never make himself be understood. This is why in GMG we see Jon talking to himself; he's already talking to himself in stock Garfield.

But people talk to each other in Dilbert all the time; it's just that they always talk past each other. Remove Dilbert from a Dilbert cartoon and in one sense you've got people who are having half a conversation with an imaginary person. But you're not missing much because Dilbert is the only one who really engages with what the other person is saying, and he's gone.

My personal favorite:

Update: Karen in Wichita provides prior art.

[Comments] (3) : The back of this old Ace paperback has an order form for other Ace paperbacks, but in the ad copy the title is very slightly bolded (in a way that hasn't aged well with the paper) and put right in front of the author's surname. So you see intriguing titles like this:

The last one being especially evocative. "In a city ruled by crime, I was Darkness LeGuin's left hand... and the one man she could never trust."

This is a simple enough trick that I'll probably hack up a script to generate them automatically and find some more. Sumana and I had a similar game where we looked at books in the bargain bin at the bookstore and tried to find adjacent books whose titles would fit together.

Update: Once again I save Brendan the trouble of coming up with his own character names.

[Comments] (1) The Manahmanah Of Man: Omega Point. Bop be ba de ba.

[Comments] (2) : We searched for my mother's name just now to see if there was anything of hers on the web that we hadn't seen. There wasn't a lot but we did find a magazine article she wrote in 1983 (yes, that whole URL does appear to be necessary). I knew the underlying story but I'm not sure if it's because I'd read this article or because she'd told me the story. Anyway, it's something new if you miss my mother's writing.

[Comments] (6) Namespace Collision: Today Leonard Lin linked to Beautiful Soup. I've never met Leonard but we know many of the same people, and so I keep running into traces of him and getting confused. Danny O'Brien once cced me on a mail that made no sense because I wasn't the Leonard he'd had a particular brainstorm with. Then there was the time I was on a consulting job and started encountering comments like "Leonard suggests X" in code I'd never seen before. Yup, guess who.

If my name was Dave I'd probably be long over this, but there just aren't very many Leonards. According to government statistics, 7 in 1000 Americans in my age cohort are named Leonard. That sounds okay but it's only 1250 people. But on the other hand, I'd only need to meet 98 people before I had a better-than-even chance of meeting another Leonard.

Male names versus percentage of births.

I'm mainly reproducing this graph because I like the way the x-axis is labelled. "Leonard" is right near the tick to the right of "Roy". Incidentally, "Leonard" is even less popular now then when I was born, having switched popularities with "Leonardo". Pre-Web I sometimes found it a burden to have an unpopular name, but now on balance it's great. I guess what I'm saying is, name your kid Leonard.

[Comments] (2) : Before pirate vs. ninja, there was monkey vs. crab.

: Coolest APOD in a while. Brought to you by space robots.

[Comments] (7) Copyright Question: This is almost certainly a dumb question that I already know the answer to, but I'm in the position of the economist in the joke who ignores the $20 bill on the ground because if was really there, someone would have already picked it up.

I really like old catalogs like the Sears catalog, and for years I've waited for the day when someone would put them online. And then I waited a few more years. And then a few more years. And now I'm starting to think that it's not going to happen unless I do something about it. So what to do? Obviously the original catalogs are out of copyright, and in fact there's a cottage industry in putting out facsimiles. This cottage industry thrives to the extent that you can't reliably find original catalogs on auction sites even if there are any, because sellers stupidly or maliciously label their reprints as original.

So, can I buy a facsimile, scan the catalog pages (not the cover or newly-copyrighted introductory material), and put the scans online? Could I act as a private-sector Carl Malamud, buy a CD full of scans, and just dump them on a web site? I suspect the answer is yes. BUT. None of these facsimiles are complete copies! Most of them omit hundreds of pages from the original catalogs. This is 1) annoying and unsatisfying, and 2) makes the facsimile into a derivative work.

So, the editorial work that went into deciding which pages to keep and which to not, is that a part of the derivative work that can be copyrighted? It doesn't add anything new to the work, but clearly some work went into it. My traditional five seconds of research indicates that only original "material" can be copyrighted, and that a decision about what to leave out isn't "material". Is this right?

My backup question is why no one else has done this, apart from it being a big job. Many less interesting, equally long public domain documents have been digitized, which makes me think there's some subtle copyright problem I don't see.

There are a number of (mostly Canadian) old catalogs at the Internet Archive, including this cool sucker.

: Another Internet Archive thing I found recently: a dump of ISBNs and pages obtained by crawling Amazon.

Also, my family, and any other readers of this weblog who don't follow the same weblogs I read, should be aware of two very interesting video lectures that have been making the rounds. 1) Computer scientist Randy Pausch talks about how he achieved his childhood dreams. 2) Neuroanatomist Jill Taylor describes the subjective experience of her stroke and how it corresponds with what's known about the brain.

And apropos catalogs, my fellow catalog obsessives give their suggestions about the best modern catalogs. I've enjoyed the Lindsay's catalog and (as long-time readers are aware) American Science & Surplus.

[Comments] (2) : It's odd, but when I have a full-time job and I waste a whole evening, I feel worse than when I don't have a job and I waste a whole day. I think it's because now I have to do a full day of work before I get another shot at the projects I was meaning to work on.

[Comments] (5) Phone Toy: I was talking to my niece on the phone (she's at the "ba ba ba" stage) and I was reminded of the time she called Sumana by accident and Sumana brought her tech-support phone skills to bear. Kids love to play with phones. Up to a certain point they like to play with the buttons and then they become interested in the conversational aspect. I started thinking about a self-contained phonelike toy that would follow the child through these stages of development.

The toy has a video screen and four big buttons underneath, each a different color and with a different shape embossed on it. There's also a speaker and a microphone. At first the toy is like a Simon Says game; you push the buttons and you get patterns of sound and light. Over time the available patterns get more complex. I don't know how babies feel about having their own voices recorded and played back, but you could do something with that.

Then the four big buttons gradually become associated with fictional characters who show up on the screen when you activate them. They'll talk or read to you. They'll respond to your mood and when you start learning words, they'll do some simple voice recognition. Then it turns into The Diamond Age, I guess.

[Comments] (1) : A great, over-the-top account of a job interview at X10, of "wireless spy-cam" fame, where the corporate culture is wedded to the level of quality often called "mediocrity" even though it's really really bad.

From BoogaBooga Gadgets, which I just started reading recently. Incidentally I like the writing style on BBG more than on vanilla BB. BB is all "I shall make a point to employ this new technology at my next soirée!" and BBG is all "I've been plugging the leaks in the roof with the bodies of orphans I found in back of the workhouse, but these new nanotech fibers are just as absorbent and don't smell as bad."

[Comments] (3) : What with one thing and another I was trying to find the stop-motion LEGO fan video for Portal for Sumana. (It doesn't add much fun on top of the intrinsic fun of the source material, but there are a couple good sight gags.) I was a bit stymied by the real point of this entry, which is that there's a thriving subgenre of Lego stop-motion movie that revolves around connecting points in space-time. Random example. Longer, more cinematic example from the 1980s. Some of them are Portal fan videos but I prefer the ones that aren't, because their warping mechanics feel more natural to the medium. You see things like people disassembled piece by piece and reassembled elsewhere.

Let me link again to "The Magic Portal" so you don't miss it. It really is a piece of work, with car chases and spaceship interiors built with 1980s pieces, like in that old book where the Scandinavian LEGO dude and his wife get bored with their life in the LEGO housing development, disassemble their house, and turn it into a spaceship. Plus the guy who made it went on to do Gabe Koerner-esque work as an animator on The Matrix and The Lord of the Rings.

[Comments] (1) FOLLOW ME: It didn't take me long to find the LEGO book I mentioned in my previous entry: it's the "LEGOLAND Idea Book" for 1980 and I found it at The Brickfactory. (Site navigation is not addressable; go here and it's #6000.) The iconic "homesteading the noosphere" spread is just as I remember it. (1 2 3. Note especially the pile of pieces they stumble upon at the top of that second image!)

But I was totally wrong about the spaceship. They don't tear apart their house and build a spaceship from the pieces. They watch a movie about spaceships and then find a real spaceship in the parking lot and take off in it. Also their house burns down halfway through the book and they bring in contractors to build another one. Oh well. On the plus side, I've now got a great idea for a story. It's not plagiarism if what you remember is different and more dramatically satisfying than the original!

Man. So much of my aesthetic sense comes from this book! Check out the Village People space aliens.

The Medi-Yorker #3: I know, it's been four years since I last presented a perfectly bland New Yorker cartoon idea in these pages, but you can't rush genius.

This one uses the "cocktail party" New Yorker cartoon graphic. One guy says to the other: "So, what do you drink to forget?"

PS: Since the last Medi-Yorker, two books of rejected cartoons from regular New Yorker cartoonists have come out, both called The Rejection Collection. I read the first volume at Susan McCarthy's house and it was excellent. It also made me stop blaming the cartoonists for these lame cartoons. In fact their talents are far greater than mine, because they're capable of stooping to Medi-Yorker level every week.

[Comments] (1) : Woohoo, royalty check.

[Comments] (3) : Here's the kind of unrelenting journalism we need to see more of. Semi-relatedly, I'd be very interested to hear other peoples' schoolyard video game folklore. The ones I remember are so generic I'm not even sure they actually happened: allegations that finishing a game let you see such-and-such female character nude (we were young, and ignorant of Standards and Practices), bald assertions that you'd accomplished impossible feats.

It seems like the sort of memory that would be really interesting, but when I look back I don't see any inventive lies or interesting legends. It's like we didn't even know how to BS properly. Prove me wrong, fellow nerds.

[Comments] (1) Crypto B-Movies:

: Wow! A huge 1951-1970 run of PS Magazine ("The preventive maintenance monthly") is online. It's an Army magazine about troubleshooting equipment and filling out forms, with illustrations by Will Eisner. No other single publication captures as well the thrill of the Prelinger Library.

via Bibliodyssey. Also of note: the editorial voice of the Letters section addresses any officers who write in as "Sir".

[Comments] (1) : I thought that not living in the UK I was safe from Phorm's scummy business practices, but just now I got LinkedIn connection spam from someone who works at Phorm! They work all the angles!

Or maybe guy-who-works-at-Phorm reads my weblog, in which case I present a special message to him: dude, come on.

[Comments] (3) Best Seller: About 40% of the time when I go on the subway I share a car with a woman reading Eat, Pray, Love by Elizabeth Gilbert. Statistically speaking that's a lot of books! Looking at Amazon reviews I see that it's been Oprahfied.

[Comments] (4) Lame Complaints: Astoria, the Queens neighborhood where we live, has worked out really well for us but I have a couple minor food-related complaints. Keep in mind these complaints are situations where it's as much work for me to get the complained-about thing as it was for me to get anything when I lived in San Francisco. So they're pretty lame, but I do have them.

I like an occasional croissant for breakfast, and there are bakeries near my house that make croissants, but the croissants are terrible. The taste like buttery sandwich rolls. These aren't French bakeries; they're Greek or Italian or Mexican. They're good for black-and-white cookies, but not croissants. And you can't really get a croissant from a coffee shop either. So I need to plan my croissant desires for the weekend where I can go into Manhattan and enjoy some of the world's best croissants (eg. City Bakery's bizarre pretzel croissants). Which is probably just as well, but I'd prefer to have the option of spontaneity.

The second thing is cheese. There are places in Astoria where you can get good cheese, for instance a deli on 30th Avenue whose name I don't remember that makes their own really good mozzarella variant. But all the places are Italian or Greek places and they just sell Italian or Greek cheese. I like a cosmopolitan cheese selection so again I save up my cheese-buying urges for the weekend and go to Whole Foods. Though I guess if I was serious about cheese there's probably some fromagierie in the Village I should be attending, but Whole Foods is near the farmer's market.

So, that's pretty much it food-wise. Everything else is fine, until of course the world runs out of food altogether. Tonight we went back to Mojave, the southwestern resturant, and it was still great. We walked back home to perform research for this entry, investigating rumors of a French bakery laughably called "Le Croissant Shoppe". The address turned out to be an apartment building. There's a "Le Croissant Shoppe" in Manhattan so there was probably a screen-scraping or knowledge-synthesis accident that dropped it into Astoria.

[Comments] (3) : I couldn't sleep, and my upgrade to Hardy broke my test suite runner, so you get a weblog entry. Sumana was laughing it up at re-titled Atari cartridge cover art. They're pretty good and they gave me a couple ideas.

There's an art game similar to Telephone where Alice describes a picture, Bob draws a picture from the description, Carol describes Bob's picture, Dale draws a picture from Carol's description, and so on. This page is basically one step in a similar meta-game played with video games. There was a design document for a game called "Casino" which got turned into a 2600 game and a cover art painting. The cover art image was doctored to depict another game called "I Am A Vegas Showgirl". That implies a very different game, which once made would have different cover art. And a game made from that cover art would be Deja Vu or something.

Second, "Salvador Dali's Pinball Thrills" is a great game idea. Short-, medium-, and long-time readers will know that I generally prefer Dada to surrealism, parce que je n'aime pas l'amour. But any pinball table is already a work of surrealist art, so why not do one themed around, say, The Temptation of St. Anthony? And now that we have good-looking software pinball, we could create a pinball board that's a dreamworld of shifting symbols.

I'm also wondering what's with the 1910s theme in several of those Atari cover art paintings. Not a time remembered fondly (or at all) by your typical Atari 2600 purchaser.

Beautiful Soup 3.0.6: It's out. Basically I had a few hours to look at peoples' complaints to the mailing list, so you get a few bugfixes. Kind of a grind to be honest.

Ramping Up: Often when I talk with Evan the conversation comes around to Infinite Jest. I was researching some question we had about whether Joelle van Dyne could be thought of as Ophelia (answer: inconclusive), and came across this discussion of academic plagiarism and cheating, which includes Consumer Reports-style ranking of online paper-writing and -buying services. A custom-written paper on Infinite Jest cost $71.80. Too bad the paper doesn't make much sense (the topic itself doesn't make much sense, but the paper is worse).

PS: Ramps are back. This has been a public service announcement.

: I try not to be the sort of person who posts weblog entries about the latest episode of Battlestar Galactica, but I wanted to give episode writer Jane Espenson props for her excellent name-check of the Mithraic mystery cult.

[Comments] (3) Hardy Kingfisher: Keeping in the spirit of "Might as well do a release", I just did a release of NewsBruiser. Yes, you heard right. The last release happened over three years ago, back when there was still hope in the world. People seemed to smile more then... there were concerts in the park... but enough of this sepia-tinged nostalgia. NewsBruiser 2.6.2 is here!

New features include: commenting is less aggravating for commenters (you no longer have to give your email address, a useless feature akin to the way BBS signups used to ask for your home address), comments are less aggravating for administrators (a certain class of HTML-heavy comment spam couldn't be removed via the edit screen, and now it can be), "Today in History" works a lot better for weblogs that have, say, ten years of archives. The del.icio.us export supports the new del.icio.us API. Stuff like that.

As usual, all of the crummy.com weblogs have been automatically upgraded, and since that's a pretty good chunk of NewsBruiser's active installed base, we're doin' pretty well. Of course the crummy.com weblogs have had most of the bug fixes for some time, because all those changes I mentioned, and indeed all the NewsBruiser work I've done for the past three years, were directly motivated by my needs or someone on crummy.com's needs or Sumana's needs.

This is the big problem with NewsBruiser: in the early 2000s I'd add features (RSS 3.0 anyone?) just because I thought they were cool and I liked programming, or because someone had said they might use NewsBruiser in the future if I added such-and-such a feature. The result is a sprawling code base (at least it's modular!), a UI that reaches further than my limited UI design skills can take it, and except for Seth none of those people ended up using NewsBruiser anyway. And now I've got a program that works fine and is very reliable, but which contains core samples from my entire history as a working programmer (which means a lot of ugly code) and has a lot of unnecessary features.

Some of my initial goals (running on Python 1.5.2 because hosting services didn't have 2.x yet) don't make sense anymore. Some (no external dependencies at all) still make sense in the abstract but I think they make NB a lot more complicated than it needs to be. The template system is weird and terrible, and I should be using someone else's template system that has things like loops. I still don't think NewsBruiser should depend on a particular web framework but I would like to keep the data store in a SQLite file. That would make indexing and categories (to pick two examples) much simpler.

It would put an end to NewsBruiser's current infinite extensibility, but you know what. I've used this program for ten years. I'm the person with the strangest needs who actually uses it, and I've got a pretty good idea of what I need from it. So I could just start over, bring in whatever code I can from the old NewsBruiser, and have something shiny and compact that implements the Atom Publishing Protocol.

To the extent there's demand for weblog software written in a reasonable language (ie. not Perl or PHP), NewsBruiser could still be a player. But my hard realization of today is that there's not really such a demand. The vast majority of weblog installations based on free software use Movable Type (Perl) or WordPress (PHP) or LiveJournal (Perl). The people have spoken, the bastards. And life is short, and I've already got an open source project that hundreds of people depend on, which I don't spend enough time working on. So why spend a lot of time improving another project when no one (not even me, really) will appreciate the improvement?

So we bruise on, boats against the current. I'll make the changes I need to make to keep myself and my hostees happy, but NewsBruiser is officially what we call "stable", and has been for three years. I probably won't do any more than small fixes until the Python 1.5 idioms in NewsBruiser start being deprecated.

: You'd think I'd have gotten enough history of interactive fiction from all the other books on the topic I've read, but Let's Tell A Story Together held my interest. Plus it's the first time I skimmed the back of the book looking for my name and my name actually showed up! Somehow I hadn't heard of Acheton or it hadn't registered on my mind or something.

[Comments] (2) Teeth Suck: The Continuing Saga: I'm pretty well-off now, but up until I graduated from college I was poor. Not where's the next meal coming from poor, thank goodness, but working all your spare time to pay the bills poor. There are many ways it sucks to be poor, but one part that I really hated was being treated like I was poor.

Being poor is like going through airport security all the time. You always need something from someone who doesn't need you, doesn't care about you, and suspects you're trying to scam them. In fact, airport security is just a pathological case: it's for people too "poor" for fractional jet ownership. All of America's great leveling experiences: jury duty, the DMV, phone support, the emergency room, etc., are leveling in that they treat everyone the way America treats the poor.

I've made it a goal in life to be treated that way as little as possible. I don't think anyone should be treated that way, so I also do what I can to stop it in general, which as it turns out is not much at all. Which brings us to tonight's word: dental insurance.

Due to circumstances previously discussed, Sumana and I are on student health insurance and have our dental work done at the NYU dental college. The waiting room is always crowded and chaotic, the waits are long, you have to fill out the insurance forms yourself, and the actual work is very slow (it's done by dental students who frequently need to bring real dentists over for help). And of course it's done by dental students, which means it's more likely something would go disastrously wrong. It's dental work for people who can't pass up an opportunity to spend time to save money. Compare to the ritzy Dentist 2.0, where we shelled out big bucks out-of-pocket, but had a really good experience with little waiting.

So dental work is more aggravating for me than it used to be. But why complain about it now, apart from weblogs being places to complain about things. Because six months ago it was discovered that I have a magic lesion. The dental student assigned to me said that there are always dental students who need to fill minor cavities of a certain dimension for the board exams. She asked if I'd be willing to have the cavity filled as part of someone's board exam in the spring. I said sure. Go in and have it filled as part of a checkup, go in and have it filled as part of an exam. The only difference is that in the latter case you're helping someone become a dentist.

Well, I found out the second difference around February, when I got my first call from a dental student wanting to fill my cavity. When you get a cavity filled as part of a board exam, you have to make the trip to the NYU dental school twice: once to get an X-ray of the tooth in question for grading purposes, and once for the actual filling. Oh yeah, the X-ray will happen in the middle of the day on, say, Tuesday, and the actual filling will happen at 7 AM on Sunday. But! I'll get the filling done for free and $100 on top of that.

Oh yeah. I recognize this. The lure of the hundred dollars. When I was in college I considered, among other biology-related money-making schemes, having board work done at the UCLA dental school. In retrospect I should have gone for it. That $100 would have been welcome, and going to the dentist at all back then would have saved me a root canal down the line.

Now? Not so much. I have the privilege of putting a high price on my time. The 7AM on Sunday thing doesn't bother me much, but I'm not interested in making a separate trip in the middle of a workday just to get some X-rays. I asked if they could reuse the full-spectrum X-rays I'd gotten when I started getting work done at NYU. They weren't very old at that point. Nope, they had to be new X-rays of the tooth in question. Sorry, I said. I'm not interested. I was stoic in the face of reminders that I was being offered $100 for my time.

Last week I got another call from another dental student preparing for the boards. I turned him down and explained why I had turned down the first dental student. But this guy sounded desperate. I'm like the only guy in New York City with a lesion that's the right shape. And after I explained why I'd said no the first time, he said he could meet me halfway. I didn't have to come in the middle of the day for the X-rays; he would meet me at 6PM on, say, Tuesday, and we could do them then. And he'd pay me $100! I hemmed and hawed and eventually agreed.

Today I went down to the land of dentistry and met the dental student, and he was really good. He fast-talked his way into an X-ray booth downstairs so I wouldn't have to wait 15-20 minutes for one of the overbooked booths reserved for my ilk. He took the X-rays and a cast of the tooth. It was an even better experience than Dentist 2.0. I actually started thinking things like "Wow, things move really smoothly when it's just you and the dentist getting things done!"

You knew it was coming. At this point I found out the third difference between getting the cavity filled as part of the appointment and getting it filled as part of a board exam. He's explaining what's going to happen on Sunday and he says something like "Oh, it's going to be an amalgam filling. I noticed you've got composite fillings. Is that going to be a problem?"

Yes. Another one of the things I can do now that I'm well-off is not let people put silver and mercury into my head. I have lousy teeth but they're mine, and I want to keep them looking like teeth. A dental student can see I've got lots of fillings just by looking at my teeth, but I don't want to advertise that fact to laymen.

Thus begins the Tense Situation. The rules say that the lesion has to be a certain size and that it has to be filled with amalgam, or maybe the amalgam's a cost-saving measure or whatever. The dental student suggests I can have the cavity filled with amalgam for the exam, and then have the amalgam taken out and composite put back in. I ask how long that will take. It turns out he's talking about two different visits: the board exam, and then a follow-up appointment where I do what I was planning to do in the first place: have a tooth drilled and filled with composite. So after the board exam I'll be where I am now. Except I'll have to pay for the second appointment, which will wipe out any $100-related gains I may have made from the first, and then some.

I ask if my student insurance will cover the second appointment. Oh. I have insurance! No problem! All I have to do is show up for two dentist appointments, which I'd agreed to do earlier. True, I've already wasted an evening coming over here for a third dentist appointment, but that's a sunk cost at this point.

That's when all the stuff I mentioned earlier really hits me, about when I was in college and thought about having board work done. This program isn't a way for the helpful rich guy with bad insurance to help dental students pass the boards. It's a way for a poor person with no insurance to get a cavity filled and make a little money on the side. I've broken the parameters of the program with my snobbish insistence on fillings that don't look like crap or activate my fear of biting a piece of aluminum foil while eating a burrito.

I feel terrible but I'm not going to go through a dental procedure just so I can have it done again a week later. I say I'm sorry a lot and walk out. I walk out knowing that the dental student is probably in the same situation I was in in college. He probably has a bunch of loans. When he graduates he'll start making good money, but right now he needs to spend $100 on some lab equipment for a demonstration. And his lab equipment has just walked out. Now I'm the one acting like I don't need someone else. I'm the one with the power to say no, and it doesn't make me feel better that the alternative to 'no' is a deeply unpleasant experience for me.

Teeth suck.

The only bright side is that the dental student told me this after he saw my other fillings, instead of on Sunday. If he'd sprung the filling surprise on me in front of the people giving the exam, he said, they would have flunked him for poor patient management. Now at least he's got a chance to find someone else.

: I got nothing, so before going to sleep I'll just point you to my favorite Starslip Crisis ever.

[Comments] (2) Space Game: I had an idea for a game and immediately started expanding the scope of the game beyond all reason, but let's keep it relatively simple. This is a game where you run a space program. You've got a mission, let's say putting a man on the moon and bringing him back safely. You get to design the spaceship, landing module, etc (I think we're at a point where you could design these in a fair amount of detail and it could be made fun). Then you do the launch, deal with any problems that come up, and try to carry out the mission.

I'm pretty sure there was a "space race" game in the 90s that let you manage a space program on the large scale and probably had some budget challenges, but I doubt it let you design spaceships in a meaningful way. What do you think of this game idea? No pressure since I'm not going to actually develop such a game.

Hm, actually it could work as a space-race role playing game.

: The problem with directly comparing the amount of time people spend watching TV with the amount of time spent writing Wikipedia is that a big chunk of Wikipedia is status reports about what happened on TV. Great article though.

The Legend Of The Legend Of Zelda: So a while ago I finished the Wii Zelda game I borrowed from Steve Minutillo, and yesterday I finished the Gamecube Zelda game I borrowed from Adam Parrish. I think Wind Waker (the Gamecube game) is my favorite Zelda game. This is partly because of its use of the Zelda myth.

The prevailing fanboy approach to the Zelda series is to try to put the games into some chronological order where there's an eternal recurrence of a hero archetype who keeps being reborn to fight the same evil over and over. In fact this is also the official approach, but it doesn't hold together very well. The details don't match up. Look at the intro story to Zelda 2: what should be a straightforward sequel is already a mess.

I prefer to think of every game in the series as being a different culture's telling of a myth--literally, the legend of Zelda--each emphasizing different things. Example: sometimes the hero visits a parallel universe, sometimes not, but in every telling with a parallel universe, the nature of the universe is different. It's like playing through all the video game adaptations of Journey to the West. On this view, trying to put the Zelda games in chronological order is like trying to unify the two creation myths in Genesis. It misses the point.

However, the Zelda myth is not that interesting on its own: it's the myth of The Kid Who Collected A Bunch Of Similar Things. Like if three-quarters of Lord of the Rings was Aragorn slumming it up and down Middle-Earth trying to find all the pieces of the Sword That Was Broken. I still need to play the N64 installments of the franchise, but Wind Waker had the best riffs on the myth of any Zelda game I've played.

First, the Polynesian-style setting was totally different, and it worked well. I think the ocean squares could have been reduced in size by about 25%, but it made the game world interesting the way loci of activity were scattered more or less uniformly across the map.

Also, in the other games I've played Link doesn't have much of a character arc. In Twilight Princess he starts out as a Luke Skywalker farm boy type who's thrust into greatness, but it doesn't really work because he's got the emotional range of your Kathy Ireland. He's a lot more expressive in Wind Waker with its cartoony graphics. He's also younger; his hero clothes are itchy and he's terrified, but he goes and is the hero anyway. It's typical Joseph Campbell stuff, but other games in the series don't even come up to that level. And it's especially effective with the Wind Waker backstory, in which the world is in the state it is because the last time someone ran through the eternal recurrence and told the myth, the hero didn't show up.

Bonuses: it's got a character who's effectively a coffinfish. I named my character "Zelda" in a tribute to the original NES Zelda game, which yielded yuk-worthy dialogue like "Hurry, Zelda! We must reach Zelda!". And while researching the much-loathéd character of Tingle, I discovered Freshly Picked Tingle's Rosy Rupeeland, the game that's a ruthless parody of the Zelda myth in addition to being a big "screw you" to fanboys everywhere.

[Comments] (2) They Said I Prob'ly Shouldn't Fly With Just One Eye: While waking up yesterday morning I had one of those semi-sensible waking up ideas, where I revamped my pretty-much-abandoned memorial page for my old BBS to reuse the actual old screens from the BBS. So the file listings would be colored text like they were on Da Warren, the homepage would be a copy of the BBS's main menu, etc. I could even put up ports of my WCCode masterpieces like The Online Hedgehog Detector and Eliminator, and Are You Online?

Well, looking at those old menus, that's probably not going to happen anytime soon because it would be a very confusing interface. But! To give the menus a proper look-see I ended up writing a program that converts my ANSI files to HTML. If you have any old ANSI files lying around it might work on them too. It even supports blinking ANSI, using the much-maligned (greatly-maligned?) <blink> tag. Well, the CSS equivalent.
qrstuvwxyz{|}~⌂Ç    ♥

Here's the source: ansi2html.py. I've released it into the public domain.

Strangely enough, this program didn't already exist--HTML::FromANSI works for color codes but doesn't handle the CP437 extended ASCII characters that were a staple of DOS-based BBSes. There was a last burst of enthusiasm for ANSI files in general around 1999, when ansi2gif was released, but that seems to have been before web browsers had Unicode support, so nobody thought of putting it in the browser. And nowadays most people interested in ANSI art are into the scene stuff that mostly uses the block characters, and instead of cheap HTML translations you get cool things like lightboxes.

I wanted to bring all my tacky BBS screens into the browser and share them with you. Then I got this program working, actually saw all my tacky screens for the first time in years, and thought better of it. I will share one of my old Da Warren screens with you, to give you an idea of what the program can do. I've put it up at the ANSI2HTML web page. The graphics aren't bad because it's a plagiarized parody of someone else's ANSI advertising their pirate BBS. I used it as Da Warren's login screen occasionally.

There are a couple problems with the script. The first is that it needs some line-wrapping logic to simulate an 80-column screen. The second, which might be related, is that some ANSIs look crappy when it converts them to HTML. And--I'm embarrassed that this never occurred to me before--I'm not sure how an ANSI file is supposed to distinguish between an \x0a that's a newline and a \x0a that's INVERSE WHITE CIRCLE. Right now I treat 'em all like newlines.

But, at the very least I hope someone will get some use out of my Python dict mapping the IBM PC's special characters to numeric HTML entities. I forsee a renaissance of ZZT-style ANSI art games, old door games ported to the Web, etc.

PS: the official Unicode name of the ⌂ character is "HOUSE". I never mentally gave it a name, but "HOUSE"? Seriously? I'd have called it HOME PLATE.

Update: Added support for the simple cursor movement codes that can be simulated by adding newlines and spaces, which makes basically all ANSIs convert well enough that you can see what they are. Getting more complex than that will involve creating a virtual screen and drawing the whole thing on that before converting the finished product to HTML. Not worth it for me right now.

Uh, one more bit of art. This is how I signed my name in one of the BBS bulletins:


[Comments] (1) : It's two years since my mother's death. When someone dies you're left with your mental model of that person. This is a kind of immortality but as immortality goes it's really terrible, because your mental model of another person is never good enough to give any satisfaction. It's the difference between a real person and ELIZA.

Except in dreams. The people in our dreams are simulations run by the brain, but we don't notice at the time. I dream about my mother all the time, and for a while I fool myself into thinking a few mental images are a real person. And I wake up and it's painful, like it always is when you realize you've been fooling yourself.

But that's not as bad as it gets, because sometimes I dream that my mother dies. I wake up and realize it was a dream, and I'm relieved. And then I remember that the dream was accurate, and it's worse. The mental-model sort of immortality is mostly good for keeping the pain fresh.

: On Saturday I went with Evan to see the pretty decent Dave Eggers-curated exhibition of cartoonish art, "Lots of Things Like This". Here are some pictures from Saturday, including L.H.O.O.Q., first in my mission to take my own pictures of Duchamp's major forgeries. (Duchamp retouched L.H.O.O.Q., probably to make the Mona Lisa's face more like his own, betting that you wouldn't notice because you'd be distracted by the moustache; dare to compare.)

[Comments] (3) : It looks like someone's setting up an office in my apartment building.

[Comments] (9) : I'm not really interested right now in writing the kind of weblog entry I usually write. I apologize since I assume you read my weblog for that kind of entry, but this is not some lame "I'm not going to write much for a while because I'm so busy.". I'm no busier than usual and I like writing, but at the moment I want to focus on creating new things and doing research. Most of my writing at the moment is fiction.

So here is the deal. If there's something interesting or helpful you think I could find out or create, tell me about it in a comment. I read a number of weblogs that do something similar (eg. waxy, Request Comics) and the results are always interesting.

: Speaking of things I read on Waxy, check out Dino Run, a synthesis of the ludological concepts I've developed through years of Game Roundups. Specifically, 1) "a flexible set of techniques to use towards your goals, and lots of random variation within well-defined parameters"; and more importantly 2) "replace the humans with dinosaurs".

Disclaimer: in the interest of scientific accuracy I should point out that, like many animal-themed games, Dino Run uses as a game mechanic a totally inaccurate model of evolution. It also depicts the K-T event as something you could outrun, which seems about an order of magnitude worse than having an action hero outrun an explosion.

: Ryan Ginstrom, who just sent me some Beautiful Soup money, has a cool weblog about Japanese-English translation and Python. From the weblog I found out about maru batsu. Has it reawakened my longstanding love of punctuation

[Comments] (6) Request Weblog #1: Bureau of Statistics: Ben Heaton requested: "I'd like to see a weblog entry based around counting types of objects in the room with you." Here it is.

: Filmmaking has abandoned its roots. It's time for Dogme 1895! Just think of the possibilities: you can show something that actually happened, recreate a historical event, or tell a fictional story! But don't employ any technique or film element first used after 1895. See this handy guide. No artificial lighting, color, scale models, kissing, stunts, credits, or feature-length films. Synchronized sound is okay.

[Comments] (1) Magazine Haul: Evan requested to hear about "recent books bought, read, and/or stopped in mid-read". I'll answer his question properly later, but here are some magazines I got half an hour ago. We went to the Build It Green! NYC Swap Fest to recycle busted electronics and get rid of CDs, clothes, non-busted electronics, etc. that have outstayed their welcome in our house. Having swapped that stuff out, we discovered a huge multi-crate haul of Analog and Fantasy and Science Fiction magazines from 1984 to 2002. We went through them, semi-randomly picking ones that looked good, and ended up with about thirty.

Wow! Amazing find! Nobody else at the Swap Fest seemed to care about science fiction magazines so we didn't feel bad about taking so many (plus we took only about 10% of the total). As you might expect they were all from one guy's collection; searching for his name I see that he probably worked for the Federal Water Quality Association and that he put his name on the Stardust microchip. I hope he's still alive, but that's exactly the sort of thing that ends up at a Swap Fest after you die.

[Comments] (2) Request Weblog #2: Reading List: As previously mentioned Evan wanted me to write about my recent interactions with books. Rather than give a list (I already keep a list here, albeit not very consistently) I thought I'd write about some selected works.

Right now I'm halfway through Summerland by Michael Chabon. I thought there would be more alternate history and less fantasy; I think I confused it with The Yiddish Policeman's Union. I'm not really concerned with science fiction and fantasy's class ranking vis-a-vis other kinds of fiction but nonetheless I'm glad that Michael Chabon writes fantasy and then says to the literary world "yeah I wrote fantasy and you liked it!" Kapow!

The last book I read was a 1963 science fiction novel called Star Surgeon, not to be confused with the 1960 science fiction novel of the same name, or indeed the 1968 Silver Surfer ripoff Star Sturgeon. It's a really good read, as the abovelinked review indicates similar to the Culture novels in many ways, but there's a never-explained subplot where some horrible disease struck humanity and made all the women subservient and unambitious. No, wait, that's 1960s science fiction. Jiminy Cricket, this guy writes a believable asexual empathic insect doctor and he can't get a human woman right.

I also read Finite and Infinite Games recently. I don't know why I read these books thinking they'll have game theory in them. It was just 80s self-help stuff.

My previously-written mini-review of VALIS: "This book showed me that Dick is a master of plotting. He's written a novel in which he appears as the narrator, the main character is also himself, the narrator is unreliable and both main character and narrator are insane. But you always understand what's going on in the plot." Well, maybe that just makes him a master of exposition; the plot isn't that great actually.

Books recently bought: I rarely buy books because I've already got about 200 unread books. I guess the last one I spent money on would be Matthew Yglesias's book about recent American history and politics, Heads In The Sand. And a while back when I was out with Evan, I bought Stephen Mitchell's translation of Gilgamesh. I do use Bookmooch to request rare books from my wishlist. In the mail right now are A Complete and Utter Failure (Kevin's favorite book) and The Evolution of Useful Things, both of which have been on my wishlist for years.

Books that I stopped reading: I rarely just give up on a book. Last year I gave up on Floating Worlds, which I had high hopes for, and gave up on the Thomas Covenant series after slogging through the first one. More recently I stopped reading In Conquest Born by C.S. Friedman because everyone was acting like Klingons and it was boring. I'll give that one another try but I might give up on it. More recently still I stopped reading Vast by Linda Nagata after a couple chapters. It was the third book I had earmarked for subway rides, and that's just too many to juggle at once. I'll pick it up again soon.

I usually don't decide in advance what to read, but continuing the theme of you telling me what to do, leave a comment and you can tell me which of my unread books I should read next. (Do a tag search for 'unread', just like in that largely-bogus unread-books meme; I can't seem to link directly to my list.) Fine print: Leonard retains veto power. Limit two books per bizarre abdication of autonomy. Member FDIC.

[Comments] (4) Keyboard Snoops: I'm interested in buying a wireless keyboard but it just seems like asking for trouble. They don't use very strong crypto. But nobody really seems to care. Any opinions?

[Comments] (2) Living In A Submarine: Four years ago and change I was working for a presidential campaign. We'd just had a bunch of primaries that generally didn't go the way we needed them to go and it was time to start thinking about packing it up. But we didn't actually pack it up for another week. I want to say something about that intervening week. I'm not sure what.

When I play it back in my head as a movie there are three key scenes. The first scene is kind of farcical but describing it would be cruel to no real purpose, not even the purpose of telling a funny story. The second is a human-interest scene that I won't tell because I have a superstition that if I tell you I'll lose the good karma.

The last scene is at the end, when we learn that the Kerry campaign wants to recruit the Clark tech team. We've got jobs in Boston if we want them. Josh Hendler says yes. I say no. I'm exhausted and Kerry isn't my candidate and I've learned that political work is not for me. I go home.

But here's the reason I joined the Clark campaign in the first place: to stop 2005-2009 from happening the way they did and will happen. I joined the campaign because I knew I couldn't live with myself having passed up the opportunity to see what my marginal contribution could do. In February of 04 that goal is still operative. I'm offered a second chance, and I pass it up. I give up, and everything happens as I fear it will and I wonder whether my marginal contribution could have stopped it.

That's the movie playing in my head the past four years. It's cool that techniques we developed have been refined but that's cold comfort.

Let's go back to that intervening week. Given that I'm going to go home, why not do it on Wednesday and save a few brain cells? Why wait for the slow wheels to process the obvious implications of the electoral math? I don't have "that thing inside you that makes you act like the bad news isn't happening". I do have two cheesy reasons: loyalty and honor.

Working on a political campaign was like working on a submarine. (I got this analogy from a fellow campaign worker who'd served on a submarine, though I don't think he drew the analogy explicitly.) You're in close proximity with the same people every waking hour, you develop bizarre social codes and dialect (I don't know if that happens in submarines, but it should). And maybe the submarine starts to sink, but you know that if you take off and abandon your post it's going to sink like hell.

For a job at a company that argument doesn't mean as much to me. But I'd taken this job to harness myself to something bigger and more meaningful than my own life. As will anything bigger than one's own life, it burned me out. But this is what I mean when I fumble for words and come up with "honor": I had to complete the sacrifice. It wasn't what I thought I'd be sacrificing, and I didn't get what I wanted in return, and there are many things I could have done differently, but that's why I did what I did.

(I got all this ritual/sacrifice language from Jim Macdonald's Viable Paradise lecture; I haven't suddenly converted to Hinduism or something.)

Here's what I'm really saying. Life will burn you out and leave you dead. You have to complete it. The logic of sacrifice doesn't make sense in the same way that life doesn't make sense. But the goal of a sacrifice can make sense, and that's how you give meaning to your life. Pick good goals.

I need to go to sleep. Eh, sure, I'll publish this.

Game Non-Design: Sumana pointed out the other day that scifi.com has the same lame web TV show tie-ins as any other basic cable channel, featuring games that are rebranded versions of games you've played elsewhere. For instance, there's Frakjack, which you may know as blackjack. Seriously, it's exactly the same. The game blurb says: "It's a friendly game of 21... until Starbuck hits the hooch", but although I heroically played several good-faith rounds for review purposes, Starbuck never hit the hooch, or me, or anything for that matter. Nobody even told me that I had no choice or ordered me to do my job.

Big deal, they subcontracted with some company that's got a bunch of prewritten Flash games and skins them for whatever the client is plugging. I don't really understand the point of these games but it's doubly stupid here, because there already is a card game in the Battlestar Galactica universe, and it's not frakjack. It's Triad. Unlike blackjack, Triad is "a friendly game" instead of a game of one person against a dealer. It's played with cool hexagonal cards instead of standard rectangular cards with the players' own faces on them. And it makes a nonzero amount of sense to do it as a tie-in game on the scifi.com website.

I'm well aware of the reasons why this didn't happen, but all those reasons just throw into stark relief the stupidity of what did happen, and what happens whenever you do a tie-in game without doing any game design.

[Comments] (6) Lost Update Nanny State: In the web service I'm working on, we're considering rejecting PUT and PATCH requests unless they're accompanied by a valid If-Unmodified-Since or If-None-Match. Basically forcing clients to consider the lost update problem and work with us to avoid it. If you're trying to PUT a new resource, you need to send If-None-Match: * to avoid stepping on someone else who just created that resource.

Is this legal? Seems okay to me, but I'm not sure what response code to send. 412 ("Precondition Failed") is the obvious choice, but the precondition that failed is that the client didn't specify a precondition, and that's weird. I see that the Astoria team is thinking about the same things (search for "validation during side-effecting operations").

[Comments] (1) Request Weblog #3: Game Non-Non-Design: Ben the request-meister asked for "A specification of a game that you would love to play but hate to make" or vice versa. Here's a sketch for a game I'd love to play: a fractally-scaling societal sandbox that combines the best of Civilization, Dwarf Fortress, Spore, Adam Cadre's IF game "Varicella", and the Grand Theft Auto series.

The sandbox scenario is that you're an alien civilization making contact with Earth. You choose a few startup parameters:

And that's it. You're weird, you've got advanced technology, and you encounter or are forced into human history. You can try to help humanity (for whatever definition of "help"), make and sell stuff, conquer the planet, try to blend in, try to be accepted, or just repair your ship and get out. The levers of society are exposed to you at all levels: personal relationships, trade, diplomacy, media and propaganda, espionage, etc. You can play it like an RTS, a wargame, a game of stealth and guile, or a tourism ungame. If you play it as a wargame you've got a political wargame, because the tactics you deploy are in the service of some larger goal.

All the time you're controlling some specific member of your party. You can probably switch between party members[0], but there's never, say, a disembodied RTS interface: it's you giving orders to other people. If Bob gives an order, it affects Bob's reputation with the people who see him do it, the people who carry out the order, and the people affected by the order. If humans see any part of this, the part they see affects your whole species' reputation.

Ah, reputation. Humans' ideologies are well-known, but alien ideologies can be different. The player's actions will be interpreted by NPC aliens (if any) through the lens of the party's ideology[1], which might make them happy or unhappy. One thing that might make them happy is converting humans to their ideology. Ideologies would be selected from a list, or assembled piecemeal a la Credo. For some ideologies it might make NPC aliens happy to convert NPC humans to some other ideology; a master morality/slave morality thing. The game's sense of morality is intersubjective rather than objective. There's no "you can't do that" enforcement mechanism; rather, a gradually increasing NPC resentment at having to follow orders they see as unethical.

I'd hate to make this game because it would cost hundreds of millions of dollars (GTA4 cost $100 million) and it would be insanely complex, possibly requiring something close to strong AI. While writing this description I thought about recasting it as a role-playing game, but I can't see it being fun to DM. If you gave the humans a more active role you might be able to have a human team and an alien team.

A variant that might be easier to implement is to switch it around and have humans make contact with aliens. It's easier because you don't have to simulate the alien societies in as much detail. People accept ahistorical and culturally homogeneous alien species without thinking much about it. But it wouldn't be as fun to play, since one of the cool things about my idea is the way it lets you try to manipulate humans on any level.

[0] I don't need to be able to switch to any given member of my army, but in a very large party I'd like to be able to switch to certain archetypes: the leader, the leader's lackey, the guy who runs the media/military/trade operation, the grunt carrying out the media/military/trade plan. People who interact with the humans on any level; no middle managers who are only concerned with other aliens.

[1] The party might not have one fixed ideology; maybe a cruise ship crashes on Earth and the passengers and crew don't get along but they've got to work together, like how I imagine "Lost". Party ideology is just a baseline for personal ideologies. Similarly for humans. You can always find one scummy human who'll deal with you no matter what you do, but if you need a bunch of humans, you'll need to cater to human ideologies or use force.

[Comments] (3) The Sad Truth: Opus, the sad truth is that Jacques Torres frozen hot chocolate is not nearly as good as is often alleged.

From The Notebooks: "LED grills for MC Frontalot"

Old Science Fiction Magazine Reviews: Analog 1988/10: These magazines are great for subway rides. They fit in the pocket and each is good for about 2 round-trip rides. As a public service I'll be highlighting good but forgotten science fiction as I go through them. It's really a shame that this stuff isn't online.

Only one recommended story in this issue, but it's really good: Michael F. Flynn's "The Adventure of the Laughing Clone" is nasty noir with a good integration of character motivation and the sciencey bits, and a plot that's intricately tied up with the workings and layout of the New York transit system. The final twist wasn't hard to see coming but it was a great story.

"Sunstat" by Jerry Oltion and Lee Goodloe is okay and has some nostalgia value with its glasnost-era theme of international cooperation in space. I didn't read part III of "Proteus Unbound" by Charles Sheffield because it didn't sound good enough to read a chunk out of the middle of the story. I was initially intrigued by the unique "synopsis" format of the story, until I found that it was actually a synopsis of the previous two installments.

Letters section is pretty lightweight: "What do you suppose would happen if our political leaders... suddenly 'wised up' and dropped their petty ideological differences?" Yes, what if people "wised up" en masse and devoted themselves to becoming the Competent Man? Sounds like a good idea for a science fiction backstory or 700. Stanley Schmidt's editorial is better, with a topic of Hazelwood v. Kuhlmeier.

Review section reviews Portal: A Dataspace Retrieval, one of a few attempts to do IF written by professional authors, not to be confused with the modern Portal. No other works that sound familiar except in ads (how I missed you, book club ad trying to get me to buy Barlowe's Guide to Extraterrestrials!). There's an ad for the Illuminati game and one for another Steve Jackson Games game called Isaac Asimov Presents: Star Traders. Honestly, I question how much work Isaac Asimov put into designing that game.

[Comments] (2) Sumanabams!: In our household we have a tradition of making peoples' names more interesting by appending their academic degrees. It all started with a spam that suggested you "add an mba to your name". I am a lowly Leonardbs, which is hard to pronounce, but Sumana's sister holds the title as Nandinibabsmamba. Sumana is catching up, though, as soon she will be an action-packed Sumanabams!

: Today I hung out with Adam P. and worked on silly software. Even silly software needs unit tests, apparently. Also it would be cool if Adam Kaplan and Adam Parrish could meet, but I don't see how to arrange that since I already got married.

: Great parodies of the early, desperate, gotta-get-an-issue-out-every-month comic books you saw in the 50s and 60s. (They seem to have toned it down since.) I think all the webcomics I read could just do this kind of parody for a month and I'd still love it.

: Hmm, it would seem that silly software also needs proper resource design. Who knew? In the meantime, enjoy Susan McCarthy's awesome animal behavior weblog. (cf.)

Fair Warning: On the inside cover page of my copy of The Warlock in Spite of Himself, which I bought in the bookstore across the street from the British Museum:

Christopher Stasheff worked in
educational television before he
became a writer of science fantasy.
He is an American.

[Comments] (3) But That's Just The Palette Colors Talking: Adam P. let on that his fancy college education had taught him the true meaning of Mega Man. Specifically the part of the ending credits of Mega Man 2 where the palette turns pink to symbolize the coming of spring (skip to 44:10 in that video to see it). When I was a kid I thought that was the game's tribute to Quick Man, but no, pink means spring in Japan because of the cherry blossoms.

I asked Adam if he'd made this connection because all the other ITP people were obsessed with Mega Man like he is. Actually he'd made the connection because there are a lot of Japanese students in the ITP program and they often did cherry-blossom-related projects.

You Got A Hearing Problem, Mister?: Sumana Graduates, Sources Say.

Also, George Takei is getting married! I've waited years to use that title in a weblog entry, and now seems like a good time.

[Comments] (2) "I Blog What You Say" #4: Link Cop-Out : Jacob B. said I should blog about H2O (look at http://tinyurl.com/5a823s); that is, blog about its quality as I find it dripping from a tap. Its quality in my city is good, according to NYT's own "City Room" blog (look at http://tinyurl.com/3jt6yu). At this point, having shown a link, I could just click "Publish", but I'll add that I also think its quality is good. I do own a jar that traps impurity, as on occasion this liquid picks up bits of grit as it flows into my building.

Jacob also said I should blog without using ASCII glyphs 0x65 and 0x45, which I just did. (I took pains to omit such glyphs from both body and HTML markup, and so I couldn't do normal <A> tags.) Finally, Jacob has an odd wish to talk abnormally, and I am to command him to apply a transform to his vocal cords. I say Jacob should talk as Sonic talks. I actually don't know how Sonic talks but that's how Jacob should talk.

PS: I had to wait til Thursday to post this.

The Tapeless Office: After completing my digitize-and-get-rid-of-tapes project in January, and dumping a box of commercial tapes on the thrift store and mailing off a bunch of personal tapes to GreenDisk for recycling, I've now gotten the number of non-blank cassette tapes in my house down to about 12. For some reason this has not led to the dramatic increase in storage space I'd hoped.

Because of the thrift store thing I was thinking how odd it is that thrift stores still sell huge collections of terrible records, 20 years after they stopped really making records. You'd think things would have shaken out by now so that all the good records have been selected by hipsters or record stores and the remainder can't be sold, but I guess people keep dying.

Compare old game cartridges and computer software. There were windows for old game cartridges showing up at the thrift store 5-7 years after the console died. I remember going to the DI in Provo around the time of my father's funeral and seeing a huge bin of loose Atari 2600 cartridges. Around the time I graduated from high school you started seeing the lamer NES cartridges in thrift stores, but they were behind the glass case and sold for far more than they were worth--more than they're worth today, in fact. A couple months ago I saw someone's N64 carts at the thrift store on Ditmars. You might say that today's game buyback stores mean games don't end up at the thrift store, but what happens to those games after the consoles die? [Oh, I recently bought a Wii game at Goodwill, but it was busted, as you might have expected.]

Old computer books stay in the thrift store economy for longer, though it's been a while since I saw a good flowchart-filled "Principles Of Data Structure Analysis" book in a thrift store, or even a Windows 3.1 book.

[Comments] (4) Request Weblog Thread #2: The first batch of request weblog entries is pretty much done, so leave a comment and tell me what to write about next.

Make Your Own Markov Chain: As per Fafner's request, here's a Surrealist-style word game I made up, the textual equivalent of the Exquisite Corpse. It probably already exists but you get what you pay for.

This is a game for at least 2 players, though 3 is probably the realistic minimum. The rules for n players are as follows.

  1. Pick an ordering of the players.
  2. Start with an empty string. Going in turn, each player adds a word to the string, possibly including punctuation.
  3. Now continue looping around the players, adding one word each time, but now each player can only see the last n-1 words of the string.
  4. Stop after a while.

Now you've got a manually-created text with some Markov chain-like properties (because people have imperfect memory, and the text has many authors) and some human-written text properties. To bump up the Markov chain quality, reduce how many words of the string each player is allowed to see.

Science Fiction Magazine Reviews: F&SF 09/1999: Eh. Most of the pages are devoted to a blockbuster novella, "Ninety Percent of Everything", by John Kessel, Jonathan Lethem, and James Patrick Kelly. It got a Nebula nomination despite being the kind of story that when I submit it to writing group my colleagues say "This story has a lot going for it, but..."

Here's what this story has going for it: big-name writers, a cast of eccentric characters (ever since reading Software I've had a soft spot for recluses who make ice cream vans their primary mode of transportation), space aliens. I usually try to coast on the last two. But the main plot is too weak to support the eccentric characters, and it ends with a resolution that in my crankiness I am growing more and more impatient with, basically (spoilers) "Behold! All aspects of the story's mystery fit into a simple conceptual framework! Those aspects that baffled you, don't feel bad--they were intended to baffle all of mankind! Until the end of the story, which is now! Also, according to secondary sources, two of the main characters are in love!" Even the ending had some really good stuff in it, but it felt like a shaggy dog story. However the title of the piece did make me come up with the following joke:

Q: What's dark energy?
A: The ninety percent of everything that's crap.

And 90%oE is the best thing in this issue by far. The only other thing worth mentioning is Kathi Maio's review of The Matrix, which trashes the movie as it deserves to be trashed. (Best Dennis the Peasant-esque line: "Significant social change requires collective action, and not just some demigod dude who decides that he's going to apply his newfound magnificence to the problem at hand.")

For a more detailed and generally more positive review of this issue, see SFSite.

[Comments] (1) QOTD: Sumana: "You would think that handbasket would have gotten to hell by now."

[Comments] (1) "Dear friend. Question mark.": At last! A while back I discovered that the NYCB A/V Club's favorite Prohibition-era comedy, "What Price Pants?", was available on DVD as part of a Paramount shorts (ha) collection. My copy came in the mail today. We watched it and it's got an interminable Zoidbergian framing device but the framed dream sequence is all I'd hoped for, nine minutes of lunacy in which the government outlaws pants, leaving men in their underwear and scrambling towards gangster-controlled pantseasies. Shown: the inevitable raid.

Bonus: like the classic "Duck and Cover" video, "What Price Pants" was filmed in Astoria.

Bonus bonus: My "Dogme 1895" idea was semi-realized in 1995's "Lumiere and Company".

: Rachel C. went to London and we went to Brooklyn and we saw each other through the Telectroscope. I just realized that I should have told my sister Rachel about the Telectroscope and seen her too, but I didn't think about it because I was already meeting a Rachel. Despite its technical uselessness (Rachel and I were texting back and forth to coordinate our meeting up at the scope) it was really great because of its public nature. I think there should be more bidirectional public portals between countries.

After Telectroscope we walked around Brooklyn Heights for a while, which was fun. There are pictures! I bought some books off my wishlist. The pictures you crave: Sumana preparing a sign for the Fitzchalmers family as Manhattan looms in the background. My most successful picture taken through the Telectroscope. Sumana pats the blue pig. The tiny basil plants we got yesterday at the farmers' market.

[Comments] (6) Science Fiction Magazine Reviews: F&SF 04/2002: Read while subwaying to and from Brooklyn. This was a really great issue, excepting one well-written horror story that I didn't like because I don't really like horror. "Just Another Cowboy" by Esther N. Friesner had a really funny tall-tale voice, and then the voice started getting a little old and my mind started wandering and coming up with little riffs, and then one of the riffs I'd thought of actually happened in the story. I love it when a plan comes together.

Also funny were "Torah! Torah! Torah!" by Thomas M. Disch, sometime collaborator with John Sladek, and Alison Bowman's "The Copywriter", which is pretty much The Ballad of Michigan J. (Honestly I think TBoMJ has a more satisfying resolution, though it's totally unsellable.)

Not funny but very good was Charles Coleman Finlay's "The Political Officer", which as you can tell from the title tackles an organizational structure seen not often enough in SF. Intriguingly, Finlay published a story called "Fading Quayle, Dancing Quayle" in an anthology about zombies, making it possible that he's written a cross between "Absent Qualia, Fading Qualia, Dancing Qualia", Zombies: The Movie, and (dare we hope?) Pamela Sergeant's Nebula-winning "Danny Goes To Mars".

Movie column is an appreciation of Donnie Darko, which I haven't seen. Book column mentions two excellent stories I've read and recommend to you: Ted Chiang's "Seventy-Two Letters" and Greg Egan's "Oracle". Both stories about computer science, actually.

Space Robots Strike Again: With pictures from the Martian arctic region.

: We went to see Cory Doctorow do his book tour thing and met up with all the people we thought we'd meet, plus many surprises like Rajan from my writing group. Then for many hours we hung out with Adam and Sabrina and talked, and really you don't read my weblog to find out who I hung out with and talked with but it was a great time and a great way to spend a holiday Monday.

In things you care about news, today I also did some work on a fix to Beautiful Soup that speeds it up dramatically in certain circumstances, but it's not ready to release yet.

Charlie Wilson's War: At an anonymous commenter's insistence, the last book I read was Charlie Wilson's War, an amazing and recommended trainwreck. Often I get a handle on a book I'm reading by imagining what would happen if the finished book were sent back to the time of the events it describes. And it would certainly have an effect, but the covert war described in this book is so complicated that I have no idea what that effect would be, besides the obvious ones like burning some intelligence resources.

I don't know what the movie does, but the stuff that you'd turn into a movie (Wilson's gallivanting around, mainly) is definitely the least interesting part of the book. I was riveted by the political wrangling and bureaucratic backstabbing and people getting screwed over for some poorly-defined national interest or logrolling or just to cover someone else's ass. I'm pretty sure I could tell where someone was trying to cover their ass in the book itself, but that's a sucker's game so I'm just not putting a lot of credit in the details. But the analytic conclusions were really interesting, especially as regards the way the catastrophic Contra proxy war ran interference for the Afghanistan proxy war.

[Comments] (3) : For future reference, today was the day the farmer's market seriously got started again, with my two favorite produce items: berries and tomatoes.

The Water's Kind Of Funny So The Beer Won't Foam: Not a great science fiction story, but a great title: The Man Who Hated Mars. Me, I hate Saturn.

: Ever since subscribing to some Lego weblogs or (LEGLOGS, as I think they're officially called) I've been amazed at the dimension-twisting and generally imaginative building tricks people are coming up with. Specifically, check out the head and body cavity of this robot. If you know just a little bit about the shapes of Lego bricks (my extensive 1980s knowledge now counts as "a little bit") you'll be amazed, and the model's so charming!

[Comments] (2) Discussion Topic: Super Paper Mario is the best ZZT game ever created.

: Whew, writing group story semi-finished. Now: sleep.

Reaping The Dungeon: The Reapening: That story tired me out and I decided to do something nonproductive. I pulled out Reaping the Dungeon, a 1993 DOS game that tormented me with its mix of interesting gameplay and unfairness. It's kind of rare now (well, it was always rare), but you can download it from the "Sysop's Picks" directory from my old BBS.

RtD, later renamed "Dungeon Rogue" in a bizarre decision, is a science fantasy roguelike game. I say science fantasy because, although my definition of science fiction is pretty broad, it does not encompass games that take place below the surface of Jupiter. Like I say, you go down into Jupiter and you have to get down to level 65 to shut down The Machine. Let me tell all you young engineers something I learned in college: don't call one of your projects "The Machine". It's just asking for trouble.

When I played this in the nineties I think I got down to level four, once. This game's difficulty structure is totally different from any roguelike I've played. There are two numbers you've got to watch: "oxygen cells" and "health cells". Both are being constantly depleted and the best you can do is slow down their depletion slightly. They're replenished by the aforementioned reaping.

You see, growing in the caverns beneath Jupiter's surface are plants that operate on a life cycle of several hundred turns. If you find a plant that's in one of the flowering stages, you can cut it down and harvest 30-300 cells of one type or another (in addition to oxygen and health cells, there are also "energy cells" which power your devices and weapons). Otherwise you need to wait around, or come back to the plant later. But I'm not sure if it's worth it because the amount of oxygen you expend waiting around is likely to be pretty close to the oxygen you get by harvesting the plant.

There are some other annoyances, like shops selling things there's no way you can afford, but all the annoyances are dependencies on this one: you die before you can do anything. To balance this out there are awesome weapons and equipment. This is the only non-fantasy roguelike whose equipment feels like it works on technology instead of magic, except maybe Alphaman. But again, you die before you can afford any of the weapons and equipment, because your starting weapon is so poor and there's no such thing as armor.

But now, there's hope. Reaping the Dungeon now runs in a window in a GUI environment rather than on a singletasking DOS box, which means we can cheat. RtD has orbs that do the magic mapping/object detection/monster detection duty for this particular Roguelike. The problem is that you only get to look at the map once and then it disappears. But thanks to multitasking, it's possible to display a map using whatever orbs you have handy, take a screenshot of the map, and consult it as you play the level.

When you cheat this way, the game is almost fair. You know where to go to get treasure, and what dead-ends to avoid to save oxygen. I got down to level 9 before dying, which is pretty good given that the levels are large (like Angband) but the stairs are one-way (like Rogue).

With that in mind I invite you to play Reaping the Dungeon with your game design hat on, take everything that's good about the game (the atmosphere, the reaping, the equipment, the player enhancement), and make a new game with all the good stuff and none of the waiting 200 turns to get 250 oxygen or dying before anything interesting happens. Again, my top suggestion: armor. And actually the microwave from Alphaman, which speeds up the maturation of plants, would be useful too.

[Comments] (1) Misreadings: So now I've written two stories ("John Versus the Sreps" and the new one) where I write an ending where something happens (a radical concept, I know), and someone reads it and thinks I wrote an ending where the exact opposite thing happened. This is called dramatic irony, but it usually happens to the characters, not the person writing the story.

It often happens that a misreading is more interesting than what I wrote originally and I end up changing the story. I wrote a whole song based on a mondegreen I heard in a Weezer song ("Disco Noose"). And as long as I'm on the topic of Weezer songs, Sumana and I agree that "Beverly Hills" is a much more interesting song if you replace the line "Rolling like a celebrity" with our mondegreen "Ordering the soup of the day".

Update: Kind of a simple one, but I just referred to Burn After Reading as Burn Before Reading. There are at least two ways that's a better title.

[Comments] (2) : It's been a while since I just posted a link to a weblog for you, so here's Back of the Cereal Box, with all the video game minutiae you've come to expect from News You Can Bruise (if you know of a third weblog that's discussed Birdo's shifting sexuality, please send me the link--to the weblog, I mean; I don't want to read another entry on that topic), except delightfully written by not me. I discovered this weblog a while back because the author linked to the Eater of Meaning, which is undergoing one of its periodic rediscoveries by the Internet.

[Comments] (2) The Soul of a New Machine: The second of the books I was compelled to read by an anonymous commenter who I don't know--the IP address is from Wisconsin, and the only person I know from Wisconsin is Courtenay Teska, and it's probably not her, and that's not even her name anymore because she got married. Anyway.

I would have liked this book a lot more if I'd read it before spending eight years working in the computer industry. It's archetypal. By this point I and many of my friends have lived it. Reading about it isn't that interesting, but it would have been a very interesting read when I was in college.

A little while ago I mentioned the huge influence of The New Hacker's Dictionary on my teenage self. It was a glimpse of another world, a book I could read over and over again and always get pleasure from it. After writing that entry I started rereading it for some project I've already forgotten, and I got to C before putting it aside. The bookmark's still in here at core leak-cracker.

It's not just that TNHD is old and the hacker community too large and diffuse to need or find a dictionary useful anymore. It's not even that I've read the book seven or eight times. I was using its lessons as the best available substitute for participating in this world, and now I participate and I don't need the book. That's how SoaNM felt, only I absorbed its lessons the hard way before ever reading the book.

Anyway, that's me being down on the book. If you're not a programmer or computer engineer, it's still pretty good at giving the flavor of the work and the strange power dynamic between labor and management, even though it's over 25 years old.

Next I'm reading Born Standing Up because it's a library book that needs to go back. But if you want to get in on the compelling action some have called "compelling", check out my unread books (do a tag search for 'unread') and leave a comment saying what I should read next. Unlike last time I'm not going to put a limit on how many books you can put in my queue, but I'm also not going to slavishly follow your demands.

[Comments] (1) : Interesting fact: did you know that there's a parallel universe APOD on NASA's site?

[Comments] (2) : Experimental Module Launched to Monitor Usenet

Legend of the Tomb of Fate: Do you like tombs? How about fate? Adam P. has the procedurally-generated door game for you!

I played for a while until I was killed by a vicious TypeError. Since you play in a terminal instead of at 2400 baud, the repetitive nature of those games is immediately apparent instead of being doled out over many weeks. Despite this there are some good game mechanics I haven't seen anywhere else. There's the randomly-generated elemental affinities, and also the way you can commission magic items of any given power for a large fee, after which they're available in the shop for a smaller fee.

Not only does the game use the random magic item data from my justly neglected non-masterpiece The Knapsack Problem, it ups the ante with a bestiary and a large list of possible in-game currencies, many taken from other games, like acorns, bells, buckazoids, zorkmids, and New Yen. Some currencies missing from Adam's list: Euros, Whuffie, meat, slips/strips/bars of latinum, simoleons, megabucks, quatloos, steel pieces, mills, and Monopoly dollars. No need to thank me, I'm just doing someone else's job.

: It wasn't actually made with the Eater of Meaning (2003), but Mark Manders's Floor With Fake Newspapers (2005-2006) is in the same vein.

[Comments] (1) The Eye of the Lens: I've got books that have been on my wishlist for years and no hope of me remembering how I put them on. I just trust my earlier self. (Occasionally I mistrust my earlier self and remove a nonfiction book that now sounds really boring.) But I think this book got on my wishlist when I read The Trillion Year Spree (not to be confused with the Trillionage Sprout) and came up with a crash course of works from the history of science fiction.

As you might guess I'm not a big fan of what an essay I'm reading calls "the left-bank affectations of the New Wave". My particular pet peeve is "science" elements that are just technobabble, verily technobabble that makes Star Trek's technobabble seem like well-thought out Clarkean exposition. And of course the technobabble is delivered in infodumps. This ruined "The Time Machine" for me despite the excellence of the central conceit. Near the end of TTM there was a diagram that reminded me of The Bride Stripped Bare by Her Bachelors, Even, but even that didn't appease my aggravation. Duchamp wasn't trying to write science fiction.

As bonus New Wave aggravation there's also peurile anti-Christianity (ruined the otherwise good third part of the title story, and "Symphony Number 6 in C Minor 'The Tragic' By Ludwig van Beethoven II") and boring mundane-freaking (was the entire point of "The Garden of Delights"). What's left? Well, "The Hall of Machines", the first part of the title story, is great, like Lovecraft writing Richard Brautigan fan fiction. And I was initially very happy with "...Ludwig van Beethoven II".

See, as I approached the end of that story I suddenly skipped from page 128 to a reprint of page 33. In an if on a winter's night a traveller type mishap, one of the octavo sheets had been duplicated and so instead of pages 129-144 I had pages 33-48. I missed the ending of LvB2 and the beginning of "The Garden of Delights". But the story still had a satisfying conclusion. Then I was able to find LvB2 online and the real ending was crap. It just goes to prove the adage about stories being improved by chopping off the last ten percent.

Oh, another good thing about this book is the late-70s ads in the back for British SF books with their mod cover art. One ad announces "The 1970's toughest collection of fiction and graphics," summoning up the image of a chain-smoking, fiction-writing robot named The 1970.

[Comments] (1) True MoCCA Stories: My sandal fell apart at MoCCA. Randall Munroe gave me Gorilla Tape to fix it with.

Also, I bought comic books.

[Comments] (1) : Because I complain so much when shipping services do stupid things like lose my inheritance, I try to anti-complain when they do nice things. For instance, I recently ordered an air conditioner because the intense heat in our apartment recently drove away guests Kevan and Holly, and seemed about to drive away Sumana.

A delivery attempt was allegedly made at 9:30 this morning, though I heard nothing and no note was left. I called UPS to complain and they got UPS delivery dude to come back. Now the air conditioner is installed and I'm burning carbon credits like nobody's business. Thanks, UPS.

The Record: Now Straight: About three Earth years ago I reviewed a game called XGalaga++. I said that I prefered a predecessor game, XGalaga, because of "smoothness of gameplay". Yesterday XGalaga++ author Mark Mongenet emailed me to ask what the heck I meant by that. I had to admit that I don't remember.

Due to old-library problems I can't play XGalaga or an old version of XGalaga++ (which sucks in and of itself), but here's my guess. Smoothness of gameplay has to do with the feedback loop between the controller and the avatar. When I play Pac-Man, just nudging the joystick sends Pac-Man off in a different direction, and because Pac-Man moves fast, I can change directions quickly and tear through the maze. When I play a tile-based game like Dragon Warrior, I can't change direction until Dragon Warrior guy has traversed the tile he's currently walking. And he moves sloooowly. Games like Ghosts 'n' Goblins, where you can't change direction during a jump, are more realistic but less smooth than games like Mario where you can. You might or might not argue that thrust games like Asteroids are more realistic but less smooth than steering games like Defender.

A lot of open source games have smoothness problems, disconnects in this feedback loop, usually because their quantum of movement is large. The problem with this interpretation of my 2005 remarks is that XGalaga++ doesn't seem to be one of these games. The ship moves just as well as the ship in Galaga. So I'm not sure what I was saying.

It's true that the ship in XGalaga++ moves more slowly than I prefer. I like games like xkobo or PowerManga or more modern shmups where you can cross the screen in a second or less. And the XGalaga++ screen is wider then the Galaga screen so you really feel the low speed. So maybe that's what I was thinking. But there's no problem with the feedback loop.

[Comments] (8) Blogging Pro Tip: The string ", you know," can almost always be cut.

The exception? When giving examples of strings that can be cut.

Things: Nepotism Edition: Brendan has a podcast called The Children's Hour of Knowledge. It's full of lies, and puppets.

Sabrina has a weblog about young adult fiction, YA New York. The "New York" is because it's crammed full of details on local author readings as well as reviews.

[Comments] (3) You Promised Lots Of Bread But All We Got Was Your Heel: I was a little discombobulated reading a Ken Macleod weblog entry where he said that "Lysenko's theories did not lead to the deaths of millions." I generally trust Ken Macleod on what did and did not lead to the deaths of millions, but I'd somehow got this same idea in my head despite having read a whole book about Trofim Lysenko. What happened?

Since reading the book I'd conflated Lysenkoism, a mainly postwar phenomenon, with the famines in the Soviet Union in the 1920s and 1930s, which did kill millions. The book, The Rise and Fall of T.D. Lysenko by Zhores A. Medvedev, says this about the effects of Lysenkoism:

The controversy directly affected the fate of thousands of Soviet scientists and the character of secondary and higher education in biology, agriculture, and medicine [by making it suck].

No mention of a famine. This is one of those books that couldn't get published in the Soviet Union despite being all conciliatory and "Come, comrades, let us further the cause of socialism by not founding our biology on dumbass theories of evolution!" So it probably wouldn't mention a famine if there had been one--not classy. But although there were periodic food shortages throughout the lifetime of the Soviet Union, the big famines were pre-Lysenko, and the periodic shortages didn't stop post-Lysenko.

Lysenko was responsible for setting Soviet agricultural science back about twenty years, and I suspect that had a spillover effect that led to the Soviet Union needing to import grain. And if you had some magic way of calculating the excess deaths due to Lysenkoism you'd get a lot, but not in the millions, and few by direct causation.

I can't find my favorite line from the book, which is someone arguing that although the capitalist world subscribes to non-Lysenko theories of potato husbandry, "I think a capitalist, too, enjoys a good potato."

Update: I never explicitly mentioned how fascinating Rise and Fall is, but it... is. That's why it's one of about five books I've held on to since college. Highly recommended. Also, searching reveals there was a story in July 1954's F&SF called "The Lysenko Maze", by Donald Wollheim. Wonder what that was about. Also, Donald Wollheim was the guy who published those unauthorized versions of Lord of the Rings in the 1960s.

[Comments] (2) Things: Non-Nepotism Edition: Generative spaceship graphics. Now, breed 'em, like in The Selfish Gene!

If pixel spaceships are too complex for you, try the glider gun of Kenta Cho's Game of Life shmup.

This interview with Cory Doctorow includes some of the writing advice dispensed to us at Viable Paradise.

Update: Non-Nepotism Edition becomes Nepotism Edition with Nick Moffitt's pixel spaceships.

: You probably haven't seen this pro-wrestling commercial, but you should.

PS: Today I discovered that Thelma is an anagram for Hamlet.

: We went to a member's party at the MoMA and saw the cool Olafur Eliasson things and generally walked around for hours. Hours! Sumana scanned the crowd for people she knew and ended up meeting Ze Frank. I'm still not sure how that happened.

Recommended thing: William Wegman's impossible-to-search-for video "Copyright", where he dramatizes the copyright page of a dictionary.

[Comments] (1) : Oh, here's an Olafur Eliasson tip. In the room for one color the best way to blow your own mind at the monochromicity of it all is to have someone stick out their tongue at you.

[Comments] (4) Book Writing: The Told Story: Baron Schwartz wrote an excellent article on the experience of writing a technical book. I thought I'd add supplementary stories about the three books I've been involved in.

The first book I worked on (Beginning Python) has not been very successful, but it's in a very crowded space. (It's a very distant second among books with that title!) My experience working on Beginning Python was much like the one Baron describes. I wrote my chapters nights and weekends, using all my free time. The publisher expected documents in Word format, which was a big pain. I wrote in Emacs and once my draft was done, spent a day pasting it into OpenOffice and setting the styles manually. I didn't have any problems incorporating reviewer feedback into the text, but there was only one review pass. The publisher hired technical reviewers to go over my chapters, but I couldn't even email them to ask for clarification--they'd already done their job and gotten paid.

I wrote three chapters for Beginning Python which translated into me busting my ass for a couple months on top of a full-time job. I think I wrote good stuff, but I got very little directly to show for it--a couple thousand dollars of an advance that will never be earned out. This is the fate of most books. All I can say by way of encouragement is that your chances are a lot better writing technical books than writing fiction. But, looking at it long term, Beginning Python was my apprenticeship. I showed that 1) I can write well, and 2) I make deadlines instead of slipping them or flaking out altogether. My work on this project opened the doors for other projects, which were much more successful. I'll talk about those later.

[Comments] (4) Book Writing #2: The Rest Of The Story: I've told these stories many times in person but not on NYCB (on the other hand, in NYCB you can see the stories develop as they happened). A while after working on Beginning Python my agent approached me and wanted me to meet Michael Loukides, an O'Reilly editor who was looking for someone to write a Ruby Cookbook. This was almost exactly 3 years ago. Mike was in San Francisco for a geolocation conference. I agreed to do the project despite not really knowing Ruby at the time. A major new O'Reilly book is not the kind of opportunity an up-and-coming writer passes up.

The pitch!

In March 2006, while Ruby Cookbook was in the editing stage, I had some phone conversations with Michael about doing another O'Reilly book. He tried to get me interested in various projects that existed in potentia, crystallized from some neural net in Tim O'Reilly's brain. However I'd already done such a project and I wanted the next one to be my own idea.

Lots of people have ideas for technical books they want to write (I've heard many pitches myself), but the animal-cover part of O'Reilly is pretty conservative and won't do a book project unless there's a good-sized market for what the book is talking about. At one point I suggested an in-depth book on ncurses programming, but that never happened because it would have sold about four copies.

Then I came up with the idea for RESTful Web Services, which was better, but in March 2006 still kind of a hard sell. Michael's initial response was: "I agree it's a book we need; I don't think it's something we need quite as much as Scriptaculous and Prototype". I argued for starting the book ahead of the curve, but see above re conservatism. Ultimately Sam and I got the book deal, as you know, but I think that's the reason underlying the drama we had in November with some factions wanting to stick "with Ruby" on the book's name.

Time management

Near the start of Ruby Cookbook I went from full-time at CollabNet to working three days a week. I was really bored with my job but I didn't have the confidence or the money to just quit. Three days a week at the job worked out well for my writing, and to this day 25 hours a week is the maximum amount of time I prefer to spend in the corporate world.

My one piece of advice, if you'll only listen to one, is to rearrange your job so that you have one or more days off every week to work on your book. The writing will go faster and you'll take some of the pressure off your evenings.

Later in 2005, Sumana moved in with me and eventually I felt like I could quit and work on Ruby Cookbook full-time. That's also how I did RESTful Web Services, and it's by far the best arrangement if you can manage it. Writing a book is approximately a full-time job, so treating it as a full-time job lets you live a normal life.


As a book with 350 short "chapters", Ruby Cookbook had a pretty detailed outline from the start. My daily goal was two or three recipes, depending on how many I needed to meet the next deadline. Longtime readers may remember recipes going green on my webpage for the book as they came in. Because the project was so clearly specced out, I sometimes had the luxury of being done by 2 in the afternoon and being able to take the rest of the day off. Ruby Cookbook is the only book project where that happened.

Baron suggests approaching the prose of your book by outlining in more and more detail, rather than jumping into prose that you'll always be mentally editing. That's a good approach, but my outline for RESTful Web Services never got that detailed. old_outline.txt is 5000 words. Some parts (Introduction, Chapter 1, Chapter 8) are very detailed and the rest is pretty skeletal. To keep a steady flow, if I felt myself unable to express some thought, I would just stick a TODO in the text, like when coding.

External dependencies

I was able to get a small budget for paying Ruby Cookbook recipe contributors, I think by giving up part of my advance. Contributors were my major external block. I started recruiting contributors as soon as I announced the project and my goal was to get all the contributions in before the second-to-last deadline, giving me a buffer time of two weeks to write any recipes that contributors couldn't deliver. This did not work completely, but it did keep the last-minute scrambling down to one or two instances.

For RWS we had some coauthors in the last chapter talking about Django and Restlet. I don't remember the details but there was some last-minute scrambling to get one of those sections in under deadline. I'm going to go ahead and call this a general rule.


Baron writes that he did a lot of revision and that every editing pass found a bunch of errors. I can second most of what he writes, but this section in particular rings true for me; I know too well the seemingly endless TODO list. However, my books didn't go through as many editing passes as his did, leading me to think that O'Reilly will skimp on copyediting to get the books out in time for whatever conference they've scheduled the release for. (I found this conference-centrism strange, but it shows up in Baron's entry as well: "[D]on't feel bad if the book doesn’t come to the [MySQL] conference: it will be at Velocity which is directly related, and at OSCon.")

The result is that the first printings of my books have lots of typos, as the more unkind Amazon reviewers have noticed. I've spent a full day plus a cross-country plane trip going through my copy of RWS finding missing words and other minor errata. I haven't seen the second printing yet, but it should be a lot cleaner.

Unlike with Wrox, with my O'Reilly books I had to find technical reviewers on my own. I actually think this was a net benefit for both books, because the reviewers I found were domain experts who were interested in the book, and willing to respond to requests for clarification. I wrote and rewrote whole sections of RWS because a reviewer said "you forgot this" or "this is wrong, you idiot", things I don't think a hired gun would have caught, and RWS is a much better book because of it.

The downside is that I had to coordinate the reviewers myself and there was no money to pay them (they got free copies of the book, which didn't cost O'Reilly much). There were a lot of technical reviewers who just found typos, and while that wasn't the best use of their time, I'm not going to say it was a waste of time, given the number of typos that got past everybody.


Ruby Cookbook was written using RedCloth-like wiki markup, and kept on an experimental internal wiki called Aardvark (which doesn't exist anymore). I describe the doctest-like way I tested the recipes in Unit Testing Your Documentation. This was a very convenient format for me, but it's not the format used for the final edit or to typeset the book, which is going to cause big headaches when it comes time to do the second edition.

RWS started out being written in wiki markup and then I converted it to Docbook about a third of the way through. Docbook was great. It's like writing HTML, except the tag names are longer. Plus, Docbook is what O'Reilly uses internally, so if you're writing a book for O'Reilly and someone tells you you have to use Word, make a fuss.

Docbook did have a couple shortcomings. Although I could do a cross-reference to another chapter fine, doing cross-references to a section within another chapter resulted in just the section name with no indication of what chapter that section was in. (This was a problem with O'Reilly's stylesheet; you can see a couple instances of this problem in the first printing of RWS). And I apparently use too many footnotes. But the major problem was the code samples.

Code starts to decay as soon as it's taken out of a file that can be executed as code. That's why I wrote the doctest-like program that executed Ruby Cookbook entries. But Ruby Cookbook looked like a set of unit tests: a bunch of self-contained little demonstrations of what you can do with code. The code in RWS looks like integration tests, full of interacting parts. There's a whole Rails application in there. And Docbook is less flexible about inserting code snippets than the wiki markup was.

So instead of putting the code in the text, I left the code alone and wrote a preprocessor that folded it into the text as necessary. Here's a random example, from my version of chapter 7 (implementation.xml.in):

      At this point I know enough about the dataset to create the
      database schema (see <xref linkend="bookmark-schema" />). I
      wrote this file as
      <filename>db/migrate/001_initial_schema.rb</filename>, created
      my <literal>bookmarks_development</literal> database in MySQL,
      and ran <command>rake migrate</command> to create the database

##ruby/bookmarks/app/db/migrate/001_initial_schema.rb|The bookmark database schema as a Rails migration|bookmark-schema

      Now I can create the database schema by running this command:

(You can see one of those problematic cross-references in there, though that one's OK because it links elsewhere in the chapter.)

My preprocessor goes through a .in file and replaces that double-hashed line with a Docbook example:

   <example id="bookmark-schema">
      <title>The bookmark database schema as a Rails migration</title>

      <programlisting>class InitialSchema &lt; ActiveRecord::Migration

Some files are explained in multiple sections. If you look at the RWS sample code you'll see some lines that just have a double hash.

example 1
more example 1
example 2
more example 2
The preprocessor stops the example at the double hash, and stores the location within the file for the next time the .in file asks for an example from that file.

Once the preprocessor runs, I've got an implementation.xml file that unifies text and code, and my book.xml file sews all the chapters together. Not as clumsy or random as a Word doc; an elegant toolchain for a more civilized time. The files did get a little out of sync near the end, in the final editing stage, which again will cause headaches come second edition time. But it won't be nearly as bad as Ruby Cookbook, and honestly most of the code in RWS will need to be replaced anyway.

That sordid subject, money

I'm not comfortable going all John Scalzi on you and showing you my royalty statements, so let's talk in generalities. I earned out my advance for both Ruby Cookbook and RWS in the initial buy. (The technical term for this is "my advance was too small".) That's Amazon buying a bunch, and Borders and B&N stocking a copy in each of their stores. And Waldenbooks, I dunno. The initial buys are probably the biggest sales I'll ever make, and they're almost entirely due to the O'Reilly brand name.

My advances were in the single-digit thousands of dollars. Subsequent to earning them out I've earned single-digit thousands of dollars for each book, quarterly. I'm the primary author on both books and I get the majority of the royalties. If I let someone else do the second edition, my share of the royalties will go down.

It's problematic for a number of reasons to try to convert book royalties into an hourly wage. One big reason is that much of the income hasn't come in yet, so who knows how much it's going to be and the time value of money etc. Each of my books took about a year of my life. My estimated earnings are more than the sub-minimum-wage figure commonly thrown around, but they're a lot less less than what I'd have earned working for those two years as a programmer. In fact, it's less than I earned at my first real programming job back in 2000.

Now, these are incredibly successful books. RWS is a year old and has an Amazon sales rank between 3k-5k. Ruby Cookbook's rank is between 20k-40k at two years old; a year ago it was 4k-10k. Beginning Python probably had just as many man-hours devoted to it, but it never cracked 14k. The fundamental author's fallacy is to make a connection between Amazon sales rank and number of sales, but think about what sales rank really means: that's the number of books that are doing better than mine on Amazon. That's approximately the number of people in the United States who are making more money from their books than I am.

So, as I said in in another context, writing is not the most cost-effective use of your time. But unlike writing science fiction, writing technical nonfiction can help your career in other ways that Baron and others have covered ably.

The wall

I want to write something about the feeling I get halfway through a book where I'm just sick of writing, but I've been writing this big weblog entry and I'm... sick of writing. So I'll just mention it. There's a point where you think "what the hell, why am I doing this, this is killing me", but at that point you've signed a contract and how are you going to feel if you flake out. I imagine some people actually do flake out at this point. To get through this I find it helps to get into the submarine mentality, and to not have a job that's killing you on top of the book project that's killing you.

[Comments] (1) Music Piracy Minute: For no real reason except my computer just played it at random, I've started hosting there's a mirror on my grave, one of my favorite Jake Berendes songs. Go ahead and download it; I'm 96% sure (Update: 100% sure) Jake won't mind, and you've been looking a little pale lately. Pale in a peculiar way that indicates you need to listen to some nerd rock. This goes double for Jake himself.

As always, Jake's music comes highly recommended and is unjustly obscure. I've got an extra copy of Foreign Policy somewhere actually, which I should give to someone.

Bonus: if you grab a copy of Ordem E Progresso, you'll get "susanna's webpage", the only song that's fan fiction about my sister's weblog.

: I need to go to sleep, but check out this gorgeous, tiny lego city. I would say LEGO city, but it's just so tiny!

[Comments] (1) Be Nice And Clean: Happy solstice. My plan was to show you a picture of this can of Malaysian shaving cream we have. Sumana got it from a friend who was moving back to Singapore, thinking I might like it. I don't like it because it's lemon-lime scented. It's shaving cream that smells like something you'd eat. I'm pretty sure they eat limes in Malaysia, so it's not a cultural thing. What the hell, folks. Here's a review that indicates it's a shaving cream for chicks.

Sumana reading this says "I'm interested in hearing why your plan didn't work." Well, my plan did work, and another thing that happened was that Helen Monroe from O'Reilly sent me a copy of the Korean translation of RESTful Web Services, a translation I'd never even heard of. So you get a double-barreled blast of pictures of things that originated in Asia. Note how nice the new Korean copy looks next to my beat-up English copy. That book used to look like this! Then I used it a bunch.

[Comments] (2) Eavesdropping: A year ago I eavesdropped on Rachel Chalmers's computer. I regret nothing!

[Comments] (4) : Japanese piggy bank helps savers enjoy romance. I know that romance was always a chore until I got a Japanese piggy bank.

Uh, no, actually the thing I wanted to share with you was a bit from the end of that article:

The company is already thriving on another new bestseller -- "Mugen Edamame" or "eternal green soy beans" -- plastic key chains that let people pretend to push boiled soy beans out of shells.

Genius! It's like the bubble wrap of Japan!

[Comments] (1) Beautiful Soup 3.0.7 Released: Guards! Seize it! Includes the chardet-avoidance code that drove me crazy and will save a lot of time in circumstances I can only describe as "rare".

[Comments] (2) : I heard a rumor that there was a recent NYCB entry that Evan hadn't left a comment on. Rather than investigate this rumor directly I went looking for whatever time-sink was keeping him from total comment coverage. It turns out that Evan has gone the route of many regular commenters on weblogs and started his own weblog. Subscribe for cross-references between life and literature, with pictures.

[Comments] (1) : Tonight we had a date night at Mundo, a local restaurant that was really weird and not that good when we ate there in 2006 or whenever with Adam and Sabrina. But they change their menu every season and I'd heard good things about their Red Sonja appetizer. Certainly more dishes should be named after comic book characters. Anyway, by now they've got their act together so I recommend it.

: About once a year I like to read through the entire run of Cutewendy, Josh Lesnick's 2000 dadaist webcomic of sex, violence, 8-bit video game references, and same-sex marriage. Recently I was stymied by the fact that the Cutewendy archives had dropped off the Internet, so I had to buy the trade paperback for $12. But now it's back online, so I've destroyed the trade paperback and the status quo is restored!

Lesnick has a comic going now called Girly, about the daughter of the couple in Cutewendy, and it's a lot better drawn and plotted than Cutewendy, but you know me, I love comics full of random stuff.

Awesome Anniversary: Ten years ago I discovered APOD.

: I caught Sumana's cold. It's an inter-blog crossover event!

[Comments] (4) Tales of Illness: My phone rang at 4 in the morning, waking me up. The caller ID said "Restricted". Uh-oh.



"You have the wrong number."


[hang up]

"That's actually the best possible way that could have gone."

On the plus side, I'm now qualified to be president.

[Comments] (2) Mega Man 9: Coming soon! Surely Adam P. will be pleased. In honor of the revamping of the series I created Mega Man MMVIII, the latest Crummy feature, which pits Mega Man against random nouns. While testing I got Nerve Man, Daughter-In-Law Man, Zirconium Man, Sin Man, King-Of-The-Salmon Man, and the deadly Programmer Man. Enjoy! Comes complete with rarely-seen gynoid code.

Game Center US: Tomorrow, health permitting, I'm going to a showing of the English-dubbed Game Center CX. Reading between the lines a little bit, someone on the Japan side has gotten the shows translated and is trying to get a distributor in the US. Given the extremely positive response of everyone to whom I've explained the the concept, I hope to give them some ammunition by telling them I know N people who will buy the DVDs when the come out. Leave me a comment or send email if you'd like me to increase the value of N.

Game Center US Update: Well, by all the standards I'd set for myself my Game Center excursion today was a failure. I got the time wrong and arrived halfway through the showing. There was nobody to ask my weblog-journalism questions except one of the film-festival guys. He said there had been someone from the production company at the premiere last week, and she'd been taking video messages (!) from American fans to send to Shinya Arino. So I missed all the excitement and any opportunity to find out exclusive facts for you, my readers, which in retrospect makes sense--why would someone from the production company stick around for all the showings? I should have hustled.

But, something I didn't expect happened that made up for things going wrong. I speak of Sumana's reaction to the show. When I said earlier that everyone to whom I've explained the the concept reacted positively, I should have said all the men to whom I explained the concept. Sumana just decided to humor me, and not without a certain amount of eye-rolling, in my obsession with this weird Japanese TV show. But she came with me to the showing, mostly because I'm still sick. Two minutes after we arrived she was laughing and loving it. Arino's joie de vivre charms the ladies! I don't think she would have liked the show in Japanese, but the subtitles brought the character to life and she had a lot of fun.

Okay, here's what I know. An episode of Retro Game Master is 30 minutes long, half the length of a Game Center CX show. They cut out the otaku-sociology and game creator interviews and everything but Arino's Challenge. This undoubtedly makes the show more Sumana-friendly, but it would have been nice to see a translation of the whole thing. It also messes with the pacing of the show, as the narrator builds up big cliffhangers which are immediately resolved because there's nothing between challenge segments.

There are subtitles over dialogue, and the Japanese captions and narration are are replaced by English captions and narration. The way the captions are done looks a lot like the localization of Hey! Spring of Trivia from a few years ago, but unlike with H!SoT the English narration is faithful to the tone of the original show. (I've never seen the Japanese Fountain of Trivia, but it really seemed like the American dubbers were being snarky. Here the over-the-top dramatic narration is present in the original.)

These guys are working to get either a US distributor for the translated shows on DVD or to get it shown on US TV. No information was available about the status of these negotiations, but according to random film festival guy, Ray Barnholdt will know when it happens, so take your cues from him.

And I just discovered that most of what I just wrote shows up in this Wired weblog entry from Thursday. Oh well.

[Comments] (2) Serious Review of "The Most Unwanted Song": Rather than just chortling over its existence, as often happens. You can hear the song here among other places. My thesis is that the song fails because it conflates two different kinds of badness. I guess I'm equating "badness" with "unwantedness" when they actually have a complex relationship, but whatever. Here's the homepage in case you're not familiar with the project.

I think one important aspect of badness is irreducibility. A bad thing with something good about it is generally not as bad as the same thing with the good part removed. "The Most Unwanted Song" contains many different aspects (each disliked by lots of people), and they're not all combined into one piece but arranged in a "Fingertips"-like series of mini-songs. This raises the possibility that any given person will like part of the song, effectively carving out a smaller song that they like. I believe this is what happened, and this is why the reaction to the song is more positive than you'd expect from the parameters of the experiment.

I decompose TMUS into three major songs. Let's call them "Opera Rap", "Frank Zappa Goes to Town", and "Kids Can't Sing". Only the third song is really unredeemably bad. I was enjoying the song until around the 9 minute mark when "Kids Can't Sing" started in earnest. If the song had stopped there it would have been pretty good and not particularly Unwanted.

"Frank Zappa Goes to Town" is a series of decent Zappa-esque noisefests, I can see how some people could take or leave it. But "Opera Rap" is really excellent. There's something genuinely beautiful about hearing a soprano sing to a rap meter. And just as the cowboy-themed lyrics start to get old she busts out a verse about Wittgenstein. Really, you wouldn't write those lyrics unless you wanted to hold people's attention.

So the problem, and I think this may have been the point of the project, is that badness comes from hackwork and not from a bad choice of attributes. Songs about cowboys aren't bad per se; they tend to be bad because many people like songs about cowboys so much they suspend their critical faculties. Commercial jingles and elevator music are bad because they're forced on you: the people who wanted the song to be created don't consider themselves part of the audience. Children's songs tend to be bad for the same reason, and also children haven't developed their critical faculties yet.

If you ask people what they don't like in a song they'll give you a bunch of heuristics, but treating those heuristics as constraints won't give you a bad song because constraints are a spur to creativity, bane of hackwork. At Viable Paradise I had to write a story in the genre I most hated. I wrote a bodice-ripping vampire romance that's really embarrassing but it's a pretty good story with some emotional depth. I don't like vampire stories or romance stories because I think there's a lot of hackwork there and it's not worth it to me to filter it out. But given those things as constraints I can work within them. (Actually now that I think about it, I should have written a novelization of a movie, because I hate those even more.) TMUS is bad not where it deploys some genre or instrument that everybody hates, but where it feels like hackwork.

This is also why "The Most Wanted Song", while listenable, is not very good. People are more similar in their likes than in their dislikes. The heuristics were too close together, which made it very easy to crank out some hackwork. It's much more difficult to come up with a good smooth-jazz love duet than to come up with a good operatic rap about the profession of cowboy. That fact probably surprises a fair number of people but I doubt many of them read this weblog.

"But, Professor, the Cardassians!": Sumana pointed me to Faustfeathers, the Marx Brothers adaptation of Faust. It's fun, and this is as good a time as any to say that my favorite neo-Marxist effort has always been Warp Happy (here's part 2), the Marx Brothers movie that's also an episode of Star Trek: Deep Space Nine.

Beautiful Soup 3.0.7a: Tiny bugfix that makes it work with Python 2.3. Enjoy, you Python 2.3-using saps.

[Comments] (2) : For years I've been wanting to build a PVR and get rid of our Tivo. Partly because I like hacking things and it's really hard to hack the Tivo. Partly because over time our compliance with the Tivo lifestyle has declined precipitously, as we get more of our recorded entertainment from prepackaged and online sources, and less from Spontaneous Dissemination. But Linux PVR distributions are several years behind Linux in general, in terms of ease-of-use and hardware support, and I didn't relish the idea of going through a 1999-style install and configuration process.

Sumana got me off the metaphorical couch (and onto the actual couch) with this DevChix article which defined a hardware build that appealed to me. I used Mythbuntu instead of Mythdora, and the process was around 2002-2003: allegedly pushbutton but actually with a lot of configuration needed afterwards to get everything working. I'll post later about the problems I ran into, for reference by future web searchers.

Now it works! We've got music and games and non-lame web scheduling and everything in the living room. Eventually I plan to rip all our DVDs and put them into a huge RAID array, but not until the price of such RAID arrays comes down a little bit. What I am saying is, if you've been putting this kind of project off, now's a good time to try it.

Eh, might as well talk about the problems here. First problem was the remote control. I bought a Hauppage DVR-150 card and it came with a remote, but it's not a Hauppage remote and claiming it's a Hauppage remote in setup will yield you only anguish. It's a Windows Media Center Edition 98 or whatever remote. I don't really like this remote and I plan to program the Tivo remote instead, though that might interfere with my other plan to sell the Tivo on Craigslist for $50.

Second problem was that the computer kept turning off when we watched full-screen video. Installation of sensor software indicated that the CPU was overheating. The case I bought (which is much bigger than I expected) has two fans, each controlled individually by a switch that dangles from a wire inside the case. They were both set to Low. I set them to High and no more overheating.

Those were the two big problems. There was also some driver stuff I don't remember to get sound working.

PS: Sumana asks why I chose Mythbuntu over Mythdora. This is a good question since Mythdora apparently is more user-friendly. The answer is that I wanted to continue my streak of never using RPMs again the rest of my life.

[Comments] (2) "He said to take any rug in the house.": I. Saw. Iron. Man. with Sumana. It was pretty fun. Sumana was hoping I would be blown away, and it was probably the best superhero movie I could hope to see, but I don't really like superheroes or movies made about them. If you go to Kris's old video where he figures out the exact dates he collected Iron Man back issues, that was the opposite of my childhood. It was like the childhood of someone whose religious parents forbad comic books as Satanic, except my parents weren't like that. I thought there was something wrong with comic books on my own.

I've grown up and I no longer think there's anything wrong with comic books per se, but I find superhero comics ridiculous. Super-inventor Tony Stark basically invents cold fusion and his first priority is to use it to power his robot exoskeleton so he can beat up terrorists. That logic may work in four colors in the 1960s, or even in a stylized format today, but it doesn't hold up well in a live-action movie. Now, they actually did a good job of depicting someone for whom that would be the first priority, but nobody else in the movie tried to present alternate possibilities.

Anyway, Jeff Bridges is always fun, and after the movie we went to the comic book shop and spent a total of $17.76 on comic books. Happy Fourth!

The Truth Is Out There: Oh, here's the real reason the PVR was overheating. I didn't take the little plastic condom off the heatsink before installing it. So the CPU wasn't actually sinking much heat--it was just shrink-wrapping the heatsink. I removed the plastic and there was some slight loss of thermal compound, but everything seems to be working fine now.

As you can tell, I don't put together a lot of computers these days.

: Excellent! The car from "One Piece at a Time" was actually built as a publicity gimmick, by a guy at this company. However, according to a Wikipedia talk page, surely one of the least reliable sources imaginable, "the car pictured never ran".

[Comments] (1) Watch Out: They put up an apartment building that blocks our view of the fireworks so we're watching them on TV, with all the pointless musical numbers and bizarre close-up shots of random patriotic things that implies. "Suddenly, giant American flags invaded. It was the perfect invasion! No one would fight back against an American flag. Soon they had overrun the country!"

[Comments] (1) Request Weblog: Memex and Memory: Way back when I invited people to tell me what weblog entries to write (this is a standing invitation, BTW). In addition to prying into my reading habits a la USA-PATRIOT Act, Evan asked:

The memex machine described by Vannevar Bush has inspired a number of projects along the lines of "record all my interactions with the world".

Is it a deep mistrust of one's subconscious that inspires someone to work on this sort of a project, a deeper desire to hold on to ephemeral things, or just a ramping up of the same knack that leads folks to keep 5+ years of e-mail history ("just in case..")?

Well, different people do this for different reasons. I can think of two really smart people who did or are doing this: R. Buckminster Fuller (source) and Ted Nelson (source). Fuller is the fox par excellence with hundreds of random ideas, and Nelson the hedgehog par excellence with the big idea of hypertext. Plus there are several more contemporary hedgehogs whose one big idea is recording all one's interactions with the world: Gordon Bell, Justin Kan, and random Media Lab dudes whose names I don't know. Somewhere in between is Lion Kimbro.

I bring this back up because today Sumana and I went with Evan and Stuart to a Bucky Fuller exhibit at the Whitney museum. I don't think the Whitney really knows how to deal with Fuller. I don't know how to deal with Fuller either, but if I were doing an exhibit on him I certainly wouldn't tiptoe around the fact that he was crazy.

I don't really say this pejoratively. Being smart and crazy is a great way to have transcendent ideas. It's not polite to say that people are crazy, and I guess I could see skimming over an artist's craziness, but it's rare that an artist literally tries to change society with specific works of art, and art isn't judged by the same standards as math or architecture. I would have liked to see a plaque besides some of Fuller's stuff with a guess as to what was crazy and what was a good idea.

I find it difficult even now to tell whether certain of Fuller's ideas are crazy. He was really bad at business, and apart from one-off jobs building domes for festivals, most of his commercial ventures failed. But his prefab home ideas, for instance, seem really good. The prefab homes we ended up getting were lame and difficult to build and not modular, because Fuller's business failed and after the war there was a period, which might be ending now, where we as a society weren't willing to try new things housing-wise. I don't have the ability to judge Fuller's architecture, and the Whitney didn't really try.

And to bring it back to Evan's initial query, I don't think the Dymaxion Chronofile can answer this kind of question. I don't think recording everything you do or everything that happens to you accomplishes anything beyond creating a useful historical document. The process of idea generation happens inside your head and isn't captured. The value of a successful idea has repercussions beyond your personal Dymaxion Chronofile. The value of an unsuccessful idea exists in the realm of the hypothetical, so the Chronofile won't help you much if you want to figure out what might have been. So I'm pretty skeptical of the whole thing.

[Comments] (2) Birthday Present: Beautiful Soup used to nail an arms dealer.

: Remote controlled Mechagodzilla. That's one monster remote control! I plan to infiltrate the hideout and make off with Mechagodzilla.

: I just got email from Charles Coleman Finlay about my May speculations that he'd written 'a cross between "Absent Qualia, Fading Qualia, Dancing Qualia", Zombies: The Movie, and (dare we hope?) Pamela Sergeant's Nebula-winning "Danny Goes To Mars".':

Yes, that's it exactly. Well, exactly minus the Pamela Sergeant. I think you're the only reader in the world who got the reference, and I understand that you got it without ever reading the story. But I'm pleased that somebody got it.

The relevant anthology is now on my "shall purchase" list. Also, now (rather than after I finish the issue) is a good time to tell you that the August issue of F&SF includes "The Political Prisoner", Finlay's sequel to "The Political Officer". You know it's good. Plus you can now get TPO for free.

[Comments] (4) : As I often do when I don't have anything to write in NYCB, I've prepared some pictures for you. These are old pictures and the theme is birthdays. The one to your right is my dad, probably when he was in high school in the mid-sixties. Here's Susanna turning four amidst a cultural museum of Richardson family lore: the kitsch shelf, the needlepoint, the teddy bear poster, the very 80s breakfast table, the distinctive style of cake frosting, and the coveted ice cream scoop.

As a palate cleanser, a non-birthday picture: six men who can't all be my dad's college roommates. Picture taken forty years ago, as you can tell by the primitive (but very handy) timestamp on the side of the photograph. Man, all those guys are old and retired now.

: Josh Lesnick has reverted to doing random comics, at his Livejournal. Pretty Batman-heavy so far.

[Comments] (1) : Hilarious spam-weblog review of RESTful Web Services:

Have you been looking for RESTful Web Services? If so, then I’ve got some goof news for you... I looked at a few competitors and am here to say that for the price RESTful Web Services can’t be beat. So what exactly did I like? Mainly, the quality and price. What about the negatives? Well, there are better products, but they cost a WHOLE lot more.

I gotta say, I'm sold! Words cannot describe the unremarkable taste!

[Comments] (8) Birthday.: Today, as Andy pointed out, begins the thirtieth year of Leonard.

[Comments] (4) Daniel: Sumana took me to dinner at Daniel, one of New York's fanciest restaurants. I took some pictures but I didn't start until the end of the meal for reasons that will become (or are already) apparent.

The meal started with a little tray of treats. My favorite was a tiny Parmesan basket with some kind of mousse inside it, which gave the impression of eating a cheese-flavored Frito dipped in sour cream.

I started with sweet pea-ricotta tortelloni, with "savory emulsion" (aka FOAM). It was truly excellent. At intervals a guy came around with a basket of assorted breads, urging us to sample his wares. There was a terrific three-seed bread and little mini-baguettes.

Then there was duck breast, which was good on its own but came with some very strange things, including a hollow gelatinous cube that I'm not entirely sure was food, and what I think might have been foie gras taquitos. I ate it all; my general rule at a restaurant this expensive is that I might as well try everything that shows up because I've already paid for it. The taquitos were good, and as moral crises go the crisis of whether I may have eaten some foie gras taquitos is pretty small potatoes.

Sumana had a cauliflower soup and then the tortelloni as an entree. Then the restaurant really outdid its collective self. We ordered dessert: I the brownie and Sumana the chocolate biscuit (except they actually gave her the mousse). This came, and then came this crazy mango-three-ways thing with a birthday candle and a greeting to me piped on the plate in chocolate!

Maybe you get something nice like this every birthday, but the last free restaurant birthday dessert I remember was chocolate mousse served in a fake flowerpot with crumbled-up Oreo cookies to look like dirt. Unlike that, this was great and it was a total surprise; Sumana had told the restaurant staff beforehand that this was a birthday dinner.

But they weren't done showering us with dessert. Oh no. A waiter brought us a big basket of hot madelines. We ate some. They were delicious. I said, "This reminds me of the time I had a madeline at Evan's house." Then they brought us a platter of eight bite-sized treats, including the world's tiniest lemon meringue pie, a weird meringue Like Like with jam inside, a marshmallow covered in toasted coconut, etc. etc.

Sumana said "If they come around with a wafer-thin mint, I'm through." Fortunately no mints were forthcoming; they left us alone with our plates and plates of dessert until we'd finished most of it. Then, the check. Suffice to say that it cost a lot of money. I don't think I'd eat there again given the price, but I said the same about WD-50 and I wouldn't mind going there again now.

Reviews of Old Science Fiction Magazines: F&SF 1987/05: Not the best issue of a magazine I've ever read. There's a whole lot of stories in here and none of them are great. The cover story is James Morrow's "Spelling God with the Wrong Blocks", which is a James Morrow story. Morrow's stories appeal to me on an intellectual level but it's kind of like the kind of conceptual art where once you've read a description of the art there's no need to see the actual art. Towing Jehovah was excellent but it can stand in for all his stuff as far as I'm concerned. This story was the equivalent of a really snarky weblog entry.

None of the other stories left an impression on me, except for "The Extra", an SF horror story by Michael Shea. "The Extra" doesn't make sense in the way that horror stories don't make sense, and I started out really wanting to dislike it because of its heavy use of future-jive (no kidding!), but it had a lot of action and split-second decision making and you know what, the real reason I liked it was it was like Smash TV. Not a bad theme for a story. Also worth mentioning is Brad Strickland's "Oh Tin Man, Tin Man, There's No Place Like Home", which is a bit similar to Tim Pratt's Hugo-winning Impossible Dreams. Felix C. Gotschalk's "Menage a Super-Trois" started out nicely disturbing but then didn't have a plot.

In nonfiction, Isaac Asimov rambles on for a while--did you know he's self-deprecating about his own huge ego? The cover promises "Harlan Ellison on Star Trek", which portends a bloodbath, but Ellison keeps it down to a slow, controlled stream of blood that you couldn't even wash dishes with. Interesting fact: Ellison disliked The Wrath of Khan but considered The Search For Spock "a decent piece of work". (My own heretical Star Trek movie opinion is that The Motion Picture would be really good if you were to cut it down to about 105 minutes.)

Sighted in book reviews: A Hidden Place, Robert Charles Wilson's first novel, which I'd never heard of; and The Handmaid's Tale.

: Today was yet another day of birthday celebrations, or as Penny Arcade would put it, "That Grim Reckoning: Part Three". A bunch of friends gathered for brunch and then we went to Make and had a big thing-painting party. They don't have coasters anymore, but Sumana and I each painted a bowl to replace the bowls we've lost to attrition. Everyone had a good time, and it turns out that among a random sample of friends, most can paint a lot better than I can. Pictures don't lie. Except for pictures of the liar's paradox.

[Comments] (4) : Why would a day tripper only buy a one-way ticket?

[Comments] (3) Reviews of Non-Old Science Fiction Magazines: F&SF 2008/08: As seen previously. Man, this magazine should be publishing my stuff. Also, I should actually send them more stuff. I finished reading "The Political Prisoner" and it was great all the way through, worth the price of the magazine by itself.

"Childrun" is a decent fantasy story, except... Look, characters in horror movies nowadays have seen horror movies and have some knowledge of how to avoid stupid mistakes. But almost nobody in fantasy stories has read any fantasy stories, usually because these stories tend to take place in a pre-printing-press world. But there's still myths and folklore, so I dunno. "Childrun"'s backstory wouldn't have gotten very far if some of its characters had read some fantasy stories. Or seen some horror movies, actually. Imagine being a character in a joke, and living for years and years in between the last line of the setup and the punchline, and not noticing anything unusual. That's the thing that bugs me about these stories, as well as any story in which prophecy is fulfilled.

"But Wait! There's More!" is a fantasy story whose characters (living in the present day) probably have read fantasy stories, and the story is better for it. There's no "this is just like such-and-such a story" but there's also no making obvious mistakes because the characters didn't keep up on the literature. Incidentally, this is part of what makes "The Political Prisoner" so great: the main character knows basically what's happening and why it's happening, but that doesn't reduce the horror or give him much power over the situation.

(Prove me wrong, but it also seems like characters in science fiction stories generally haven't read much science fiction, even when they're astronauts or computer programmers. This bothers me and I try to do the opposite, but it doesn't bother me as much as the equivalent in fantasy stories, because the universe of a science fiction story is rarely teleological, and in fantasy it often is. It's admittedly difficult and/or cheesy for an author to employ the tropes of science fiction in a supposedly realistic story when their characters will notice those tropes, but we live in a science fictional society right now, and navigate it in part with our knowledge of science fiction stories. So it's clearly possible.)

PS: Great cover art for "The Political Prisoner", which cover art incorporates a 1950s aesthetic that I don't think is justified anywhere in the text, a la the new BSG. Also, two of the people on the cover have just been shot but they look like they're just having fun with their friends in the parking lot.

PPS: Now that I think about it, "But Wait! There's More!" might have no fantasy element whatsoever.

[Comments] (3) B5 Silliness: "Come, Captain. The greatest nightmare of our time is waiting for you."

S: "At Vorlon Farms."

L: "Vorlons? In Berkeley? ffshffshwhrrmngffsh Yes."

(Needs so much hyperlinking I don't even know if I should post it, but it made Sumana snort-laugh.)

: BOOM! Studios have put some of their COMICS! online to read for free. Unfortunately they haven't put up their best work, the MST3K-esque and out of stock "What Were They Thinking?" series. Oh, probably because there's a trade paperback. Cool.

: Since my weblog reaches a few people who don't know about this already let me point to Dr. Horrible's Sing-Along Blog, which is 1) very entertaining and Narbonic-esque, and 2) an example along with Cinematic Titanic of TV professionals moving into low-budget features with Internet distribution. As with Cinematic Titanic, the writer's strike was the catalyst.

: Fully five years ago I was laughing it up at a satirically useless lego piece called a BURP. Well, the the BURP is an actual piece. Big Ugly Rock Piece. (Official name: Rock Panel Rectangular) The joke is on me, except the joke is that there's no real joke.

[Comments] (3) Subway, Maps: One problem with maps throughout history is the way they depict subway stations. The oldest known maps don't show subway stations at all. In the 20th century things got a little better, and now subway stations show up even on fancy zoomable online maps. But the zoomable maps still have a map/territory problem that doesn't need to exist anymore.

Here's Union Square, one of my favorite places in New York, home to the subway station I like so much I have a mug of it. (That's on Google Maps. I tried to show on other popular map services, but Yahoo's map system seems to not be addressable, and Everyblock's and Microsoft's maps of NYC don't show subway stations at all. Anyway.) Most maps (including the NYC subway map) show one subway station there on 14th street. Google Maps shows two subway stations there on 14th street (which there kind of are, but it doesn't mention that they're connected). All maps show the subway stop(s) as a point on the map.

But in the real world we don't go to a point and that point's the subway station. This works for bus stops (which are legion on Google Maps), but subway stations typically have multiple entrance stairways, and sometimes also elevators. There are six different entrances to the Union Square station in a three-block radius, for a total of (I think) eight stairways and an elevator. Each of those comes out at a different place on the street. It takes experience to know where all the entrances to a subway station are, and a better map would save people time. In today's world of zoomable maps and infinite detail there's no reason not to signal where all the entrances are and even have a cutaway that shows in outline how the station looks under the ground, a la Dwarf Fortress.

: "Then, as the final step to all of this, I checked to see if anyone had done this before." I've been there.

See also: Beautiful Soup comics.

Need More Poutine: I'm off to Montreal again.

: And here I am. Et je suis ici. Sign seen taped to important piece of equipment: "Password 1234."

: I think my warranty just expired.

[Comments] (3) SET TABLE: I tire of lame science-fictional computers and robots that take your every utterance maddeningly literally. What about devices that take you maddeningly metaphorically?

Presumably the Children of Tamar would have such computers. Poet from Suspended gives cryptic output but interprets his input literally. I'm picturing comic-relief characters brought in for short scenes that end with the human saying "I mean that literally, you bucket of bolts!" Whereupon the computer, understanding the malfunctionist connotations of "bucket of bolts", would weep.

[Comments] (3) Douglas, Get Your Paws Off My Notwithstanding Clause: Evan requested that I talk about my trip to Montreal. It was mostly work stuff and wishing I was home, but I will say that the inviting, irregularly-shaped park in the middle of the city--the "Parc Mont Royal" if you will--is a park because it's a freaking mountain and it would be too expensive to develop it. Always check the topographical map!

Native Canadian wit: "What time is it?" "It's gettin' later."

I dunno. The poutine was not as good as last time. Maybe someone at the farmer's market sells cheese curds and I can make my own.

The Making of the Atomic Bomb: A huge book you should read. Bought on Rachel Chalmers's recommendation though I can't find a link. (Update: aha) Some tidbits:

[Comments] (3) Bar: Bah: Remind me not to go to events held at bars.

[Comments] (1) It Has Been Confirmed: Just so I don't leave NYCB alone all night with that depressing entry at top, check this out. The PSP game Secret Agent Clank includes a robotfindskitten minigame. Thanks, Gerard Green of High Impact Games. You can also check out some new ports including a 68k Mac one.

Incidentally, once again, the official name of the game is robotfindskitten, not Robot Finds Kitten. Just thought you should know. And by "know" I mean "submit to my will".

The System of the World Wide Web: The first thing I ever wrote for RESTful Web Services was a short chapter about why the Web beat two competitors that had a head start on it, and what that implies about the general utility of the Web technologies. It was inspired by Rohit Khare's "Who Killed Gopher? An Extensible Murder Mystery", which I've mentioned before, but it's got ten more years of perspective, it covers FTP, and it goes into more detail about the technical differences between HTTP and Gopher.

I cut the chapter because it's only about 7 pages long, and being historical in nature (and dealing with protocols most programmers haven't used in years or even heard of) it wasn't necessary. I've always thought it was interesting, though, and I turned it into a standalone essay. I tried for a while to get some money for it by publishing it on one of the O'Reilly sites, but that never went anywhere. So this morning I say "screw it" and give you the link.

It's called "The System of the World Wide Web", I guess because I thought a nerdy joke in the title would sell it; I think used to be called "How the Web Won". It's free for you to enjoy.

Since I wrote that essay I met Rohit and we became friends. (Also, that weblog entry is serious foreshadowing for this one.) He also read the essay and said "Come on!", G.O.B.-style, about a part where I implied he didn't appreciate why Gopher selectors were technically inferior to URIs, so I made a small update. Riveting stuff--did you know that I also took frozen food off his hands when he moved back to California?

: Hey. Adam Parrish can't hang out with me tomorrow because he has to catch up on work because he spent all this week doing awesome things like Mega Man linocut prints. He did four wood carvings for the four color segments of the Mega Man sprite, then printed him in different colors. It's like Andy Warhol prints of Mega Man's arsenal of palette swaps!

I don't want to encourage rash speculation, and no investment is guaranteed to increase in value, but since I've called dibs on his first print and there's no guarantee he'll ever make any more, I estimate the value of that print at up to one billion dollars. At that price point, he may not even sell it to me! But if he did do more prints, it would be great to see a nontych using the colors from Mega Man 2.

[Comments] (5) : When life gives you water, make waterade.

"Did the earth move for you too?" "Does he have a brother?": We discovered that you can do a whole conversation just by going down the TV Tropes list of stock phrases in alphabetical order.

It's Here: Phillips presents 3D printing on demand.

[Comments] (6) Leonard's Unpopular Opinions: You know what's really boring? The Olympics. They combine the paint-drying excitement of athletic competition with the Long Tail of sports that aren't popular enough to have a big between-Olympics fanbase. The most interesting thing about them is the corruption and politics.

When I was five my father took me to the 1984 Games in Los Angeles, probably one of the track and field events. I remember with pleasure the pageantry and the big open spaces and the crowds. The games themselves were boring. (A lot like the Dodgers games he took me to, actually.) Basically, give me a good Worlds Fair over the Olympics any day.

[Comments] (2) : I'm pretty sure you don't read this weblog to learn about my underwear, but Susanna made me some excellent boxer shorts for my birthday, with cool fabric featuring frogs and penguins and whatnot.

[Comments] (1) : Sumana wanted me to write more about my emotional reaction to The Making of the Atomic Bomb. It's true: girls always want to talk about feelings. Look, it's a story about a war, a war that featured escalating levels of brutality until you had soldiers flying off with bombs every night to turn cities into the stereotypical image of hell. Meanwhile some of the most brilliant people of the time, including many of my intellectual heroes, were working on making it possible to deliver that much hell with a single device.

They knew what they were doing and they had self-justifications. One of the self-justifications was the then-new concept of deterrence: that the bomb was so terrible it could be used to prevent war altogether. But deterrence doesn't work on the abstract level; it works by specific nation-states threatening each other. The bomb did prevent total war, but it did this by making everyone's life into a constant low-level war. Bohr and others had some ideas of how to prevent this but nothing came of them.

The theory behind fission and fusion bombs is not difficult. I basically understand it, and I'm terrible at physics. What's difficult is getting enough fissionable uranium, which basically requires being a nation-state. I was amazed by the enormous industrial parks set up to create a few grams of U-235 a day, and by how easy it was to destroy the German bomb program by blowing up their only source of heavy water. Of course, nowadays (this is not in the book), you can just take an existing warhead from one of the poorly-secured post-Soviet stockpiles.

So, basically, the book is very depressing.

[Comments] (1) Sumana's French Song:

Aux Champs-Elysees
Aux Champs-Elysees
Où est le métro?
Où est la Tour Eiffel?
Je voudrais un Coca-Cola
Aux Champs-Elysees

Disappointing Books, Part N: Winning with the Kalashnikov

Odd Moment of Grace: Somehow we ended up eating brunch in a sports bar. "Pork and Beans" by Weezer played on the jukebox. I looked up near the end of the song to see a clip of a NASCAR pit crew throwing Gatorade on their driver from bottles. It was a wonderful synchronicity.

Rereading: Three years ago I went on vacation with my mother to Montana and Alberta. We saw the Tyrrell Museum and Dinosaur Provincial Park and other dinosaur-related things we'd been waiting twenty years to see. It was the trip of a lifetime, and the last big trip my mother took. I found her travelogue of the trip and reread it; it was nice to hear her voice again. I wish I could put up the pictures but they're all on paper that would need to be scanned.

[Comments] (4) : ZZT returns! In the web browser. Sort of. (Pushers + sliders == ZZT, by the Fundamental Theorem of ZZT.) It's The Tombs of Asciiroth, but the name is misleading; this is another in the still-strangely-small trickle of Unicode Roguelikes. Live the frustation!

Munitions Other Than Fun: In celebration of Futurismic's deal with FeedBooks to... convert stories to various other formats, I've put up a tiny web page for "Mallory", which I'll use to track anything interesting that happens to the story in the future. Right now I'm just hosting a plain-text version of the story, in case someone ever manufactures an e-book reader capable of handling that exotic format.

In semirelated news of things happening to my stories, my bizarre short-short "Panspermia Cannon" was reprinted some time ago in an online mag called Infinity's Kitchen. It's in issue #1, in case you want to see the same words laid out better--and really, why else would you be reading this entry that's all about format-shifting?

Oh, also, my former writing group colleague N.K. Jemisin sold a story to Baen's Universe, except it's hardly worth mentioning compared to her three-novel book deal.

[Comments] (1) Keep Chipping Away: At this point, finding out that your dentist is really into World of Warcraft is practically a cliche.

[Comments] (1) : You need Jake's necktie. (I don't, because I have a necktie with pterodactyls on it, suitable for any occasion.)

[Comments] (1) Anathem: In a move sure to earn me the jealousy of nerds everywhere, yesterday I finished reading an advance copy of Anathem. Without giving away any of the story I can say that it's an excellent book, my favorite Stephenson after Cryptonomicon, and will probably be remembered as his best book assuming he doesn't do anything better in the future, which there's no real reason to think. It combines the crowd-pleasing conversational mind candy you've come to expect from Stephenson, with the even more crowd-pleasing technique of moving the plot in a straight line from one event to another (with one major exception) until it reaches a proper conclusion.

The first-person narration really helps here. You don't get the mind-boggling interwoven plots or rhetorical excesses you see in Stephenson's previous books (I love rhetorical excesses, but hey). It's still a very complex book, but all the complexity goes into the worldbuilding, the relationships between characters, and the ideas deployed in the service of the plot. And into the multi-page descriptions of buildings, which are apparently here to stay.

If you're not afraid of spoilers (and really, these "spoilers" will raise more questions than they answer, so I say go for it), then de-rot13 the phrase that made me say "Yes! Awesome book!": "cnexvat fgehpgher qvabfnhe".

[Comments] (6) Amazing Discoveries: The rag bag. My sister Susanna and I have invented something. For years I've kept my dishrags on the kitchen counter due to a lack of drawer space. The invention is a hanging dishrag holder, a cloth bag with a loop at one end and an elastic orifice at the other. Susanna built me a prototype. I stuffed it with dishrags and hung it from the pothooks in the ceiling. Instant counter space savings! When I need a dishrag I pull one out. After laundering dishrags I stuff them back in. It's a fair system.

There are similar inventions for grocery bags, but this was a totally different engineering challenge because grocery bags are more compressible.

Update: Random clickolinko person, probably Nick, says, "hate to say it, but my grandmother-in-law totally has something like this by her sink in the suburbs of Tokyo". I'm sure this thing has been invented multiple times, wherever there are rags and not much space to put them, but I've never seen it before.

Reviews of Old Science Fiction Magazines: F&SF 1993/05: Took me a long, long time to finish this magazine because I left it in a bag I seldom use. I think this may have been the first one of the big pile I started reading. Okay, so what do we have here. John Morressey's "Working Stiffs" puts fantastic humanoids into a modern-day scenario and milks the scenario for laughs, but unlike most such stories it doesn't focus on a single species. It's worth reading.

I absolutely loved Joyce K. Jensen's "Janell Johannson's First Exhibit", but after completing the story I discovered that a large part of my love was based on a misreading. I thought Jensen had plied some writer-fu at the beginning of the story that paid off spectacularly when she executed a fantasy twist on it later on, but it turns out the fantastic element was in the story from the beginning. Still a great story.

Barry Malzberg's "Something from the Seventies" is funny but today it would just be a rant on Malzberg's weblog. I remember Kristine Kathryn Rusch's "Sinner-Saints" being really well-done but not having any fantastic element; maybe it's alt-history. Yeah, that's right, it's alt-history about Lillian Helman. Michael Coney's "Die, Lorelei" had a lot of worldbuilding elements I liked, including ridiculous adaptations that let aquatic animals live on land, but as inevitably happens in my F&SF rejection letters, the story didn't grab me.

In books, John Kessel reviews Bruce Sterling's seminal The Hacker Crackdown. I'm going to break my usual talk-about-what-I-liked rule and totally slam the comics in this issue. They're terrible. I realize that your publication options are severely limited if The New Yorker rejects your one-panel cartoon with pithy caption, but just do another cartoon. I'd like to also advise making sure your cartoons have some connection with fantasy and/or science fiction, but that doesn't seem to help. I have seen one really good cartoon in these old magazines, and I was going to link to Sumana's discussion of it as a palate-cleanser, but I can't find that discussion. So, wear my crankiness on your palate all day!

Now, off to writing group, where I'll be told that Princess Toadstool slash fiction has no place in modern SF. Update, later: In a surprise twist, my slashfic was deemed "brilliant." Now I just have to find an editor who agrees.

[Comments] (3) Request Weblog #Frog: REST Request: I wasn't going to get involved in the latest REST brouhaha because... well, because I've had to deal with nearly-identical brouhaha at work, and I'm kind of tired of it. But Rachel Chalmers asked for my thoughts, and I have a conference talk I need to start thinking about, so sure.

It looks like this is going to be a multi-part entry, so here is the single most important point I'd like to make. I mentioned it here, last year, and also mentioned it in RESTful Web Services (see especially pages 220-221), though not as prominently as I probably should've. Maybe I'll work this here into the second edition.

REST says you should use a uniform interface, but it doesn't say which one. How do you choose? You pick a set of verbs that 1) gives you the semantics you need for your application, and 2) lets you tie into network effects.

On one end there's the degenerate uniform interface of XML-RPC and SOAP: [POST]. Like a language with only one word, this is pretty useless. Seeing that "POST" gives you absolutely no information. POST means: "whatever!" You're just pushing the complexity somewhere else.

The one thing I want to say about this degenerate vocabulary is that your decision to use it is orthogonal to your decisions about resource design. XML-RPC and SOAP services provide a single "endpoint" resource, a monster message-processor at a single URL that responds to a wide variety of POST requests. That's bad resource design. But you could expose a tiny "message processor" for every part of your application you want clients to manipulate, and have them serve hypermedia documents (in response to POST) that linked these resources together. (See RWS page 303.) It would just suck, because clients could only communicate with those resources through POST.

Then there's the uniform interface of the human web: [GET POST]. Now that there are two verbs, you can give them separate meanings and split the complexity. GET means "read data" and POST means "change data." Actually, POST still means "whatever!" but since it's defined in opposition to GET, it's convenient to think of it as the opposite of GET.

Choose this set of verbs and you can perform a series of nifty optimizations on GET, which probably make up the bulk of your requests anyway. The GET optimizations work because GET means something. Its meaning is constrained, and constraints can be starting points for optimizations.

But, now that the words have real meanings, they can be misused. Use of GET where you mean POST will make you a victim of the next Google Web Accelerator type fiasco. Use of POST where you mean GET will ruin addressability and annoy your users.

And again, your decision about vocabulary is orthogonal to your decisions about resource design. Whence my rule of thumb: "POST to the same place you GET." If you had well-designed resources that responded to the degenerate vocabulary of [POST], you could convert your "read data" operations to GET and get a much better web service without changing your resource design. (again, see RWS page 303.)

Moving further down the scale of complexity is the uniform interface most often seen in discussions of REST: [GET POST PUT DELETE]. This vocabulary isolates certain classes of "change data" operations, rips them out of POST, and gives them their own names. POST still means "whatever!"

Why would we do this? Splitting out PUT and DELETE means giving them a meaning distinct from "whatever!" And a meaning is a set of constraints, and you can optimize around constraints, etc. Your decision to use this vocabulary is a decision about which constraints are useful.

And for the third time this is orthogonal to resource design. If you had a RESTful web service that used GET and POST for everything, you could PUTify any POST operations that fit the PUT constraints, DELETEify any operations that fit the DELETE constraints, and then you'd have a four-verb RESTful service. You could go the other way, too: fold PUT and DELETE back into POST and you'd have a RESTful two-verb service. What you'd lose is the ability to say, "make sure the state of the resource reflects the submitted document" or "make sure the resource goes away", instead of "whatever!"

A little more complex is the uniform interface we used throughout RWS. We use the same four verbs, but we told POST to stop meaning "whatever!" When we use POST, it's only allowed to mean "create a new resource underneath this one." We did this because "whatever!" is a linguistic rug under which to sweep things. If you write a book about home organization where you say "and here's how to sweep anything inconvenient under the rug!", readers will suspect that there are systemic flaws in your organization techniques. So we wrote a book where we organized complex things like queues and transaction systems without recourse to "whatever!"

But on a technical level, the point is not that "whatever!" is evil. The point is that if you chip a piece off "whatever!" and make it mean something specific, you can optimize around the constraints and reap the benefits. It's pretty clear from the history of the web that you need to separate "read data" out from "whatever!" Because there's less history, there's active disagreement about the cost/benefit tradeoffs of PUT, DELETE, PATCH, et al., though I find them very useful. But the vocabulary you use is an interoperability shibboleth, not a RESTfulness shibboleth.

[Comments] (2) Request Weblog #Frog.Frog: OK, now on to the specific weblog entry on which Rachel asked me for my thoughts. These are mostly based on the work I've done designing and building services since RWS was published.

"Has REST Been Fortunate in Its Enemies?" I really hope the whole "enemies" thing goes away and that the period 2000-2005 is seen in retrospect as a big misunderstanding. Just in the period since RWS was published there have been really interesting developments (OAuth, PATCH) that have advanced the state of the HTTP art, and we lost five years of that kind of thing going down the wrong path and then having a huge argument about which path was right. That said, when your enemies turn out to be big corporations with lots of money (as always seems to happen to me), I would not describe the situation as fortunate.

Schema-driven mapping: probably hopeless if you want a really detailed mapping to plug-and-chug into your strongly-typed language. Even if possible, very boring. Not too difficult if you just want an index that points out the interesting parts of a document.

Contracts: My personal crackpot theory that I can't get anyone to believe is that hypermedia is contracts. A link or form is a promise that if you make a certain HTTP request, you'll get a certain result. HTML is a primitive contract language. The AtomPub service document format and WADL are more advanced contract languages. That said, I think contracts are less useful than often supposed, because the ELIZA effect artificially narrows the distance between the syntax of the contract document and its semantics. An AtomPub service document works like magic because a human programmer did some work beforehand understanding the AtomPub standard and programming in the semantics.

Registries: We have registries on the human web; we should be able to have them for web services. How much of their imagined benefit is due to the ELIZA effect? How much work will a human need to put in to find the one of 10000 AtomPub implementations they want to post to? I don't know. It depends on the conventions and standards we come up with.

Payload wrappers: HTTP is a sufficient payload wrapper for my needs, and if I ran into a problem with it I'd extend it (a la OAuth), not that I feel competent to do that. I can kind of see how you'd consider Atom a payload wrapper, but I'm just a simple caveman and I prefer to think of it as a representation format.

Message-level signing and security: yes! to the former. OAuth works for me. I don't know if I'd ever use message-level security. In general, experimentation is good when it happens on top of HTTP where everyone can use the new standards.

"Is Getting HTTP Right Good Enough?" No, not in the way we mean "HTTP" when we have this never-ending argument about verbs. I don't even think it's the first step. The first step is to expose resources: to give a distinct URI to every object you want to publish. That's the first of the RESTful rehabilitation suggestions on page 303 of RWS. That's the first three steps of the ROA design procedure on page 148. The first document to understand is not the Fielding thesis, not RFC 2616, not even RWS, it's Architecure of the World Wide Web, Volume One. That document is mostly about URIs. HTTP shows up as a URI scheme and as a popular protocol for dereferencing URIs.

This is why Flickr and del.icio.us put up terribly-designed web services and people love them and use them all the time: they stick URIs on everything. People love URIs! Their problem with those services is they don't know when to stop. So the first step is to get on the web, to not ignore the intuitively obvious usefulness of URIs. It's terrible that these web services self-identify as "RESTful", but at least they've taken the first step.

The second step is to know when to stop handing out URIs. Picking a vocabulary lets you move some of the information out of the URI and into the HTTP method. It lets you expose objects that have methods, instead of a big C library of del.icio.us or Flickr-style functions. This is the step where you master HTTP. This is where the arguments are happening right now. These arguments are not based on intuitively obvious things. They're arguments about scalability and fiasco avoidance and client and network capabilities. They're also arguments about whether using all of HTTP would improve the Web.

The third step is the mastery of hypermedia. (Note that there's one step for each of the Web technologies: URI, HTTP, HTML.) This is about making it possible to program a computer to do the mapping of options to actions that happens in our brains when we surf the web. The advantage here is the same as in the other steps: loose coupling and flexibility. This is the part that confuses everybody, because we don't usually write programs like this unless we're scripting or screen-scraping. And the ELIZA effect is in play, because we've moved past HTTP requests and responses to what happens inside us when we look at response N and decide to make request N+1.

To the extent that there is a "religious" aspect to RESTful thinking, I think it's on this level, in the intuition that there's something in the high-level way we use the Web that we can use when programing a client. Maybe it will turn out to be a bust like AI in the 80s. I've had some encouraging results on my current project. I think it's likely that we're only now figuring this out because we spent five years arguing over whether to use URIs and then another three arguing over whether to use GET/POST or GET/POST/PUT/DELETE.

'What Does "Hypermedia as the Engine of Application State" Mean, Really?': It means that you operate the web service by following links and filling out forms. (For definitions of "link" and "form" that depend on the media type.) It means you can use a generic "web service browser" that doesn't have a bunch of hard-coded knowledge about one particular web service, the way PyAmazon does. When the web service changes, user behavior may need to change with it, but the client itself isn't instantly rendered useless, the way PyAmazon was. I called this "connectedness" in RWS, and Roy Fielding himself slammed me for it, but when Tim Bray, after years of real-world experience, isn't sure what "hypermedia as the engine of application state" means, I think that's a sign it needs to be explained in different words.

Saying that RESTful services "work like the web" is not just saying that things have URIs or you can cache GET requests. Ideas as confusing as hypermedia-as-the-engine-of-application-state become understandable when you think about the way you use the web.

If a website is well-designed, you don't need to mess around with the URL bar to get where you want to be: you fill out forms and follow links. You don't need a custom web browser to use crummy.com. My website is distinguished from all other websites by the HTML documents I serve. If I change my weblog software, it'll serve you different documents, and you may have to change the way you use the website, but your browser doesn't crash.

You know what to do (how to drive the crummy.com "application" into the desired state) because the document I send you lays out your options. And because the document represents the options as hypermedia links and forms, you know how to build an HTTP request that will carry out your desires.

: That one deserved its own entry. Onwards! (Again, here's the document I'm responding to.)

Is Statelessness Required? The universe will not end in an ontological segfault if you violate statelessness. Instead, you will give up a lot of scalability potential, and you will hide state where your clients can't get at it, which will annoy them. So why do it? Maybe because you're using a framework that makes it really easy to write programs that violate statelessness, and then tries complicated tricks to get scalability back, because that's the way web frameworks have been written for ten years.

We took a pretty hard anti-cookie line in RWS (pages 252-253), but we made it clear that cookies themselves are not the problem. Cookies, like links, are a way of serving application state. They have one big RESTfulness problem but it's moot because nobody follows the cookie standard that slavishly. The real problem is the session IDs that go into those cookies.

A session ID is a key into a big chunk of state kept invisibly on the server. That's what causes the problems. It's just as wrong to serve that session ID as a query variable in a link as it is to serve it in a cookie. You need to turn the hidden state into application state by incorporating it into links and forms, or you need to turn it into resource state by exposing it as part of your web service and letting clients manipulate it directly.

Is Being Message-Centric Good Enough? I say yes. I'm young enough that the Web is the first distributed programming environment I ever used. I've never felt like I was missing something that justified switching to a competitor. The more I've learned about its design the more impressed I've been. When something better comes along, I predict it will look more like the Web than it will look like DCOM or CORBA or WS-*, whether it's "better" in a global sense or in some application-limited sense.

Are PUT and DELETE Essential? The universe will not end in an ontological segfault etc. Also, you won't even stop being RESTful, assuming you have proper resource design, as per my first entry in this series. What you'll give up is the ability to make various reliability guarantees. I was going to say you also give up the ability to avoid the lost-update problem, but I guess you could do that with POST, so long as (yes) you were POSTing to the same URI you sent GET to earlier.

I don't know how good an argument this is anymore, but: designing with PUT and DELETE forces you to think in terms of resources. It's a form of discipline, like eschewing cookies. When you've got "read data" and "whatever!" it's very easy to think in terms of operations, flex your ten-year-old web application muscles, and end up with a mess like the Flickr web service. The vocabulary is negotiable. The underlying idea, (that a URI designates an object which responds to a standard vocabulary) is essential. That's the Architecture of the World Wide Web.

Is "Do Like the Web" a Good Argument? Not in and of itself, because parts of the Web are lousy. You need a tool to separate the good from the bad. I follow the admonition of Paul: "Prove all things; hold fast that which is good." Look at what people love about the Web and see if you can bring that same joy to distributed programming. Look at what people complain about and try to eliminate those things, whether you're building web applications or web services. When you find something that improves the distributed programming side of things, bring that knowledge back into the field of web application design.

Where Are The Tools? Traditionally this question has been answered by assertions that the (HTTP-level) tools already exist. As annoying as this answer is, it's technically correct. Without additional abstractions on top of HTTP/URI/*ML, there's nothing to write tools about. As we invent those abstractions (AtomPub, ROA, the ActiveResource control flow, OAuth, WADL, etc.) we write more tools. I'm writing tools now. As we get more practice the higher-level tools will get better, and as they get better they'll consolidate (as will the abstractions beneath them) and there will be fewer.

One thing I'd like to add is that it would be cool to see the existing frameworks for web applications apply some of the principles people have come up with while using the Web as a distributed programming environment. Make it easy to publish resources rather than operations, easy to support conditional GET, easy to write client interactions that respect statelessness. Rails has the right idea here.

: While I wait for the dubbed edition of GameCenter CX to come out on DVD, I've been watching Frankomatic's "Obscure Game Theater", a mile-long series of YouTube videos in which the aforementioned Frankomatic gives retro games his ganbatte best, except with more cursing than you get from Shinya Arino.

While watching one of these videos I realized that A Boy and His Blob, possibly the NES game to combine the coolest concept with the worst execution, takes place in New Jersey. You start off looking at what seems to be the Empire State Building across a body of water, and as you run to the right (ie. south) you see the Manhattan skyline with the World Trade Center at the far right. It's a very nice graphic, actually, probably digitized from a photo (Wikipedia and the SEC agree that Absolute Entertainment was based in New Jersey). I think the game is supposed to take place in Brooklyn instead of Hoboken, because it's got a subway station, but basic directionality says the game board is to the west of Manhattan.

[Comments] (2) "A large bubble rises to the surface and pops": The bathroom sink was draining slowly. I didn't want to buy a plunger or a specialized drain-cleaning chemical so I tried some Bill Nye the Science Guy-level science and made a fourth grade science fair in the sink. I poured some baking soda into the sink and washed it down with a minimum of water. Then I poured in some vinegar. It bubbled. Eventually I shut the drain in hopes that the CO2 would build up pressure in the pipes and eject whatever was clogging the drain, but it didn't seem to be necessary. The sink works fine now.

Unlike more common uses of the deadly vinegar/baking soda combo, this would actually be a good fourth-grade science fair project.

[Comments] (4) Das Komputermaschine Ist Nicht: I saw a German ad for the Commodore 64 and it got me thinking about how many C64s made it into East Germany. The PolyPlay was made in the mid-80s, and it was extremely popular despite the games being terrible by 1985 standards, especially compared to the C64. (You can play the PolyPlay games on MAME, or in Flash here.)

Well, in a move that can only be described as "astounding" I did some searching and found this translated essay on the topic. It's excellent. It takes you through the adolescence of an East German computer nerd, with its PolyPlays and its Robotron computers and its sections in the back of state-sponsored ham radio magazines. Once nerds got their own computers they were able to clone the PolyPlay games and distribute the clones through the mail.

Another interesting aspect is the difference between West Germany, which took a Music Man anti-pool-table approach to video games, and the East, which coopted the mania (or, I suppose, cöopted it).

Computer gaming was made a matter of the State – and computer gaming was officially labelled "Computersport", which means "computer sports" [thank you. -LR]. Connecting computer gaming to politics had a huge impact on the future development of computing in East Germany... In West Germany, in 1984 a new youth protection law prohibited gaming computers at public places. The new technologies were denounced to have a bad influence on young people, who from then had to go to bars if they wanted to play. In East Germany, the government had realised that computers were to become an important economic means in the future... Inspired by the Polyplay, or by visits at relative's places, many youths started putting together their own computers, or to program their own games.

And at the end, the essay answers my question.

Even before the borders were opened, and in spite of an import prohibition, advertisings in the Funkamateur [the aforementioned ham radio magazine -LR] offered C64 computers for 5000 East Mark, a horrendous price. But nevertheless, the commodore took over in the Berlin scene.

After that, unfortunately, "programming was less important here than cracking and copying C64 games." Thanks for the essay, Thilo Mischke and Kerstin Grosch. And Melanie Swalwell, for hosting the essay and also creating some sort of interactive oral history of video games in New Zealand.

One thing that didn't occur to me until I started writing this entry was that the people who made PolyPlay must have played a bunch of decadent Western games to figure out which ones to clone.

[Comments] (2) : I was reading an interesting article about competitive video game players. Some of these players express a strange attitude towards a game's "kill screen", the point at which the game breaks down because the authors didn't anticipate anyone getting that far.

From a programmer's perspective the kill screen is something to be decoded and understood. It is comprehensible and can be fixed. But when the kill screen comes at the end of a grueling ritual there seems a temptation to see it in esoteric and mystical terms.

With Pac-Man, there has always been a powerful appeal surrounding the notion of "The Doorway" -- a prospective passageway to the other side, a way past level 256... the final prize Pac-Man collects is not a fruit but a key, the last of nine--and why are there keys if there is nothing to unlock?

Before I go on, let me make my position clear: I am a total video game nerd (though not a particularly angry one). Songs have I written and stories that draw from this pixelated well. My cohort has a fascination with video games: old ones, new ones, the people who make them, the ones we make ourselves, their distribution mechanisms, their similarities and basic building blocks, the ways we push ourselves to best them, the stories we tell about them, the relationships they create and mediate.

So don't take it as "Get a life!" when I say there's nothing special about the games themselves. Like books, they only have the power we give them. Pac-Man has a bug. It's not even an Easter Egg. There's nothing to unlock. The kill screen is not in the realm of the meant. If you spend years mastering Pac-Man and prefer it to Ms. Pac-Man because it's totally deterministic, why get mystical about the way it crashes at the end? This is real life, not Lucky Wander Boy.

I could see writing fan fiction about bugs, the same kind of fan fiction that explains what it means to make the Kessel Run in twelve parsecs, but this kind of talk about the bug's mysterious meaning leaves me cold.

PS: Feel free to apply this attitude to everything else in life! Other people will love it!

PPS: The keys are for use in Super Pac-Man.

: Best "I ♥ NY" shirt ever: one in which the shirt is the same color as the ♥, making it read "I   NY".

[Comments] (4) : Is short fiction devalued by being available for free? Hey, here's the elephant in the room that keeps being pointed out and yet remains elephant-shaped: there's way more short fiction than there is market for it. In my writing group we critique 2-3 stories a month. Half of 'em are a rewrite away from publication quality. They're also likely years away from publication, because the market is so small and response times so long.

Why do the markets pay so poorly? That's the natural result of massive oversupply. Why is there so much bad free stuff online? My portfolio shows the problem in miniature. My old crappy stories are online because I didn't know any better. My dynamite new stuff circulates endlessly through snail and electronic mail. Sure, I'm bitter, but it seems pointless to complain about this because the solution is obvious.

Seriously, what am I doing? I don't care about money--there's not enough to care about. If I wanted an audience I'd split my stories into RSS-feed cliffhangers and put them in syndication once they passed writing group muster. All that's left is the feeling that there are dues I ought to be paying. I've got a bad case of professionalism.

Who needs it? Life is too short. I know what position I'm sliding towards and I keep resisting it. Maybe I'll start writing novels instead; those take a lot longer to crank out, at least.

Crankiness Antidote: So the only thing I post today isn't me bring cranky, check out this excellent summary of the Launch Pad Astronomy Workshop, where writers go to learn about the universe. Yes, this universe.

[Comments] (1) Totally Heavenly Product: More praise from spam weblogs:

I must assert that I’m generally one that does not love shopping online, but my concept on that has changed since I ordered my RESTful Web Services from ebay...

My RESTful Web Services arrived in a week from my seller. The RESTful Web Services was exactly as it was described! I am so at ease about ebay, I’m sure I will go back for more!

I have left more info on RESTful Web Services, a totally heavenly product...

I see nothing special about the RESTful Web Services.

[Comments] (1) : If you're up on your Anathem gossip you'll know that the book (or, at least, the Advance Reader's Copy) comes with a CD of nice acapella chant music. What has been somewhat obscured by descriptions of this music is that each piece doesn't just have a fancy math-related title, it actually is a piece of math. Usually a description of a cellular automaton, or a proof represented in some bizarre musical Gödel-encoding. And what I didn't know until Mirabai emailed me is that the scores for these songs are being published by their author, David Stutz.

[Comments] (2) Content-Encoding versus Transfer-Encoding: Today I discovered a "problem" where Apache's mod_deflate changes a resource's ETag value from "foo" to "foo"-gzip when compressing the representation. This problem has been a while in coming, and after some research I'm convinced that Apache's behavior is almost completely correct.[0] But very annoying. Your representations are transparently compressed on the way out, but then the client sends you values for If-Match and If-None-Match that you've never seen before. True transparency is a two-way street.

There are a number of ways to solve the problem. One way would be for Apache to magically strip the "-gzip" off the entity-tags when they come back in, but how is Apache supposed to know that that particular -gzip was one it added? So, as usual, the magic solution fails.

An alternative that appeals to me is to stop treating compression as an aspect of the representation such that having it or not having it means you need to change the ETag. Move it out of Accept-Encoding and Content-Encoding, and into TE and Transfer-Encoding. This is related to what I was saying last year, but I didn't make the connection between "this is part of the transmission, not part of the representation" and "this should be in Transfer-Encoding, not Content-Encoding." Or to quote the RFC, "the transfer-coding is a property of the message, not of the entity."

The problem with this is that Transfer-Encoding describes the transmission from one intermediary in a chain to the next, not the transmission from server to client. Similarly for TE and the transmission from client to server. Intermediaries are my RESTful weak point so I don't fully grasp the implications of this. If the client sends TE: gzip, the proxy can decide to get an uncompressed representation, look at it, and then compress it before sending it back to me. That hurts performance but everything still works, right?

Update: "That is why transfer encoding was invented in the first place."

[0] To be 100% correct it would change the ETag to "foo-gzip", since entity-tags are supposed to be enclosed in quotes.

[Comments] (1) : Apropos today's Dinosaur Comics cartoon about abrupt sex changes I emailed Ryan to tell him about a movie I'd seen in India. There were no subtitles but I got the gist of it:

[A] guy was a jerk to women, and ended up getting hit on the head with a statue of Shiva [on second thought, maybe it was just a random statue -LR]. He had a dream where Shiva and Parvati lectured him, and when he woke up he'd been turned into a woman. It was wacky! But then he slept with his best friend or something, and got pregnant! And then the girl he was a jerk to framed him for the murder of his male self! He went to jail! He was about to give birth when we got to the airport and I stopped watching the movie.

Unfortunately it's difficult for me to search for this movie because some subset of these things happens in almost every Bollywood movie. This was just the one that had it all.

Ryan's friend Priya knew the movie! It's called Mr Ya Miss, and Priya comments: "It is the worst movie ever." Also, apparently the blow to the head actually killed the protagonist, and the scene with Shiva and Parvati was a reincarnation interview. I don't think reincarnation is supposed to give you a fully mature new body, but Parvati works in mysterious ways her wonders to perform. And how can you say a movie is the worst ever when the main character gets killed fifteen minutes into the movie? I've been waiting for that for years!

[Comments] (5) : One assumption I've never seen questioned in my extremely non-exhaustive survey of superhero comics is the idea that every super-powered person has unique powers. In real life, it's much more likely you'd have populations of people with similar powers, like you might get in an RPG with a points system.

But when I think of scenarios where, eg. 1% of the population is telepathic, all I come up with is young adult SF books where there's only one superpower: there's normal people and then an oppressed minority of telepaths that's a metaphor for puberty. Has no one combined population genetics with the wide variety of superpowers found in, say, the Marvel universe?

What I Do: For nearly a year I haven't told you about my job, mostly out of inertia. I took the job as a way to pay the mortgage on my mother's house, and for a while I was afraid it wouldn't produce anything I could be proud of, so I didn't really play it up, but those reasons are now moot. And now that I want to start talking about what I've done, some background would be nice.

In October 2007, straight out of Viable Paradise, I started work at Canonical, the company that makes the Ubuntu Linux distribution. I work on Launchpad, a web application for coordinating open source software development. You may have noticed similarities--eldritch similarities--to my previous full-time job at CollabNet, where I worked on a web application for coordinating open source style software development.

Well, anyway, Launchpad now exposes a RESTful web service. I built a framework on top of Zope, and my manager Francis Lacoste wrote a nice set of Python decorators on top of my framework. The combination of the two means that a Launchpad programmer can do a little bit of additional work in their Zope interfaces, and the objects that implement those interfaces will be published RESTfully through Launchpad's web service. As we work behind the scenes, more of Launchpad comes online through the service.

My goal is quality without compromise. If there are problems with the design (which there are) I consider them bugs to be fixed. On the client side I want to provide a web service browser: a program that works by navigating hypermedia documents, but is as easy to program against as a bunch of statically-typed crap generated from a WSDL file. To that end I've written launchpadlib, which has some Launchpad-specific hacks in it, but is based on the generic wadllib. The Launchpad-specific ideas are similar to the emerging standards around RESTful JSON. I can give more details if people are interested.

I'm posting weekly updates about our progress on the Launchpad weblog. On Tuesday I'll be giving an IRC Q&A as part of Ubuntu Developer Week. But I'd recommend not crashing that chat if you're just interested in the architecture, because it's for people who want to write Launchpad clients to help with development. I'll be discussing the architecture and the development process as part of my talk at QCon in November.

: Xerographic bedsheets: a reality at last!

Weird Science: Here's a story that seems unbelievable in the Internet age, but it actually happened. For my science fair project in fourth or fifth grade, I decided to explore an idea that had occured to me in a flash of insight: that the ancestors of today's whales lived on land, and were dinosaurs. I saw this project through to completion without ever discovering the truth: that whales are mammals and so their land-dwelling ancestors were also mammals. That while the dinosaurs have living descendants, they're not mammals but birds.

I can explain in a couple sentences what's wrong with my old science project because I now have a basic grasp of evolution and the history of life. That information was not available to me in 1988. We had a World Book encyclopedia that probably had this information somewhere but not under any heading I would think to look under, and certainly didn't discuss the evolution of whales under "Whales". I think I was able to wrangle a trip to the college library to get a better picture of a whale skeleton so that I could point out artifacts of the whales' land-locked history. Nowadays, if I go to Wikipedia, the first and last reference for grade-school science projects, I see on the second screen: "All cetaceans... are descendants of land-living mammals." Case closed.

I'm not going to blame my tools. I must have blocked out contradictory evidence--I'm pretty sure I knew about Archaeopteryx. And I knew at the time that my basic hypothesis, that dinosaurs didn't go extinct, was based on unscientific wishful thinking. But the tools made the difference between this being a passing fancy that was validated in an unexpected and fruitful way ("Aha! Birds! More generally, evolution!"), and something I did a lot of work on without managing to notice it was totally wrong.

: I got nothing. Here's that IRC chat I did about the Launchpad web service.

If It Doesn't Fit, Resource It: "If there's a concept that's causing you design troubles, you can usually fit it into the ROA by exposing it as a new kind of resource." --RWS page 233.

"The solution... is to provide a resource that reflects all of the changes on Flickr during a given time period." --Roy Fielding

"[A] simple and compact 'ping feed' that web services can produce in order to alert the consumers of their feeds when a feed has been updated." --Simple Update Protocol

His fate? Still unlearned.: At last, New York has a not terribly-well-scanning filk of "Charlie on the MTA." Unfortunately it's missing the final verse that tells us who we can elect to make the fare calculations more reasonable.

: Speaking of Boston, I'm just back from a weekend there, where I did many things including meeting Ned Batchelder and ending the senseless war between our weblogs.

[Comments] (2) Check For Party Traps: Behold! Pictures from Sumana's surprise Boston picnic, as mentioned on her site. It was great meeting Kirk and Ned and Moss and Julia's friends.

Keeping the picnic a surprise was nerve-wracking. I invented a fictional retro-videogame-themed event to explain where Moss and I would be meeting Kirk and why Sumana wouldn't want to come. Julia took Sumana shopping while we set up in the Common Garden, then arranged to casually stumble upon us while taking a walk. Surprise: achieved!

: A while ago some streets in our neighborhood got blocked off to film an episode of some TV show I don't even remember. I mention it now because today the same thing happened again, except they're filming the American version of "Life on Mars". Which will probably be lousy, despite Colm Meaney, but at least they redecorated the local Irish bar to look like an ugly 70s bar called "Along Come Marys".

I took some pictures this morning. All that space was just used to park support trailers, including a wardrobe trailer full of 70s gear. It never ceases to amaze me how many logistics vehicles get brought out for big-budget location shoots. It's like your country gets invaded by tactical trucks and cargo planes and they're all just delivering hot meals and bullets to the one soldier with a gun.

[Comments] (1) : Recently under Adam P.'s guidance I bought a Nintendo DS. It's proven its worth on long trips already. Not under Adam P.'s guidance I bought a little plugin card that lets me run homebrew DS software, like robotfindskitten! Way to go, Trevor Wilson!

Don't Waste It!: Sumana and I spent some time listening to these old Superman radio serials where Superman takes on the Klan. Sample dialogue (paraphrased): "Someone burned a cross on my lawn!" "Gee, that sounds like the Clan of the Flaming Cross!" Thanks, Superman's pal Jimmy Olsen. Caution: six episodes in, Superman has yet to actually bust any heads, and the thrilling action is frequently interrupted by hilarious super-earnest cereal commercials for the kiddies. Also, the first couple episodes have the same basic plot as The Music Man, except with hate groups instead of marching bands.

[Comments] (3) The YEAR 2000!: I borrowed a book from Hal a long time ago and now it's time for the book report. The book is The Year 2000: A Framework for Speculation on the Next Thirty-Three Years, published in 1967. Here's what Hal had to say about it (and also Anathem).

I have lots of disorganized things to say about this book, so here's the first one. One of the coauthors is Herman Kahn, the court jester of nuclear war, subject of Sharon Ghamari-Tabrizi's on-my-wishlist biography. So it starts off with a lot going for it. As Hal says, it is "not a bunch of pie-in-the-sky pronouncements, but a sober attempt to make plausible predictions and draw up likely scenarios for the future." But the book does contain three tables that pronounce the pie to be at various altitudes, and I thought it would be fun to audit those. Go check out what Herman Kahn thought was likely (and unlikely) to happen between 1967 and 2000.

More on this book later. One thing I want to point out is that the book's discussion of nuclear war (and Kahn's analysis in general) would be very different if Kahn had known about nuclear winter.

[Comments] (8) : Sumana was talking about the proportions in Bill Clinton's presidential portrait. I went and checked out the portrait, and started wondering what are those circular things in the background of the portrait. I thought they might be Boy Scout merit badges, but Clinton was never a Boy Scout. Are they the seals of various government departments? A collection of handpainted state quarters? The Internet is no help. Any ideas?

[Comments] (1) : James Rolfe, not content with his character of the Angry Video Game Nerd, has cultivated an obsession with film that culminates in visiting the mall parking lot seen in Back to the Future and, the real point of this entry, a completist aesthetic that is leading him to do little video reviews of every Godzilla movie. Hell yeah! He's like Adam Kaplan, except making films instead of getting a doctorate in computer science.

[Comments] (5) Don't Blink Without Thinking: "We accept the cut because it resembles the way images are juxtaposed in our dreams." -- In the Blink of an Eye. Okay then. But also, ItBoaE posits the blink as the "cut" we experience in waking life, which is really interesting.

Rule 34 Strikes Again: In the window of the Museum of Sex they've got a big drawing of the two lions from the New York Public Library goin' at it.

[Comments] (1) Content-MD5: I'm a little surprised that the HTTP standard defines a Content-MD5 header rather than a generic Content-Hash header that supports different hashing algorithms and provides a method for extension. That's how other HTTP headers work when there are a lot of ways to do something and there might be more in the future (Authorization, Cache, Accept-Encoding, TE). It's a little less surprising given that Content-MD5 is taken wholesale from a different RFC, one with only one wacky comment at the bottom of its faqs.org page.

Looking around I see only a couple nerds wondering about this, about as many as in 2005 were wondering why HTML forms don't support PUT or DELETE. But it's at the intersection of two trends: growing interest in putting metadata in HTTP headers, and growing interest in not using MD5. Has anyone else wanted to send a non-MD5 checksum in HTTP headers? If nobody says anything I'm going to go ahead and make a X-Content-SHA1.

Uh, and in keeping with the peurile theme established by the previous entry, here's my current favorite wacky faqs.org comment.

: The invasion of my VP class into the SF world continues with the publication of the excellent Chrono-Girl Versus Kid Vampire.

[Comments] (1) : Went to a fancy high-rise restaurant with wine cages. Bottles of wine confined in little cubbyholes in the wall, prominently labelled with the names of high rollers. I don't know what those people did to be turned into wine, but it must have been pretty bad.

[Comments] (3) : I'd forgotten about this cool hack until it showed up in a book I'm reading. MIDI Maze was a sixteen-player game that you networked by daisy-chaining your computers' MIDI ports. In an even more inappropriate use of technology, there was also a version for the Game Boy.

Immediate update: Not even the first time I've written about MIDI Maze.

[Comments] (4) : Why did someone send me a letter from Hong Kong certified mail? The answer tomorrow, when I go to the post office. I'm kind of apprehensive.

Update: It wasn't a letter at all. It was a little package containing a gizmo I ordered. I didn't expect them to ship it direct from China.

: So yeah, I went to Portland. More about that later, but the thing I want to mention now is that I bought a copy of The Big Idea, my favorite Cheapass game. The last time I played The Big Idea I kept wanting to play long after everyone else was tired of it, so Sumana was suspicious. "Come on," I wheedled, "it's like Once Upon a Time, except with capitalism."

: I don't usually enjoy writing critiques for my writing group, especially when I miss the meeting by being out of town and my critiques are late anyway. But they are, I hope, useful to the people whose stories I critique, and sometimes when writing them I manage to put into words something about science fiction. Today's object lesson: "in an alien environment, the natural object of empathy is the alien."

: At last, I've recieved funding for my political satire/kaiju movie, Harrison Barugon.

: Two books that had a formative influence on my sense of humor: How to Talk Minnesotan by Howard Mohr, and The Non-Runner's Book by Lewis Grossberger and Vic Ziegel. Two more or less random books that my parents happened to have lying around the house. That's pre-Internet life.

: Hey, nobody writes depressing-ass stories like George Saunders. But I wanted to rave a bit about Offloading For Mrs. Schwartz, which I just read yesterday. That's a damn good piece of science fiction. Not for the story's future tech gimmick, which is poorly designed, but for the plot, which is based on the gimmick working as a technology. Often Saunders writes fantasy-type stories where the weird element is a ghost or some other unexplainable or subjective phenomena. But here it's something that can be quantified, focus-grouped and sold, equipment built around it, etc., and all that peripheral activity drives the plot.

I originally wrote "poorly designed in a way that screams 'I'm writing genre fiction but have no grounding in the field!'" but took it out not wanting to be mean and having no evidence. But then I found this interview where he says, "I never read a lot of science fiction when I was a kid, and what I read I didn't really like." And presumably doesn't read a lot of it now, or he wouldn't have cast back to when he was a kid. Well, keep writing creepy stories, George Saunders.

Non-Spam As Folk Art: From semi-legitimate commercial email I got today.

StillAliveDS Review: The champion of non-robotfindskitten DS homebrew is this Portal-ripoff platformer. It has a nice 50s-esque cartoon aesthetic, the level design is clever, the portal mechanics work perfectly, and there's a map editor. It's as fun to play as many commercially sold DS games, and it's definitely worth downloading and keeping around.

The major downside is the controls. You jump with the up arrow instead of the more typical tactic of using a button. This is awkward, but necessary because your right hand needs to be operating the stylus at all times, because the stylus is what you use to indicate where you want to put a portal. It's an understandable design decision but a little awkward when you just need to run and jump. Also, in a "we present you a new quest" type move, once you complete the main level set you get to play the exact same level set again except with more turrets and plasma balls.

There are two other problems I'm a little loath to bring up, but here goes. The first is the cake. You know how lame media tie-in games, especially in the NES era, always had some iconic thing you had to collect? In the Bugs Bunny game you had to collect the carrots, in the Back to the Future game it was clocks, in the Mickey Mouse game it was copyright extensions. You get the picture. Well, in StillAliveDS each level is full of little hovering pink cakes, all of which you must collect to leave the level. They took a game whose whole premise was the absence of cake, and made a spin-off where the problem is too much cake. Is this a game design problem strictly speaking? I say yes, because "collect all these identical things" is to my mind the ur-annoying ludeme (Mario coins, how I loathe thee), and it seems to be favored by tie-in creators especially.

The other problem is the writing. I'm not going to fault the game creator for not doing better writing, especially because English is probably not their first language, but I'm also not going to not mention it. Every level has a little taunting monologue from GLaDOS just like in Portal, but GLaDOS is feeling especially passive-aggressive or something because she just tells you how to beat the level. And occasionally she quotes a line or two from the song "Still Alive". Yes, not even actual dialogue is being stolen, just song lyrics. So it's like you're being tormented by a GLaDOS fangirl with a vocoder.

: Does it get any cooler than this clip of Shinya Arino playing Mega Man 9? It does, but not that much cooler.

[Comments] (1) : Woo hoo, another unsellable story completed.

Update, much later: I was wrong.

: A Symbol A Day. Also, Terror of Mechagodzilla.

[Comments] (1) I Just Want To Make An XMLHttpOmelette: I've always hated Javascript, and now that I'm working on a Javascript client for Launchpad's web service, I know I was right to hate it. Recently I lost half a day to a mysterious problem that turned out to be XMLHttpRequest truncating my PUT request at the first null character. Because why would you want to send binary data over the Internet? It's not like some kind of... tube... that you can put just anything in.

The Internet is scattershot with uninformed commentary on this issue, which I now supplant with a single clearinghouse of uninformed commentary. Mozilla developers know about this problem but for some reason, presumably bug-compatibility, added a sendAsBinary method rather than fixing send. Maybe in five years that will be a standard, but it doesn't help me now. (Also, in experiments I couldn't get sendAsBinary to send binary data! It crashed with NS_ERROR_DOM_INVALID_CHARACTER_ERR!)

One solution is to create a MIME multipart message with one part and a Content-Transfer-Encoding of "base64". Bandwidth-wasty, but effective. Except, thought I, why bother with the multipart message? Just encode the binary data as base64 and send a Transfer-Encoding of "base64". (Content-Transfer-Encoding is explicitly prohibited by RFC2616; it was more or less split into Content-Encoding and Transfer-Encoding.)

Now, "base64" is not an officially registered transfer coding, but using it seems to be in the spirit of the Transfer-Encoding spec, which wants 'to ensure "safe transport" through the network.' The only difference is that the unsafe thing (stupid Javascript) is on one end of the network rather than in the middle.

Here's another solution that I don't really understand. It uses Mozilla-specific hacks to create an input stream containing binary data, which input stream is passed to send() instead of a string which will inevitably be chopped or parsed as a DOM object or something.

For now I'm going to hope that the problem goes away when I start using a different Ajax toolkit, which we were going to do anyway, but as always I'm very disappointed when I try to make an HTTP request and something totally random happens that's not my HTTP request.

Update: Because of this problem it's apparently common to send binary files using a hidden IFRAME that contains an HTML form. The binary file is sent as a MIME multipart message over POST, but it's not base64 encoded--it's a regular browser file upload.

Update 2: Have fun arguing over the legitimacy of my desire to do this instead of investigating the problem, Reddit dudes. The %00 trick sounds feasible, other Reddit dudes. I'll try it. PS: switching to another toolkit didn't solve the problem because all the toolkits use XHR.

Ice Cream Candidate: Upon my block.

To celebrate Barack Obama, I wanted to bring together bipartisan elements--coconut and chocolate, marshmallow fluff and almonds--to create one amazing ice cream. An ice cream that celebrates multiple flavors at once, that reaches out even to non-ice-cream-lovers, offering a friendly hand, inviting them into the ice creamery of our country.

[Comments] (1) :

Don't pull your love out on me, baby
If you do then I think that maybe
I'll just lay me down, cry for a hundred years

Yes! That's a great plan! Spend a full century crying! Maybe!

Best Starslip Ever: Chug! Chug!

[Comments] (1) Pen Milestone: Today I was using a pen and ran out of ink. In the past I've always lost the pen before that happened. This is one of the dumbest milestones imaginable but I wanted to commemorate it.

[Comments] (5) : I've made no secret of my distate for the ridiculous Robot Masters in Mega Man games. But upon playing Mega Man 9 my wrath abated somewhat. It's an expertly crafted game, except for the damn amorphous blob in Dr. Wily's castle that's impossible to beat. But more than that, the bosses in that game made me appreciate Drs. Light's and Wily's business plan.

It's pretty simple, the same as the car companies. They keep making the same robots over and over again with cosmetic differences, so they can sell you a slightly different model every year. Among their offerings are:

That's 44 of the 70 Robot Masters. The others are mostly terrible one-offs, with a couple products that failed and tried to make a comeback later. Do you really need a specialized robot just to cut things? (Cut Man) No? How about now? (Sword Man) The secret is to ignore all the weird one-offs like Centaur Man and Clown Man and focus on the core business. If you're interested in a more sophisticated analysis the Mega Man Knowledge Base groups the Robot Masters by their weapon types, rock-paper-scissors style, and comes to much the same conclusions.

Not only does Mega Man 9 have great level design, it's got the best boss weapons of the series. Yeah, I said it, better than in Mega Man 2. The Crash Bomb and Quick Boomerang are fun, but the Black Hole Bomb and Concrete Shot are more fun. I, for one, welcome our new Robot Masters.

: The Beautiful Soup documentation has been translated into Chinese. Translator Richie Yan says, "I hope this would help some guys who're poor in English." So hope we all.

: Awesome cover. Sumana used to have this book of alt-history stories about if presidential elections had happened differently (occasionally very unrealistically; I think there was one where Victoria Chaflin Woodhull won in 1872). The stories were generally okay but what really stood out in my mind was the awesome cover (see enclosed). It's rare these days that you get a hardcore Thomas Dewey reference. Cover photo from the website of one of the authors anthologized.

In semirelated news, I'm having fun looking through the NYT archives for previous election years and comparing their campaign news to this year's. Around this time in 1996, I was in my first quarter of college and Bob Dole was campaigning in California after "a new Field Poll showing Mr. Clinton only 10 percentage points ahead." It's a genius plan, Bill Bradley doesn't say:

''Dole is confronted with pretty bad choices across the country, whether Ohio, Indiana or Florida or here,'' Mr. Bradley said. ''He won't win California, but a rip-roaring campaign in the last two weeks could save a half-dozen House seats and help the Republicans keep the Assembly, where they're in trouble.''

Also, this Clinton-seeking zinger from Bush in 1992: "I do think that you can't turn the White House into the Waffle House." It's funny because Waffle House is a terrible restaurant!

PS: fun Thomas Dewey fact: he was the Eliot Spitzer of his time, except without the prostitution scandals.

[Comments] (1) Age-Old Rant: How come the people who design fancy hotel rooms never test them by spending a night in them?

Scrabble: My manager is wearing a shirt that says


It would be cooler if the lines broke like this:


[Comments] (1) Dumb Question: This is for the QCon talk I'm working on. In The Jetsons, George Jetson works in the widget factory and it's apparently canon that his job consists of pushing a button. I remembered this even though I never saw The Jetsons. But I can't find any pictures or video online of George pushing the magic button. I thought it was at the end of the show's intro, but it's not: George just kicks back at his desk and the button's not visible. That makes me think the button plot only shows up in one episode.

So which episode? If someone can find a screenshot of George in the same shot as the magic button, or tell me which episode it happens in, I'd be grateful, or at least more grateful to you than I am to the average NYCB reader. Otherwise I'll just use a screenshot of him kicking back.

Instant update: The button thing shows up in the 1990 Jetsons movie. Is that it? The only thing I like about The Jetsons is the 1960s aesthetic, so if that's it I'll just use the old screenshot. Because I'm a snob even about things I don't care about.

[Comments] (3) Don't Go To London, It's A Social Construction: I haven't been writing NYCB entries in real life because I'm at a Canonical training session in London and I've got time to do approximately one non-work thing a day. I usually choose dinner. But I was sublimating some urge because last night I wrote two NYCB entries in my sleep. Here's the one I remember.

* [No comments] It Can't Be!: Kurt Cobain looks so young!

Yeah, dream-self, I checked, and he does. I'm older than Cobain was when he died, and I've barely revitalized rock 'n' roll at all. On the plus side, I managed not to kill myself. If only Cobain were still alive, sober, and washed-up, my age cohort would have less complicated self-esteem issues right about now.

The second weblog entry was about a very interesting family I met in-dream, but since they don't really exist it's better for everyone that I don't remember it.

[Comments] (2) Mind The Arbitrarily Placed Gap: I tripped over a curb that shouldn't have been there and landed hard on my hands--nothing's broken, or even sprained, but my arms sure do hurt. Really cut into my Tate Modern time what with the PAIN. So I'm spending the weekend in a hotel room wearing tube-sock bondage gear on my arms. After some confusion regarding the British names for drugs I've now got Panadol, aka paracetamol, aka acetaminophen, aka Tylenol.

Since I just rattled off a bunch of drug names, and because these bondage socks make it look like I'm wearing long underwear under my shirt, let's talk a little more about Kurt Cobain. I've been thinking about what I wrote in the previous entry, about imagining Cobain as "still alive, sober, and washed-up". When I was in high school, after Cobain's suicide, there were a whole lot of poorly-written tribute poems and songs. In fact one of my better songs[0] started out as one of these awful songs, and I wasn't the only one in my school who tried his hand.

The songs are awful because what do you say? Cobain, like David Foster Wallace, was a bright guy whose very brightness and success fed into his personal demons, and in the end he wasn't strong enough to fight them off. No matter how good an idea you think you have of this dynamic, if you're around to write a song about it you've probably got only a fuzzy idea. So maybe the key is to write what you do know: life with its disappointments and ARM PAIN.

[0] The song is Vertigo (here's an MP3). The story is that an artist named Sandow Birk did an oil painting called "The Death of Kurt Cobain", which you can find if you search for it but I gotta warn you it's a gruesome painting. Also I remember the perspective being different, more of a 3/4 view from above, but the Internet proves me wrong, and also tells me that Sandow Birk did "In Smog and Thunder". Anyway, I saw this painting in an art book when I was seventeen and the detail I couldn't get out of my head was that Cobain's teeth are scattered all over the floor. Or something that looks like teeth--I never look too closely, because like I said, gruesome.

That detail made it into a song, but even then I knew that tribute songs/paintings were cheesy and in bad taste, so I made up a fictional character and told a story about her. I've been coy about "Vertigo" on this site before, but this is the real dope. Brought to you by ARM PAIN.

Richie Yan: I meant to post this earlier. About two weeks ago I had a long chat with Richie Yan, Beautiful Soup documentation translator, and got some information about him to share with the English-speaking world. He's got a weblog, which I recognized because it's shown up in my referrer logs. He works at jobmet, the Chinese equivalent of monster.com, and for jobmet he's written a web crawler that uses Beautiful Soup. Sounds a little slow to me, but he claims it's fast and easy.

[Comments] (2) Oi! Shaver!: I wasn't able to charge my DS because unlike with your laptops, DS chargers don't have built-in voltage adapters. Then a coworker in a similar situation (he had a voltage adapter, but when I tried it out I blew a fuse in the hotel room) discovered that in the hotel bathroom was a plug that accepts an ungrounded US-style plug and delivers approximately 120 volts. The plug was labelled "SHAVERS ONLY", so I hadn't paid it any mind. Sure, I shave occasionally, but it's not like a lifestyle or anything.

Keeping in mind that I MAY OR MAY NOT HAVE ACTED ON THIS POTENTIALLY DANGEROUS KNOWLEDGE, the most reliable source imaginable says that "the sockets for [BS 4573 plugs] can often take unearthed CEE 7/16, US and/or Australian plugs as well."

Some Things: My arms are getting better. Bruises have shown up (thus the news).

In retrospect, I'm really glad I didn't get that job as a corporate trainer.

[Comments] (5) The Vish-Meister: I've been keeping this a SECRET INTERNET FIND because Sumana and I like to show it to people when they or we come over. But why keep it a secret? It's delicious. KleistGeistZeit is a collective that makes hyperliterate videos in the "misheard lyrics" genre, using a cheap copy-and-paste aesthetic that resembles my constrained comics. Truly this is the best use of obscure general knowledge now that the Internet has made trivia games obsolete.

The best video by far is Wishmaster Misheard Odysseus' Idealist Alchemical Revolution, but Point of Know Return is also great, and depending on how you like those two you might be interested in the really long repetitive one.

I kind of want Andy Baio to exert the skill he has of tracking down the creators of bizarre Internet videos and interviewing them. For a while I've been thinking about emailing him, but I can't actually think of any interview questions! Apart from "have you considered using your powers to enslave humanity?" and "What's that Greek word in the Odysseus video? I can't read the Greek alphabet!" So I'll let referer logs do the work of alerting Andy, and maybe you can think of some real questions.

PS: I'm not sure who introduced us to these videos, though it may have been Moss and Julia, or Dara Weinberg. Sumana probably knows. [Update: Sumana says she found it while working on Miro.] Actually, maybe Dara Weinberg is KleistGeistZeit.

PPS: I realized too late that I should have titled yesterday's entry "News: You Can Bruise". Also that man is a feeling creature, and because of it the greatest in the universe.

Update: mystery solved!

[Comments] (1) EmptyCrowd: Unless I'm wrong--and honestly, when is the last time that happened?--Halloween is the only holiday that your place of employment can shanghai you into celebrating with your co-workers in a corporate environment. It's a secular holiday, you don't get it off from work, and it's not generally of interest to adults. So long story short, I went to the Canonical office in Millbank for a Halloween party.

There were costumes. I have a special technique for Halloween costumes: I don't wear them. But when the wiki that says to wear a costume is the same wiki that lists you as someone who draws a paycheck, there's a little bit of pressure. So I employed my other technique: I did no planning and let an idea percolate which I would execute cheaply at the last minute.

Sometime last week I decided that my costume would be Launchpad itself. On Thursday we would get Launchpad T-shirts, which I planned to annotate with a huge number of Post-It Notes, a la the Office Space poster, containing the names of Launchpad classes. Unfortunately Post-It Notes don't stick terribly well to fabric. But by today, Rachel was back in town, and she came to the rescue with stickers. So now I've got a sticker-covered shirt that says things like "IHasBug" and "BlobTooLarge". It's no acid blob costume (or even AcidBlobTooLarge), but it's not bad.

[Comments] (1) : I'm back in New York! Check out this awesome painting I saw in the National Gallery. I'm not sure why that painting isn't in the Tower of London next to the crown jewels, but I sure am glad it's not because then I'd never have seen it.

PS: Forgot this hilarious joke. "I just flew back from London, and boy are my arms tired! Because I FELL ON THEM AND BRUISED THEM QUITE BADLY."

[Comments] (6) Leonard Gets Out The Vote: Vote, dammit.

Caution: gallery contains Mega Man 9 spoilers.

The Hard Sell: Yesterday two guys dressed like hipper Mormon missionaries somehow got into my apartment building (not that it's terribly difficult). They worked for Direct Energy and were wandering door-to-door pulling a low-grade social engineering scam where they let you think they worked for the electric company and they wanted to "adjust" your electric rate by signing you up with Direct Energy. Dealing with them was an unpleasant experience but it did make me realize that advertising in general is a kind of social engineering.

The day before Sumana got a telemarketing call. On her cell phone that's on the Do Not Call list. It was a Choose Your Own Adventure pitch from the Internet company (a preexisting business relationship trumps cell phones and DNC list) wanting to sell us a phone line. As in a phone you can't take out of your house. I believe to sweeten the deal they offered an original iMac and some commemorative Pogs. When Sumana said she wasn't interested, the Choose Your Own Adventure (which was being read by some poor human) became incredulous that we could live full lives if there wasn't a land line in our place of residence. After assuring the CYOA that our lives were fairly full, Sumana eventually reached one of those unsatisfying endings where she lived in a state of uncertainty as to what might have been, and hung up.

In both cases this was not the first time we'd been pitched but an escalation in tactics. We got a very weird spam-card from Direct Energy a while back, which was why I remembered the name on missionary #1's badge. And the Internet company sends us a paper bill every month mostly so they can bundle in pitches for a phone line (I pay the bill online, through the very Internet I pay for).

I wonder if this increased aggressiveness is an effect of the economic crunch, or, as I believe they used to say, "recession". Did this happen last time? Since coming back from London I've also noticed a little of a more common form of creeping advertising: advertising on surfaces that previously had none.

[Comments] (1) : Kevan gave me a book of Groucho Marx-related letters, called appropriately enough The Groucho Letters. I'd flipped through the book at Jake Berendes's house but now I'm reading it through, and I was intrigued by his 1957 description of a Mystery Science Theater-esque show he was writing and co-starring in:

The format is a simple one. Jane and I sit in front of a television set at home watching a television show. The show we watch is usually a sports reel, a travelogue, or a whatnot, and we make up funny jokes to say while looking at it...

It will be a new kind of writing for me. We have to write jokes to fit the footage of the film shots. Like I need a forty-foot joke to describe what the man is doing when he examines the sheep's wool in Australia, so I say to Jane: "See, they examine the wool to determine if it's ready for shearing." And she takes the rest of the 40 feet to tell the joke. Which in this case turns out to be: "Oh yeh--they want to make sure it's a hundred percent wool."

Hilarious, isn't it? And after writing 40-foot jokes, 75-foot jokes, and even 108-foot jokes, we have a nine and a half inch [Nielsen] rating, and all is well.

IMDB doesn't know about this television program and it's not clear who "Jane" is, though picking up context throughout the book indicates that it's Jane Ace, Goodman Ace's wife.

[Comments] (6) The Battle Hymn of the Republic of Letters:

[Comments] (2) Mother 3: Oh yeah. The fan translation came out when I was in London. This weekend I loaded it onto my DS and played it. Except playing it on my DS didn't work too well, despite me having bought a doohickey specifically so I could play the Mother 3 translation on the DS. So I'm playing it through Mednafen. (Note: Mednafen may cause drowsiness. Use only as directed.) I'd say I'm halfway done; below my spoilerish thoughts.

There are many reasons why there will never be an official translation of this game, but upon playing it the main one that jumps out is that it's pretty offensive by Western standards. In Earthbound, the Japanese technique of jumbling together random stereotypes about America resulted in the charming Colbertian nation-state of Eagleland. In Mother 3 it results in a "generic minority" character who embodies different racial stereotypes simultaneously. There's also a central-casting "greedy Arab" character. And the, uh, fairies, who make Tingle look like Cary Grant. I appreciate that Japan is a different country where the mere fact that homosexuals exist is considered hilarious, but the past is also another country, and that doesn't excuse the past. So: grow up, Japan.

If you can get past that, there's a great game here. It's basically a text adventure with sprite graphics: a linear plot with lots of places to explore and people to talk to. The writing and game design is as good as Earthbound. There's less all-out wackiness but the places fit together better and there are lots of great changes to the environment over time, and variations on themes. Example: your game is saved by talking to frogs, which is a) awesome, and b) implemented by scattering thematically appropriate frogs throughout the game: ghost frogs, frogs in tiny cars, old frogs in wheelchairs, floating frogs dangling from balloons, etc. It's cute and funny.

The plot is interesting--this is the only Mother game to actually be about someone's mother. As with the game design, the plot fits together a lot better than Earthbound's plot. But there's something wrong. It's not that an RPG with cute sprites can't tell a dark story--that's bathos, and it's delicious. It's that the Mother 3 story mixes different kinds of darkness.

There's the darkness of the death of a loved one and of being compelled to work on an evil project and of having your home town invaded by aliens. And there's this goofy rock-video darkness where people are being enslaved by their television sets and corrupted not by the love of money but the existence of money. They don't fit together. You could tell one story or the other with cute RPG sprites but it's asking a little bit much for cute RPG sprites to glue them together. (And for good measure there's also the pro forma high-fantasy darkness of Prophecy Fulfilled and Are You Pure Of Heart which is just an excuse for Collect A Bunch Of Similar Things, which I find very tiresome but Earthbound had the same thing.) The old text adventure "The Legend Lives!" has a lot of these same problems, but its television scene does a better job, I think.

So, Mother 3 makes visible in retrospect some problems with Earthbound. Earthbound's huge sprawling map alienated you from what was going on in the game world. Mother 3 takes you through a series of persistent changes to the world, which forces you to invest emotionally in what's happening. Except for the thing at the very end, which loses its punch if described rather than played, Earthbound has the emotional depth of a sitcom episode. Mother 3 starts off by breaking your heart, and manages to break your heart two or three more times before it gets really goofy and rock-video-ey.

The best thing about Earthbound was the feeling of subjunctive nostalgia you got wandering around Eagleland, a replica of an American/Japanese culture that never existed. Mother 3 yields this poignancy, which I also find in the Miyazaki films with European-looking settings. I almost said Mother 3 "nails" this poignancy, but there's all that offensive stuff that won't play in real America, so I deny Mother 3 the prestigious verb "to nail".

If my opinion about any of this changes by the time I finish the game I'll post a follow-up. All in all, a great game made available through an amazing translation effort.

Update: see follow-up entry.

: This link has now passed my "just link to it and close the tab rather than thinking about something long to write about it" threshold. Netflix released a web service that actually serves hypermedia documents! Wooooooo!

Clean and Sober: No painkillers today, for the first time since my injury.

[Comments] (2) One Bad Mother: I've completed Mother 3 (see previous entry). On the "offensive" note, I forgot to mention that fairly early in the game you get covered in soot from a fire, and everyone talks about how wacky it is that you look all black. I don't want to be the blackface police, but I guess I kind of am.

In non-offensive news, there's an dream sequence that's not as weird as the Magicant sequence in Earthbound, but is creepy and horrifying and would probably scar you emotionally if you were a kid playing it. Except what kid would play it? You'd have to have played Earthbound to get an interest, which at this point means you'd be into retro gaming, an odd hobby for a kid and one that probably indicates you could handle a super creepy dream sequence. The sequence does go over the top into ridiculousness in one place, which if you've played it you know exactly what I'm talking about. But all in all, well done with the creepiness.

Around the point I wrote the previous entry in this series of weblog entries, the game stopped being focused around changes to one place and became much more Earthbound-like, shuttling you off from locale to locale like a Bond movie. That was a bit disappointing. The secret of the game, revealed about two hours before the end in a huge infodump, is decent and exactly the kind of poignancy I was hoping for, though if your multi-part infodump involves a special recording device that lets the player refer to the infodump later, your infodump is too big.

There are some connections to Earthbound and although I'm a huge EB fan I think the connections made Mother 3 a lesser game. I'm thinking especially of the main villain. If you've played Earthbound the villain's identity will not be a secret for long, and if you have a functioning brainstem the identity of the villain's henchling will never be a secret at all. I'm going to just accept this in the name of dramatic closure and move on.

There's a tendentious video-game logic that says that bad things are caused by people who are evil, and that the evil people do the bidding of a boss, and that if you kill the boss you've solved the problem. This causes big problems when applied to real life, but it's hard for me to get worked up about it in a video game. And yet, if there's one video game that could take a more realistic approach, it would be a Mother game. Especially Mother 3, whose plot, for all its ridiculous rock video television-enslavement, teaches the realistic lesson that bad things happen because people sacrifice their long-term interests for short-term satisfaction. But no, the boss is behind everything, and you defeat the boss. And then something else happens that is difficult to describe and that I'm still thinking about. Suffice to say it's cool but not as cool as the end of Earthbound, which I'm still thinking about after a longer time.

In conclusion, huge thanks to the translation team, without which I'd never have been able to appreciate the game. Because as much as I'd love to, the odds of me learning Japanese from scratch now that I'm pushing thirty are pretty slim. And, seriously, thanks for not hiding or (I assume) toning down the offensive bits, because it's better to have this kind of thing out in the open where it can be called out.

PS: Check out this stop-motion Mega Man video, which is certainly better than this weblog entry.

: Man, I gotta finish this talk.

[Comments] (3) Hey, England: I don't generally go to other countries and tell them how to run things, but you might want to look into tape dispensers. They make it easy to shear off the edge of the tape, and they hold the tape in place for next time so you don't have to pick at it. Admittedly there's a small amount of waste in selling a little piece of plastic and metal with every roll of tape, since in theory they can be reused, but now that you've become hardasses about reusing grocery bags, go ahead and treat yourselves.

[Comments] (1) Bento: I'm done with my QCon talk, though it's almost certainly too long. I decided to put a picture of a bento box on the first slide and did my usual Flickr-search. I found two pictures that are cooler than the one I used, but too complex to go on a slide that will only be seen for a few seconds. I thought I'd share them with you.

First is the pictured Star Wars-themed bento, which uses the dark side of the rice to great effect. I couldn't use this because it takes a few moments to recognizable it as food. Second is the meta-bento, which contains a smaller bento box made of food, with utensils made of food. That one was just too complicated to use: if you only see it for a little bit it looks like a normal bento box with normal utensils.

Lanyard Disappointment: I thought this branded lanyard said "TRIFORCE". It says "TRIFORK".

[Comments] (5) : I think that went pretty well. When I finished everyone had kind of a stunned look on their faces, but they recovered. There will be video eventually, which will surely be embarassing and show that it actually went poorly.

[Comments] (1) Night Of The Waffle Coasters: Put up some boring pictures from QCon. I'll get some better pictures once I get out and start doing things. I couldn't get my usual webpage export to work on the laptop so I just stuck the photos on Flickr.

[Comments] (2) Cannelini Bean Spread: This is a delicious garlicky recipe I reverse-engineered from Supper, an awesome Italian restaurant in the East Village.

Mash it all together. Spread on bread. That's it. It's excellent. I never really cooked with cannelini beans before but I think they're a better all-purpose bean than kidney beans.

Melt The Oranges: Awesome random recipe generator, via Kevan. I wish I'd thought of that, but my random recipe generators were too well-structured and not dadaist enough, and that made them impossible to implement. Even looking at these recipes I think "well, you really need to stir-fry something in some liquid, which means we need to know which ingredients are liquid..." and it stops being fun.

[Comments] (7) : There must be thousands of people with suggestive names, walking around Gotham City, who never quite became Batman villains.

[Comments] (2) : Yesterday we went to the Computer History Museum. Clearly a lot of money has gone into this museum, but it's fundamentally a county museum where everyone cleaned out their garages and they put it all on display. It's just that since the county is in Silicon Valley the people are very rich and their garages are full of awesome old computers.

So there's a bunch more photos on Flickr, with more to come. New photos start here.

The big draw was the difference engine, which is unfortunate because in a few months Nathan Myhrvold will arrive Mephistophelian at the stroke of midnight and whisk the difference engine away to his living room. And then the Computer History Museum will have a rotating exhibit (currently about chess), an "Innovation in the Valley" exhibit that seems provincial despite having amazing artifacts like Engelbart's mouse and the Apple I, and the big room full of computers. You think it's ridiculous that I'm complaining about free admission to a big room full of computers, but if you've seen the outside of this building it looks like the office-park equivalent of the Guggenheim. You expect more.

Anyway, the difference engine was great, and now I understand how it works. I originally thought the point of it was to find the roots of polynomials and I couldn't imagine how it represented complex roots. But no, it just cranks out the values of polynomials for ever-increasing values of x.

More pictures from the room full of old computers coming eventually. I just wanted to put up enough that I'd get to the Chadwick Magic-Brain Calculator for Susanna and John.

: I've uploaded the rest of my Computer History Museum photos, starting here. Don't miss the Honeywell Kitchen Computer! Contains no more pictures of Kevin flipping the computers off.

PS: I'm gonna go out on a limb and allege that the Kitchen Computer is a sham. It was never intended to sell, it was just a cross-promotional thing to get attention for Honeywell. Someone realized what a catastrophe it was to design a computer with the form factor of a desk in 1969. People in 1969 don't sit at desks and twiddle binary switches on the computer panel, they sit at teletypes and type and don't worry about where the computer is physically. So the paper-shuffling part of the desk was hastily renamed a "cutting board" and you had the Kitchen Computer.

There was probably no recipe software or digitized recipes. If they were serious about selling a Kitchen Computer they'd sell you a teletype as well. If you tried to use the "cutting board" to cut vegetables you'd scratch up an irreplacable part of the computer and probably cause a short circuit. You'd have to be stupid to design a Kitchen Computer that way. But you wouldn't have to be stupid to pass off a failed form factor as a Kitchen Computer for publicity's sake. Look at the ad: "If she can only cook as well as Honeywell can compute." Not "this computer", "Honeywell". It's a high-concept ad for Honeywell.

: No video yet, but Jim Webber put up real-time notes from my QCon talk. Jim was especially taken with my maturity heuristic for web services, where you look at how many of the Web technologies the designers understand/think are important. He proposed making sheets of stickers for the different maturity levels and slapping them on people, presumably as a shortcut around engaging their ideas.

Things Nobody Cares About: Kitchen Fiction: A better-organized bill of particulars in case anyone wants to do more research.

It's not in dispute that the Honeywell H316 "Kitchen Computer" is a really stupid idea. But I do think that the pedestal version of the H316 was not designed or seriously intended to be used in a kitchen. I propose that the pedestal H316 was originally designed as a desk, something you'd sit at, using the "cutting board"/"counter" as a workspace, and that the kitchen usage was dreamed up for the Niemen Marcus catalogue as a way to sell other things--or, less likely, was a desperate gamble to sell a computer in a form factor that didn't make sense. It's possible that some pillar H316s were sold, even if no "Kitchen Computers" were.

The first microcomputer, the Altair, was programmed with switches and had no user interface other than its lights. To us it seems barely plausible that in the appliance-crazed 60s, Honeywell would stupidly try to sell that kind of interface to the home. But in a minicomputer those switches and lights are just the control panel. They're used to load in the operating system, so you can use a teletype or tape reader for your real work. A teletype next to the actual computer was a common sight in contemporaneous advertising.

The H316 worked that way. No one would do all their work through the switches, which is why building the H316 into a desk was a bad idea. But putting a teletype next to the H316 in the Nieman Marcus photo shoot--a setup that might actually have worked--would have spoiled the 2001-esque aesthetic Honeywell and Nieman Marcus were projecting. Today you could build a real computer with that form factor and no teletype, so we look at the ad and think they were trying to use the control panel as the user interface.

So: not only did the Kitchen Computer sell no units, it had no existence outside the Nieman-Marcus catalogue. The point of the catalogue entry was to make executives puff on their stereotypical pipes thoughtfully and then buy an H316 for the office. Everyone else would shudder at the cost of the computer and just buy that dorky flower apron.

Here's some questions I don't know the answer to that could confirm or disprove my hypothesis. First, I suspect that the "counter" of the pillar H316 is much lower than a kitchen counter would be; more in line with something you could scoot an office chair under. This is born out by the N-M photo, Val Henson's hilarious photos, and my subjective remembered experience, but I don't know for sure. Here's a picture of a chair beneath the computer. My point is that no matter how stupid an idea a Kitchen Computer is, if you were designing the casing for one and you decided to give it a "counter", you'd put the counter at the height of a kitchen counter, not the height of an office desk.

Second, I don't know what's in the back of the pillar H316. In the continuing saga of me not looking closely enough at things that I later realize are problematic, I didn't look at the back. Is there a place to connect a teletype and other peripherals?

Third: what did the H316 cost through regular channels? I've seen it described as "the first under-$10,000 16-bit machine". Does the $10,600 cost in the Niemen-Marcus catalogue include a cheap teletype to go with the two-week programming course?

Fourth, are there any manuals for the pillar H316? Any idea of how all those alleged recipes were stored? Paper tape? They sure wouldn't fit in the H316's core memory.

Bonus clearing-up: it has been alleged that the Kitchen Computer had a compiler for a language called BACK. There is no such programming language. Which itself is suspicious, because most short words have been used as the name of a programming language. At some point someone made a joke about FORTH (the first FORTH implementation happened on the H316) and the factoid was passed along by someone who didn't get the joke.

An interesting coda: the H316 was also used to build the Interface Message Processor, first machines on the ARPAnet. Check out the lower IMP control panel: it's got the same controls as the Kitchen Computer.

[Comments] (1) The Welceme Mat: Saw a wooden-sign tchotchke that said "WELCEME". I hope whoever buys that appreciates it.

[Comments] (1) Things I Taught Maggie:

I was unable to teach her how to break; she just tried to add the cue ball to the triangle.

[Comments] (2) By Piepular Demand: Recipes for the Thanksgiving desserts I made, some of which will make an encore appearance at Backup Thanksgiving: sweet tart crust, chocolate pecan tart, apple tart where you boil the peels and cores to make a syrup. All of this is pretty generic except for the peels-and-cores stuff; I've made these same tarts before from different recipes.

: I've got the airplane disease, so I'm lying in bed watching MST3K episodes. I discovered that the first skit from "The Brute Man", which aired in 1996, presaged the housing bubble. "It's called the no-cash method!"

[Comments] (1) : I miss pseudoephedrine.

Copy Me Elmo: First there was Bert hanging out with Osama bin Laden. Then, many years later, in fact a couple days ago, Sumana went to the Bangalore equivalent of a county fair. There were a number of public-service-announcement posters including an anti-suicide poster listing common causes of suicide and telling you to look for the warning signs. Fair enough, except the background image of the poster was this Internet-gag picture of Elmo offing himself.

I can see the thought process--it's certainly eye-catching, and if it weren't Elmo it might even be disturbing--but I don't know how they got the Elmo picture in particular. An image search for "doll suicide" pulls up arty pictures and goth porn. Someone had to think to search for "elmo suicide", and at that point you're really in on the joke.

[Comments] (2) Depressed Dog On Spaceship: One of the constrained writing exercises we did at Viable Paradise was to write a story given a character, setting, and problem provided by three other people. A recent VP graduate has created the Plot-O-Matic which automates the process.

I don't remember what my character, setting, and problem were, which is odd because I'm pretty sure I wrote a story using them. Maybe not!

[Comments] (3) Cookie Do-Over: I don't know if this is something that should be added to the web browser or done as an extension, or if there's some way to do it already, but it would help me out a lot. I have Firefox configured to, every time it's sent a cookie from a new domain, ask me what to do with the cookie. Most of the time it's deny, deny, deny. But sometimes it turns out the right answer was "allow for session", and now I can't use the site.

To fix this, I have to go into the cookie 'Exceptions' and figure out which decision to undo. Usually it's the decision for 'domain.com', the site I'm trying to use, so the process is annoying but not terribly difficult. Sometimes I need to check for both 'domain.com' and 'www.domain.com'. That's not a big deal either.

But sometimes the magic cookie domain turns out to be "r.a.ndom.subdomain.domain.com", a subdomain I've never heard of that's just used for authentication. r.a.ndom.subdomain.domain.com doesn't show up in the 'Exceptions' list near domain.com, and so I don't know it exists. It was shown to me once but I was hitting deny, deny, deny and didn't see it. The only way to see it again is to run Live HTTP Headers, reload the page, and see which of the 50 HTTP responses try to set a cookie.

What I'd really like to do is call a do-over. Reload the page and have Firefox ask me all the cookie questions again. If I miscalculate which cookies are actually necessary to use the site, I just call another do-over.

This was much easier to explain once I realized that the right word was "do-over". Thanks, schoolyard fecklessness.

[Comments] (5) : I've always liked the phrase "could care less" even though it's one of those maddening phrases that means the same as its opposite, "couldn't care less". I like the self-referential connotations that make it mean the same as its opposite: "I'm too apathetic about this to even put in the effort to not care about it!"

Game Roundup: DS Homebrew Edition: I'm kind of disappointed with the state of DS homebrew games. Admittedly the DS is hostile territory for homebrew, which limits the audience somewhat. It reminds me of the state of Linux gaming in the early 2000s which led me to start doing the Games Roundups in the first place, and the underlying reason in both cases is probably the small audience. In fact, some of the same games from back then are showing up on the DS, like DSBill, which probably works better on the DS than XBill does with the mouse.

Anyway, I went through the games section of ndshb.com, or another site much like it, dumped a bunch of games on my mini-SD card, and played them (or tried to) over the course of several plane flights. I'm pretty sure it wasn't ndshb.com, actually, which means I could do another one of these. Anyway, here are the games I was 1) able to get working and 2) entertained by. My list includes helpful hints like WHAT THE POINT OF THE GAME IS, a tidbit sometimes omitted from official game documentation.

A second round of reviews coming eventually.

Leonard's Web Service Maturity Heuristic: In my QCon talk (video coming eventually) I told three stories, This American Life-style. This weblog entry summarizes the third story.

By now it's a cliche to observe that allegedly "RESTful" web services like Amazon's SimpleDB and the Flickr web service and the del.icio.us web service aren't really RESTful. But there's something about them that makes their creators distinguish them from SOAP-based web services (by calling them "RESTful"), and there's something about those services that users love despite the possibility of, eg. deleting data by accident.

Rather than say one service is more or less "RESTful" than another, attempting to quantify an easy-to-misuse term that wasn't even intended to be used in relation to web services, I've found it useful to judge web services based on how many of the web technologies they adopt. Think of the World Wide Web as having a technology stack that looks like this:

Hypermedia (ie. HTML)

In every case I know about, people build web services from the bottom of the stack. They pick some point on the stack and take the technologies below that point seriously. The technologies above that point are not considered important. They're ignored, or used to the minimum extent you can get away with and still technically be a "web service".

XML-RPC and SOAP services are at level zero. They don't take any of the web technologies seriously. They use one URI, one HTTP method, none of the interesting features of HTTP, and they have no notion of hypermedia.


The web services I mentioned at the beginning of this entry are at level one. They take URIs seriously and assign a URI to every aspect of the system. But they only use one HTTP method (GET) and don't use any of the interesting features of HTTP. Nonetheless, people love these web services, because people love URIs.


Amazon S3 is at level two. It has problems (or so I've heard) with its use of HTTP, but it takes HTTP seriously. It uses URIs to designate objects in the system that can be operated on with different HTTP methods. It takes advantage of HTTP's features like conditional requests. But there's no hypermedia. All the information about how to manipulate the resources, and how to detect the connections between them, is in English documentation that you have to read when writing your custom S3 client.


Most of my current thinking is hypermedia-related. Useful here is the formal definition of hypermedia, from 4.1.3 of the Fielding dissertation: "Hypermedia is defined by the presence of application control information embedded within, or as a layer above, the presentation of information."

Services like the Web, AtomPub, the Netflix web service, and the Launchpad web service are at level three. They serve documents with embedded "application control information": links and forms that give a more or less generic client hints about how to manipulate this particular web service.

There are degrees of quality within these levels. For instance, big parts of the Web use URIs to name operations, rather than the objects those operations can act on. I think that's bad design, but that's a problem on level one. It doesn't negate the value of HTTP or hypermedia. Similarly, when we have the well-worn argument about which HTTP methods a web service should expose, we're having an argument on level two, not an argument about who's more RESTful. In fact, almost all the currently raging arguments are level one or level two arguments, which is unfortunate as there are some really great flamewars to be had on level three.

I don't intend to defend this classification technique in detail. It's a set of heuristics. In theory you could take URI and HTML seriously but not HTTP; or HTML and HTTP but not URI. But the heuristics are useful in that they 1) encapsulate a fact about how people tend to design web services, 2) make it easy to classify an argument or problem, 3) let you make a snap judgement of how much Web knowledge went into a web service, 4) make it easy to think about RESTfulness (an abstract meta-architectural concept) in terms of specific technologies you should know about already, technologies that are probably the reason you care about REST in the first place.

: At writing group it was proposed that someone remake Dogma as a Dogme 95 film.

[Comments] (4) Beautiful Soup Future: I've got a chunk of time off at the end of the year, not having used it earlier in the year. Among my other projects I'm going to redo Beautiful Soup. This entry is an early spelling out of my rationales and my plans.

Earlier this year I quietly retired Rubyful Soup because I think _why's hpricot does a better job of being a Rubyish screen-scraping parser than RS can be. But nothing similar has happened in Python, mainly because BS is the market leader. I want to keep that going, but I also want to take advantage of the work that's gone on in this field since 2004.

So, what are the useful features of Beautiful Soup?

  1. It can build an object model out of bad HTML.
  2. It can build an object model out of bad XML, if you tell it the rules of your XML vocabulary. (This is just the general case of #1.)
  3. It can convert almost any encoding into Unicode, usually in the absence of an explicit encoding marker or the presence of an incorrect one.
  4. It exposes a useful API. It's easy to learn, more Pythonic than CSS selectors or XPath, and it includes most common ways of traversing the tree.

Of these, the only one I really care about is #4. If I could rid myself of the need to handle all the edge cases in #1-#3, edge cases that in many cases have outstripped my ability to solve them with my current tools and sanity, I'd be happy.

Fortunately, there's html5lib, which is supposed to be as good at parsing HTML as a web browser.

My current plan is to write something that goes on top of html5lib and gives the BS API to whatever DOM you've built. This would take care of #1 and #3. It's not clear to me how you tell html5lib the rules of your XML vocabulary; maybe it only parses valid XML. But BS is relatively rarely used to parse invalid XML, so if I could outsource all the HTML and Unicode crap to html5lib I'd be much more inclined to hack randomly on BS, so I think it's a fair trade.

html5lib already has a "beautifulsoup" tree builder, which creates a tree of Beautiful Soup objects. So in theory I would just need to maintain those objects? I'll find out soon enough.

Best Cheese Name: "Lamb Chopper"

Interestingly enough, made by the same company that makes the best cheese, Humboldt Fog.

If you believe in the superiority of some other cheese or cheese name, you know what to do.

[Comments] (2) Roy Richardson's Computer Buttons: I spent the evening taking pictures of and writing descriptions of the buttons my father got at computer trade shows in the early 1980s. Check them out for a glimpse of a time when you could advertise mainframe software with the slogan "Do It With Frequency." I've mentioned these before, but now they're available for your perusal, with explanations of what software packages they're advertising.

[Comments] (1) I Know What You Crave: More pictures! These are post-QCon pictures from San Francisco, mostly covering my afternoon at the Exploratorium with Susan McCarthy. Guest star: Rohit Khare.

By popular demand (from Susanna), I also put up pictures from Thanksgiving, including a bonus video where my niece Maggie destroys a truck.

: Sumana bought me an issue of G-Fan magazine, the periodical devoted to Godzilla and Japanese special-effects movies in general. I don't think I would subscribe to it, but one issue is fun to go through. For instance, I discovered "A Dinosaur Paleontologist's View of Godzilla." Which, in turn, told me about Mononykus, a dinosaur with one finger on each hand. Creepy!

[Comments] (2) : I can conceivably see how you might think I'd be interested in your stupid "SOA" emails, but if you put any thought at all into putting me on your mailing list it might have also occurred to you that I can't read Chinese.

How do I know your emails are stupid if I can't read Chinese? Well, 1) you're spamming me with them, and 2) they say "SOA." Yeah, I'm a regular Chinese Room.

: There are four Beautiful Soup-related tasks that ought to happen in the near future.

  1. Convert the codebase to Python 3; or rather, convert it to Python 2 that can be automatically converted to Python 3.
  2. Aaron DeVore has a number of interesting additions to the API. They need to be added.
  3. Separate the tree-walker from the tree-builder. Start getting out of the business of writing tree-builders.
  4. Simplify the API.

Aaron is doing the integration work. I'm doing the conversion. Once that's done we'll have a big soup that people can use into the distant future if they don't like what I do in steps 3 and 4, or if I give the whole thing up, which is a distant possibility.

Step 3 is still a mystery. Apparently html5lib is even slower than SGMLParser, so generic is probably the way to go. Maybe something with bindings to lxml and html5lib (this is why you may not like what I do in this step and may want to stick with the all-Python, not-as-slow-as-html5lib version).

What's going to happen in step 4? Ian Bicking wrote an appreciation of lxml that ties in with my Beautiful Soup angst. Mostly to do with the tree-builder, but also rightly bashing BS's primitive CSS matcher. Implementing CSS selectors or XPath is another business I don't want to be in, but I wouldn't mind bundling with someone else's strategies for walking the tree according to CSS selectors or XPath.

I'm not terribly motivated to make these changes because I don't really use Beautiful Soup anymore. Partly because I don't do as much non-work programming as I did pre-Canonical, and partly because the sites I used to screen-scrape back in 2004 have wised up and developed web services or syndication feeds. Redoing the library doesn't feel like a fun use of my end-of-year vacation; I'd rather write stories.

But here's where I start when I think about the changes. For me, the core users of Beautiful Soup are the total newbies, people for whom BS is their first or second Python library. I've never made a secret of the fact that BS is slower than other parsers, and although coupling it with a C tree-builder would speed it up a lot, I'm totally serious when I say the point of BS is to save programmer time at the expense of processor time. If you need speed, you've got options. My overriding concern is people who've just realized they can get the information they need off a web site by writing a computer program.

Unfortunately, about 30% of those people have some specific need that goes beyond the simple API you see in Beautiful Soup 1.x, and over time those additional ways of searching got stuck into the API, and you get the Microsoft Word problem. The complexity of the API is now itself costing programmer time. It needs to stop. (But after I get Aaron's additions in so that I'll have more raw data to do my redesign with.)

So what I'd like to try is a stripped-down Beautiful Soup based on list comprehensions, with a little bit of syntactic sugar for total newbies. Matching is done by calling a factory function that returns the equivalent of a SoupStrainer. The factory functions contain most of what's currently in searchTag. Additional factory functions can implement CSS selectors or XPath, except at this point you should be able to just use a parser that has its own support for CSS selectors or XPath.

Don't even get me started on what I need to do to NewsBruiser eventually...

: I'm someone who's always felt that the mediocre Coen Bros. movie "Burn After Reading" should have been called "Burn Before Reading." At least that way there'd be a joke in it. But I'm pleased to discover that the "burn before reading" joke shows up in Monday Begins on Saturday by another set of brothers, the brothers Strugatski.

I looked over the bare junk-laden room with shards of strange models and fragments of unprofessional drawings, paused by the door to poke my shoe at the folder bearing the smudged legend Absolutely Secret. Burn Before Reading, and went on.

It's an excellent book full of the deadpan fantastic I love so much. I got it from Susan McCarthy, who keeps books in her attic and puts corks from wine bottles on the deadly nails sticking through the attic roof. "One day anthropologists will come up here," she says, "and they'll say 'I guess she came up here and got drunk and read.'"

[Comments] (1) : When we were in college Kris introduced me to the work of Jack Horkheimer, the Star Hustler. This was before online video, so I didn't see any of Horkheimer's actual videos. But I learned enough that we could come up with a skit in which Jack Horkheimer has to repeatedly rename his "Star Hustler" show because an interlocutor insists on interpreting the name of his show as being prostitution-related.

"Star Hustler" did in fact change to "Star Gazer" in the late 90s, for pretty much the reason given in the skit. Anyway, Jack Horkheimer was a stock character for us along the lines of this 1997 Onion story, but the other day I saw on clickolinko "The Many Phases of Jack Horkheimer", a riveting story from the 1982 Miami Herald that will, if not shaming you into stopping making dumb jokes about Jack Horkheimer, at least give his character incredible new depth.

I can't improve on what Kris says about that article: "[T]hat is urban legend stuff. I thought it was a Chuck Norris-type gag at first. The dude kept looking up longer than I would have."

[Comments] (2) Florilegium:

A single proposition isn't a theory, it's a slogan; and what some philosophers do isn't theorizing, it's slogan-honing. What is this labor for? What confusion would be dissipated, what advances in outlook would be created, by success in this endeavor? Do you really need something to print on your T-shirt?

--Daniel Dennett, Consciousness Explained

[Comments] (5) Where Is It? A Continuing Series: We watched a Sesame Street video in which the Sesame Street subway station was visible. The lines accessible from that station are the 1, 2, A, and B. I say this puts Sesame Street in the West Village around 4th street. The Muppet wiki has more.

[Comments] (4) How Strange Is The Loop?: I borrowed I Am a Strange Loop from Evan and read it after reading Consciousness Explained. As you might expect I agree with most of what Hofstadter says in the book, but there's one big thing I don't think he ever makes an argument for.

Nonlocalized consciousness (not the real term) makes it legitimate to think of other people as existing inside you to the extent that you've internalized their mental processes. Which is always really not very much at all, but better than nothing. One implication of this is that fictional characters can exist inside you in the same sense. That seems reasonable to me. Fictional thoughts are thoughts.

But Hofstadter says that you can (and do) actually internalize another person's consciousness on a coarse-grained level: the "strange loop" that drives that person's consciousness. And so not only do (your copies of) other people and fictional characters exist inside you, they are actually conscious inside you, because their strange loop is running on your hardware.

Stipulating the strange loop thing, I guess fictional characters could be called conscious if you simulated their thought processes in enough detail, but is that really what's happening? Do you ever know enough about someone else's thought process to internalize their consciousness, a thing so inaccessible that the person themself can't describe it? When I make up a character I have, in theory, complete control over their mental states, but I don't create a strange loop for them. I use my own, preexisting consciousness to simulate them. That's different. I'm pretending to be them, with greater or lesser success.

I'm not as old as Hofstadter, so I don't have as much practice, but I've known Sumana for about eight years and I do have an internalized Sumana that acts kind of like the real Sumana. But I wouldn't say I've internalized a copy of Sumana's consciousness, her sleep number strange loop. I'm using my own strange loop as the simulation engine.

So my intuition is that my Sumana-symbol, my symbols for dead people I used to know, and my symbols for fictional characters are the same kind of symbols as I keep for other complex entities like the World Wide Web. Not the kind that forms an "I". I can be surprised by something one of my fictional characters does, but it's the same kind of surprise as when I come up with an idea some other way. I don't see where Hofstadter argues that our representations of other people have this unusual property, but a lot of the book assumes it.

I'm explicitly not saying that mental simulations of consciousness would not be conscious. They would be. And I could believe that someone with eg. multiple personality disorder had multiple strange loops in their mind. I just don't think that's what happens when we think about a dead person we used to know.

Everybody Loves Dirt Candy: A few days ago we had dinner at Dirt Candy, a tiny fancy restaurant in the East Village. It was great! And instead of being a horrible Flash monstrosity, the restaurant's website is a weblog! Where owner Amanda Cohen talks about the dishes she invented and links to BoogaBooga.

We had a great time with the spinach soup, mushroom cube, crispy tofu, popcorn pudding, etc. And it'll probably get even better once they have gas. I guess waiting for the gas to get turned on is the restaurant equivalent of waiting for Internet access after you move.

Beautiful Soup Progress: I spent some time today trying to get BS in shape to run under Python 3. Here's the branch I'm working on.

sgmllib doesn't exist in Python 3, so I switched to HTMLParser, which has gotten a lot better at parsing bad HTML. With my hacks in place, only 3 of my unit tests pass under sgmllib but fail under HTMLParser. That's acceptable given that my switching to HTMLParser creates part of the framework I'll use so that you can write a plugin for lxml, html5lib (not as slow as I'd thought), or some other parser. Eventually I'll get rid of the HTMLParser plugin, or at least strip it down so that it doesn't know anything about HTML, making my life easier.

What's left is some minor syntax problems and some huge problems dealing with the way strings work in Python 3 as they go in and out of encodings. At this point I need to stop hacking on BS and do some experiments to get a good understanding of the string changes.

Best Of Bookmarks, January-February: You may or may not know that Sumana and I keep a pile o' bookmarks on del.icio.us (actually in my personal notebook and mirrored to del.icio.us, but close enough). I don't put them on the front page of Crummy with a fancy Javascript widget or anything, because it is part of my personal notebook and I often use it to talk to myself in an invented language while doing research for something I'm writing.

But I don't mind you looking at our bookmarks, so long as you don't consider it a "publication" of mine, and there's so much interesting stuff that didn't make it into NYCB I thought I'd do a series of posts highlighting the most interesting bookmarks from 2008 that are still interesting and whose links still work. Here are the best links from January and February of 2008. I'll post one of these a day.

Best of Bookmarks, March-April: The image is from the Myspace page of Mike Howard (left), a friend of mine from Arvin High, taken during his tour of duty in Iraq. There were other, less ridiculous photos, but why choose one of those? I'd like to get back in touch with Mike but apparently not badly enough to create a Myspace account. Mike, if you see this, send me email.

[Comments] (1) Leonard Nitpicks The Christmas Songs:

A child, a child shivers in the cold
Let us bring him silver and gold

How about bringing him a blanket?

Beautiful Soup Progress #2: Another glorious vacation day squandered porting Beautiful Soup to Python 3 for you ungrateful sods! I have a script that runs 2to3-3.0 on the core codebase and applies a little patch of my own, and I've used it to fix almost all of the Unicode problems. We've still got some kind of problem with the search mechanism, and some problems with HTMLParser (?) differences involving how HTML entities and self-closing tags are handled between Python 2 and Python 3. I'm down to 15 failing tests in the converted code, without breaking any tests in the Python 2 version.

I think a couple people were confused by my earlier statement that you'd be able to "write a plugin for lxml [or] lib5html." I'm talking about using another parser to drive Beautiful Soup tree generation. Turning events generated by some other parser into a generic set of "start tag", "end tag" type events. Thus giving you an alternative to the okay-for-2004-but-not-for-2008 Beautiful Soup rules about parsing bad HTML, and eventually getting rid of those rules altogether, because I don't want to be in that business.

: I just found out that Peter Hodgson, who's been showing up in NYCB for over ten years, is actually Peter Hodgson the Younger, son of the man who made Silly Putty into a product. Peter the Younger went around propagandizing it.

In 1961, he introduced Silly Putty to thousands of excited Soviets in Gorky Park. "They went absolutely nuts when they saw it," said Peter.

: Don't forget about those last-minute gifts. (originally from 2004)

Christmas Chiptunes: This year everyone is a-twitter (and a-Twitter) about 8-Bit Jesus, the excellent album of Christmas carols done in the style of NES games, an album that has doubled in size since the last time I looked at its webpage. But if you can't bear to listen to music not synthesized by a 6502, it's not your only option.

A few years ago the twittering was about The 8bits of Christmas (that really does seem to be the best way to link to it; scroll down to "8bp038"). And this guy puts out a Christmas album every year. There's also this "8 Bit XMAS 2008" which actually comes on an NES cart. If you ask me the first two albums I linked to are the best, but nobody asks me these things.

Sumana listened to some of the music and said, "You won Christmas!"

[Comments] (7) Thoughtcrime Experiments:

As my Christmas present to the Internet I'm soliciting submissions for a new speculative fiction anthology, Thoughtcrime Experiments. Sumana will read slush, I'll select and edit the stories, and we'll publish online under a Creative Commons license.

If you're a spec-fic writer, and there's some story that people you've shown it to have liked, but that you've been unable to find a publisher for, send it to me. If I like the story enough to spend $200 on it, I'll buy it for $200. I hope to buy five stories. Details at the anthology page. Rationale follows.

I've been in a writing group for over a year, and read about thirty stories and a novel because of it. I've mentioned before that half the stories are "a rewrite away from publication quality". What does that mean, really? It means I could easily imagine reading those fifteen stories in a magazine or anthology. But of those fifteen stories, there are only two I want to buy for three cents a word and publish myself.[0] It's different when it's your own money.

Thoughtcrime Experiments is an an experiment with my own money. How hard is it to find five stories that I really want to buy? Given those stories, how hard is it to put together an anthology people will want to read? At the tor.com holiday meetup I cornered Patrick Nielsen Hayden and John Joseph Adams, and asked them whether my plan was feasible.

My takeaway from those conversations is that the toughest part of putting together an anthology is A) getting some "name" writers to promise to contribute stories to anchor the anthology[1], and B) getting a publishing deal.[2] Well, I don't need either of those to consider this project a success, so let's do this. Send your best unpublished story to thoughtcrime.experiments@gmail.com. I'll start promoting this anthology more in the new year, when people come back from vacation and start paying attention again, but it's open for submissions now.

I'm also going to try to write a story for John's current anthology, "Federations", and a pro market wants me to do a rewrite on a different story (yes!). So, busy vacation.

[0] I think one of those stories has sold, as has the novel.

[1] At VPXI Elizabeth Bear told the story of how she broke into the relatively-big time by filling in for a name writer who'd flaked out on an anthology promise. And then eventually found herself being the name writer and flaking out on anthology promises of her own, leaving room for other up-and-coming writers.

[2] Anthology creation, at least the way John does it, seems like you nail down the name contributors, pitch the book to a publisher using the name writers as collateral, put everything together, send out the checks, and submit the manuscript. For some reason I always imagined someone at the publisher coming up with the anthology idea and gathering the stories. But it's more like a novel that you subcontract out.

Best of Bookmarks, May-June:

[Comments] (1) Per Se: In an unprecedented splurge, Sumana and I are eating at Per Se on Sunday. Or as the domain name calls it, Perseny. Given what happened to Ed Levine when he ate at Per Se after comparing its cost on his weblog to Grey's Papaya (follow-up), I can only hope that I'll be presented with a genius dish based on Pac-Man, or a Beautiful Soup-themed soup. I'll take pictures.

Beautiful Soup Progress Report #3: OK, phase one is almost complete. There's just one test failure left in the generated Python 3 version, and I don't think it can be fixed; HTMLParser is just different between 2 and 3.

I haven't found a way in Python 2 code to indicate that a string should be converted into a byte string when the conversion script runs. In some cases I can stick .encode() onto the end and it works in both 2 and 3, but some of my tests have random binary data that's not in any particular encoding. And in some cases calling .encode() is just ugly. Kind of frustrating because about 40% of my test failures ultimately boiled down to marking such-and-such a string as a byte string. So I'd appreciate any ideas.

[Comments] (1) Best of Bookmarks, July-August:

Beautiful Soup 3.1.0: It's out. It's not useful unless you need to use Beautiful Soup with Python 3. But now I'm free to try my parser replacement experiments, which are at least more interesting than screwing around with bytestrings.

: While I'm at it I should mention there's now a Squeak port of Beautiful Soup.

[Comments] (1) Best of Bookmarks: September-October: I didn't really post any links for September due to travel, so I've made up for it by explaining these best-of links in more detail than usual.

[Comments] (1) Best of Bookmarks: November-December: At this point we're close enough to the present that I could just write weblog entries about these, but I press on. Happy 2008!

[Comments] (2) Maraudering Beatnicks: I put up a text dump from one of my favorite old PC games, Flightmare. Just because I felt like doing it. It was a fun game and its writing covers the spectrum of game humor: intentionally funny jokes and puns, over-the-top writing that you're not sure if it's supposed to be funny, and hilarious spelling errors.

[Comments] (6) Best Of Weblogs 2008: Keep looking back! This will probably be the last 2008 retrospective unless I decide to go through the books I read in 2008 or whatever. These are the syndication feeds I'm happiest I subscribed to in 2008. Caution: may contain nepotism.

[Comments] (2) : Sumana has decided that the opposite of fanfic is "slamfic".

[Comments] (2) Squeezing Out The Tube Of 2008: I read 44 books in 2008, about half of what I read in 2007. Kind of depressing given I've got about 130 unread books, enough to keep me busy for the next three years at this rate. On the other hand, I wrote six short stories, compared to two in 2007.

I'm generally dissatisfied with the quality of the books I read in 2008, so I'm only going to mention a few that stood out: The Making of the Atomic Bomb (crummy.com Book of the Year), Anathem (the only fiction on this list), Consciousness Explained, Jimmy Carter's presidential memoir, and Sumana's friend John Morearty's self-published autobiography. Runner-up award to George Saunders, I guess.

A question, a conundrum if you will, about the quality issue. I've got a number of excellent books that I haven't read because I know I'm going to want to keep them. Instead I tend to read huge books that I know I'll discard after reading, to free up the maximum space on my bookshelf. A good strategy if I had infinite time, but I'll only live so long and I want to read books with a higher expected value. So I ask you, how do I force myself to read the books I think will be super good keepers in preference to the ones I just think might be good?

One idea I just thought of is to pick out the 30 books with the lowest expected values and hide them in a box. More room on the unread-book bookshelf = less pressure. And maybe one day I can just get rid of that box and not feel like I lost anything. Any other ideas?

: Man, I can't get enough of that "2008" on the dates of these weblog entries!



Unless otherwise noted, all content licensed by Leonard Richardson
under a Creative Commons License.