Skip To Navigation

May 2005

Ugly Graphics

People annoyed at BBC Weather's new ugly graphics are trying to googlebomb the BBC.

But in the end, I think DeadBrain wins.

Not In My Backend, part 2

More things that won't be on my todo list any time soon:

  • Stolen buttons. A good idea, taken too far by some. The odd button is okay, a few is only slightly whorish, too many just look daft. I might make a page listing all the buttons that apply to me, with a nice big warning that I'm taking the piss.
  • Pointless <acronym> and <abbr> tags. These are too often used where the meaning of the abbreviation doesn't matter any more (eg. "HTML"), the meaning is obvious to the audience given the context (eg. "Firefox and IE"), or where most people would be better off if the term was spelt out in full anyway (eg. "As far as I can see"). For concepts that may be completely new to readers, it's my opinion that a link is more useful.
  • AJAX and REST. Most of what I wanted to moan about is covered in "Call an apple an apple". I might end up using JavaScript for something useful here. It might be asynchronous, it might even use XML, but I won't be calling it AJAX. (As a side note, it's a good thing for script to be unobtrusive.)
  • Email notification for comments and trackbacks. I wouldn't use it, and even if anyone else did, I'd probably just end up spamming them.

BZFlag 2

After missing the original 2.0 release of the online tank game in January, I downloaded BZFlag 2.0.2 yesterday. I think it preserves the magic of the original whilst giving it a much-needed visual upgrade and adding more flags to increase variation.

As I posted last year, the game has a good tactical balance and a sense of humour ("You have discovered the useless flag. Use it wisely."), and most importantly, it's fun.

Oh, and the kitty still cracks me up.

Not In My Backend

I was going to write down what I wanted to put in RdMise, but found that too productive. Instead, I made a nice big list of stuff I wasn't going to do.

  • Pingback just seems like too much effort. I looked at Pingback and Trackback when I was writing the blog, and decided I didn't need both. Pingback has better autodiscovery, but I didn't really want that anyway. The main thing that put me off at the time was the use of XML-RPC. It just seems like overkill for what could easily be done in a posted query string (or, as the buzzword-hungry Six Apart calls it, a REST model - I hate that term). The optional title and excerpt that most trackbacks include are a nice bonus.
  • Really long permalinks - An example for this post would be "". Pointless, irritating, and a problem if I make a mistake in the title - I can either leave the URL looking stupid, or I can fix it and break other links. This is apparently some misguided SEO attempt.
  • feed: URIs are just like normal links to RSS feeds, except they have a meaningless "feed:" put at the beginning. Wordpress has them on by default. It's an expired "pre-draft" RFC that several aggregators support. For every user who doesn't use an aggregator already, uses Firefox's live bookmarks, a web based RSS reader, or any other aggregator that hasn't changed system settings to point to itself, the feed: links cause an obscure "Protocol Not Known Error". Even if they manage to copy the URL from the link, they still have to cut off the "feed:" or be met with another error in their aggregator. Other reasons: jpeg://?, standards confusion, user confusion.

Under normal circumstances, this is completely unacceptable.

This is what the term "cover song" was made for: Chance - The Milkshake Song.

Attachment: foc-milkshake.mp3 / 4.63MB / audio/mpeg

Random Links Digest

ChatZilla Status

Changes since 13th May:

  • Reviewed: Bug 291504 - sync-output and focus-input should not have CMD_CONSOLE set, raw can do without CMD_NEED_SRV
  • Reviewed: Bug 293596 - Chatzilla URL munger rule needs tweaking for ending punctuation
  • Reviewed: Bug 293664 - Temporary network's secure/non-secure properties don't get updated when trying to reconnect
  • Reviewed: Bug 294192 - [nit] Having prefs without label and help info with group == hidden still spams the console
  • Reviewed: Bug 294816 - Plugins can't define stringbundles for their preferences, which throws warnings when the plugin is loaded
  • Reviewed: Bug 278900 - nick with ^ character + unrealircd = broken headers and broken nick changes
  • Reviewed: Followup to Bug 273507 - Add 'set me as being /away' to [some] context menu
  • Open ChatZilla bugs: 161

Hopefully these patches can get checked in once Gecko 1.8 gets off the trunk. Seriously though... four betas?


