Posts
My Testing PhilosophyAug 08, 2025
AI is Making Developers DumbFeb 24, 2025
Learning to LearnNov 06, 2024
Monorepos: Being a Good CitizenSep 06, 2024
Latest Snippets
View allDistributive IntersectIntersect an object with each object in a union, preserving the union types.
TypeScriptDistributive OmitOmit a property from an object in a union, preserving the union types.
TypeScriptDistributive OverrideOverride a property in an object in a union, preserving the union types.
TypeScriptProjects
@opennextjs/cloudflareOpenNext adapter for deploying Next.js apps to Cloudflare Workers.
@cloudflare/next-on-pagesBuild tool to deploy Next.js apps to Cloudflare Pages.
build-output-routerFully-featured routing system for Vercel's Build Output API (v3).
cloudyFile explorer for Cloudflare R2 storage buckets.
cf-bindings-proxyExperimental proxy for interfacing with Cloudflare bindings.
pgqJob queue system for Go projects that uses Postgres row locks.
itty-fs-routerFile-system based router, powered by itty-router.
iron-cryptoImplementation of @hapi/iron in Golang.
go-utilsVarious utility functions for use in Go projects and when writing tests.