As of today, I’ve officially migrated this blog from Tumblr to Jekyll. Finally!

I’ve always been frustrated with Tumblr as a publishing platform. To me, the interface for creating posts is clunky and erratic, especially when trying to format code blocks. Customizing my theme has been such a battle that I’m afraid to change it, even if it looks bad. I don’t really use Tumblr to consume content or rely on it as a source of traffic, so it was wrong for me to use it as a pure content management system in the first place. Alas.

With Tumblr, Blogger, Wordpress, etc, one uses a web interface to create and edit content. This data is stored usually in a database in some proprietary format. Once you’re with Tumblr, you’re stuck on Tumblr. In contrast, Jekyll is a static site generator. I produce the content using whatever tools I want, and Jekyll transforms my posts into a folder full of files that I can host anywhere with no special setup – my personal machine, a rented webserver, even GitHub!

For me, the major advantage of Jekyll is control. I don’t have a complicated site, and I’m frustrated when I have to guess what Tumblr is doing under the hood when I know it’s simple enough to do on my own. When I write a post with Jekyll, it’s just text. I can write it offline using whatever tools I want.

The obvious disadvantage of Jekyll is the responsibility to handle everything from design and layout to hosting. Web design has never been my strong suit, but this is a great way to learn. Figuring out how to host a website is something I’ve done for over a decade now, and since Jekyll produces just a directory full of files, it’s not that complicated.

At the end of the day, an engineer likes to know what his tools do, even if it’s a little bit more work up front. I’m really happy with this transition so far.