Recent posts

Stop treating your ES modules like junk drawers

Module-level state is a footgun

Generating Open Graph previews for static sites

Using data URLs, Playwright, and HTML

Ejecting from Google Fonts

Self-hosting font files, because we can

Skewed backgrounds with CSS

Using generated content for irregular background shapes

How this blog is built

A reckoning of acceptable trade-offs