My transition from LiveJournal (taken over by Russians with new and unacceptably restrictive terms of service) to another journaling system is more or less complete. I think all of my old posts and most or all of the comments are now here at this new address ( at least for now — in principle I could replace that with a custom domain name but I haven’t seen the need to do so yet). Because I’m hosting this through github, the actual source code for the blog is also public. The old LiveJournal site still exists but I’m likely to take it down sometime before the next automatic renewal of my paid account in September, so now would be a good time to update links. If I ever do get a custom domain or otherwise change hosts, I’m very likely to keep the same naming scheme, so future updates should be a lot easier.

Some miscellaneous observations on the transition:

  • Keep backups of content you host on third-party sites! They’re what allowed me to make this transition as easily as I did. And the inability to continue making backups was what first alerted me to the fact that something had gone seriously wrong at LiveJournal.

  • I’m using Jekyll, a static site generator, to turn blog entry text or markup (but without all the boilerplate html connecting the entries to the rest of the blog) into web pages. GitHub automatically runs Jekyll so I don’t have to, but for the past few days while I convert the old entries to the new format I’ve been running a local copy of the Jekyll server code, so I can preview what the entries look like without having to put them up for the world to see. Rebuilding the whole site (around 1300 posts) takes between 30 and 90 seconds depending on which machine I run it on, not really real-time but a lot better than some old complaints about Jekyll that I found on the net. This workflow should even allow me to work with the blog on airplanes or other locations without network connectivity, and the fact that it’s all in git (a version management system I’m already familiar with from using for my papers) gives me a local backup automatically and makes synchronization between machines easy.

  • Because I’m using a static site generator, I don’t have a place for people to leave comments on the posts (the old comments are baked in and I don’t plan to allow new ones). Probably Jekyll can integrate with third-party commenting services like Disqus but I’m not looking into doing anything like that. Instead my current plan is simply to link to new posts on Google+ (as I have been doing anyway) and then adding a link to each new post pointing to the Google+ link as a place where comments can be added. Disallowing third parties from adding any content to this site saves me from a lot of headaches involving security and spam.

  • As well as comments, the other feature I don’t have any more is tags. It is possible to generate tags in Jekyll but my impression is that it creates significant slowdowns in build time. I’m not sure how easy it is to get them to work on GitHub. And I don’t think I was making very effective use of them on LiveJournal, so if I did start using tags again I’d want to rethink how I categorize things.

  • All the old posts are formatted in html but for newer ones I am likely to use markdown (or actually kramdown, the default for new Jekyll sites) to save on having to get the details right (like making sure I close all of my tags). As part of the process of converting the old blog entries to the new format, I found and fixed quite a few errors of this type. And it looks like if I want to do something trickier in html, it should usually be possible to do it within a larger markdown post. Both formats allow MathJax-formatted mathematical expressions: Jekyll and kramdown support MathJax almost out of the box, with the only change needed being to add the appropriate JavaScript to my headers. They also provide syntax highlighting for code snippets. I have used these features to clean up the formatting on some old posts but many of them remain in their old pre-MathJax state.

  • I’m using the vanilla theme that comes with Jekyll, “minima”, with only a few customizations e.g. to what appears in the page headers and footers. Github only supports a small number of themes (if you host elsewhere there are many more to choose from) and I liked the simplicity of this one better than the others. It doesn’t get in the way of reading the actual posts with too much decoration. One of the mistakes I made, though, was thinking that I needed to use github’s “set theme” pulldown menu. Minima is not one of the themes listed in this pulldown and when I tried it I broke the site.

  • There are still a couple hundred links from my posts to other posts, pointing to the old location of the blog. It will take a concerted effort to clean all of these up, if I ever bother to do so. Unfortunately there’s no good way to automatically translate the addresses of those old posts into the new addressing scheme; it’s a matter of looking them up one-by-one by hand. Probably there are other ongoing issues with bad formatting. If you discover any (especially on posts that have some ongoing significance, which is far from all of them) please let me know so I can fix them.

(Leave comments on Google+)