State of Development - 10/19/24
Posted: 10/19/2024
Building Something
I've always owned a bunch of domain names. For whatever reason, it's always seemed enticing to have your own space on the internet - and at just $3 for the year, how could you pass it up? As I've gotten older, that list has dwindled down to just one domain, languishing and hosting nothing besides some CNAME routes for friends' Terraria and Valheim servers.
I looked to change that at the start of this year, not intending for it to be a New Year's Resolution, but a project to kill some time. I've been doing less and less development in my day-to-day work and it was a way to keep myself from getting too rusty. I picked a couple random frameworks I had never used and got to work.

Look at that January - almost a full week of commits
Contributions slowed - I got distracted by game development (which I rarely committed) and other priorities took up more time.
Now almost a year later I think the site is okay enough.
Changing Hosts
This site was originally hosted on DigitalOcean. I've always been a big fan of them despite using AWS for most professional development. DO's pricing is pretty straightforward, and for hobby development I really don't need the additional tools that the larger platforms provide. Because of that, it's generally my go-to for anything small that I'm messing around with - game servers, this site, etc.
A large gap in development from paternity leave combined with my hatred of documenting what I'm doing meant that I had to reverse engineer how I had deployed and hosted the site. Considering the site is 100% static, it seemed like overkill to pay for a dedicated instance.
I ended up on Neocities. Neocities hosts sites that are significantly more creative than mine, but it provided two important items:
- Cheap Hosting (Free if you don't care for a custom domain)
- An extremely straightforward CLI
Serverless Changes
Moving the site to a completely static model required a few changes. First and foremost - I didn't want to figure out how to host services or a database alongside Neocities, and I don't know if a CRUD application is really necessary for what I'm doing. I had also been modifying a Markdown renderer so a static file made sense.
The current system moves everything into two files:
- A JSON file that stores the metadata for the page so that everything renders correctly. And in the worst case, I can parse these in the future if I need to load everything into a more structured system.
- A Markdown file that actually contains the content for the page itself, and tells the site how to display everything.

Storing blog posts as static files was relatively straightforward
This approach has some pretty obvious scaling issues and requires manual linking for the moment - but it's good enough.
I also needed to change how I deploy the application. Neocities CLI is pretty easy to work with, and I have a Linux machine sitting around for utility tasks, so I figured this was a good time to figure out Github Local Runners. One install and a quick script later, and every commit to main now publishes automatically.

Two machines and two websites to do the equivalent of an S3 push
While this is probably overkill for the site, this took all of 20 minutes to set up and works like a charm.
What's next?
The site's in a "good enough" state to move onto something else and not totally forget how it was built. Some stuff on my list that I'd like to get to:
- Working on a game - I was doing a bit of Godot development for a month. Nothing ever got far enough that I'd consider putting it up anywhere, but I got past the tutorial stage of figuring that system out.
- Writing more - Now that I can stop fiddling with this page, I can actually use it for its intended purpose.
- Hoarding data about my dog's career - Unsurprisingly, data quality for greyhound racing has gotten awful now that it's de facto illegal in the United States (which is a good thing.) Unfortunately for Homer, another Major Force has appeared in Australia and is messing up his records. I figured out how to rip his old racing videos, so I'd like to back them up before all of them are gone forever.
