Projects that make my WordPress rock!

Here are some of the projects that I enjoy using with WordPress… Perhaps you’ll find them as useful as I have.

  • WordPress and WordPress MU (multi-user)

    It’s hard to make recommendations related to WordPress without mentioning the project itself, and its twisted sister, WordPress MU. Both are improving in leaps and bounds, and it’s a pleasure finding all the cool new things as I track their development trunks. WordPress 2.6 is the latest major release, with lots of cool new goodies… Donncha is rapidly catching up to those changes with WordPress MU. I wrote nice things about them on my Projects that make GNOME rock! post, too.

  • Sandbox

    I am a minimalist at heart, but with a fondness for cleverly expressive minimalism, so the Sandbox theme blows my mind. If you just look at the theme on the surface, it seems like a very boring, no-frills blob of unstyled HTML. But the genius lays waiting beneath the surface, in the highly evolved markup. Cunningly generated classes deliver extraordinary flexibility to a designer working with CSS. Just look at the body and div.post tags to get a good idea of what you can do. Be the signal is 100% Sandbox + custom CSS, with no added ingredients… and it changes colour every hour! ;-)

  • Akismet & Bad Behavior

    The one-two punch in my anti-blog-spam regime. Bad Behavior protects against abusive hosts and patterns of use, while Akismet does content filtering. As such, with an MTA analogy, they’re like a great combo of solid Postfix policy as front-line defense, plus DSPAM content filtering. Like my mailservers, I might not run both in every situation, but it’s great that they’re both available to protect the innocent. :-)

  • Twitter Tools

    Keeps my tweeps up to date with my blog, and lets my blog readers (bleeps?) know that I use Twitter and what I’m up to. I don’t use the daily blog archive feature, but lots of people enjoy that… despite it being one of the latest controversial content issues on Planets. I really ought to add identi.ca (or most likely “generic Twitter-style API”) support and see if Alex accepts the patch…

  • OpenID

    It’s great that companies and sites like Sun, AOL and MySpace are becoming OpenID providers, but the web really needs more consumers. So pretty much every WordPress blog I set up has Will Norris’ WP-OpenID plugin installed. A while back I hacked it up to work with WordPress MU (always on, in mu-plugins), which was great for GNOME Blogs. I need to update that to the latest versions and see if Will might accept a nicer patch than the last one. ;-)

  • Typogrify

    As a card-carrying Font Fascist, it delights me that so many folks are working hard to improve typography on the web. I know that sounds a bit like “folks are working hard to improve oxygen on the moon”, but we’ll get there. :-) Typogrify filters your posts to provide some cute ways of draining your own swamp, such as adding helpful markup to improve styleability of things like allcaps words, initial quotes, etc.

  • My own cheesy plugins

    I’ve only managed to upload a few of my custom plugins to the WordPress Extend repository (which is a fantastic way to manage plugins for a widely-used platform, by the way), and thus far they’re kinda simple and cheesy.

    • @reply automagically adds Twitter-style replying to your comments.
    • Bug Links adds stylish links to common FOSS bug tracking systems — this was mainly written for GNOME Blogs, so I’m particularly happy that Thomas uses it regularly for his very cool metacity blog.
    • OpenSearch* adds OpenSearch discovery to your WordPress site, so users can add your site to their search dropdown (in, say, Firefox). I need to improve it further to support the whole OpenSearch specification.
    • Tango Smilies makes your emoticons not look like arse!

Thanks, of course, to all of the developers and contributors to these projects. :-)

Power Boards

You could probably power a small island with all of these. Oh wait, we are! A rather large number of our favourite iconic green laptops will be charging on these surge-protected power boards very soon. :-)

Pia will land in Niue next week, as one member of an elite team tasked with kickstarting the world’s first 100% saturation deployment of OLPCs. Of course, it helps that Niue is a tiny island nation in the middle of the Pacific!

inbox zero status: ZERO

After declaring inbox bankruptcy, changing the way I collect and manage my email, and tweeting a few times about my attempt to embrace the zen of Inbox Zero, I decided to automate the process, removing any potential editorialising between email client and reporting of the project status. ;-) I’ve set it up to post at 22:00 every night.

Here’s the script if anyone else wants to play (it also demonstrates how to post to twitter with wget, which may be handy for other automation projects):

#!/bin/sh
MB_POST="http://identi.ca/api/statuses/update.xml
  http://twitter.com/statuses/update.xml"

MB_USER=state your username
MB_PASS=state your password

IZ="$(find Maildir/cur/ Maildir/new/ -type f | wc -l)"
if [ $IZ -gt 0 ]; then
  IZ="$IZ"
else
  IZ="ZERO"
fi
IZ="inbox zero status: $IZ"

for MB_HTTP in $MB_POST; do
  wget -qO- --delete-after 
    --user="$MB_USER" --password="$MB_PASS" 
    --post-data "status=$IZ" $MB_HTTP > /dev/null
done

Update: Fixed script to use any Twitter-style microblog API, and included example URL from identi.ca. Go freedom!

