Category Archives: Blogging

WP: Venus

Planet SF has been running WordPress with the FeedWordPress plugin for a while now, but it just didn’t work very well — posts were duplicated, and multiauthor blogs weren’t handled well.

Instead of fixing it, I decided to go with Planet Planet instead. Well, sort of.

Sam Ruby has put a lot of work into a refactoring of the Planet Planet code, the result being Planet Venus. Among the most significant changes is the use of a cache directory containing Atom entries as individual files. This makes it easy to slurp the posts into WordPress, which has the advantage of giving easy access to historic posts, categories and users etc.

Prompted by a question on the planet development list I finally got around to putting together a plugin that would power a WordPress installation through the use of Planet Venus.

Installation and use of the WordPress Venus plugin (svn) is straight forward — dump it in the wp-content/plugins folder, activate it from the plugins option screen, and go to the Venus option screen to configure its options: Path to Planet Venus cache directory, update interval and whether to link from posts back to their source.

Update: This plugin now lives in the WordPress Plugin Repository.

(Almost) No More Comments

I haven’t been writing much here lately, but others have.

Or rather: They’ve tried.

Some time ago I turned off trackbacks and pingbacks completely, and changed the options for comments to require moderation before anything went online.

That hasn’t stopped the spammers though — I get at least ten mails about spam comments each day, and frankly that’s just not fun.

I should be upgrading to the lastest version of WordPress, as that includes the clever Akismet plugin for catching spam, which seems to work quite well on the other blogs I run. Also, I really should finish the plugin that leverages my social network through FOAF, that’d make for a really great combination, methinks.

Instead I’ve activated a plugin that turns off comments and pings within 30 days of the posting date.

I’m sorry for the inconvience for those who wish to comment on older posts — for now it has to be like that (but do send me a mail if you’d like to comment anyway).

Planet Changes

Recently, a new solar system was discovered, one with a planet that just might contain liquid water.

This is not about that.

Rather, this is about the Planet Planet, a flexible feed aggregator, that Sam Ruby and Danny Ayers (among others) have been hacking on recently.

I have created a personal planet for myself, one of the introverted ones that gather what I produce rather than what I consume: Planet Morten (styling yet to be perfected).

While setting it up, and getting it running like I wanted to, I noticed that it updated the generated files on every run, even though no new entries had been included. On a web that knows about Last-Modified and ETag (as Planet Planet itself does), it seemed like waste of bandwidth to preserve the incoming bytes but not the outgoing ones.

My limited Python skills to the rescue.

Two patches against the latest nightly — the one with a Last-Modified header of Mon, 22 May 2006 16:02:22 GMT (even though it contains files that were changed in the future when I GOT it):

planet-filecmp.diff
This patch makes Planet Planet write its output to a temporary file, which is then compared to the previous version, which is then only overwritten if the contents differ. This precludes the use of <TMPL_VAR date> in templates, as that will surely make the files differ, but the patch has the added bonus of not trashing the previous version of the generated file, in case something goes wrong during the write process.
planet-conditional-output.diff
This patch contains the above patch and additional logic to prevent output files from being generated if no channels were updated. Thus, the original files will be left untouched if no new entries were found, logic that also somewhat invalidates <TMPL_VAR date> in templates, since it can’t be trusted anymore.

The Planet Planet development list has been notified.

Update: Sam Ruby was kind enough to point out some shortcomings in my solution and prompt me for a test case. Thus:

QOTD

But sometimes the quote isn’t enough.

Sometimes, however, it is.

Other times, a link to the origin is enough.

PS: Should you, at some point over the next week or so, no longer be able to reach this or adjacent sites — don’t worry, it’s temporary due to a relocation, but it might last for a few weeks.