Today I Learn
Things I pick up in tech — from code to infrastructure to everything in between.
How PostgreSQL Vacuum Made My Test Return Rows Backwards
September 2, 2026
A VACUUM landing between two inserts made PostgreSQL return rows backwards — and why the test should assert set membership, not order.
Agentic AI: what's really under the hood
August 6, 2026
The agentic AI iceberg — 30% is the marketing, the other 70% is a while loop, deterministic rules, and one model call. The model thinks, the framework is plumbing.
AI models are specialists — here's the field guide to 8 types
August 3, 2026
There's no single 'AI model' — there's a family of specialists: chat, embedding, vision, reasoning, agentic, TTS, STT, image gen. A light field guide to which one does what, and the one rule that saves you from rebuilding a search index.
CSS counters — 5 lines of CSS replace 20 lines of row-numbering JS
August 1, 2026
Replacing client-side row renumbering with CSS counters: counter-reset, counter-increment, counter() in ::before — the number is derived from document order, never stored.