Journal
Notes from real projects - AWS, DynamoDB, Rust, home servers, and whatever open source tool I'm currently building.
Articles
Recently Played: bringing back my Last.fm component
I had a Last.fm widget on my site in 2010. Fifteen years later, I brought it back as an Eleventy WebC component with SSR, live polling, and localStorage caching.
Read articleWireGuard for safe browsing on kids' devices
Kids' devices leave the home network. WireGuard tunnels their DNS back through home filtering - everywhere, automatically.
Read articleRunning AdGuard Home and Unbound on a home server
AdGuard Home handles the filtering, Unbound handles the resolving. Together they give you private, ad-free DNS for your whole network.
Read articleBuilding a tiny Intel N100 home server
I built a silent, tiny home server for £250 using an Intel N100. It runs 24/7 on about 8 watts.
Read articleRemove trailing slashes with CloudFront and 11ty
Trailing slashes and 11ty's folder structure caused redirect loops. A simple CloudFront function fixed it.
Read articleEnhance CSRF package - now supports multipart form data
My Enhance CSRF plugin now supports multipart form data - meaning file uploads work with the csrf-form component out of the box.
Read articleDynamoDB Streams locally with arc.codes & Enhance
DynamoDB Streams don't work locally with Dynalite. I built an arc plugin that fixes that with DynamoDB Local and a polling middleware.
Read articleA mistake the internet won't forget easily
A hungover deploy, a misconfigured cache header, and browsers that refused to forget. A cautionary tale about cache-control.
Read articleEleventy 2.0 & WebC
I rebuilt two production sites with Eleventy 2.0 and WebC. Here's what I learned about HTML-first components and the gotchas to watch for.
Read articleSharing Enhance elements between projects
Sharing components across Enhance projects wasn't straightforward - so I built an arc plugin to handle it.
Read article