Update: For a more recent account of the site setup, see How to downsize a tiny web server and the services on it.

OK, here we are, on my website. How is it generated? How is it hosted?

First, let’s talk about the context. The technical constraints always come from the context.

This is a very low traffic site, with only static content. It contains a basic website, plus some downloadable PDFs of things I wrote.

That’s already a very different problem from the things I work on at work!


First of all, since this is my project, I get to choose the priorities.

In sum, I’m here to learn a few new things, play with servers a little, and keep a stable web presence.


There are also some things I don’t really care about.


I’ve had a lot of web hosting arrangements over the years. I think the history was something like this:

Site generation

Historically, this site has always been basically static HTML, with hand-rolled CSS. I used to write a new stylesheet every so often, just because I could.

I’ve always supplemented the static files with some extra programmatic tools, when I needed them. For example:

Right now, a static site generator is the sweet spot for me between “100% hand edited HTML files in a directory” and “100% dynamically generated content.”

I do wish I had a lightweight solution for contact forms. I used to use PHP for that once in a while, but only because I used to need it for WordPress. Now… 🤷‍♀️.


This site looks pretty basic, but it actually takes a lot of work over the years to keep it going. The requirements of the web are always changing. I don’t want it to look too dated. I want it to work on mobile. I want it to keep running for decades at a time.

Minimalism is not actually all that cheap, when you think about it.