$ cat ~/blog
The log.
Short notes by default, an occasional deep-dive. Dumped while building.
- deep-dive #meta
Why this log exists
A low-friction place to dump what I learn while building — short notes by default, an occasional deep-dive when something deserves one.
$ cat welcome.md → - til #cloudflare#devops#wrangler
Cloudflare Pages branch aliases are not separate projects
Deploying with `--branch x` gives you `x.<project>.pages.dev`, but it lives inside the same project. To get a clean `project-t.pages.dev` hostname you need a whole separate Pages project — and deleting the old branch deployment needs `--force` if it has an active alias.
- til #three.js#r3f#webgl
R3F MeshTransmissionMaterial chokes SwiftShader
Headless Chromium falls back to SwiftShader (software GL), and a transmission orb at samples=8/detail=18 just renders black with no error. Dropping to samples=6/detail=14 keeps it alive on low-end GPUs — and always test the reduced-motion fallback separately.