Blog Re-uploaded... again
Earlier this year, my web host (Dreamhost) forced me to upgrade my web server to the latest supported version of PHP (or else!), which was incompatible with the version of Wordpress I was running. Thankfully, they didn't just upgrade the server without telling anyone like what happened with the RoboGames website a few weeks before the event. I updated the version of Wordpress to the latest, but unfortunately the theme I customized wasn't compatible with that, so I just threw a default theme on the website temporarily. I also noticed that the price of website hosting increased quite a bit since I started. And $12 a month for shared PHP hosting seems crazy when they have a VPS for only $10. So I'd like to move to something that's not shared PHP hosting. Also, I've not really been super happy with Wordpress for things like upgrading and security vulnerabilities -- I found several files that had been overwritten with some kind of trojan I didn't bother investigating.
Another instigating factor is not really using Facebook or other Social media anymore. With reddit being awful now due to the API thing, I'm kind of sad that a lot of the things that could have been posted on my blog are now in the Facebook silo or on some private subreddit. So I want to bring my blog back up and running again -- and hopefully better maintained than it was before.
Ultimately, I decided to rewrite my blog using a static site generator, partially due to advocating Infrastructure as Code and it seems like the perfect match. Jeykll seemed the obvious choice, but I don't want to deal with Ruby at all, so I decided to look at Hexo since it seemed exactly what I wanted. I got most of the functionality I needed, but decided it was kind of janky and not well supported for doing anything outside of a blog. I went down a rabbit hole of trying hello-world projects in Next.js and Gatsby since I thought having something React-like would be easy to work on since I'm pretty experienced with React applications. Unfortunately, they were more like statically-dehydrated React applications rather than HTML. What I wanted was more of a static site generator that uses .jsx
files as a template engine. I looked at Zola because it was written in Rust, but it seemed not well-supported and didn't look like it supported very much customization but I didn't really look very deep. I ended up migrating most everything in the Blog to Hexo, but before going live with it, I decided it wasn't a great fit and eventually found 11ty.
So I rewrote everything using 11ty starting from the work that was done with migrating it to Hexo. They both fundamentally work similarly by using Markdown files, although 11ty is a bit more open-ended in that content can be of any time and it can be specified in the markdown file, rather than everything being a blog post. Doing image optimization was pretty straightforward rather than needing three separate plugins and a bunch of code. Youtube embeds were already an existing plugin and didn't require a third-party plugin with documentation partially written in Chinese. So far, I've really enjoyed the process even though it's taken many more hours than I thought it would. At some point I plan on moving the site to a static site host like Cloudflare pages which has the incredible price of $0. Although I would kind of prefer paying something so that at least it will be less likely to randomly go away and be forced to move to a $20/mo plan. After moving my email to a email forwarding site like mailwip and removing a few I'll be able to ditch Dreamhost. Although, like the xkcd comic, I haven't really saved any money in the long term given how much time I've spent on this.
While doing the migration, I took the time to go through all the old posts and make sure it was a little better put together. I updated my About Me page to be newer than 10 years old, and re-organized some of the top-level items into a "Projects" page. Some of the images I had stored got moved into a proper image gallery on the site rather than just a Picasa gallery export. And there was a whole bunch of detritus I found in this process that I didn't move over like banners that I used to hyperlink to on 20 year old forums. Some things like old 384kbps .wmv files are going to get uploaded to YouTube and embedded since that's a much better experience for the web.
Given the six-year gap since the last post, I'm going to try to have some kind of recap posts, either using posts from Facebook as source, or creating something from things that never even made it to Facebook. This should be in-between more regular posting :).