Boom, bust

Wow, it’s over two years now since the dot-com bubble burst. Joel has a couple of tables of figures showing stock comparisons, one from last week, and one from two years ago.

The table from October 2000 shows how a selection of tech stocks were prices in that month, compared with their 52-week highs. Lots of 90%+ losses there. This years’ table shows how those same stocks are faring now, compared with their prices back then. Almost all of them are significantly down again, and by similarly large percentages. But that’s over a two year period, as opposed to a 3 month crash.

MTRandomLine plugin

I’ve just finished doing the documentation for my first Movable Type plugin, MTRandomLine. It’s a tag that extracts and displays a random line from a text file, or a Movable Type template module. Right now, I’m using the tag on this page to display the list of random entries you see in the sidebar.

Note that it only performs the random selection when the relevant MT template is rebuilt. It doesn’t give you a new random selection each time you visit the page. There are plenty of server-side and client-side scripts around that do that already (just go to the Movable Type support forum and do a search for “random”).

The tag is probably best suited to doing random quotes, or random images. It’s a bit of a stretch (though entirely possible) to make it display random blog entries. So my next project is to make a <MTRandomEntries> container tag, which will set up a context for a selection of random entries from your blog (or from a category within the blog). You’ll then be able to use the normal <MTEntryTitle>, <MTEntryBody> and other tags within it. Watch out for it soon!

Games Day

One room. Two LCD projectors, throwing 2 x 3 meter pictures against the walls. Two XBoxes. Eight controllers. Eight-way, split-screen, multiplayer Halo!

Holy cow, that rocked.

Oddly enough, Microsoft’s games division doesn’t automatically trigger my ethics reflex. I’ve never had a problem with Microsoft producing games software, because there is so much other entertainment content out there, that the chances of them obtaining a monopoly position are vanishingly small. The XBox itself concerns me a little, because there are fewer corporate adversaries in the console marketplace, and I can imagine that Microsoft’s ultimate goal is to have the it be the “default and only” gaming console. (Likewise with their new mobile phone platform.)

I guess I’m happy enough with MS being a competitor in a healthy, heterogenous marketplace, but not with them having a monopoly position, or with them flexing their muscle against a smaller number of players.

Or maybe I’m just trying to justify my desire for an XBox so I can play Halo? These are the questions that keep me awake at night…

Valid RSS

I’ve made a couple of minor changes to the RSS Feed for my blog. It’s still RSS 0.91 (I haven’t had the time to get to grips with about 1.0 or 2.0 yet–but soon!), but now it’s valid RSS 0.91, as validated by Mark Pilgim and Sam Ruby’s new RSS validation service.

Valid RSS

The main change involved the lastBuildDate and pubDate elements, which have to be in RFC 822 format (e.g., Fri, 25 Oct 2002 07:04:23 +0100). Movable Type can generate a date like this quite happily: <$MTEntryDate format="%a, %d %b %Y %H:%M:%S +0100" $>. But the problem with this is that the time zone (+0100) is now hard-coded. If you change the Time Zone setting in your blog preferences, the RSS feed won’t match up any more.

Not that big a deal, really, but it’s not as elegant as having it pick up the time zone automatically. Movable Type does actually have a time zone element (<$MTBlogTimeZone$>), but it generates the time zone with a colon in the middle, i.e. as “+01:00”.

John Gruber has put together a new MT plugin which provides the time zone in RFC 822 format. You can use this to build up a proper, dynamic RFC 822 date like so: <$MTEntryDate format="%a, %d %b %Y %H:%M:%S" $> <$MTrfc822BlogTimeZone$>. Note that you do need that space between the two tags–if you cut-and-paste from the sample code in the plugin documentation, it’s not there.

Alternatively, you can use Brad Choate’s regex plugin. This doesn’t give you an extra tag, but instead allows you to apply a regular expression to the output of a standard MT tag, like so: <$MTBlogTimezone regex="s/://"$>.

Game On!

Today’s adventure for Alex and me was to visit the Game On exhibition at the Royal Museum. The exhibition first ran at the Barbican in London, but has only just now moved out to the provinces.

The exhibition bills itself as “the first major UK exhibition to explore the vibrant history and culture of video games. Focusing on key developments between 1962 and 2002, it’s an in-depth look at gaming’s fascinating past and limitless future.” (From gameonweb.co.uk). And it really is. Far from being just a random selection of games and consoles stuck in “hands-off” display cases , the exhibition space is genuinely beautiful. It is filled with bold primary colours, posters that explain the history and context of the games, and above all: dozens of monitors and console screens running original games on original hardware, from the 1970s right up to the present, with controllers so you can actually play them yourself!

The exhibition explores the cultural phenomenon of videogames. It doesn’t attempt to explain it–that’s left to other forums–but it shows you where it came from, and how it has evolved over the years.

The fact that it’s fully interactive is entirely appropriate to the subject matter. Films and books are passive media: you can display them, and you can observe them from a certain distance. But videogames are meant to be played. The very essence of a game is that you are involved with it, and that you have control over the story that is being told–even if the story is something as simple as “two opponents hit a ball back and forth between them.” Just as, if you want to understand the modern novel, you have to have read literature from other centuries, if you want to understand the modern videogame, you really ought to have played its ancestors. Game On allows you to do this.

But it’s not just a contextual, educational experience. If you played videogames as you were growing up, the exhibition is a blissful nostalgia trip. And if you’re too young to remember the eighties (and most of the people there this morning were children and teenagers), then it must be interesting to get your hands on all of predecessors to the PS2 and GameCube, and see what all of the grown-ups are on about when they talk about the “good old days” of gaming.

I had a blast. Even though I didn’t get to play many of the games (Alex wanted to be held for most of the time), I’m one of these strange folk who enjoy watching other people play videogames almost as much as playing them myself. If you enjoy games at all (and live near enough to Edinburgh), get yourself along there. (I’d recommend getting there early, though, and on a weekday if you can. Even by mid-morning today it was well busy, and some of the more popular games had queues.)