Well, since I'm going to be going out for a late dinner then I might as well go ahead and 'fess up: as everyone already knew, I jiggered the Phorum to insert random typos and misspellings into peoples' posts.
I don't know if it was just naturally a quiet day or if everyone's brain was dying as much as NinjaRob's, but either way it was probably for the best

In case you're curious, here's how it worked:
19% of the words in the post were randomly chosen. If the word appears on the
Wikimedia list of common misspellings (though some of the words in that list are laughably uncommon), its misspelling gets substituted in. Otherwise, either I would swap two letters in the middle of the word or just remove a letter from the middle of the word.
And, just like last year, the code, preserved for posterity (because it was a real pain that I didn't have the code for April Fools' Day 2008 handy, since I did a very similar thing that year, except that I used Google Translate).
function munge_text(txt)
{
var textarr = txt.split(" ");
for (var i = 0; i < textarr.length; ++i) {
if (Math.random() * 100 > 19) continue;
if (spellfail[textarr[i]]) {
textarr[i] = spellfail[textarr[i]];
} else {
if (textarr[i].length <= 3) continue;
if (Math.random() * 100 > 50) {
// Remove a letter
textarr[i] = textarr[i].substring(0, textarr[i].length / 2).concat(textarr[i].substring(textarr[i].length / 2 + 1));
} else {
// Swap two letters
var strarr = textarr[i].split("");
var c = strarr[strarr.length / 2];
strarr[strarr.length / 2] = strarr[strarr.length / 2 + 1];
strarr[strarr.length / 2 + 1] = c;
textarr[i] = strarr.join("");
}
}
}
return textarr.join(" ");
}
var spellfail = new Object();
populate_spellfail();
var divs = document.getElementsByTagName("div");
for (var i = 0; i < divs.length; ++i) {
var div = divs.item(i);
if (div.getAttribute("class") == "post") {
var child = div.firstChild;
do {
if (child.nodeValue != null) {
child.nodeValue = munge_text(child.nodeValue);
}
child = child.nextSibling;
} while (child != null);
}
}