Nuance 2.0

No more blogging here. See Just a Gwai Lo, improvident lackwit, or Urban Vancouver for my latest ramblings. See also my personal site, which aggregates most of my writing on the web.

March 22, 2006

A Year Since

It's been a year since posting to this weblog (less than a year, if you count the the Asides section), and since then I've moved most of my sites to Drupal. I upgraded this site's CMS, Movable Type, to the latest version, which at this writing is 3.2. MT doesn't have the same release cycle as Drupal, but then again, MT's development responds to business cycles, Drupal's development happens irrespective of business cycles. As far as 'bloggy' CMS' go, I've tended to recommend starting with WordPress (or the hosted service), partly because of the licensing, partly because of the features (RSS for everything, for example), partly because it seems to have a more lighthearted, less commercial community than Movable Type. That's not to say a commercial community is a bad thing and that open source software can't and shouldn't have a commercial community. It's not to say that you shouldn't use MT either: I stopped using it because I realized that I knew some PHP and no Perl, and didn't feel like learning the latter.

There's no point to this, other than that Undeniably Geeky, MovableBlog's successor-without-the-word-'blog'-in-the-title, ended up syndicating articles tagged as 'geeky' on my personal weblog, and having to build readership from scratch again is, well, hard. So maybe this is a post triumphantly welcoming myself back to blogging on the domain, or maybe it's only to acknowledge that it's been a year since writing in long form here. Or maybe I should do as someone thought I had once did, and convert this site to Drupal.

Posted by Richard at 4:03 |

March 22, 2005

Questions About Google's "Similar pages" Links

It's probably a safe bet that most people reading my weblog(s) are either bloggers themselves or at the very least, read a few weblogs. It's probably an even safer bet that you're familiar with Google. Those who are either (again, most likely both), I have two questions:

I ask because in my 4+ years of blogging, I've never, not once, seen someone come through a 'related link' referrer. Now, I'm willing to concede that I'm blocking one or two out of my memory, but none ever stood out for me to remember clearly. Also, I can count on one hand the amount of times I've clicked "Similar pages" and actually went to a site based on the results. This is out of thousands of searches over the same stretch I knew about weblogs and have been blogging. I've seen absolutely nobody talk about this 'feature' in the last 2 years, give or take.

Google doesn't even seem to serve ads on those results. Are those links so under-clicked that Google doesn't even bother? And if so, why have those links in the first place? Wouldn't it be more compelling—when and after Google buys a respectable weblog search engine, or develops their own, of course—to have a link to the people currently talking about that page?

Posted by Richard at 12:03 |

February 28, 2005

Configure the HTML Elements Allowed by the Drupal Aggregator

Earlier this month, I submitted a patch to the aggregator module in Drupal which let you determine which HTML elements to allow into your aggregator. This is for the times when you have, say, a site about China with section that aggregates photos.

I'm mirroring the patch on You will probably need to know your way around the patch command (check out Drupal's page on the subject if you're not) and use the CVS version of the module, on which my patch was based, but you can probably patch the 4.5.x version of it as well.

Not that the patch is huge or will disappear or anything. This is just my way of finally fulfilling my self-imposed quota of at least one feature post to this weblog a month.

Posted by Richard at 10:02 |

January 2, 2005

Comments on MovableBlog

Keeping with a New Years resolution, most entries here on MovableBlog will have comments enabled. As time approaches infinity, so does this weblog approach the features of, so Asides with either commentary or that link to something without comments enabled will also have comments (as does the inaugral "Aside"-with-comments about 43 Things). If it's merely a summary of something that has comments enabled, then no comments. All feature entries will have comments enabled for 2 weeks. Comment moderation is in effect, so if your comment does not initially appear, it probably needs to be approved by yours truly.

To put a twist on the original, each individual "Aside" will have an RSS feed for comments, signified with a linked graphic as well as a link RSS autodiscovery element in the page's header of individual "Asides" with comments enabled.

Posted by Richard at 10:01 |

December 22, 2004

Instead of Feeling Overwhelmed by the Amount of Information That I Ought To Be Absorbing

Suw Charman, writing in her Strange Attractor weblog, writes about the feeling after switching to NetNewsWire from Bloglines:

