Field notes from an engineer who writes.
Short, sharp lessons pulled from real Android and KMP work, each with a recurring cast of personified bugs. One idea, written once, adapted to dev.to, Medium, Hashnode, and LinkedIn.
Lessons
collectAsState is quietly leaking your work
expect/actual is the wrong default in KMP
Your LazyColumn recomposes on every scroll
The 5-second window that crashes your service
CancellationException is not an assassin
Teaching a phone to disbelieve its own GPS
+11 more in progress
- SOONNotes From The LoopThe captain routes. The captain never rows.
- SOONCrossing The SchemaI audited my own migrations. It was not fine.
- SOONNotes From The LoopPlausible is worse than wrong
- SOONChain Of CustodyYour thresholds do not belong in constants
- SOONChain Of CustodyInvariants are cheap. Silent corruption is not.
- SOONSensors Who LieEvery filter needs a documented exception
- SOONChain Of CustodyNever silently change a number someone gets paid on
- SOONSensors Who LieWhen two sensors disagree, rank them
- SOONChain Of CustodyYour data model is where uncertainty goes to die
- SOONSensors Who LieOne global threshold is how you delete valid data
- SOONSensors Who LieFiltered should never mean deleted
Series
The cast · the bugs, personified
Every lesson stars a recurring character, the bug itself, given a face and a motive. Appearances so far:
Everything I wrote before I wrote code, the magazine years, the societies and the archive they produced, lives in The Ink.