Using GeoIP.dat and Apache on cPanel / WHM to block 75,000+ attacks on wp-login.php in one day

After yet another brute-force attack on our servers hosting WordPress sites today I finally decided it was time to take some drastic action.  There are a number of different approaches you can take, this is what I did to block literally over 75,000 attacks against wp-login.php today. Step 1: Install the GeoIP database and Apache module Step […]

Welcome to my new site [design]

Chair and checkered tile floor at Cafe Helloakland Since it’s almost my 36th birthday, I decided it was time to update the site theme for my personal site, I wanted the new design to focus on framing content in an aesthetically pleasing way. The background changes on each refresh, and uses CSS transformations and […]

WordPress 3.1 is released!

We have 82 installations of WordPress on our servers and are excited for the new release of WordPress 3.1. There are a bunch of neat new features, but probably the thing that most of our clients will notice first is that there is a new admin bar that will show up for them. Should be […]

WordPress 3.0.2 released (security update)

WordPress 3.0.2 has just been released. Announcement here: This is a security release, so you should definitely upgrade your installations of WordPress!

Fix for Twitter Tools open_basedir error

If you’re like me you’ve been using the excellent Twitter Tools plugin for WordPress for a while now. Recently a client noticed that there was a sporadic error being shown that was similar to this: Warning: require_once() [function.require-once]: open_basedir restriction in effect. File(twitteroauth.php) is not within the allowed path(s): (/home/fern:/usr/lib/php:/usr/local/lib/php:/tmp) in /home/fern/public_html/wp-content/plugins/twitter-tools/twitter-tools.php on line 1516 […]

Just installed 2 new and useful WordPress plugins (IntenseDebate and After the Deadline)

WordCamp San Francisco 2010 (#wcsf) was great.  Lots of neat people sharing good ideas about WordPress, including a great “State of the Word” address by Matt Mullenweg, co-founder of WordPress. During the presentations I learned about a couple of plugins that both seem worth trying out. IntenseDebate — Basically a commenting system on turbo mode. […]

WordPress 2.9.1 is now out

We’ll be upgrading most of our clients to the latest version of WordPress 2.9.1 now that they’ve resolved a number of the issues we were seeing with the 2.9 release.  Good job guys on getting a quick fix out!

How to fix 301 error when importing blog posts including images from a blog into a new blog

The current import script (as of WordPress 2.8.6) is broken when it comes to successfully importing images from The error you see is something like Remote file error: Remote file returned error response 301 Moved Permanently Fixing this involves adding a couple of lines to a core WordPress file. Hopefully a future version of […]

Is WordPress automatic install / upgrade compatible with a SVN deployment of WordPress?

Question: Is the built-in WordPress automatic install / upgrade process compatible with a SVN deployment of WordPress? Short answer: Yes. Ever since WordPress came out with the automatic upgrade functionality in 2.7 I’ve hesitated to use it since the majority of our client installs are deployed using Subversion (svn) and I wasn’t sure how it […]

How to: Get rid of widows in your WordPress posts with Widon’t plugin

I was just working on making some updates to the backend WordPress code for the Principia Pilot website ( and noticed widows in some of the stories. Widows are the typographic term for a single word on a line at the end of a paragraph. I thought about the solution to this problem (basically add […]