WP Super Cache 0.9.8

WP Super Cache version 0.9.8 is now available. WP Super Cache is a page caching plugin for WordPress that will significantly speed up your website.

New in this release are 2 translations. The Spanish translation is by Omi and the Italian by Gianni Diurno. Please, if you use their translations, drop by their sites and leave a thank you comment! They’ve been very patient with me as I fixed gettext bugs and added new text. Both have blogged about the translations if you need to know more: Gianni, Omi.

The second major feature to go in is an “advanced” section to the debugger. This allows the plugin to check the front page every 5 minutes to make sure everything is ok. It monitors for 2 very rare problems:

  1. Very very occasionally, the front page becomes a gzip file that downloads. It happened here once and I examined the cache file. There was nothing wrong with it. It was perfect. I suspect Apache and mod_rewrite got confused somehow but clearing the cache fixed it. The file generated after was exactly the same size as the old one, so no chance it got “double gzipped”.
  2. In certain rare cases, where a blog has a static front page, and uses a permalink structure of /%category%/%postname%/, the wrong page may be cached as the front page. Even if your blog satisfies the two conditions above it may not suffer from this problem. I tried it on this blog for a few days and couldn’t reproduce it at all!

Nevertheless, if you’re concerned edit your wp-cache-config.php and add this line:

$wp_super_cache_advanced_debug = 1;

Reload the admin page and you’ll see this added to the debug section:

advanced-debug

If activated, it will check your front page every 5 minutes. It’s not activated by default because these errors only happen to a small number of blogs. I’ve also noticed that WordPress seems to randomly forget to run the page checker from time to time. I debugged it and the job simply disappears from the wp-cron system! I’ve no idea why, but reloading the admin page schedules it again.
If you’re still paranoid, set your cache expiry low so at least the cache files will be recycled quickly.

Caching, Minification and CDNs

Oh, there’s a new caching plugin on the scene. W3 Total Cache works like Supercache’s half-on mode but can store to memory as well as disk (like Batcache) but also does minification and supports CDNs. I’ve been asked a few times if I’ll support those features too but I don’t see why as other plugins already have that covered (and frankly, I don’t have time to maintain such complex features):

  1. WP Minify “integrates the Minify engine into your WordPress blog. Once enabled, this plugin will combine and compress JS and CSS files to improve page load time.” Thaya is very responsive and fixed a bug I reported quickly.
  2. There are any number of CDN plugins for WordPress. I don’t use a CDN so I can’t recommend one but OSSDL CDN Off Linker might be worth a shot. This post on it mentions Supercache plus, a fork of this plugin.

Traffic Spikes and Benchmarks

I really should collect more of these. A few weeks ago Mark Pilgrim blogged about how his book had been republished by a 3rd party and put up for sale on Amazon. His book was published under the GNU Free Documentation License so that’s perfectly legal to do, even if a little unusual as it can be downloaded from Mark’s website and is for sale by his publisher. The blog post generated a lot of interest and a few days later I received a donation from Mark, followed by a thank you email. I’m a big fan of what Mark does, so if it had been a physical cheque or a letter I’d have framed it!
A few days after that he tweeted the following graph. Nice spike of traffic eh? His server held up fine with help from WP Super Cache.

diveintomark.org-dashboard

And finally, some benchmarks, in Russian unfortunately but the pages translates well.

caching-benchmarks

Summary of changes in 0.9.8:

  • Added Spanish translation by Omi.
  • Added Italian translation by Gianni Diurno.
  • Addded advanced debug code to check front page for category problem. Enable by setting $wp_super_cache_advanced_debug to 1 in the config file.
  • Fixed wordpress vs wordpress_logged_in cookie mismatch in cookie checking function.
  • Correctly check if WP_CACHE is set or not. PHP is weird.
  • Added wp_cache_clear_cache() to clear out cache directory.
  • Only show logged in message when debugging enabled.
  • Added troubleshooting point 20. PHP vs Apache user.
  • Fixed problem deleting cache file.
  • Don’t delete cache files when moderated comments are deleted.

PS. WordCamp Ireland is on in early March next year in picturesque Kilkenny. Here’s Sabrina’s launch post. Sign up! I’ll be going!

Retro consoles for sale again!

Retro gaming has made a comeback! A temporary looking shop on North Main Street in Cork is selling old retro consoles at possibly “Irish” prices. According to the “Bargain Hunt” section in Retro Gamer, a Sega Dreamcast can be purchased on Ebay for about £25 Sterling. They’re going for 59.99 Euro here. Cheap enough for an impulse buy? What do you think Mark?

What’s on offer? I saw the Dreamcast of course, many Gameboys in the window, NES, SNES, Sega Mega Drive (Mega CD), Sega Master System, Nintendo Gamecube (why bother when you have a Wii?), Original Playstation, Master System II with Sonic the Hedgehog cart still stuck in it, Xbox 360 external HD DVD player (40 Euro? Can you buy those discs?) and lots of games. I think there were original Xboxes too. There were loads of games for the system anyway.

I doubt the shop will be open after Christmas, none of the consoles or games look brand new so it might be best to test out any purchases when you get home before wrapping them up for Christmas. Bring a copy of Retro Gamer with you if you go in to check the price on Ebay. I have a feeling the guys running the shop will be more than happy to haggle!

Thanks Richard for the heads up. Worth going in there just for the look. I think Branedy may be interested in it too. (I never owned any of the consoles above so I didn’t get a burst of nostalgia for them!)

