The Path Not Found Is the Point
Scanners arrive with a shopping list: WordPress, admin panels, .env files, and login forms. A static site has none of those. That absence turns the site into a passive honeypot.
Read moreThe complete archive of articles, thoughts, and engineering notes.
Scanners arrive with a shopping list: WordPress, admin panels, .env files, and login forms. A static site has none of those. That absence turns the site into a passive honeypot.
Read moreSome code changes can be verified by reading the diff. Others require understanding the code. The split matters.
Read moreOne CloudFront edge location dominated the probe traffic by a factor of six. Pulling that thread led to Azure Canada Central and a particular kind of internet scavenger.
Read moreA homework photo turned a simple maths question into three valid answers and a late-night lesson in why notation matters.
Read moreA static site with no login pages, no forms, and no commercial value still attracts thousands of unsolicited requests per month. This is what that traffic contains.
Read moreWhy a CloudFront Function was the right choice for canonical host redirects and URL rewriting, and what would change that decision.
Read moreHow a slow GitHub Actions run led to a handful of small fixes: browser caching, dropping WebKit, and understanding what --with-deps actually does.
Read moreA privacy-preserving analytics pipeline on AWS, built to cost almost nothing.
Read moreReflections on the shift from compliance to structural engineering and a curated reading list for building deeper accessibility literacy.
Read moreCodifying lessons into architectural constraints and automated tests to prevent regression.
Read more