Where to Blog?

Posted on November 25, 2019
Tags: blogging

This post compares different blogging options I considered when choosing to put my writing online.

My initial candidates were:

  • Tumblr: I am familiar with publishing on the site, they have a great interface for publishing multimedia content. It would be easy to filter based on different types of content if I’m interested in posting audio, images, and text. It might be odd to publish long-form blogs on Tumblr, though. I’m not sure if anyone does that.
  • lesswrong.com: This is probably the online community I follow most closely, though I haven’t gotten my nerve together to post there yet. This is a poor candidate in that I’m interested in writing on broader themes than rationality specifically.
  • Medium: Visitors to Medium expect long-form text posts (unlike Tumblr) on a diversity of topics (unlike lesswrong). I’ve never posted there before, and reading about it was a little uncomfortable. They are interested in curating sets of posts they can paywall, promote, and monetize, and I can only imagine that posting there without the intention to be edited and monetized puts me outside of their target authorship.
  • gwern.net: Gwern is an inspiration to me, and reading his thoughts about his own site drives home the value in controlling one’s own site. He has made a huge investment in his tools and in creating the site he has, and everything is open-source. I could benefit from his substantial investment, and have a clone of a really magnificent creation! This appeals to me more than posting things on a network managed by someone else, because I would retain control over everything, and posting could be as simple as git push. However, I expect these tools are bespoke. He uses hakyll, though doesn’t recommend it to a general audience, and though I am decent at Haskell, the idea of learning all the tools he’s developed gives me the feeling of using someone else’s vim config: it’s difficult to discern the where unexpected behavior comes from and very costly investigation and some substantial growing pains may be prerequisites to productive blogging. This feels like a major investment, and though it might be an interesting experiment, if my goal in blogging is to do anything besides learn how to manage a complicated Haskell-based blogging toolchain, something else would likely be a better bet.
  • Hakyll: I searched DuckDuckGo for “static site generator,” and found a list of static site generators ordered by GitHub stars. The first 30+ tools were all in various flavors of JavaScript, Ruby, Go, and Python, which initially deflated me. I am not interested in maintaining a website built on dynamically-typed languages. The first tool that actually interested me was Hakyll, after all! This is probably worth looking into a bit further.
  • elm-pages: I like Elm. At my last job, I worked in Elm for two years.I hope elm grows more popular as an approachable ML-inspired language and alternative to JavaScript. Dillon Kearns seems legitimate… but this tool is very young. The upside is that Elm is very comfortable to me, and I think that whatever I want to do would be in my most comfortable language. This is probably also worth investigating.
  • PureScript static site generator: I respect some people that really enjoy working in PureScript. If I’m interested in using a static site generator, maybe I could use a language that thrives in the frontend, that has a powerful type system, and that has more friendly tooling (so I’ve heard) than Haskell. Elm is a little verbose, and I’d like to have typeclasses back, and I’ve heard PureScript is something like Haskell with less baggage. I thought I’d see what looked good on github: the GitHub trending page for PureScript had nothing listed! I’ve never actually experienced such a thing. Where do I find popular purescript tools? I decided I’d better give up on that route and pursue a Hakyll site.

Hakyll, Tufte style

So I landed on Hakyll, and have decided to follow gwern’s lead and liberally pull from Tufte CSS. As this is my first post, I am posting it before exploring all the details. I edited my site.hs file to serve the font Tufte CSS demands, and edited the file paths in tufte.css to reference the font on the path I decided makes sense, and found these small edits to be more cumbersome than I expected, but I’m happy enough with the current results to proceed. I expect it’s partly a function of my Haskell being rusty, and I’m very comfortable with paying some overhead of Hakyll hacking if it gets me back into Haskell.