After ages trying to find an Instant Messenger that works for me, I think I've finally done it. A recap:

  • MSN Messenger 7.0 - No. Just no.
  • Gaim - I'm not entirely sure what it is, but all my GTK programs work perfectly fine except The Gimp and Gaim. They keep giving me DLL Hell. In the end, Gaim stopped working completely and I gave up.
  • Trillian - Never tried this. It seems to be like Gaim but not open source, no Jabber support, and an interface that wishes it was MSN Messenger.
  • Psi - Something I used for a while. Basically just a Jabber client, I used it with a transport to connect to MSN. I eventually got put off by lack of decent logging, unreliable Jabber servers, and non-standard interface elements. I'll still watch the project to see if it improves.

And now I'm using... erm, ChatZilla. With a Bitlbee server running, I can use any IRC client to connect to Jabber, MSN, Yahoo, AIM, or ICQ (not that I actually use the last 3). All my contacts appear as IRC users in a channel, and I can talk to them with /msg. Excellent.

Meh, Quizzes are Fun

What is Your World View? Or, I suppose, "What is this site's view of my world view"?

You scored as Postmodernist.

Postmodernism is the belief in complete open interpretation. You see the universe as a collection of information with varying ways of putting it together. There is no absolute truth for you; even the most hardened facts are open to interpretation. Meaning relies on context and even the language you use to describe things should be subject to analysis.

  • Postmodernist 94%
  • Cultural Creative 75%
  • Existentialist 69%
  • Modernist 63%
  • Materialist 56%
  • Romanticist 38%
  • Idealist 31%
  • Fundamentalist 25%

Ahem. Now I need to go back to working out why I see my XUL application as "not bloody working" and perhaps remedy the opinion of my parents that my revision does not seem to be "enough".

New spam


It got through my filter (if you can call it that). Open proxies, no user-agent, no referrer. Possibly related to the Umax spammer.

I'll probably have more time to deal with it if it hits tomorrow.

A Plan For PHP 5

I'm a bit distracted by other things at the moment, but I'll write this up in the hope that it makes me more likely to do it. I still have no idea if it will work.

  • When it starts, RdMise will check which DOM extensions are installed, and throw a fit if it doesn't find one.
  • If dom is found, two functions are defined: LoadXMLFile will create a DOMDocument object, use the load function and return a reference to the object. LoadXMLString will do exactly the same thing with the loadXML function.
  • If domxml is found, the same two functions will be defined, but using a new DOMDocumentWrapper object instead.
  • DOMDocumentWrapper will act a lot like PHP 5's DOMDocument, but internally it will use a PHP 4 DOMDocument. It will only have the functions that RdMise needs.
  • All the RdMise XML code will be changed to use the PHP 5 object. RdPress contains no DOM code, so it shouldn't need to be changed.

Edit from the mysterious future: Please note, I didn't actually do any of this. I gave up on DOM and switched to using PHP's expat functions.

Netscape Browser

Okay, so I tried Netscape 8. Everybody else was doing it.

Netscape 8 is a Firefox-based browser developed by Mercurial Communications for AOL, the owners of the Netscape brand. It bears very little resemblance to Netscape 7.

