An Epic Poem in Five Kilobytes

The Song of Sailor Hsi

(This link requires frames. In fact, it will appear in its own frame. I don't normally hold with frames, but frames are the entire point of the thing, as you'll see.)

This came about, of course, in response to the 5k Web Page Contest at sylloge.com. The challenge was to design a complete web page (or even site) in 5120 bytes or less.

Now, most of the entries seem to have gotten clever with Javascript or DHTML or Flash. That was specifically allowed by the contest rules, and it certainly produces far more impressive results than I managed. But I'm still pleased with my own trick, which manages to call a recursive subroutine without any programming language. It's just standard HTML frames.

To make it work, of course, I had to write a poem with the right "House That Jack Built" structure. As a poem, "Hsi" is okay. I managed to write two verses in one meter, change to another meter without noticing, and then smack my head and go back to fix things. From that point on I was just confused. But you can probably sing it.

And it's about what I wanted it to be about. I had been thinking, earlier that evening, about nanofiction -- 55-word short stories. (Another interestingly restricted form.) I tried to achieve something of the same effect, a complete story in each four-line verse. I wouldn't say I succeeded, but if you know the genre you can figure out what the stories were.

Which is, of course, part of the point.

In the end, my clever trick was a failure. I wanted to use the recursive structure to create a poem which was more than 5 kilobytes long. And "Hsi" isn't -- when you write the whole thing out, it's only about 4000 bytes long. (Even with the GIF bullet at the end.) The frame overhead eats too much space.

If I had a few more kilobytes to work with, I could certainly have gotten the poem length up over the site size. It just takes enough verses. But then it wouldn't be a 5k web site.

But so what. It's a song.

The contest is over now, and I didn't win.

Some thoughts about what I was doing, what other entries were doing, and the difference.

Last updated May 5, 2000.

Zarfhome (map) (down)