New Blog

In case you’ve been wondering why I haven’t posted anything here for the past 3½ years - well, it’s certainly not due to there being nothing to post. The true reason is that, simply put, my dislike for WordPress has surpassed the desire to document what I’ve been doing.

And so, as my backlog of things to document grew, the priority of having a way to do it that doesn’t force me to suffer a mediocre WYSIWYG editor and the limits of browser textarea / HTML editing also grew to the point where it could not be delayed further.

After some messing around, I’m glad to announce that I’ve salvaged my back catalog of posts from WordPress’s clutches, and converted everything to a nice Hugo website, where content is Markdown, versioning is Git, and the editing UI is the text editor of your (my) choice. (If nothing looks different, that would be because I may have been a bit overly meticulous in preserving the current style, with all of its flaws.)

The WordPress HTML → Markdown conversion went very smoothly, and adapting the theme was fairly straight-forward. Not much to report there, other than that Hugo’s templating language (which is apparently just Go’s html/template) is occasionally unreasonably restrictive.

By far, the biggest problem was with the comment system, which was to replace WordPress comments. I’ve looked over all the stand-alone comment systems I could find, and none of them satisfied the requirements I had in mind. Some big ones (from memory, I originally researched this around March):

  • Disqus – a very popular proprietary SAAS comment system. Not only are you not in control of the data, but the company monetizes the service by tracking your visitors and hijacking hyperlinks, so, that’s out. Spam is also a problem.

  • Isso – an open-source Disqus clone. The reasons I did not end up using it generally are:

    • The developer is apparently not a very nice person, and has unpopular strong opinions for the project (e.g. refusing to support Gravatar).
    • The language used (Python) makes deployment somewhat more complicated.
  • HashOver – a stand-alone comment system written in PHP. The version I’ve tried, and which I ultimately ended up using, is HashOver-next, which was being actively developed at the time.

    Unfortunately, even though it is what I settled on, I cannot recommend it. A lot of pieces were missing or broken, which I had to implement or fix myself. The code quality is mediocre; there is no test suite, and as a result, a lot of features (which presumably worked at some point) were dysfunctional.

    The worst part, though, is that the developer completely ignored my pull-requests for months on end, instead continuing development in his own way. The pull requests are now broken and bit-rotten due to his conflicting changes. In the end, I had to resort to maintaining my own fork.

In retrospect, considering the amount of time I spent working on HashOver (work wasted in vain, mostly, as it will likely never be upstreamed), I would have had more success writing my own minimal comment system (no big deal after DFeed) - and I still might, should a reason come up.

(Oh, and in case anyone decides to go down the same route as me, despite my advice, here’s a program to convert WordPress comments to HashOver.)

Finally, to fill in the gap in the site’s chronology, I am going to retroactively “announce” some things I’ve done since the last update. You can read them here.