Some thoughts about choices in setting up a new blog, and why I ended up with ikiwiki. (Other than to maximize the geek factor.)
Why blog?
Why a blog? All the cool kids are doing Facebook and Twitter, or the new Google Plus, aren’t they?
As was recently said to me, “as a professor-type, it’s all about you talking”. Sigh, so true.
I don’t want to friend people, just to talk to the world.
Hosted or Self-hosted
First: hosted somewhere else, or by myself?
A dozen sites will run your blog for a few clicks. Hundreds will host a new website with a pre-setup blogging package.
Well, really I like owning my own data, at my own address (well, OK, at ISI’s address). (I don’t want to worry about someone else going out of business or changing their terms-of-service after I’m locked in.)
And since I’m a computer guy for a living, self-hosting is not insurmountable.
Self-hosting it is. (10x the difficulty.)
Database or Not
I already run a WordPress blog for a research project. And WordPress is quite easy to set up, looks great (or is easy to make look great), and has all the blogging doodads one could want.
But I really hate plugging all my data into a database. Just like I like owning my own data, I like being able to see it sit there on the disk in nice, simple files. SQL is not the end of the world, but it seems like overkill for a blog.
When data is in files, one can edit it with, say, a text editor. Not that junky thing in your web browser—regardless of how AJAX’ed it is, it doesn’t have the 30 years of hacking into it that Emacs or vi has.
So “no” to WordPress and SQL, hello to one of the dozens of non-database-backed blogs. (And 10x the difficulty.)
Ending up with Ikiwiki
I’ve been looking at ikiwiki for a while.
It’s a “wiki compiler”, so it takes a bunch of wiki pages (and blog entries) and converts them to static web pages [good].
It uses a standard revision control system rather than rolling its own (like most other wikis) [good]. (That’s right, the many hours put into git and friends trumps doing it all again in Mediawiki. And a real distributed version control system means I can edit when off-line with my laptop.)
And the ikiwiki code seems quite clean and modular and hackable. (Good news, because I chose to add several things to make it do what I want. More on that later.)
And enough people use it that it seems reasonably well fleshed out and beaten upon. (Although I’m sure its userbase is measured in micro- or nano-WordPresses.)
Not just a blog
The best part is that ikiwiki is not just a blog, it’s really a web Content Management System.
So not only did I roll a blog, I re-rolled all my web pages. Which took some time (where some == a lot of), but it was something I’ve been wanting to do for quite a while.
Another side effect, it means all my pages are now taggable, something I’ve wanted to play with for a long time. (More on that later.)