New host, new back-end

Posted on 22 February 2020 by Justin Pyvis. About a 3 min read.

Over the weekend I pushed two major changes to the website:

  1. Changed hosts from Ramnode to Digital Ocean.
  2. Migrated the back-end from Craft to Ghost.

I'm not going to dwell on the first point. Ramnode has been great but I wanted Finely Balanced to have its own server rather than piggy backing on my existing, resource-constrained VPS. Why Digital Ocean? The major VPS providers for those on a budget - Ramnode, Vultr, and Digital Ocean - are very similar in terms of their offerings and pricing, but Digital Ocean had the best discount coupon at the time. That was it!

The second point is far more interesting. As regular readers know, I'm a big proponent of open source software. Yet this blog, while originally compiled with the open source Jekyll, has been powered by the proprietary Craft CMS since the transition away from EconByte over a year ago.

Why not Craft?

Craft is incredibly powerful and allows you to build virtually any feature you could ever want into your templates. I had it to a point where it would generate two lots of code for every post, one styled with CSS for the website and the other with tables for the weekly email (damn you Microsoft!!). But there was still a fair amount of copy-pasting involved to take that output, plug it into a mailer and deliver it to subscribers every week.

It was also relatively tedious to achieve the formatting I wanted. I had to create "matrix" fields, each with their own sub-fields, and add each one individually to a post as I needed them. The output was perfect but writing a post wasn't fluid at all.

Here's how the Bits looked in the Craft control panel.

Craft is also written in PHP, a coding language of which I'm not a huge fan. It's also closed source.

Given how much I write about the benefits of open source software, it was a bit inconsistent for me to be voicing that opinion on a closed source platform. So I decided to move the website to Ghost.

Why Ghost?

I've followed Ghost since its Kickstarter days back in 2013 and even used it for a project shortly after its first public release. Back then it was very basic - not much more than an elegant Markdown editor with a few bells and whistles - but it has come a long way since.

Most importantly, Ghost 3.0 rolled out membership and subscription functionality, which allows me to email all EconByte subscribers directly from the control panel. It also released a new editor with Ghost 2.0 which makes writing a joy, is coded in Node.js not PHP, is open source, and allows anyone to self-host their own node, as we are doing.

Here I am writing Issue 66 in Ghost's editor, to be delivered this week.

Regular readers of EconByte won't notice much difference, other than a completely redesigned newsletter (Ghost does not yet allow people to customise the newsletter template) and a missing search bar (another feature Ghost does not yet support). But those were two small trade-offs I was willing to make to save myself a lot of time and effort.

If you notice any issues other than those, please let me know. Otherwise, enjoy!


— Justin