Adam Culler

Colophon

How this site is built

Static files, no trackers, nothing that phones home. Here is everything that makes it work.

Static, and proud of it

Every page here is a plain HTML file. There is no server code, no database, and no account system. The pages are generated from a handful of Markdown files by a small Python script with no dependencies, then published as one folder.

Everything still works with JavaScript turned off. The scripts only add the fun parts: the moving landscape on the home page, the command palette, the theme switch, and the fingerprint checker.

No trackers, enforced

There are no analytics, ads, embeds, cookies, web fonts from other companies, or requests to anyone else's servers. That isn't just a promise: every page ships a strict Content Security Policy that tells your browser to refuse anything that isn't from this site. If you choose a light or dark theme, that choice is saved in your browser's local storage under the key theme. That is the only thing stored, and it never leaves your device.

Every link on the site is relative, so the same folder of files works at the root of a domain or from a subfolder.

Verifying my key

My key is also published on keys.openpgp.org, which gives you a way to check it that doesn't depend on this website. The contact page walks through it, and has a small tool that compares any fingerprint you paste against mine, character by character, entirely inside your browser.

The pixel grid next to the fingerprint is a "randomart" image, drawn from the fingerprint with the same drunken-bishop walk OpenSSH uses. It makes keys easier to tell apart at a glance. It is a visual aid, not a substitute for comparing the fingerprint itself.

The landscape

The contour lines on the home page are a generated topographic map, a nod to the Blue Ridge foothills around Mount Airy. The terrain is seeded from my PGP fingerprint, so it is the same landscape for everyone, every time. Move your pointer and the ground rises to meet it; click or tap to send a ripple across. With JavaScript off, or if you've asked your system to reduce motion, you get a still version of the same map, drawn ahead of time by the build script.

Type

Headings and essays are set in Fraunces, interface text in Inter, and code and fingerprints in JetBrains Mono. All three are open-source under the SIL Open Font License, trimmed to the characters this site uses, and served from here. The licenses are in assets/fonts.

Keyboard

Ctrl K or ⌘ K
Open the command palette
/
Open the command palette
t
Toggle light and dark theme
g then h
Go home
g then a / p / w / n / c / s
About, Projects, Writing, Now, Contact, Colophon
Esc
Close the palette

By the numbers

Pages
8
Posts
0
Whole site, every file
692.5 KB
First visit to the home page
about 207.5 KB
CSS
37.4 KB
JavaScript
27.3 KB
Fonts
169.1 KB
Requests to other servers
0
Cookies
0
Build dependencies
0 (Python standard library)