Welcome to Jekyll!

Hopefully you didn’t notice, but as of now, frozenfractal.com is generated by Jekyll, the static blog generator.

Since its inception in 2010, the site had been running on my own custom-written engine, Utterson. (The name was taken from another character from R.L. Stevenson’s famous novel, since both Jekyll and Hyde were already taken.) The idea behind Utterson was that I could just do a git push to a repository on my server, and the software would take care of turning it into a blog on the fly.

Sadly, it had a couple of problems, mainly resulting from me trying to be too clever. For example, when I wanted to include an image, I would need to commit the image first, before adding the actual post to the repository. Otherwise, it wouldn’t be able to map the image filename (as used in the Markdown file) back to a URL.

Of course, there was also the small issue that it was built on a 5-year-old version of Django, and required some tricky server configuration to make it work. So far, it’s not been bothering me much, but if I had to reinstall the server, it would take a lot of effort to get everything working again.

At one point, I might have been able to run Utterson locally, so I could preview my posts before publishing them. But I’ve long forgotten how to do that, didn’t document it, and don’t want to bother figuring it out. So I would typically just commit, publish, pray, rinse, repeat.

As you can probably imagine, all these issues really got in the way of actually blogging. Lately I’ve been itching to blog more, so I decided to finally fix this mess. I wanted to do a restyling of the site too (it has not aged well), but I’ll save that for later. No point having a great-looking blog without recent content!

The only feature missing from Jekyll that Utterson had was comments, which Utterson would actually commit back to the server-side repository. (The nice thing about that was that I automatically had backups of the comments as well as the posts; the drawback is that I had to pull and merge before I could push a new post.) Obviously, comments are impossible to do in a static site generator like Jekyll. But a blog without comments is not much fun, so I went over to the dark side and installed Disqus, an externally hosted JavaScript-driven commenting system.

Another change is the pagination and general history browsing. That has always been a bit clunky, so the change is probably for the better. It does mean that links to “list” pages are broken, but I doubt that anyone would link to a page with “all the posts that that one guy wrote in 2011”.

Finally, the Atom feed URL has changed from /blog/atom to /feed.xml. You should all be using FeedBurner, so I can make this change without everyone having to update their reader. If you’re reading this in your RSS reader, that means it works. I’m not sure whether it will mark everything as new; sorry if that’s the case!

Apart from these changes, everything should still work the same. If you notice anything amiss, let me know.

And Utterson? Well, I’ll open-source it if anyone insists, but I really think it’s better for everyone if it remains safely quarantined…