Imagine life with Akismet!

I keep getting blown away by how awesome Akismet is. I run a number of different blogs and without Akismet spam management would just innundate me with work. Akismet has kept all my blogs clean for years and year; and you don’t realise just how awesome it is until you see all the spam that it has captured for you. For example, on Ugh!!’s Greymatter Honeypot Akismet has caught more than 150,000 spam comments. Imagine the time and effort that would have been needed if I were to try and manage those comments myself.

I must admit, with that volume of spam, I don’t actually check my spam folder for false positives. There might have been an important comment about New Orleans hotel deals while I was going there, but I just wouldn’t have picked it up. The reality is, however, that with that amount of spam, I’m winning in the long run anyway.

Do you use PHP $_SERVER variables in forms?

I came across an interesting point that outlines that dangers of using $_SERVER variables to submit form, a practice that’s pretty common in WordPress plugins. The problem is that it opens the form up to be used for cross-site scripting (XSS) exploits. The post even has a couple of examples demonstrating how the exploits could be put together; examples that you can use to test your own code.

It’s important to know about these exploits and how they work. Ignoring them when writing code is a bit like putting cardboard displays in front of a crumbling building. It may look pretty from the outside, but you’re building something that is putting other people at risk.

So, read the post here.

WordPress on Windows? Test, test test.

Image representing Windows as depicted in Crun...
Image via CrunchBase

WordPress runs on PHP and MySQL, which is available both on Linux servers and on Windows servers. It’s worth keeping in mind that there are a few differences between the two platforms, even though there aren’t supposed to be.

Up to a couple of years ago, the main difference was that it was hard to use Permalinks on Windows without workarounds, but that functionality has been built in now. The differences are a bit more subtle, but they’re still there. I just spent the morning debugging an issue with WP Auctions, an auction plugin for WordPress which turned out to be buried deep in the way MySQL works. The problem was that Linux implementation of MySQL use MyISAM as a storage engine, while Windows implementations use InnoDB. I found a slight difference in the way Decimals are handled (InnoDB doesn’t allow Nulls in decimal fields) which was causing the create of new auctions to fail.

The morals of the story is that if you’re in the minority using WordPress on Windows, make sure you test your installation and any plugins you use, instead of assuming they’re just going to work. It’s a different situation to going our and buying classroom desks which you know are sturdy and work in different environments. Code tends to be a bit more fragile; and plugin developers don’t always have alternative platforms to test their work on.

BuddyPress 1.1 Beta

Have you noticed the BuddyPress has moved onto v1.1? Well, the Beta was announced a few days ago which was quite lucky for me actually. I’ve been working with BuddyPress on a couple of sites and had decided to do with an interim release for one of them.

There are a few changes in this release, but the biggest one for me is the change in theming strategy. BuddyPress now uses child themes which makes it much easier to create an manage all the different pages in the site. Child themes work a bit like adding bed wedges to a bed; you have the same underlying theme, but you’ve overlaid it with something that can change the shape, style and layout of what you’re building.

So, go get the new download, but make sure you read the instructions on how you migrate to the latest version.

Listen to your users

Day 20: Horrible Fanfare
Creative Commons License photo credit: mattbraga

If you’re building a website that aimed at consumers and you want to make sure they have the best experience, always make sure it’s easy for them to get in touch with you. You don’t have to go all the way and get live chat software unless you really want to, but at least make sure there’s some sort of mechanism for users to contact you.

There’s a plugin I like using for this called Contact Form 7. It’s simpler than other Form plugins as it’s aimed at just being a contact form. I’ve found it really easy to roll out and it’s not part of my standard toolbox of plugins I roll out to every website I deploy.

How you YOU stay in touch?

If your WordPress up to date?

Is your WordPress installation up to date? If it’s not, you’ll get a constant warning message on every page telling you that you need to upgrade. And upgrading is really easy on the later versions too. There’s no messing around with uploads, WordPress does it all for you. So there’s really no excuse for not being up to date, it’s easier than applying the best best eye cream you can buy.

So, what’s the reason I’m making this point? Well a few days ago a worm was making the rounds and affecting a number of WordPress installations that hadn’t been upgraded to the latest version. There’s a great post about security down on the WordPress blog. Have a good read and make sure your blogs are all up to date.

WP Auctions reviewed on WP Tavern

I came across a great review of our WP Auctions plugin that I built with Hyder down at WP Tavern, a website that specialises in all things WordPress related. We’ve put a tremendous amount of effort into the plugin, and it’s always great to get feedback from someone who’s tried out the plugin. On the whole, the review is positive, though there are some takeaways for us that we can build into improving the plugin.

In case you haven’t come across it, WP Auctions is an auction plugin for WordPress that lets you sell things right off your blog. You can sell anything from that old tv stand sitting in the corner of your room, to specialise pointe shoes to consultancy services; anything you can think about. It’s a great little plugin and we have great plans for it in the future too.

Read the review here if you want to learn about all the things it does.