Where notes become knowledge.
I capture each day’s lessons in TIL, then refine the ones worth revisiting into Knowledge. The more I write, the clearer my thinking becomes.
I refine each day’s notes through a three-stage pipeline so they don’t get lost. Scroll to see each stage come to life.
This post traces strange AI output to the blanks in natural-language requests, translates requirements into a formal language of space, laws, and observations, proves them in Bend, and derives equivalence-partition and boundary-value tests with fast-check, for beginners
One standard for accepting or rejecting AI-written TypeScript: pin down what the types own, drop the over-engineering, and leave compiler evidence behind.
How to review an AI that produces different code every time by layering deterministic instruments — tests, linters, scripts — and splitting the work into small reviewable units through modularity, explained step by step
A record of switching the push hook and PR CI, which kept repeating the full unit test suite for every parallel job, to change-based selective runs, covering how to avoid guessing the base point and the rule that sends deletions and global config changes to a full run
Why committing the direction on the first key fails to merge the second key, since the browser sends keys pressed at the same time as separate keydown events, and how a 50ms collection window solved it
A record of splitting a form into a queue and a worker after several simultaneous submissions failed with 'busy', and of confirming that queue redelivery alone does not resolve the contention and that acking an exception silently loses the message
Browsers split even simultaneous input into separate keydown events, which causes the bug where pressing keys together only goes one direction. This explains how to fix it with a short, bounded collection window and fixed-step consumption
Assuming a queue may deliver the same message more than once, this explains how to ack only on success, block duplicate execution with an idempotency key, and report when redelivery is exhausted
A pattern that puts a queue and a worker in front of a slow or one-at-a-time external system, so requests are accepted immediately and processed at the system's own pace, along with how to design acks, fallbacks, and retries
A growing record of daily problem-solving.
Documents promoted into reusable concepts.
New notes added this month.