How to create Postfix database files

Every time I come to recreate the Postfix database file when I edit the file /etc/postfix/virtual.cf I forget what command I need to recreate virtual.cf.db

Hopefully I’ll check my blog next time. The command is postmap. Hope this is useful for someone else too!

postmap /etc/postfix/virtual.cf
/etc/init.d/postfix restart

Happy Modern Warfare 2 Day

modern-warfare-2

November 10th is here and Modern Warfare 2 is finally out! Shops here in Ireland opened at midnight last night and I briefly thought about hopping down to the Gamestop in Blackpool. I didn’t, and I won’t buy it until I have my BarCamp Cork talk is done. That should ensure I have it written by tonight!

Anyway, the level of anticipation for this game reached astronomical levels. Ask anyone with a game console or PC games player and they’ll know about this game. I’m writing this to remind myself of the fact when the next big thing comes along! In five year’s time we’ll be laughing at how we were all swept up in the hype of the game.

So, did you queue last night at midnight to buy the game? Have you already finished it? I’m pretty sure it’ll take me a lot longer to finish than ShadowHearth reported in that thread above.

So its 6:24 and i beated game on veteran setting.

Loved it, in some places i whanted to cry… becouse of just being pwned like a little girl, and on athers places becouse of story…

Just loved it, going to try multiplayer now, untill mine misses wakes up and sees me still on pc… I will get killed.

Hours of fun with Syndicate

Syndicate

  1. Have Macbook. Check.
  2. Have DOSBox. Check.
  3. Have external mouse. Check.
  4. Have Syndicate. Check.

Syndicate is a game I played a lot in the early nineties. I was never any good at games (some things never change!), but this is one of the few games I stuck with and managed to finish. The original game came out in 1993 for DOS and the Amiga. It was on the Amiga that I first came across it but the DOS version is easier to run these days. Luckily both versions are exactly the same.

What do you need? First of all, download the latest version of DOSBox. It’s available for Windows, Linux, Mac OS X and many other operating systems.

Now look for the game itself. You can download Syndicate in many places so search for it using Google. Some would describe it as abandonware as the game can’t be bought any more but it’s a legal grey area. Bullfrog still own the copyright to the game so if you don’t own a copy downloading it is, strictly speaking, an act of piracy.

Unzip Syndicate in a convenient location and launch DOSBox. The familiar DOS prompt will open, on the Z: drive so mount the Syndicate directory using the command of the same name. If you’ve installed it in /games/Syndicate/ use the following:

mount c /games/Syndicate

Now change to drive C using

c:

You may need to edit synd.bat if it’s there (to set up your sound card) or just run main.exe as I did. The game will launch and probably run a little too quickly. Slow it down with CTRL-F11, and use ALT-Enter to enter fullscreen mode. CTRL-F12 will speed it up again, handy for researching new weapons and mods. 🙂

In fullscreen mode, you’ll swear you’re using an Amiga again! Enjoy what must be one of the best shoot ’em ups, ever!

There’s also an opensource version of Syndicate. It hasn’t been updated since 2007 though. Anyone with game coding experience want to lend a hand?

As a special bonus, here’s the Atlantic Accelerator. It’s the very last level in the original Syndicate. This guy makes it appear really easy but it’s not. This level takes quite a bit of time to master! Just read his video description for all that he went through.

Or better yet, check out this video of American Revolt. Wow, all those enemy syndicate guys descend on you like flies to a …

WP Super Cache Developer Documentation

I’ve finally found the time to write up some documentation for developers who want to work with WP Super Cache.

It’s a work in progress but should help other plugin developers who want to interact with the cache.

Suggestions and comments welcome.

PS. If you’re in Cork on November 14th, head along to BarCamp Cork III. I’ll be giving a talk, “How WP Super Cache Works”. It’ll be less technical than this but I’ll answer questions too. Check out the other sessions too.

Easy fix to unfreeze Thunderbird

If you use Thunderbird like I do you may have noticed that HTML emails cause it to freeze momentarily. For a long time I thought this was a side effect of a large mailbox file and large email size but nope, it has an official bug.

The problem is fixed in Thunderbird 3 which hasn’t been released yet but there’s a simple way to avoid the problem. Open your address book.

It appears that having your address book in memory helps Thunderbird to render HTML emails quickly. I don’t know why, and the bug has some interesting comments on why. It’s possibly related to the anti-phishing code in the email client.

If you don’t want to keep your address book open all the time install the Contacts Sidebar plugin. HTML emails now render instantly.

I’ve lived with this bug for years. It’s a huge relief to have it “fixed” now!

WordPress MU 2.8.5.1

Update! WordPress MU 2.8.5.2 has a tiny fix for a post publish bug. You can download it from the usual place.

WordPress MU 2.8.5.1 has just been released and may be downloaded immediately.

This is a security and bugfix release and a recommended upgrade for every WordPress MU site. What happened to 2.8.5? I had it tagged and ready for release when Luke reported a little problem. It wasn’t possible to edit blogs! It was an easy bug to fix but code had been tagged and zip/tarball archives created so I had to create new ones. Thanks Luke! Saved the day. 🙂

Thanks to everyone else who contributed and helped in any way during the making of this release. Your help is invaluable.

This release also fixes a problem with slashes in blog and site options. You’ll be prompted to run the site upgrader. Please run it on all your blogs. For a more comprehensive look at what has changed recently, take a look at the Trac Timeline.