Sat, 19 Apr 2014

Transitioning From Blosxom to PyBlosxom


I’ve changed the software that serves this weblog. If I’ve done my job right, most readers won’t notice much of a difference.

I started this weblog in 2003. There was an earlier incarnation on Blogspot, but I can’t even remember the URL so I guess it doesn’t really count. Originally, it ran directly on my desktop Mac, hanging off of a cable modem under my desk. I decided to go with Blosxom because it was a blogging system that was designed for exactly that scenario: since OS X was a modern Unix that shipped with the Apache HTTP Server and Perl, it had everything you needed to run a simple CMS built-in.

Blosxom appealed to me on several levels. Since I was cheap 😃, I didn’t want to pay for a hosting service when I had a server on my desk. It was far simpler than the alternatives, as it didn’t require a database or any additional software beyond a single CGI script. The alternatives all required a ton more infrastructure (mysql, additional Perl modules) than I felt I needed for a simple blog. The original release of Blosxom provided a complete blog engine (complete with syndication support) in a few hundred lines of code.

Blosxom served me well for many years. There was an active community around it, and it saw pretty regular updates until probably 2006 or so when… well, it didn’t. The original developer, Rael Dornfest, moved on to other things, but there was never an official handoff of the project to other maintainers. The original website languished, and at some point disappeared. The project moved to SourceForge, but never really saw a lot of development there, either.

Fine, the project was pretty moribund, so at least it’s open source, so I can continue to customize it myself, right? Well, as Nate Gray puts it, Blosxom has a Perl Problem:

Blosxom is nice, but unfortunately it’s implemented in a write-only language. This is a problem, because I already have ideas for pushing it in new directions but I’m constantly confronted by the Perl Problem.

Yeah, I have a few friends who love Perl, have done major projects in it, it runs many of the largest sites on the internet, etc. blah blah. The problem is I can’t fucking stand the language. I find it completely incomprehensible, with awful, impenetrable syntax, and a culture around it that seems to celebrate doing things in the most unreproducible fashion possible as a badge of honor.

I can’t promise that I’ll ever contribute materially to the PyBlosxom community in terms of code. I really don’t have buckets of time anymore (hello there, Jake!) It’s good to know, though, that if I ever do want to write a plugin, I can at least do it in a language I’m comfortable writing code in.

I’ve taken the opportunity to do some spring cleaning with the CMS switch. As my Blosxom installation was over 10 years old, it had accumulated a lot of barnacles and cruft. I was running plugins that I didn’t even specifically remember installing, and as blogging is an even more niche activity now than it was in the 2000s, that didn’t really seem necessary anymore. My new installation runs base PyBlosxom 1.53 and a very small group of plugins.

One thing that didn’t make the cut, unfortunately, were the old comments (writebacks) that were attached to the Blosxom entries. I still have them, and as a weekend project one of these days I may migrate them, but There Will Need To Be Green-field Code written to do it, and, yeah, toddler, so good luck. 😃

For the half-dozen people out there still using feed aggregators, I suspect a bunch of my old entries just showed up as new. Sorry about that.

If you find anything egregiously broken, note it in a comment to this entry and I’ll see what can be done.

:: 08:45
:: /administrivia/weblog | [+]
::Comments (0)

The Magic Word:
Which planet is closest to the sun? (hint -- it's Mercury...)

I believe in getting into hot water; it keeps you clean.
— G.K. Chesterton