Summary Feeds – why no links?

If you’ve wondered why your RSS feed here doesn’t have any feeds, that’s because WordPress by default displays only summaries.
To show the full text and mark-up of your posts, go into Options->Reading and click “full text” for the option, “For each article, show:”

God damn bookmarklet, kills my browser (Mozilla Firefox 1.0 preview) more often than not. *grrr*

Oh woh is me! Comment Spam Already!

It didn’t take long for the comment spammers to figure out we’re running WordPress here. I got a dozen requests to moderate comments this morning. Mark did too, but he had turned off the notification in WP so there may be a bug there somewhere. Expect test comments to appear and disappear on this post over the next hour or so!
Later… Fixed it. There’s no check for the “moderation_notify” flag . Here’s how to patch your own WordPress system:

Edit wp-includes/functions.php and add the following lines to the function wp_notify_moderator():

if( get_settings( "moderation_notify" ) == 0 )
    return true;

MySQL: Finding the records in one table that are not in another table

OK, this’ll make users of “proper databases” cringe but because MySQL doesn’t support sub-selects you can’t do the most obvious way of selecting records in one table that aren’t in another. Here’s how it’s done, with a clear explanation of why it works!
select po.id
from po left join pn
on po.id=pn.id
where pn.id is null

Unfortunately, I can’t figure out how to filter the second table as I don’t want to select from the whole table, only a subset. Anyone solved this?