[]RSS

[ Here: About | Archives+Tags | Artwork | Resumé | Contact ] [ Elsewhere: Comic | Projects | Philosophy | Work ]

Simple-tags, a plugin for tag management in WordPress

[Comment]

May 4th, 2008 in Micro Blog

WordPress’s tagging feature is good, but it lacks mass-editing. Healthy taxonomies need regular maintenance too, so I went hunting through tag plugins compatible with 2.5.1. I found Simple-tags, which is proving handy for nudging around the tags on my 2,000 or so posts.

Useful features:

  • Bulk tag delete and rename, including tags listed by popularity
  • Tag grouping, which allows you to add a tag that encompasses other tags
  • Auto-tagging, on post-save or en-mass

While it takes some time to clean up a tag space, it’s at least possible now.

A Textpattern fork

[Comment]

April 6th, 2008 in Links

The popular blogging tool Textpattern was forked as xPattern earlier this year. I hosted WarpedVisions using Textpattern for about a year, but found that WordPress’s development was much more active. Here’s hoping that xPattern kicks some life back into that capable platform.

WordPress 2.5 upgrade

[Comment]

April 3rd, 2008 in Micro Blog

In case you’re curious, the upgrade to WordPress 2.5 is trivial:1

  1. Upgrade source:

svn sw http://svn.automattic.com/wordpress/tags/2.5/

  1. Run upgrade DB script (just visit your site).

That’s it.

FWIW, the new admin panel is slick, a lot like the Tumblr dashboard. The navigation is sensibly split into regular tasks and lesser-used administration tasks, and the colours/shapes/widget placements are much easier on the eyes. Well done!

  1. A less-than-a-minute trivial

WordPress 2.5 is out

[Comment]

March 29th, 2008 in Links

It looks like WordPress 2.5 is out today, and despite the crappy release notes, it looks like an interesting release. In this release: a new admin panel, built-in gallery, better upload tools, avatars, improved sidebars, improved security, and API cleanup. And, they’ve added “shortcode” to the base engine, a replacement for my SimpleLinks syntax.

Improve your Wordpress administration interface

[Comment]

February 4th, 2008 in Links

Make your Wordpress panel suck less. A lot less.

Pagerank tanked by spam

[Comment]

February 1st, 2008 in Links

Marc is sad about his tanked page rank, which he thinks was caused by blog comment spam.

HOWTO save a server from being totally crushed by Digg/Reddit/Stumbleupon while running WordPress at Dreamhost

[Comment]

November 2nd, 2007 in Micro Blog

flames It’s a funny story. I’ve been testing out various styles of fun articles on the site to see if there’s any money to be made as a B-list obscure blogger. I still post the thinker-links and the occasional serious bit, but I tend to be funnier than I am poignant, and the funny stuff is fun to write1.

Anyway, my server has been crushed several times this year2, and I’ve found a few simple ways of coping. But first, what does it look like to crush a Dreamhost server?

$ uptime
... load average: 198.75, 201.04, 143.88

That’s a 50x overloaded server, not considering DB or I/O load3. But today’s traffic threw it right off the map, as the box was seeing more than 100 connections per second (compared to the previous max of 10/second).

So how do you pull yourself out from under a good server-kicking?

Step 1 - Pull the plug

It’s simple:

mv site.com site.com.off

You’ll lose a few thousand visitors, but that’s the price you pay for not planning ahead.

Step 2 - Find and cache

Create one directory per busy article, based on the path setup for your site. Dig through your browser cache4, and save each busy page at their full path as static html.

So if your hosed page is http://site.com/2007/10/31/funny-ha-ha/, you mkdir -p 2007/10/31/funny-ha-ha/ and add a static html file with the content in it. Disable any other CGI calls on the page (like comments), and add some ads if they’re not there already.

Step 3 - Re-enable site

By this point your server has stopped bleeding processes and has a chance of sustaining some static traffic. Move the disabled site back to its original name, and run top while tailing your server logs looking for errors in your static pages.

Total time to hack-cache-resurrect your site should be no more than 2-3 minutes. And your server should look something like:

... load average: 11.41, 12.50, 24.68

It’s not perfect, but it’s functional.

Step 4 - Clean up

Don’t forget to clean up your static pages when the storm subsides. Remove the static pages, and consider better planning for the next time.

But what about wp-caching?

I’ve used wp-cache (both the plugin and the built-in object cache), and found that they aren’t as effective as simple, static pages. The plugin form of the cache still hits the DB on each page load, and the built-in object cache doesn’t seem to improve things against heavy loads5.

(Note: I’m going to give the updated wp-cache plugin another whirl, see if it has improved.)

  1. Duh
  2. Today is the first time I’ve had to intervene, a 10x increase from the previous largest crushing
  3. The server is a capable 4-way system, with a few other semi-busy sites on it, so a normal storm doesn’t phase it
  4. You cached the pages, right?
  5. I need to measure this, and verify that I’m not missing some configuration

New iPhone/iPodTouch site theme

[Comment]

October 10th, 2007 in Links

I’ve added a new theme for those of you browsing the site with an iPhone or iPod Touch. It’s based on Joe Hewitt’s iUI library, with some WordPress plugin magic.

Listing categories using WordPress 2.3’s new taxonomy system

[Comment]

October 6th, 2007 in Micro Blog

I upgraded to Wordpress 2.3 today, which broke a few of my hacked plugins. The code broke as it relied on the old category system, which was replaced by a new, more flexible, taxonomy system. The new schema is well designed too, and the new queries are much cleaner as a result. Here’s an example of how to get a list of categories1:

SELECT *
    FROM wp_terms AS t 
JOIN wp_term_taxonomy AS tx 
    ON t.term_id = tx.term_id 
JOIN wp_term_relationships AS tr 
    ON tr.term_taxonomy_id = tx.term_taxonomy_id 
WHERE taxonomy = 'category' 
GROUP BY t.term_id
ORDER BY count DESC, t.term_id;

The new taxonomy approach introduces the possibility of displaying better clusters of categories, by including tags in the mix. It also cleans up the SQL from the previous releases with simpler ways of getting count and a clearer relationship mechanism. The table design is clean too, a big improvement over past schemas.

  1. Of course, you would use the public category/taxonomy APIs if this was all you needed

Idea: Google Gears WP plugin

[Comment]

June 2nd, 2007 in Ideas

I predict a plugin for in the next few weeks. If I had some free time this month, I’d even take a whack at it.

Next page [>>]