Update: Even better, just post to all of them at once! Also fixed anchor… Despite switching to the visual editor weeks ago, I’m still not 100% used to the convenience of it. ;-)

Fail We Can Believe In

Fail We Can Believe In

Egg Pants

The surprisingly web-mysterious Alice recently found a lovely present for me during her visit to MoMA in New York (swoon!). She discovered this delightful combination of two of my favourite things: Trousers and novelty crockery. Thank you, Alice!

WordPress Party! Sydney Style.

Matt announced a 5th birthday party for WordPress in San Francisco, and welcomed birthday events around the world. So here’s a response from the other side of the Pacific… Join the WordPress 5th birthday celebrations in Sydney this Tuesday, 7pm at the James Squire Brewhouse! Here’s a Facebook event for RSVPs. See you there!

QoTD: Brendan Nelson

Every mother loves her baby, every baby is valued and Mr Rudd should value all babies equally. We should not live in Australia where Mr Rudd thinks that some babies are more valuable than others. It’s very, very important that Mr Rudd understand that every mother loves her baby and this should be an Australia where all babies are equal. — Brendan Nelson, single-handedly raising the level of political discourse in Australia

(Blogging this in absolute surprise that the clip wasn’t already available on YouTube! Had to find and upload it myself. Lazyweb, where are you?)


Brendan Nelson’s Baby Equality Plea on YouTube

Australian patent database goes public

Good news for anyone who comes within a mile of patent law! Okay, so it might not be such great news for anyone who, under legal advice, should avoid coming within a mile of patents in the first place… ;-)

… but this may just be the first step towards a more open process here in Australia. It’s a good sign that things are changing for the better, at the very least. Rock on!

The Federal government and patent agency IP Australia have launched a new open, online database featuring almost 20 years’ worth of the country’s patent application records, in a bid to make it easier for inventors to check if someone else has already had their light bulb moment.

The AusPat database, launched this week as part of a joint initiative between the Department of Innovation, Industry, Science and Research (DIISR) and IP Australia, will allow researchers and the innovation industry to crosscheck patent applications with records dating back as far as 1979.

 — New patent database exposes inventors’ old ideas, by Marcus Browne, ZDNet

Smooth upgrade to Ubuntu 8.04 LTS on my Linode

A few days ago I upgraded to Ubuntu 8.04 LTS on my Linode VM (the machine which hosts this blog). I had upgraded to 7.10 a while back, so it was unlikely to be much of a challenge… But it was great to see another very smooth upgrade, without any manual workarounds required at all.

While the packages were downloading, I noticed a few coming from universe, but fewer than I had expected. I try not to use universe stuff on my mission-critical server, but some things are just too good to live without. Perhaps they’re candidates for main inclusion?

So, here’s some of the universe stuff I can’t live without on my server, excluding supporting libraries:

  • collectd: Totally awesome “just works” system information collection and graphing tool. No more dicking around with nightmare configuration of Cacti and friends — collectd comes with a bunch of useful and sensible plugins that are ready-to-go for common graphing tasks. collectd has a vote of confidence from the Red Hat Emerging Technology folks, so you know it’s good. :-)

  • libapache2-redirtoservname: Convenience module for making sure you’re always redirecting to the primary domain name for your websites — with only one line in your VirtualHost configuration. Here’s how easy it is to use:

    ServerName bethesignal.org
    ServerAlias www.bethesignal.org perkypants.org www.perkypants.org
    RedirectToServerName On
  • rtorrent: Simply the best terminal-based torrent client.

  • php5-xcache: Opcode caching for PHP. Handy when running lots of PHP gash.

  • mailgraph: Lets me know how much spam I’m killing, and email I’m suffering. :-) See mailgraph on gnome.org for a great example of mailgraph in action.

This is progress? (iftab vs. udev)

Apparently, the delightfully simple /etc/iftab is no longer used, replaced with the ugly and fiercely undelightful /etc/udev/rules.d/70-persistent-net.rules. See, you can even tell from the name of the file that you’re not going to like it.

Surely udev could read and do something useful with /etc/iftab, even if it only provides a fraction of the functionality? Ubuntu successfully migrates the configuration, which is plenty good, but… ew.

I’d kick myself for becoming a “this is progress?! in my day…” curmudgeon, but this is a matter of protecting simplicity rather than pointless defense of “the old ways”. :-)

Here’s /etc/iftab:

# This file assigns persistent names to network interfaces.
# See iftab(5) for syntax.

eth0 mac 00:15:c5:4a:71:98 arp 1
eth1 mac 00:18:de:03:3e:0d arp 1

While this is /etc/udev/rules.d/70-persistent-net.rules:

# This file maintains persistent names for network interfaces.
# See udev(7) for syntax.
#
# Entries are automatically added by the 75-persistent-net-generator.rules
# file; however you are also free to add your own entries.

# PCI device 0x14e4:0x1600 (tg3)
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:15:c5:4a:71:98", ATTR{type}=="1", NAME="eth0"

# PCI device 0x8086:0x4222 (ipw3945)
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:18:de:03:3e:0d", ATTR{type}=="1", NAME="eth1"