At last, I feel like I am in control of my aggregator again. Instead of feeling overwhelmed by the amount of information that I ought to be absorbing, instead of feeling scared to open my aggregator because the unread posts are gonna overtop any second and flood my poor little brain, I feel like I have a nice, tidy resource that I can dip into any time I want. Of course, much of this is an illusion, facilitated by a folder cunningly called 'blogs/tech/stuff' which contains pretty much everything that's currently uncategorised, but I can cope with that act of wilful self-deception.

I've been using NetNewsWire for about a month now, and the 2.0 release makes it a rather elegant and feature-rich, though still simple and easy-to-use, aggregator. The desktop aggregators I've tried on my now-lonely Windows XP box (though you'd think it would welcome the presence of its attractive cousin, the Powerbook G4), made me appreciate content aggregation from both a consumer and provider's point of view. I started on Syndirella, which had a neat screen-scraping feature for those sites that did not have RSS feeds. After active development ceased, I moved to to SharpReader. It has really neat features, like showing the relationships between individual entries aggregated by the software, but it was a memory hog when memory my older system was and still is at a premium. FeedDemon, and though my bank account may have squirmed under the pressure at the time, it was fully worth the purchase price. Development is active, and the 1.5 release, in beta at this writing, is zippy has a really great feature set. I recommend it without hesitation to Windows XP users.

The feature I most liked about FeedDemon, and that I like about NetNewsWire, is seeing the text from all the items ordered reverse-chronologically, be it from an individual feed, a group of feeds, or the list of items that are new. This is the way of displaying feed items that makes the most sense to me, and is the least email-like. The central idea of weblogs, or at least one of the central ideas, is that we were supposed to have web-based, linkable, fairly short (but size doesn't always matter), timely posts that fade into the archives. NNW gives me the option to view the full text of the entries sorted reverse-chronologically. (View » Layout » Combined View.) I'm liking more and more the idea of having one page to look at and letting the old stuff just fall away. This will matter most to people who value only the most recent information. Anything older than that will not be useful to them.

I'm not one of those people, however: I read personal weblogs more than I read technological weblogs, and if it's a few days old and well-written, I'll read, link to, and comment on what they've written. The value for me, then, is not when the information was produced but what that information is. A lot of people are like that. A lot of people also feel there is little value in historical information, because if they're only interested in commenting on what happened in the last day or so, then they'll just set their hundreds of posts that they missed to the "read" status and move on to the new stuff. Instead of feeling overwhelmed by the amount of information that they ought to be absorbing, then, they could just let the new stuff wash over them as if the old information was never there.

Besides, isn't that what search engines are for?

Posted by Richard at 11:12 |

November 30, 2004

Related Links in Your Sidebar Using RSS, PHP and Magpie, for me, is not so much a way to store my bookmarks online and view others' bookmarks as it is a collaborative linkblogging tool. In this article, I detail how I created a "related links" sidebar on my personal weblog, Just a Gwai Lo (scroll down to the "Delicious" heading; the same script is used to generate a less-cluttered page of links). Here is, in brief, how it works: I make a link at, tag it—generally looking at the HTML pages of the tags I'm using, to see what I'm getting myself into—and then use the RSS feeds generated for each tag to add on a few links as, essentially, related links. If Flickr had tags inside a <dc:subject> element like did, I'd be spending the time writing this article making basically the same thing, except a "related photos" page. I suppose I could learn the APIs for both and Flickr and accomplish the same thing, but I'd rather not.

The first two lines of the script enable the RSS fetching functions from the Magpie RSS library. The line after that starts an unordered list for the links. If you'd rather skip reading the explanation in this article, you can view the source code. One day I'll put this code in my Subversion repository, which gently weeps because it is currently empty.

I should mention that the source code is the most current version of the script, and may differ slightly from what you read below.

You need the Magpie PHP RSS library. Also make sure to make the changes noted in the script itself.

require_once "/home/richard/rssclasses/";
require_once "/home/richard/rssclasses/";

print "<ul>\n";

The third line tells the rest of the script what your username is:

$username = "username"; // replace with your username

When I was testing the script, was down for a few minutes, and I needed the ability to say the links were "unavailable at the moment". The Magpie Cookbook gives a method for cloaking warnings, so I included the following line before Magpie fetched the RSS feed.

error_reporting(E_ERROR); // cloak error messages

The next line fetches the RSS feed and puts the items into an an object.

$del = fetch_rss("".$username);

The next line simply checks to see whether the fetch was successful:

if ($del) {

Since shows the last 30 links that you've posted, it can get a little out of hand when you have related links on top of that, so I limit the amount of links to 5. You can experiment with the number to get the amount you're commfortable displaying.

$delitems = array_slice($del->items, 0, 5);

Starting the loop to display the items from the RSS feed:

foreach ($delitems as $item) {

The next line and following if block check to see if the date has been printed yet. If you want a different date format than, for example, "November 21st, 2004", check the PHP date codes and replace "F jS, Y" accordingly.

   $datethis = date("F jS, Y", parse_w3cdtf($item['dc']['date']));    
if ($datethis != $dateprinted) {
print " <li>";
print $datethis;
print "</li>\n";

Now comes the code to display your link and the description, if there is one. I like having lots of print statements because it makes debugging easier.

   print "  <li>";
print "<a href=\"";
print $item['link'];
print "\">";
print $item['title'];
print "</a>";
if ($item['description'] != "") {
print ": ";
print $item['description'];
print "</li>\n";

Now the fun part. The next if statement checks to see if there is a <dc:subject> element inside the item that the script is processing, which means you have tagged the link with one or more tags.

   if (isset($item['dc']['subject'])) {

If there are tags, then the script converts the string separated by spaces into an array.

     $tags = explode(" ", $item['dc']['subject']);

Now the script creates another list item in HTML, then starts a nested list within that list item.

     print "  <li>\n";
print " <ul>\n";

After starting the nested list, the script fetches the RSS feed for each of the tags in the item. The third line in thiis code block limits the related items to 2, because otherwise, if you tag your item with a lot of tags, you'll get a lot of related items.

     foreach ($tags as $tag) {
$tagrss = fetch_rss("".$tag);
$tagitems = array_slice($tagrss->items, 0, 2);

Still only processing the RSS feed of one of your tags, another loop starts to process the items in that RSS feed. The second line filters out links created by you (after all, those links appear in the RSS feed for the tag as well) because it would just be redundant, especially if the last few links with that tag were your links.

       foreach ($tagitems as $tagitem) {
if ($tagitem['dc']['creator'] != $username) {
print " <li>";
print "<a href=\"";
print $tagitem['link'];
print "\">";
print $tagitem['title'];
print "</a>";

We're still in the second loop (that is, inside the loop for the tag's RSS feed which is inside the loop for processing the tags of your original item), and the following block...

           if (rtrim($tagitem['description']) != "") {
print ": ";
print $tagitem['description'];

Because you were not the original author of the related link--unless you have another account that you linked something using the same tag with--you can absolve yourself of some responsibility of the content (link URL, text and description) by saying who it was linked by. In this script, I had it so that it linked to the author's page. (It seemed only fair that if I'm syndicating their content I should link to the page from which it came.) After doing this, all the loops, except for the very first, which is of your links' RSS feed, are closed, as is the nested list.

           print " (linked by ";
print "<a href=\"";
print $tagitem['dc']['creator'];
print "\">";
print $tagitem['dc']['creator'];
print "</a>)</li>\n";
print " </ul>\n";
print " </li>\n";

The next line stores the date of the most recent item printed, so that when it goes back to the top of the loop, it can check against the date of the next item. The original loop is closed (after all of your items are processed) and the if block is closed.

   $dateprinted = $datethis;

Remember how we had the rudimentary error checking at the beginning? The following else block just prints something more friendly than an ungly error message. Lastly, the end tag for the unordered list is printed.

else {
print "<li> links not available at the moment.</li>\n";

print "</ul>";

That's the script. Let me know if you run into any problems with it. I've been meaning to update my instructions to integrate PHP and using Magpie and my instructions to integrate using a Movable Type plugin, but instead wrote the above script.

Posted by Richard at 11:11 |

November 24, 2004

Letters From Home

The chances of my doing a podcast, which, as I understand it, is posting audio of people talking, are pretty slim. I've listened to a few podcasts, and finished listening to only a handful of those. As a podcast consumer and producer, then, I admit to not really understanding the big deal, but then again, I don't really get the big deal about talk shows in general. That's what podcasts are, and that's fine. Lots of people like talk shows, but I'm not a big fan.

As a cultural phenomenon, then, I think I get it, and it's a big deal, because for the price of a computer, a microphone, and an Internet connection, anybody who wants a talk show can have one. That's a lot less than having to ask for a broadcast license (are the days of podcasting licenses near?), setting up a radio station, and so on. The interesting part about podcasting is you don't really need a "pod" (or personal audio player) to listen in. As long as you have a computer with audio (who doesn't?) and an audio player, then you can consume podcasts. You could almost say that pods don't belong in podcasting. 10 points if you got the movie reference.

I am most excited not about people having their own talk shows, but people using podcasting to talk to their friends and family, using them as "letters from home". That phrase comes to me from DJ Shadow's "Letter From Home (Track 1)" and DJ Shadow's "Letter From Home (Track 14)", the first and last tracks of his excellent album The Private Press. (His first album, Endtroducing.... which combined thousands of samples to create an instrumental hip-hop album, is far and away my favourite of all time.) In both the "Letter From Home" tracks, DJ Shadow plays some found art, recordings people have made of themselves speaking to their family members and other assorted loved ones. The first one is a woman talking about how she had difficulty setting up her recorder and how her trip went, and the second is from a man talking about how hot it is and a woman talking about her vacation and plans to return.

I was once instant messaging with a friend whose phone number I didn't have, and felt silly asking for it, since we talked most of the time via IM anyway. She had audioblogged at one point, possibly about a rant she had, I forget. I called up the weblog entry that she posted her audioblog to, and just listened. Not for content, but to hear her voice. Blogging is great—no, really—but it's not really the unedited voice of an individual, at least not literally. Podcasting is the real unedited voice of an individual. It's terribly exciting to hear the voices of people whom I mostly know through print. I'm sure this will wear off, but it's exciting to hear the famous-to-me people speak in my living room, such as my living room is.

In the longer run, voice over IP is probably a bigger deal than podcasting, because with voice over IP, you can at least have a conversation. But podcasting is revolutionary in that, just as blogging did, it lengthens the tail. In other words, the big deal is no longer that some people can do it, but that pretty much everybody can. As a non-consumer non-producer of podcasts, I can at least appreciate them for that.

Posted by Richard at 7:11 |

November 20, 2004

My Name in Print

Rogers Cadenhead is someone I've had respect for as a writer on RSS, Java, and especially—though I used the software all of twice—Radio Userland. In March of this year, he asked my permission to publish a screenshot of the Trackback listing of my review of the TypePad hosted blogging service in his then-forthcoming book on Movable Type. I agreed, being honoured just for having been asked. This month, his book Movable Type 3 Bible, Desktop Edition hit the stores. While in Portland, Oregon, visiting friends, I stopped by the Powell's Technical Bookstore and asked if they had a copy (but not before looking for it myself). When presented with the copy, looking at the section for Trackback, and seeing myself and my website referred to in print—for the first time, my knowledge—over two pages no less, the purchase decision was an easy one.

The following are the relevant paragraphs:

Figure 11-1 shows how trackback links are presented in MovableBlog, a weblog by Richard Eriksson ( His site is devoted to poking around Movable Type, and when he wrote an entry reviewing Six Apart's TypePad hosting service, his review was discussed on six other weblogs. These weblogs sent trackback messages to Eriksson's server that were received by Movable Type and saved to his weblog's database.

As a means of receiving feedback on your work, trackback is comparable to receiving comments in response to an entry— but in this case the comments are hosted on someone else's weblog. On MovableBlog, Eriksson presents trackback links on the same page as comments, enabling his visitors to see the kind of feedback each of his entries has received. Mena and Ben Trott, inventors of the protocol, call it a form of remote commenting.

read the rest of this article

Posted by Richard at 1:11 |

November 16, 2004

Search Engine Optimization Gets You Accessibility For Free, and Vice Versa

Trenton Moss writes an excellent short article on search engine optimization and usability, two subjects which go hand in hand, because the more usable your site is, and the higher the quality of information the site is, the more likely people are going to come for return, paying visits:

By providing creative, unique and regularly updated content on your Website, other Webmasters will want to link to your site: doing so will provide extra value to their site visitors. Of course, you'll also be adding value for your site visitors.

I like the emphasis placed on making a site structured and and accessibility. He's implying that if you make a site accessible, you get search engine optimization for free, and if you make a site search engine optimized, you get accessibility for free. (I credit the phrase "you get [x] for free" as well as the idea that accessibility and search engine optimization are two sides of the same coin&mdash;as if "hand in hand" wasn't enough of a metaphor for you&mdash;to Boris Mann.)

Posted by Richard at 12:11 |

November 4, 2004

In the Future, Domains and URLs Won't Matter

Darren Barefoot writes some excellent advice on choosing a domain name. (I work for Bryght, a company he mentions as an example of having a bad domain name.) A common joke amongst geeks when a new phrase invented—sometimes by the leader of a certain very powerful, English-speaking country, the current example being Rumors on the Internets—the first thought is to register the domain. That way, when the appropriate time comes, you can put up a website mocking said new phrase (in the case of "Rumors on the Internets", by simply looping video of the aforementioned leader saying the phrase—which used to be the case, at least), and hey, maybe you might even register the domain first before realizing that you can somehow profit from it, or at least start a company around it.

Registering a domain, though, will become less important a) when that domain has already been registered (somebody beat me to by a couple of days) and b) when all that matters is not what people type in the address box but what people type in a search box for the search engine du jour, that title held currently by Google. With Firefox for all platforms and Safari for the Mac coming with a Google text box as the default web search text box, Google because the default search engine, just as Netscape, being the home page of the Netscape Navigator browser, became the default starting point for the web for most people. The default search engine for many is MSN now that Internet Explorer is deployed on the vast majority of computers.

As Darren pointed out earlier, the home page will no longer be the most important page on a person or company's website, though the manifesto he links to does not adequately state why this is the case. The reason the home page is not the most important page is because most visitors will be coming into your site via search engine requests, and as is the nature of users on the Internet, expect unexpected search terms for people landing on your site. (That is, if Disturbing Search Requests—a site that is text-based but is not necessarily safe for a sex-free environment—is any guide.) Because most visitors will be seeking you out rather than be led to your site by any clever advertising you have devised, high search engine ranking (i.e. on the first page of results on the default setting for the number of results a search engine gives, either because what they're looking for is on the first page or they are too impatient to click "next") for the key words of your core business—or even a business that you would like to expand into—is priority #1, and not purchasing that thousand-dollar domain name that some kid is squatting on.

I say that this is the future and not the present, because short, descriptive URLs are important now for the following reasons:

When users—if you are reading this weblog, the odds are that you are a techie and while I salute you, you are not in the majority—look for something, they either type the text that they are searching for in the address box or go to Google and type in what they are looking for. People are much less likely to remember what URL they found something than the search terms they used to find it.

Posted by Richard at 4:11 |

October 19, 2004


In August, I pseudo-complained that Six Apart wasn't promoting actual uses of their software on their site. Anil Dash seems to have stopped link-blogging at his personal site—which is a shame, since I liked the stuff he had about politics and race and Prince (not that it matters: he has been blogging some of that stuff in the features section)—and moved it to the rather excellent Six Apart Professional Network weblog. 6A employees Mark Paschal, Brenna Koch, Paul Lindner and Ezra Cooper have also blogged at the site, but it is mostly Anil Dash's show. That weblog, along with unofficial weblogs Movalog and Learning Movable Type, are what MovableBlog set out to be and could never attain. Lack of time due to a full-time job and and a partial divestment of the emotional investment I had in the software is leading me to focus on matters other than MovableBlog as well as the Asides, so if updates seem less frequent than their usual infrequency, those are my reasons.

Posted by Richard at 2:10 |

September 1, 2004


Like Roland, Boris, James and Adrian, I am a Bryght Guy. Bryght will promote the open source CMS Drupal, develop custom instances of and offer mass hosting and consulting services for the software and CivicSpace, and support the Drupal community. I have a 4-word title, which I feel the need to point out, but I'll deny any accusation of being a developer or decision-maker for the company. James Walker and Adrian Roussow are the developers, and fellow Vancouverites Roland Tanglao is the Chief Blogging Officer (!) and Boris Mann is the Drupal Kool-Aid keeper, so to speak. The only person I speak for on my sites is myself. That said, I now have a corporate weblog, which I will try to syndicate here and elsewhere.

I met Roland for the first time in January of this year. He knew me because of MovableBlog but also because of the now defunct Vancouver Webloggers site as well as the other blogging exploits too numerous to mention. I met Boris some time before April of this year, but long story short, my weblogs got me noticed and helped in getting my new job, but I hear that's de rigeur these days.

Supporting Drupal does not mean I'm giving up on Movable Type. 3.1 adds really great features that makes it worth buying, and Six Apart has made a commitment to the people who develop around it, and I do not expect that commitment to waver. That said, anything I say about Drupal or Movable Type or even Wordpress (I use all three daily) as well as the companies and people behind them should be considered alongside the company I work for. Since it's a market, there is of course competition involved, but history will show that this is the golden age of blogging and blogging software, and I'm glad to be a small part of it.

Posted by Richard at 5:09 |

August 19, 2004

Six Apart and Dog Food

With the hiring of Brad Choate as a software engineer at Six Apart, I discover the existence of a list of 6A bloggers. (That's what I get for nor reading the HTML versions of weblogs.) I'm not as heavily involved with Movable Type in the creation of my personal weblogs—of the too many weblogs I write, this one is the only one powered by MT—nor with my independent consulting—there's a reason for that, although the details haven't been finalized—so my only real source for MT-related news is Anil Dash's links weblog. He pimps MT pretty hard in that section, but then again, can you blame him?

I'm probably not going to follow MT as much as I did in the past (see vague reference above), but I did whip up an OPML file of the Six Apart bloggers. This is not a comprehensive list, so I'd appreciate a heads up on errors and omissions, and I had to actually search for some of them. Why are the board members and executives and board members with weblogs not linked in the Six Apart about page? If it were up to me—and there are doubtless good reasons why it's not—I would link to all employees to show what can be done with the software they produce with a standard disclaimer about the opinions expressed on their weblogs being their own. Of even better, embrace their diversity of opinion without a disclaimer. Okay, that should be reason enough why it's not up to me.

Most of their weblogs discuss very little about the company itself. One just recently posted photos of her cat. (I hang my head in shame that, as a blogger, not only have I never posted photos of my cat, but I don't even have one.) I recently overheard a woman who said that she does not want her developers writing weblogs. She wants them developing software while on company time, and that's fair. If you're hired to do something, but instead you do something else, then by definition you're not doing your job. I subscribed to one 6A blogger who stopped talking about their code and what the company was doing and focussed on their personal life. (Don't worry, I won't say who it is, but that's only because I've forgotten who it was.) I unsubscribed from the feed thinking "This is not what I subscribed for."

I stand by my unsubscription (I stand by everything I've done and said as an accurate reflection of the way I felt at the time), but only by looking at the weblogs of 6A employees do I understand that they are more than "just" employees of a hip Bay Area software company: they're people who define themselves by more than what they do to pay their bills, even if what they do to pay their bills happens to give them great satisfaction. That's what blogging is supposed to be: it's about telling the world how human you are and how human you can be. It's about saying as much or as little as you want to say about yourself, which is why the company needs to, to use an ugly geek expression I only heard used repeatedly and unproblematically just recently, not only eat their dog food but show how their employees are eating their dog food. Because as the OPML file shows, they do just that.

Posted by Richard at 5:08 |

August 11, 2004

How I Won the Xoduszero Contest

I won the Canadian Search Engine Optimization Contest, which was to become #1 for the made-up keyword Xoduszero. I'm writing this on my new, very pretty, 17-inch Flatron L1710S. Even though I don't believe in Him, it is now clear to me that the good Lord above did not intend man to surf the Internet on a flickering Dell 15-inch CRT monitor. Not that I'm going to throw away the old monitor: I'm seriously considering setting up a dual-monitor system, the one thing holding me back being the fact that I will never want to go to a single-monitor setup ever again.

The reason I won the contest is very simple: I had pre-existing Pagerank. I'm linked in the Open Directory, which, I understand, also matters. Oh, and I asked for (and received) a Google Bomb. I thank those that linked to me. To pre-emptively thank those that linked to me, I added to the Xoduszero article, in the "Extended Entry", a little PHP script that took the RSS feed of a Technorati watch for the permanent link (hypocrisy!) showing an unordered list of those who linked to that post. The code is very similar to the code to integrate using PHP. I also linked to the entry from my other weblogs—with their own pre-existing Pagerank—and it was automatically syndicated in at least 4 places, 3 of which I have admin access to. (The one I knew about but don't have admin access to is the MT-Plugins syndication page.) Let the record reflect that the syndicating sites existed before I even heard of the contest.

Syndication helped increase my chances of winning. So did the bloggers who linked to me. I'm not entirely convinced that valid XHTML code really helps that much in one's ranking, but I'll be happy to delete this sentence and link to someone who can provide me with a concrete example. The reason, I think, people linked to me was because many had read this site previously, thought it a useful addition to the weblog community, and were nice enough to Google-bomb me to win a $500 monitor ($600 including taxes). Anil Dash wrote, when he linked to the page declaring him the winner of the search engine optimization contest he entered, "remember, bloggers, use your pagerank for good, not evil". Offering to donate to charity if I won was my way of doing good (same with automatically linking back to the weblogs that linked to the Xoduszero post, using Technorati, which, helpfully, also kept the entry automatically updated throughout the month).

A word about the other competitors. At the end of the competition, there were three weblogs in the top 10: mine, Roland's (he was not an entrant, and as disclosure, he is a colleague, but he linked me of his own volition), and the Xoduszero SEO Blog. I imagine that if that last one was updated a little more frequently—a lot more frequently, since it was updated twice—it had the best chance to win. The other "static" sites were all nonsense, one even making up a definition of Xoduszero to give an official air to it. The Xoduszero SEO Blog writer, though, even considered donating to the Vancouver Community Network, the non-profit ISP for low-income Vancouver residents, that I donated to, because the writer once worked for VCN. If it wasn't me who won (hey, I gotta look out for #1 here), I would have liked to see it win, because it would prove that actual, interesting content wins over keyword stuffing and link spamming.

Did I learn anything from it? Not really. I already knew weblogs and their individual pages had relatively high-ranking in search engines. The neat thing about search-engine ranking contests, though, is that there is material incentive for people other than search engine optimization experts to participate, and then when it's over, to go back and analyze what search engine optimization techniques work and which don't. So far, after Anil Dash's victory, weblogs are 2 for 3, his win coming in the second round of the Nigritude Ultramarine contest (and coming a close second in the first round). If there's ever a business case for blogging, showing that weblogs can get you high-ranking for specialized keywords is a pretty compelling one.

Posted by Richard at 8:08 |

July 7, 2004


Like Anil, I have a fairly low opinion of the SEO industry. Boris Mann rebranded it Search Engine Voodoo and gave away for his tips for "optimizing" for search engines. Long story short: validate your code, keep the code structured and semantic, and update your site frequently. Weblogs are perfect for that, and individual weblog articles often function as weblogs themselves: Mark Pilgrim is, at this writing, #1 in Google for 'favorite jokes' because his code is semantic, the URL is clean, and, importantly, he left comments open. (Unusually for Mark, they are still open after 3 weeks.)

Canadian Search Engine Optimization Championship logo After I closed the comments on a weblog entry asking about a local popular cell phone plan, it dropped from #1 (over the company's official website for the plan) to, well, out of the top 10. The site, if you're wondering, is a static redirect, while the weblog entry has over 100 comments, and months after the original posting, still had about one comment per day. (Some even thought of the weblog entry as a forum, which, in a sense, is true. Weblog entries with comments enabled are effectively forum topics.) In that spirit, is sponsoring the Canadian SEO Championship, the key phrase being Xoduszero, and this weblog entry constitutes my entry. If I win the first prize, a 17" flatscreen monitor, I'll donate $25 to Creative Commons and $25 to the Vancouver Community Network, a local non-profit ISP for low-income people, so helping me out with a link to this weblog entry with Xoduszero either in the link text or the title attribute of the link will also help out CC and VCN.

Update Aug. 8, 11:55 PM: I won, and as promised, I've made the donations.

For those wondering about the username in the image above, those are my initials: my middle name is Erik.

Posted by Richard at 8:07 |