Posts
All the articles I've posted.
- Featured
AI Is a Brilliant Developer With No Discipline: Why Managing Agents Is Managing Engineers
Updated:I spent months writing prompts, rejecting what came back, and rewriting it myself. The problem was never the model. It was that I was prompting a tool instead of managing a developer, and engineering already knows how to manage a fast, talented, undisciplined developer.
State Is a Fold Over Events: Functional State in React and Beyond
Your state is the residue of setter calls nobody recorded, which is why the bug won't reproduce. Name what happened as events, let one pure function fold them into state, and every screen your app has ever shown is one replay away.
Effects Are Values: Functional Core, Imperative Shell
Your business rules can't be tested because they're welded to fetches, toasts, and analytics calls. Split the program in two: a pure core that decides what should happen and returns it as plain data, and a thin shell that performs it. The mock count drops to zero.
Booleans Lie: Modeling State with Discriminated Unions in TypeScript
Updated:Three booleans give you eight states when you only meant four. Discriminated unions make the illegal ones unrepresentable — model a value as exactly one of a fixed set of shapes and let TypeScript hold you to it.