How this site is built
This site is about as simple as a site can be while still being pleasant to write for.
There is one Python file. It reads markdown out of posts/, wraps it in a single HTML template, and writes plain files into docs/. GitHub Pages serves that directory. There is no package manager, no node_modules, no framework, and nothing to upgrade. The whole thing runs on the Python that ships with macOS.
Writing a post is three steps:
python3 build.py --new "Post title"
# edit the file it prints, delete the draft: line
python3 build.py
git add -A && git commit -m "new post" && git push
Pages goes live a minute or so later.
Why not a static site generator
Because the interesting part of a blog is the writing, and every generator I've used eventually asks for more attention than the writing does — a config format to learn, a theme to fight, a dependency tree that rots. The markdown support here is a deliberate subset: headings, lists, links, emphasis, code, blockquotes, images, rules. That covers essentially everything I'd actually write, and when it doesn't, a raw HTML block passes straight through untouched.
The tradeoff is real and I'm making it on purpose. If I ever need footnotes or syntax highlighting badly enough, they're each a small function in the one file I already own.
What's here
Mostly notes about operations work at a research company, and the small tools I keep writing to avoid doing things twice. Nothing on a schedule.