I spent money on a domain so I might as well use it.

All Personal Blogs Die, But Mine Came Back As a Ghost

Blog Archeology

For a decade (!) from 2011 to 2021 I hosted my personal blog on Github Pages with Jekyll. I had forgotten much of the history behind my blog but thankfully it was just a git repo! We can look back in time through the changelog. The first post was 2011-03-15 and titled "Cold Boot":

I'd like to give a special thanks to James Hunt who's blog I forked (its amazing how you can actually fork a blog). As well as the inspiration to do so.

I used to have a blog at blog.overflowbit.com however it ended up becoming malnourished and so I decided to shut it down. One day I would like to set up a portfolio site at matthewbrunelle.com, however that would require having material to put in my portfolio. As of now I'm a high school senior for Rhode Island. I'm applying for the Google Summer of Code 2001, specifically with the Python Software Foundation. As such I needed a blog to post to and rather than set up a self hosted word-press install again I opted to try out Jekyll.

I can't wait to dig in to some real development!

~Matt

(Links have been updated to wayback machine archive links since all personal blogs die.)

How ironic that what I thought was the start of my blog was the announcement of the death of my old blog. blog.overflowbit.com is sadly not in the wayback machine, so it is truly lost to time. I think I used WordPress at the time hosted on some forgotten VPS but we will never know. In fact I let the registration slip for a while but it seems no one sniped it before I rebought the domain recently.

The Value of Static Sites

The fact that I can figure any of this out though is a testament to the power of the git repo + markdown + static site generation style of blogs. Markdown is a tried and tested format for content. When I wanted to stand up my blog again I was able to just copy the markdown out of the repo and load it into Ghost. There were some custom tags I had added and needed to be updated but all the text formatting was portable.

Speaking for portability back when I started blogging I loved that all I really needed to do was generate an RSS feed and I could serve it as a static file. Honestly I still love that aspect of RSS and RSS in general. RSS is unencumbered content distribution at its finiest. I consume RSS feeds daily and I like the idea of giving back content over RSS.

Somewhat related, Kagi is throwing their support behind Small Web. It turns out it was very easy to add my site to their repo for inclusion.

So why Ghost?

So flash forward to now. It turns out my blog had been rotting for years and at some point that Github Pages had just stopped serving the site. I realized this last month at PyCon and I got the itch to start writing again. Cory Doctorow gave the keynote speech and I was reminded about how the web can be free and open. I should probably take the time to read through The Internet Con:How to Seize the Means of Computation

At the same time my goals with writing are a little different now. Now I am looking for the following:

  • Attention sinks pull me in so many different directions. While I love to tinker setting up software, I currently want to focus more on writing.
  • I still want to write my posts in Markdown
  • ActivityPub integration. I'm not active on any social media so this sounds weird but I like the idea of contributing long-form content to the fediverse. I guess its called Macroblogging retroactively now that microblogging exists. Plus I've played around with implementing the protocol before and its really nifty.

ActivityPub support rules out static site generation. I had seen some approaches to shoehorn in support but they didn't feel great. The extra steps required to publish each post also goes against the low friction writing goal.

I had looked into using Writefreely instead but I kept hitting snags with self-hosting it.

Then I found Ghost:

  • Open source and easily self-hostable. Its already bundled in the Unraid Community Apps. I just had to put it behind Caddy and set up the DNS on Cloudflare.
  • ActivityPub integration is currently in beta for paid hosted users. Ghost recently posted about the 6.0 release is on its way soon and will include ActivityPub. In its current private form it sounds like it was deployed as a side car with its own nginx so I'm curious if thats what will ship in the next release.
  • Newsletters? I don't think I will use this feature to be honest. It could be fun to do a private one for my family members though.

What I Will Miss

My old blog started by forking someone else's blog. Thats so neat! I tried to pay that forward and keep my own blog available as a repository. I will miss that now that I'm using Ghost.

But you know, at the end of the day my posts are still just Markdown text. I can yank them out and rebuild if I need to again. As I said, all blogs die, so in a decade I suppose I'll do some more blog necromancy.