oh, and btw, a change
In case you haven’t noticed, I’ve once again changed blogging engines. This change differs from previous migrations in that I actually imported my old posts. Of course, I haven’t sifted through the old posts yet, and I’m pretty sure a lot of them are pretty broken. I can’t believe I wrote 400+ posts in the past year and a half. Can you imagine if I actually dedicated this time to writing a novel or a book of poems instead?
I tried installing Typo about a year ago, and I eventually got it to work, it was painfully slow. So I slogged on with Wordpress which is actually a really good blogging tool that seems pretty easy for newbies to use.
There are, however, two problems I ended up having with Wordpress: (1) it is painful to write custom themes and (2) PHP is an ugly language. The two problems are not unrelated.
I admit, Perl is also an ugly language, but it’s not trying to be a templating language at the same time, either. (You have to install extensions for that sort of madness.) Which makes sense, since PHP uses a lot of Perl concepts. And while Ruby also owes a lot to Perl, ruby can actually be quite elegant in a non-obfuscatory kind of way. The difference between Perl and Ruby is that in Perl, you can write almost any program in one line. In Ruby, you can also write almost any program in one line, but you can also actually read it, too.
The other thing was that I had the vain hope that using embedded Ruby would allow me to avoid the dreaded nested angle-brackets. Alas, that is not the case, although if I want it badly enough, I can always use embedded Ruby to actually build an XHTML element so that I don’t have to nest angle-brackets, which is actually how XSLT handles things. Maybe you can do that in PHP, too, but I really got tired of trying to separate logic from presentation. And the prospect of duplicating code for the index view and the single post view was quite daunting.
With Typo, you can just deal with the templates, since all the logic is really in Rails itself, and what elegant logic it is too. You can create beautiful things when you don’t worry about CPU cycles, you know? (Did I mention that Rails, and therefore, Typo, is slow?) Thanks to partials, you can avoid redundancy. (Although I feel that XSLT manages to avoid redundancy, too, and it’s XML-compliant from the get-go, although most sane people I’ve met don’t care too much about that as long as the eventual output conforms to XHTML and XML standards.) No editing multiple template files for me. Just zoom into the spot and go to it.
But, anyway, we’ll see how things go. The only thing that creeps me out is the fact that using an RDBMS as storage leaves me vulnerable to lock-in. Mostly because I’d rather not (re)learn how to interact with an RDBMS, and screwing around with SELECT statements seems to be the only foolproof way to actually get my data out of there in the eventuality that I want to move to yet another blog engine. Luckily, most of the major players have conversion scripts, although, as you might notice (for now), the Wordpress 2 to Typo converter isn’t exactly a finished product.
On the other hand, I have yet to try to migrate the files from my own hand-rolled static blog engine (mainly because I accidentally nuked the source files a long, long time ago and will therefore have to scrape raw HTML. Bleh.) Moving the blosxom stuff will probably be easier. It’s been trivial to convert a blosxom blog entry into an actual XML document. Now all I have to do is learn XML-RPC (yay) and the MetaWeblog API, and then I’ll be golden. (Yeesh!)