free programmer.

Hello, Blog!

This is my blog's first post. I'd like to describe a little of how this site is set up and how I got everything online. Much of this is very standard, but as they often say, "there are many sites, but this one is mine".


I bought this domain to mostly have an address for my new email, but I've also wanted to start writing about techical subjects I find interesting, the social and political aspects of technology in modern society, and to learn more about the pile of twigs that is the web. It's been a pretty alright experience so far.


My requirements for a host are simple:

  1. It needs to be transferable. That is, I have to be able to stand up my sites in minutes should I decide that my sites need to move hosts.
  2. I need to be able to understand and change the environment to suit me.

For now, my sites are hosted on one tiny DigitalOcean droplet. It's currently the right line between cost and usability. I'm open to alternative infrastructure, but am unsure what the options are or where to start.

Setting Up

Domain Registration and DNS

As far as I know, there's not really much to say about this. I'm using Hover for my domains right now, which is almost certainly more expensive than other options. However, my Hover domains are paid up and working, which is the most important thing for them to be. I can save money when they get renewed.

I admit that I didn't remember the fact that google owns the registry for the .dev TLD, so if de-googling was a goal of this whole exercise1, it can't be entirely, shrug. I chose because I liked how it sounded, and the only other availible domain I cared for,, is my uncle's, and I'm not going to try to steal his domain, that's rude.

DigitalOceans DNS has been pretty painless so far. My changes take effect and propagate out to the wider world. Still feels like magic to me.

Host Configuration

This will probably always be a spare time project, so I wanted to keep system administration to what I know. My daily driver is Arch Linux2 so I got my droplet up and running, then promptly paved it with this handy script. It worked like a charm and I had my system up and running in a few minutes. After that, there was a little playing around with nginx configuration, setting up certbot and certbot's nginx plugin for TLS3 and we were online. Only took a few hours since I hadn't done that before.

The Site

This site is probably the simplest thing I could get working quickly, with the requisite time taken for styling neuroticism. All the setup for the text you're reading now is available here on sourcehut. I'm using Zola for the site generation. While not having much experience with static generators, or templating, we primarily use jinja2 templates for services at work and the syntax was familiar enough that I could get started quickly. It's also written in rust, my favorite programming language, and supporting its ecosystem means a lot to me.


Before I sign off on this post, I'd like to thank a few people. First and foremost, my family, for always fostering curiosity. I would have never put this all together without them. Thank you for always being there and encouraging me.

I'd also like to thank Drew DeVault, who is the person most directly responsible for my writing this blog, and not just because of #makeablog, but because I believe in what he's building. However, this isn't the post on my feelings and perspectives on sourcehut and why it's important and why you should pay for it if you're a hacker.

  1. It was.

  2. btw, i use arch.

  3. .dev domains are part of the HTTP Strict Transport Security (HSTS) preload list. Compliant user agents will only connect via TLS, so having a correct TLS setup is required for this site to be online.