Time is a property of the column
Date, Darwen and Lorentzos showed twenty years ago that in temporal data every attribute that changes over time needs its own table: sixth normal form. They left the decomposition to the schema designer, and nobody did it. A proposal to move it into the engine: a column-level declaration, a planner that turns projections into LEFT JOINs and predicates into EXISTS, future-dated updates, and one hard rule about uniqueness.
The job description is a spec written before the job
When access to knowledge becomes cheap, knowledge stops being scarce. What becomes scarce is asking the right question and understanding the answer. An archaeology of the job description, what the selection research actually says, three interview formats that measure questioning instead of knowing, and an answer to the junior paradox.
How I motivate my team
The three basic psychological needs of Self-Determination Theory, a fourth one I have added from my own experience — internal rivalry — and how all of it works in a team where everybody is motivated by something different. Plus the one principle that never changes: never turn your back on anyone.
What Spec-Driven Development Doesn't Solve: The Organization
The spec-driven development debate is stuck at the tooling layer. The real questions are: who writes the spec, how many of them are there, and is the product decision made before the code sets. Three organizational types, a gate formula, and a real definition of reversibility.
The anatomy of data languages: bytes, names and a spectrum
There is no such thing as a file on a disk. File, row, document, message — all of them are names given by programs looking at bytes. This small dislocation reframes both SQL's five sublanguages and the categories we sort systems into.
on the cumulative nature of science and technology, through the example of the qr code
Repairing a corrupted list and looking at a square from an angle: two branches of mathematics, unaware of each other, meet in a QR code in 1994.