
State a render loop reads belongs in a ref
A canvas game where you could never lose. The death screen showed for one frame, then the game quietly restarted. The bug was in the effect deps.
// writing
Page 4 of 8

A canvas game where you could never lose. The death screen showed for one frame, then the game quietly restarted. The bug was in the effect deps.

Promise.all is not a concurrency limit, it is a promise to run everything at once. Two lessons on capping work and cutting off a source that keeps failing.

My similarity thresholds kept drifting for no reason I could see. The cause was mixing normalised and raw vectors, so cosine was measuring two different things at once.

Keeping a heavy Python ML service out of the JS install was the right call. Hand-mirroring the request shapes on both sides was not.

WordPress is a fine tool that quietly became the wrong one for me. A fair, slightly spicy account of why I left, and how to tell if you should too.

A mailing-list signup taught me to separate the write that has to land from the nice-to-have side effect, and that binding names lie on shared accounts.

The same external id can collide across providers and must never merge across users. Why idempotent third-party ingestion is a composite key, enforced in two places.

A routine deploy landed mid-render. The process died, the job stuck 'active', the output half written. The fix was letting SIGTERM finish the work first.

I tore the old WordPress site down to the studs and rebuilt it as a fast, repo-native Astro project on Cloudflare. Here is the why, the how, and what I would do again.

My deduplication code ran on every batch and never removed a single duplicate. It was keying on a random id that is unique by construction, so it could only ever match a row against itself.
No matches, try another word.