Colophon
What this site runs on, and what it deliberately refuses to load.
This page exists so the claims below are checkable rather than assumed.
#What builds it
A single hand-written Bun script, a bit over two hundred lines. Markdown goes in, HTML comes out, and nothing runs when you ask for a page — by the time a request arrives, every file has already been written to disk.
It has two dependencies. marked turns Markdown into HTML. Shiki does the syntax highlighting, using the same grammars as VS Code, which is the reason it is here: the Zig and HCL that show up in these posts highlight properly instead of degrading to grey text. The colour scheme is generated from the same design tokens as the rest of the site, so code blocks are not a foreign object dropped into the page.
There is no framework, no plugin system and no configuration file. When something needs to change, the change is to the script.
#What serves it
A virtual machine in Sydney, running Caddy, which I administer myself. Nothing sits between that machine and your browser — no CDN, no proxy, no edge network, no third-party front door. The certificate is issued by Let's Encrypt and renewed automatically.
Two ports are open to the internet: 80, which only redirects, and 443. Remote administration is reachable only over a private network and is not exposed publicly at all.
The server keeps no access log. Your request is served and forgotten. I do not know how many people read anything here, which is a trade I made deliberately and occasionally regret.
Deployment is a build step and a file copy, triggered when I push to the main branch. There is no database and no application process — if the build machine disappeared tomorrow, the site would carry on serving.
#What it does not load
The page you are reading makes requests to exactly one origin: this one. That is not an aspiration, it is enforced by a Content-Security-Policy header that blocks anything else, so a stray external reference fails loudly instead of quietly working.
Specifically, and permanently, this site has none of:
- Analytics. No Google Analytics, no Plausible, no Fathom, no self-hosted alternative. Not a pageview counter.
- Tracking pixels, beacons, and A/B testing. Nothing is measuring you.
- Third-party fonts. The typefaces are files on this server. Nothing is requested from Google Fonts or any other font host.
- CDN assets. No jQuery from a CDN, no stylesheet from unpkg.
- Embeds. No YouTube players, no social media cards, no CodePen frames, no gists. An embed is a third-party script with a nice picture on it.
- Comments. No Disqus, no Utterances. If you want to tell me I am wrong, and I frequently am, my email is in the page footer.
- Share buttons. Your browser can already copy a URL.
- Cookie banner — because there are no cookies to consent to. The server sets none.
#What it stores
Nothing on the server. One thing in your browser: if you switch between the dark and light themes, that preference is saved locally so the site does not flip back on your next visit. It never leaves your machine and is never sent with a request.
#Reading it
Every post works with JavaScript disabled. The theme toggle is the only script on the site, and it does one thing.
URLs look like /writing/some-post/ and do not change once published. There are
no dates in the path, no file extensions, and no tracking parameters appended to
links. If a URL here worked once, it should keep working.
There is an Atom feed. It is a first-class way to read this, not an afterthought — the full description of every post is in it, and subscribing means I learn nothing about you at all.
Dates are ISO 8601 (2026-08-12) everywhere, because I am Australian, half my
readers are not, and 08/12/2026 means two different things depending on who is
looking at it.
#Design
The visual design is a system called Velocity: a dark ground by default, no rounded corners anywhere, hairline rules that sit close to the background, and a single high-energy green used as a marker rather than as decoration. In light mode that green never appears as text — at roughly 1.4:1 against a pale background it would be unreadable — so it marks position and nothing else.
#Corrections
If something here is wrong, I would rather know. Posts are edited in place when they contain errors, and anything that materially changes an argument is noted at the foot of the post rather than quietly rewritten.