
I’m unsurprisingly saddled with flu again. I say unsurprisingly as I work in an office where a small double-digit percentage of folks have called out due to illness over the last two weeks, and I had closed-door meetings with every one of them before they did.
While I still have a high fever three days later (101.4 as of an hour ago), I’ve been periodically riding the highs from Zicam and Liquid IV to get a few things done in between long periods of sleep. In addition to finishing Cheers (only 9 more episodes to go before I’m done with the series), Frasier (12 more episodes), the latest edition of the On the Calculation of Volume series, and an ARC for Emma Cline’s new book, I’ve been up at odd hours migrating my entire blog to my own self-hosted and self-created platform.

The Next Iteration of Moonshake
I built the Moonshake CMS under a year ago to create something lightweight and in my existing workflow. Between then and now, I ended up making use of my Ghost.org instance (previously hosted at scottsteinhardt.com) and put this blog by the wayside because, honestly, why the hell do I need two blogs?
After experimenting with Cloudflare’s free Workers and Pages, I opted to move all of my static pages from Fastmail (where website hosting is a tertiary product compared to their email offerings and such) to free Cloudflare Pages. I didn’t have to edit Moonshake to accommodate this move (as uploading sites works similar to how it did in Fastmail), but I did want to make it so that had a few sorely needed features:
- Automatically compiling the entire blog, placing images and media in correct places, and using easy URL slugs instead of blog-post-title.html
- Adherence to my new design document
- Automatically updating a sitemap and RSS feed
- The ability to embed iFrames of music, like so:
The next step is to get the RSS feed connected to Buttondown, which will automatically trigger an email send. (If you’re reading this via email, this was sent manually as a test.)
Why a Custom CMS?
I could just as easily keep paying the $11/month at Ghost.org and move everything there, which is a minor item in the scope of my budget. Yet as I experiment more with AI, programming, and creating fun things on the web, I wanted to keep full control of everything that goes on my site. I also just like making things, full stop. As a friend told me earlier this year, “(I) play life on hard more,” which is not an unfair assessment of how I operate. Yet by making things and through successes and failures, I learn quite a lot in the process. Case in point: building this site allowed me to sharpen my Python skills quite a bit, which is a little late for the age of AI but still quite useful to help debug future projects.
Before those future projects happen, though, I must go back to sleep.