It's much better than I expected, but to be honest that doesn't say much. I'm just about managing to bear its ugliness and poor usability long enough to write this post. Some observations:

  • The spinning download indicator in the installer turns into an X when you roll over it. Clicking it results in two windows: a "download failed" window with a button to try again, and an "installation success" window with a button to launch the browser. Neither work.
  • The multibar arrows are very close to the main toolbar, and a user could very easily confuse them with the back and forward buttons.
  • The "close tab" button is on every tab. The active tab is automatically made bigger than the others. Neither of these are particularly bad, but together they make the close button a moving target.
  • about:mozilla (The Book of Mozilla, 7:15) is there without the engineers realising that Netscape is the falling beast.
  • The combined Stop/Reload button's tooltip is always "Stop / Reload", which doesn't exactly help a new user work out what the button is at the moment.
  • Opening a new tab causes a copy of the current page to be loaded, and doesn't focus the location bar. Big inconvenience for a heavy tab user.
  • Click areas for buttons are generally unclear.
  • Closing a tab causes the tab to its left to be focused. It's clearly an opinion thing, but it just feels weird to me.
  • Clicking on the maximized titlebar and dragging by as much as a pixel causes the window to "un-maximize".
  • Bookmark folders on the personal toolbar have the hand cursor, even though they aren't links. Menu items inside the folders are links, but don't have the hand cursor.
  • Visiting a page that looks like a default Apache 404 error causes a redirect to Netscape Search. This doesn't happen with my custom 404 error, or with the 404 error page that IIS servers supply.
  • I disabled the "show trusted websites with the Internet Explorer rendering engine" preference in the installer. Microsoft and AOL websites still show with MSHTML.
  • No matter how hard I try, it won't show with anything other than Gecko. Weird, but I don't mind. ;)
  • Spot the odd one out: Netscape's "Trusted Security Partners":
    • Verisign has sold over 36 million digital certificates, and owns most of the other security companies anyway.
    • TRUSTe has been an Internet privacy watchdog for 8 years and is well respected.
    • Paretologic are the vendors of XoftSpy, an anti-spyware product that was, until recently, listed on the Rogue Anti-Spyware Products page. False positives, deceptive advertising, and trademark violation were used to persuade users to purchase. The "new and improved" version 4.0 of XoftSpy was developed by a company you may have heard of: Mercurial Communications.

No, really NoScript

I made a modification to the NoScript extension. It's exactly the same as the "official" 1.0.3, but does not include a default whitelist.

Attachment: noscript-nobollocks.xpi / 0.04MB / application/x-xpinstall


NoScript is a new Firefox extension that blocks all JavaScript until you add sites to a whitelist. It's basically marketed as something that makes Firefox safer.

But that's not the thing I'm bothered with. JavaScript just annoys me most of the time.

M3 Moaning

I've found a few bugs in my iAUDIO M3. Eventually I'll upgrade the firmware and report them properly, but I can't be bothered at the moment. However, I do have about enough energy for textual moaning. What else is a blog for?

  • Bug: If I plug in the charger, then start skipping tracks quickly, pressing the skip button just as the player stops accessing the hard drive, it eventually gets stuck in a loop, repeatedly skipping tracks. Unplugging the charger and turning the player off fixes it.
  • Annoying thing: It won't turn off whilst it's charging. I suppose that makes sense, but it would be useful if it turned itself off after the battery is full.
  • Bug: Loading a text file at the exact moment a track ends causes the player to stop playing.
  • Bug: Pressing the A↔B button twice quickly freezes the player until I press A↔B again. The A↔B indicator stays on the display until the next track.
  • Bug: Sometimes the screen is blank. The player works, and the backlight comes on, but nothing else.

VLC 0.8.2-test1

There's a beta release of VLC. Lots of stuff works slightly better in this minor release, including the playlist window that was starting to annoy me.

I like VLC for three main reasons: it's free, it's trustworthy, and it scales. The free bit's obvious: I don't have to pay anything, anyone can change it (including me if I ever needed to), and it's very hard to censor.

Trust. There's not much logic here, but it doesn't stop it being true: I don't trust Windows Media Player. Or RealPlayer. Or QuickTime. Winamp, I'm not sure.

If I want to use VLC to play something, it's small. It does the job without complaining, and supports a surprising number of formats. But if I want to use VLC to stream audio from an MP3 file over an IPv6 multicast whilst transcoding it to OGG Vorbis and playing it locally with a timeshift of 10 seconds, I can do that as well. I can enable buffer aggressiveness, trellis quantisation, or virtual spatialization (if I knew what they meant). I'm amazed that it can have so many options, but still seem simple when I'm using it.


Quick note: ChatZilla is out. Minor release.

Revision fixes some problems with character encodings in DCC Chat, makes DCC File transfers use proper SI units, and finally adds 'conference mode' which lets you hide joins and parts in large channels.

ChatZilla Status

