Thin Margins

Notes on building for the web, written down so I stop looking them up. About ยท RSS

The three Cache-Control headers I actually use

2026-10-11

Fingerprinted assets, HTML, and everything in between: one question decides which policy a URL gets.

Lazy images without layout shift

2026-09-27

Width and height attributes, and why the first image on the page should not be lazy at all.

Keeping a home backup honest

2026-09-14

A backup you have never restored is only a hope. These are the checks I run every month.

Rolling out a Content Security Policy without breaking the site

2026-09-05

Report first, replace inline scripts with nonces or hashes, then enforce.

Self-hosting web fonts, properly

2026-08-21

WOFF2 only, subsetting, font-display and the preload attribute everyone forgets.

A tmux setup that survives reboots

2026-08-02

Sessions, layouts and working directories come back after a restart with two plugins.