Welcome to my new blog. I've been meaning to start blogging again for some time, especially since the new version of SurfGuitar101.com went live almost two months ago. But the idea of dealing with WordPress was putting me off. Don't get me wrong, WordPress really is a nice general purpose blogging platform, but it didn't really suit me anymore.

I considered creating a new blog in Django, but I really want to spend all my time and energy on improving SurfGuitar101 and not tweaking my blog. I started thinking about doing something simpler.

Almost by accident, I discovered Blogofile by seeing it mentioned in my Twitter feed. Blogofile is a static blog generator written in Python. After playing with it for a while, I decided to use it for a blog reboot. It is simple to use, Pythonic, and very configurable. The advantages for me to go with a static blog are:

  1. No more dealing with WordPress and plugin updates. To be fair, WordPress is very easy to update these days. Plugins are still a pain, and are often needed to display source code.
  2. I can write my blog posts in Markdown or reStructuredText using my favorite editor instead of some lame Javascript editor. Formatting source code is dead simple now.
  3. All of my blog content is under version control.
  4. Easier to work offline.
  5. Easier to deploy. Very little (if any) server configuration.
  6. I can use version control with a post-commit hook to deploy the site.


  1. Not as "dynamic". For my blog, this isn't really a problem. Comments can be handled by a service like Disqus.
  2. Regenerating the entire site can take time. This is only an issue if you have a huge blog with years of content. A fresh blog takes a fraction of a second to build, and I don't anticipate this affecting me for some time, if ever. I suspect Blogofile will be improved to include caching and smarter rebuilds in the future.

It should be noted that Blogofile seems to require Python 2.6 or later. My production server is still running 2.5, and I can't easily change this for a while. This really only means I can't use Mercurial with a changegroup hook to automatically deploy the site. This should only be a temporary issue; I hope to upgrade the server in the future.

Blogofile comes with some scripts for importing WordPress blogs. Looking over my old posts, some of them make me cringe. I think I'll save importing them for a rainy day.

The bottom line is, this style of blogging suits me as a programmer. I get to use all the same tools I use to write code: a good text editor, the same markup I use for documentation, and version control. Deployment is a snap, and I don't have a database or complicated server setup to maintain. Hopefully this means I will blog more.

Finally, I'd like to give a shout-out to my friend Trevor Oke who just switched to a static blog for many of the same reasons.


comments powered by Disqus