Lots of patch reviews have been requested recently. Bugs marked with * are fixed in ChatZilla 0.9.68.

  • Fixed: Bug 278763 - ChatZilla's kick-ban command should put * at the end of an IP address, not the beginning
  • Partially fixed: Bug 292428 - Make automatic away checking not suck
  • Partially fixed, followups awaiting review: Bug 273507* - Add 'set me as being /away' to [some] context menu
  • Awaiting review: Bug 207195 - cannot hide joins/parts in chat window [conference mode]
  • Awaiting review: Followup to Bug 257026 - Feature Request: URL Logger [Exclude URL logging for topics]
  • Awaiting review: Bug 238050* - mIRC colours 0 and 1 shouldn't be treated specially
  • Awaiting review: Bug 283521 - Add security icon/button to the Chatzilla status bar
  • Awaiting review: Bug 293596 - Chatzilla URL munger rule needs tweaking for ending punctuation
  • Awaiting review: Bug 293664 - Temporary network's secure/non-secure properties don't get updated when trying to reconnect
  • Reviewed: Bug 204411* - charset change does not affect channel topic
  • Awaiting review: Bug 228962* - Switching from single-line input to multi-line input should not lose the text
  • Awaiting review: Bug 262821* - outputFilters should receive message destination as a parameter
  • Awaiting review: Bug 180574* - ban, unban aliases not implemented
  • Open ChatZilla bugs: 160


  • Last day at school before exams - I recorded most of the day on my M3. Might upload it at some point.
  • I took part in a Numbcast, and recorded my own "behind the scenes" version. This too may get uploaded at the time known as "later".
  • My Podlag is huge. I'm currently listening to Wednesday's Evil Genius Chronicles with Dave Slasher, um, I mean, Slusher.
  • It only took me two days before I got annoyed at the Adobe Reader Firefox plugin and disabled it. Plugins are evil.
  • I'll probably do another ChatZilla update soon.

"Just Don't Get It" award, round two

The MPAA is suing some BitTorrent sites associated with TV shows. Among other things, their President and CEO says this (from press release "MPAA TAKES NEW ACTION AGAINST TV SHOW THIEVES"):

On these sites, anyone in the world can download entire television seasons in a single click.

That's the whole point. "[A]nyone in the world" can't watch the TV shows they want because they're only showing in the USA, or Japan, or because some company bought the rights and then sat on them.

They can't get the entire season because you haven't released the DVD yet, and their Tivo magically started deleting episodes. Or you did release the DVD, but it's encrypted with the wrong region code. People who want to pay for the content cannot do so.

And "in a single click" is a slight exaggeration of BitTorrent's ease-of-use. If it was that simple, nobody would be talking about Kazaa.

Xbox 360 revealed

Some interesting stuff in the video. And yes, I am just posting this so it's before AD4M.

Oh, and streaming sucks.

Working on it...

I've got PHP 4 and PHP 5 installed on my local server (IIS 5.1). I installed PHP 4, moved php.ini from the Windows folder to the PHP4 folder, repeated that process for PHP 5, then manually edited the IIS scriptmap settings so .php is PHP 5 and .php4 is PHP 4.

Then, to make RdMIse work, I copied php_domxml.dll and iconv.dll from a PHP zip package to the PHP 4 folder, and added the domxml entry to php.ini. I created "rdmi.php4", which just includes the real rdmi.php to make it run under PHP 4.

I'm aiming to have the next version of RdMise working on Apache/PHP4, IIS/PHP4, and IIS/PHP5. A SitePoint post I found has lot of reasons why people aren't moving to PHP5.


I just installed PHP 5 on my local server, and RdMise... is completely broken. The domxml extension basically doesn't exist in 5.0. I might be able to replace it with dom, but I'll have to code for both in the end.

Incidentally, the Backward Incompatible Changes page doesn't mention this, but does say stuff like "In some cases classes must be declared before used" without telling me exactly how it might break everything I've written. :| Relaunch

Apparently it's coming back up at 2am GMT. There'll be an IRC chat in Undernet #beatallica, though it's a bit late for UK people.

A Loony Victory

The results are in for the Beverley Grammar School mock election:

  1. Buff Steadier Griffin, Official Monster Raving Loony: 181 (30.78%)
  2. Alex Fletcher, Communist: 152 (25.85%)
  3. Craig McBain, Labour: 85 (14.46%)
  4. Daniel Thompson, Liberal Democrat: 83 (14.12%)
  5. Ben Pickwell-Smith, Conservative: 52 (8.84%)
  6. Rhys Davies, Green: 35 (5.95%)

Total votes: 588 (70.13% turnout)

Oh, and, the real Beverley and Holderness seat was won by one of those minor parties.

Update to static pages

I've updated the music and feedroll pages, and added some small Greasemonkey scripts.

Now I just need to do some real development...