Mon, 20 Sep 2004


Don’t fear, I have no plans to start (gack) audioblogging, but I was curious about what kind of effort it would take to add RSS enclosure support to my Blosxom installation. Answer: not much. Mind-numbing detail follows for the Blosxom geeks, everyone else can skip the rest.

read more after the break...

:: 12:09
:: /tech/computers/blosxom | [+]
::Comments (0)

Mon, 08 Mar 2004

Blosxom Excerpts, Improved

Sam Ruby codes up a tidy plugin for implementing excerpts in Blosxom

Sam Ruby took a look at yesterday's post and shared a small bit of plugin code that backports a solution for excerpts that he uses in his own Mombo blogging system to Blosxom.

It's a nicer solution (using a standard div tag) than my meta-tag based one, IMHO.

:: 13:32
:: /tech/computers/blosxom | [+]
::Comments (0)

Sun, 07 Mar 2004

Blosxom/Atom Entry Summaries

Extending Blosxom's Atom support to include handcrafted excerpts.

The discussion here got me thinking as to how to include both full feeds and meaningful summaries in my syndicated feeds. For now, I'm going to concentrate on doing this in the Atom feed, since Atom includes explicit, specified support for carrying both fully marked-up content and summary text for a given <entry>.

The obvious way to do this in Blosxom is to use a meta variable. To drastically oversimplify, the meta mechanism gives you a private namespace in a Blosxom entry to play with, letting you set variables that are available to any plugin you wish to write (or hack, in this case) to do something useful with them. To this end, I'm going to start adding one sentence summaries in a meta-summary variable to my entries, and I'm going to add a field to the story template in the atomfeed plugin to drop them into the feed.

Do any shipping aggregators use summaries in a practical fashion now?

:: 09:59
:: /tech/computers/blosxom | [+]
::Comments (0)

Fri, 05 Dec 2003

Yesterday's Technology Tomorrow

Rael Dornfest explains how a "revolutionary new blogging feature" that's being hyped in some quarters happens to be something that Blosxom's already done for years.

I don't think I ever explicitly mentioned it here on FFG, but category-based feeds work here, too, and, indeed, work on any dynamically-served Blosxom blog. It's one of those cool things I always took for granted, like oxygen. Anyway, if, for example, you like my music posts but think I'm completely full of it whenever I talk about technology, you could subscribe to my music subfeed at Just look for the "breadcrumbs" after any given post to let you know where in my hierarchy a given sort of post resides. The cool thing is that those feeds can start anywhere in the hierarchy, so would get you all of the posts about not just music, but any other "entertainment" subcategories, like books and food.

Of course, this being Blosxom, these subcategories work not only for RSS 2.0, but for any content type I've built a flavour for, for example RSS 1.0, or HTML, or Atom, or printer-friendly, or mobile-ready. Even "cool URI's" like work (they give you the HTML rendering.) Not bad for a few hundred lines of Perl, eh?

Just remember, next time someone tries to sell you a "revolution", check for prior art. :)

:: 05:48
:: /tech/computers/blosxom | [+]
::Comments (0)

Sat, 08 Nov 2003

Pieces of Flair

Office Space -- TchotchkiesHooray for a little Blosxom community-building! Rael Dornfest has made available various Blosxom-flavoured knickknacks for our enjoyment. There aren't many software packages out there good enough to justify my buying fan merchandise, but Blosxom is definitely at the top of that very short list for me.

:: 08:49
:: /tech/computers/blosxom | [+]
::Comments (0)

Mon, 13 Oct 2003

Low-tech Anti-Comment Spam for Blosxom Writebacks

I've had an increasingly annoying problem with comment spam in the writebacks for some of my older entries. The usual suspects have devised semi-automatic comment spamming scripts that look for blogging-related entries via Google and serially spam comment-enabled weblogs with links to the expected sorts of things. Most of the discussion I've seen online about preventing this has been geared towards Movable Type-hosted blogs. Noticing that most of the comment spam happens in older entries that probably aren't going to see any legitimate new comments, a lot of folks simply close discussion on older entries after a few weeks, which I think is natively supported in MT.

Closing comments for a Blosxom entry is pretty simple, as well: just make the writeback entry read only. On Unix platforms, just change the mode of the writeback (.wb) file to 444. I don't know the Windows equivalent, but I'm sure it's just as simple. If someone (usually a spammer) tries to post a writeback to one of your old entries, they get (at least in the default writeback setup) the message: "There was a problem posting your writeback.", which is fine for my setup, though I suppose it's easy enough to customize the message if you like.

I imagine it would be about a 3 line perl script to simply walk your writebacks file tree and close all extant writebacks older than a certain number of days, but I'm a little too lazy to do that today.

edit: Blosxom folks: there's a blacklist plugin here.
MT People: there's a blacklist plugin here.

:: 14:40
:: /tech/computers/blosxom | [+]
::Comments (0)

Sun, 21 Sep 2003

How Much Convenience Do You Want?

I was reading an entry on the Blosxom mailing list and I realized something (funny? embarassing?) about myself. I go out of my way to make certain technical tasks more difficult than they strictly need to be.

