Moving from Digital Ocean to Hetzner

I spent the afternoon migrating a bunch of personal services from a Digital Ocean Droplet to a Hetzner Cloud Server. The difference is pretty significant.

Digital Ocean DropletHetzner Cloud Server
SKUs-1vcpu-2gbCPX11
vCPU12
Memory2 GB2 GB
Storage (SSD)50 GB40 GB
Traffic (per month)2 TB20 TB
LocationSingaporeUS West
Price (per month)12 USD4.54 USD (4.24 EUR)

For just ~37% of the cost of a Droplet, I get double the vCPUs and 10 times the traffic allowance.

There’s a little less storage out of the box, but an extra 10GB will cost 0.5 USD/mo. Also, there’s the difference of being located in US West instead of Singapore which increases the latency when SSH’ing from Australia, but this is largely factored away with most of the traffic being served through Cloudflare.

More importantly, by retiring the old Droplet, I’ve been able to continue running my personal services on one CPX11 instance, spin up an additional CPX11 solely for my mel.social Mastodon instance and still have some change to spare.

Coding with Minecraft

I feel like I struck nerd-parent gold with CC: Tweaked, a mod that adds programmable computers, turtles and a bunch more to Minecraft, all controlled using the Lua programming language.

It began with Coding with Minecraft that I picked up from the local library to see if E might be keen and ready to get into programming during the holidays.

The entire programming interface is in Minecraft itself. Coding is performed on “turtle” character. There’s a really basic shell, a file system, a full blown Lua interpreter, and a simple editor to get the edit-run cycle going.

We’ve been working through the chapters, E’s been copying code out of the book, getting it to work, then adding his own tweaks and modifications with some assistance.

Here’s one of the first programs he copied and extended (“Farmer” is the name of his turtle). Printing messages, taking input, concatenating strings to form responses and doing a little math at the end.

It was really nice to share in his excitement when he got the program to run exactly as he wanted after multiple edits and tries. *proud dad moment* Next, we’ll be getting into using for loops to make the turtle dance.

Also, Lua is actually pretty nice as a first programming language 😄.

Reboot

WordPress has gotten a lot nicer since I last touched it in 2014.

The whole PHP/Apache situation is probably still as fiddly as ever so I’ve simply abstracted it all away by running this site using the official wordpress Docker images. MySQL on the host, /wp-content directory mounted-in.

Full Circle

My last wordpress post was in May 2014. Since then, I’ve dabbled with Bludit, Gollum, and Writefreely. Two things motivated my journey:

  1. I wanted to store all my content in flat files for portability and ease of backing up.
  2. I didn’t want to have to run a dedicated database process for the site to function.

To achieve the above, I had to give up:

  • Date-based archives
  • Categories
  • Not absolutely manual media management
  • Using an expertly designed theme that Just Works™ without me messing around with markup and stylesheets.

Writing incrementally

The biggest thing I’ve missed though, is the feeling that each new post is simply an increment and continuation of posts that come before it, both in time but also in concept.

It’s a silly thing really, but being able to easily see a post in the context of a subject matter or in a given month-year makes it so much richer. I’m not having to start from scratch, neither do I need to have everything figured out in one post because there will be to come.

All-in

So from here on, I’m all in with a much “thicker” stack than I’d like; trading-off technical un-complexity for the sake of motivating myself to create and share more.

I’m also in the process of consolidating more than 15 years of postings here.

  • Posts from my pre-2015 WP site are already here.
  • There’s an old MovableType backup on my NAS waiting for me to crack open – it’ll be a project in itself.
  • Also, notes should really just be pages or posts on this site.

Should be good.

Cool links from the week