It has been over a year since I published my first post on this blog. It all started with a simple Wordpress installation and now I decided to switch to a different blogging system.

What is Octopress?

Octopress is a blogging framework, which is primarily built for hackers, as it requires extensive use of shell, Git and other scary things. It certainly is not for everyone, but those, who use it, are happy with it.

Octopress uses Jekyll (written in Ruby) to generate static HTML pages of content, so it is really good for performance, as everything is already generated. However the need of regenerating whole site each time you post something is a bit of a drawback, as it can take up to few minutes if you have lots of posts. Actually I’ve found some people saying that it takes one to two minutes to regenerate whole blog consisting of ~1000 posts on an i7 machine.

Why Octopress?

Personally, it’s just a matter of performance (although it’s not that this blog had trouble with it before) and convenience. I can write posts in Markdown and get Octopress to turn it into regular HTML in a way I want it to be. No more crappy WYSIWYG, where you often get frustrated with not being able to get it to work properly fast enough. But maybe it’s just me. Also having the ability to churn out a blog post without the need of leaving the Terminal is a huge upside. I can just write it with VIM, run rake generate and it’s published.

Also it has a nice HTML5 theme out of the box, so that’s on the upside as well.

Time to switch!

The switch was much smoother than I anticipated actually, although not without any problems.

Wordpress has a neat Export function (Admin->Tools->Export), which exports your whole blog to XML. Then I used a Python app ExitWp, which converted all of my Wordpress posts to Octopress pages in seconds.

NOTE: At this point I’ve experienced my first problem. For some strange reason conversion of one of the posts always failed. It turns out that < (&lt;) was the problem. I suspect that it attempted to use it as a HTML tag. Having that fixed it worked great!

Installing Octopress was easy as well. The process is well documented on Octopress setup documentation. All it needs is the latest Ruby version (1.9.2 at the time of writing, installed with RVM), Gem Bundler and rake install command.

Also make sure that your shell locale settings are right. I had to install and set en_US.UTF-8 for my shell (How to fix Ubuntu locale settings). Otherwise rake generate just crashes with a Ruby error.

Afterwards it’s just a matter of configuration (and following the documentation).

Closing thoughts

Switching to Octopress was quite easy and took about two hours, but it easily could be done much quicker if you know what you’re doing. Other than that it is stable (static content), server load has dropped down even further. And it is much more comfortable to write my first Octopress blog post in Markdown.