Here's the post that started me thinking in this direction. Two listmembers immediately and helpfully posted links to plugins which will automagically handle graphic linking and sizing. Fine, I thought, I suppose I could use those plugins too, to simplify adding graphics to new posts... and then I stopped. I don't want to use those plugins to make marking up graphics easier. I actually enjoy the process of:

  1. Jacking a graphic from somewhere. If I can grab it using curl rather than some wimpy old web browser, all the better.
  2. Running file and/or jpeginfo or tiffinfo to get the file's dimensions, color depth, etc.
  3. Running some hideously long chain of piped NetPBM and ImageMagick (built from source, naturally) commands against the downloaded file to size, smooth, sharpen, invert, crop, or whatever needs to happen to the graphic to make it fit.
  4. Entering the <IMG> markup by hand, including the width, height, align and alt values, plus hspace and vspace, if necessary.

Now this is just crazy. I'm sitting in front of a Macintosh. I should be using Photoshop or GraphicConverter or whatever else to do this in 2.5 seconds. Instead, I'm busting out the man pages, typing command lines that sometimes wrap twice, and all the rest. Why on earth am I doing this? I've even got tools that will take closer-to-English wiki-ish and Textile markup and convert it to HTML automatically, yet here I sit in a text editor tagging this entry using no macros.

Why? Because, at some sad level, I like doing it this way. I can't explain it. It makes no logical sense. I guess it's some twisted reflection of the impulse that compels the fisherman to strike out to the lake at 5AM with a pole over his shoulder, rather than spending 2 minutes at the fish counter at the local market. Only the fisherman gets to spend time communing with nature, and I just end up making my wrists hurt a little more.

Of course I didn't install the Blosxom automatic image plugins. That wouldn't be sporting.

:: 18:26
:: /tech/computers/blosxom | [+]
::Comments (0)

Thu, 07 Aug 2003

Atom 0.2 Flavour Revised

Sam Ruby contributed a wonderful bit of automagic that "does the right thing" in your Atom feed, based on whether a given entry is well-formed or not. You can verify this by viewing-source in my feed. This actually shows off a capability of Atom that doesn't (to my knowledge) exist in RSS -- namely, that encoding can vary entry by entry within a given feed. (If I've missed something obvious and this isn't true, feel free to correct me in the comments.)

I've included Sam's plugin in a revised flavour pack. Another improvement -- it doesn't assume US English anymore (duh, sorry about that) -- it now uses blog_language like it should have in the first place.

:: 12:59
:: /tech/computers/blosxom | [+]
::Comments (0)

Wed, 06 Aug 2003

Atom 0.2 feed

It took just a few minutes of work to revise my Necho 0.1 feed to work with the new Atom 0.2 snapshot (it validates, too.) I guess that makes me a BigCo. ;)

Implementation notes:

As written, this flavour requires the rss10, foreshortened, and lastmodified (with a small patch, included) plugins. If you're running Blosxom 2.0, you can grab my Atom 0.2 flavour files here. It uses a CDATA encoded version of the individual posts. If you're enough of a stud so that your blog's totally valid XHTML you might want to modify story.atom to serve the non-encoded representation instead. I wasn't going there with my own stuff-- some of these entries get written after midnight, but hey, knock yourself out.

:: 17:54
:: /tech/computers/blosxom | [+]
::Comments (0)

Mon, 21 Jul 2003

Blosxom 2.0

Rael Dornfest released Blosxom 2.0 today, and also launched a renewed website for it. As per just about every other Blosxom upgrade I've ever done, this one literally took 5 minutes -- open the CGI script and change a handful of variables, change my Apache ScriptAlias directive to point to the new script, gracefully restart Apache. "There is no step three!"

:: 19:03
:: /tech/computers/blosxom | [+]
::Comments (0)

Sun, 13 Jul 2003

The Syndication Format Not Known As Echo

Following the news of Sam Ruby's snapshot spec, here's my first pass at a newsfeed in the format that will not be known as Echo. This is, of course, a largely theoretical exercise, because, to my knowledge, there are no aggregators yet capable of reading the feed, but it was a nice excuse to get more up-close-and-personal with writing Blosxom flavours and to take a closer look at the spec.

If I can do it, then the fears that the format would be too complicated for vendors to support are pretty much shown to be unfounded, since I'm a freakin' lightweight. It took me about an hour looking at the spec and some sample feeds other people were generating to slap this together. No warranties express or implied, blah blah blah. Known bugs: I'm probably doing the wrong thing with the "modified" field for the entries.

The flavour files I came up with are here (zip file), and are released to the public domain. If you fix any bugs or make any improvements, let me know in the writebacks for this entry. Requires: Blosxom 2.0rc5 (might work with earlier versions, but it's untested), RSS10 plugin (yeah, you read that right -- I avoid reinventing many wheels by using this plugin), foreshortened plugin, lastmodified plugin.

edit: I checked the notEcho feed with a patched version of nntp/rss, and it works! Hooray for interop.

edit: The feed now validates. The updated flavour files require a small patch to the lastmodified plugin, I'm afraid. (included)

:: 10:42
:: /tech/computers/blosxom | [+]
::Comments (0)

“Engineering without management is art.”
— Jeff Johnson