Special Characters and MediaWikis Do Not Mix

I have run a MediaWiki wiki for my house on campus for close to two years. When I set it up, I gave it the name “Saint Claude de La Colombière Men’s Catholic House,” and since MediaWiki accepted this name complete with two accented characters, I assumed it wasn’t a problem. For an unknown reason, it became a problem today. It started throwing the annoying “Fatal error: Allowed memory size of 20971520 bytes exhausted (tried to allocate 122880 bytes) in /home/www/claude/w/includes/Revision.php on line 361” errors. I tried increasing the memory allocated to PHP, looking through Apache log files, and upgrading the version of the MediaWiki software.

After at least an hour of frustration accumulated throughout the day, it occurred to me that this only happens on one page: the “About” page. This page, in standard MediaWiki fashion, is actually called: “Saint Claude de La Colombière Men’s Catholic House: About.” Then it hit me that perhaps those accented characters weren’t such a good idea after all. As soon as I changed the value in the LocalSettings.php to something more reasonable and accent free:

$wgSitename = "Saint Claude de La Colombiere Men's Catholic House";

everything started working again as normal.

I would be very curious to know why this worked in the past. I suppose it could have to do with my versions of Ubuntu Server, Apache, PHP, MediaWiki, etc. However, it’s one more thing to check when PHP starts throwing out of memory exceptions.

Edit: It turns out that increasing the memory to PHP was the solution as today I started experiencing the same error on other pages. I increased the LocalSettings.php memory limit from 20 MB to 32 MB.

ini_set( 'memory_limit', '32M' );

and this (actually) solved the problem. Before, I was editing the php.ini file, and it would appear that the LocalSettings.php was overriding the global value even though it was higher. Special characters may still be a bad idea.

April Fools Prank

Inspired by Upside-Down-Ternet, I decided to get two of my housemates back for the Tabasco and Whiskey shot that they gave me when we went out for my birthday. Flipping all of the images upside down was a little too subtle though. I prefer the all-out, in-your-face kind of April Fools revenge prank.

It turns out all I had to do was find the IP addresses for my housemates’ computers, create the awesome pwned page, and issue two commands on my DD-WRT router:

root@Madrona:~# iptables -t nat -I PREROUTING -s 192.168.1.187 -p tcp -j DNAT --to-destination 192.168.1.42
root@Madrona:~# iptables -t nat -I PREROUTING -s 192.168.1.190 -p tcp -j DNAT --to-destination 192.168.1.42

When those two housemates went to check Facebook (or any site) this morning, they were greeted with this instead:

Pwned by the Zaxor!
Pwned by the Zaxor!

Their reactions made it worth it. Tyler said, “Pwned? What is pwned?” David said, “What the hell is a Zaxor?”

Even though I downed the entire Tabasco and Whiskey shot, let this be a lesson that I always take my revenge convey my thanks in kind.