Skip to content
The Loopdownas of 2026-10-28

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.

Newest: Every filter needs a documented exception, 2026-08-20

Lessons

A bandaged detective points down a dark alley with total, serene confidence, certain and pointing the wrong way.Sensors Who LieLIVE

Every filter needs a documented exception

androidfilteringedge-cases
A clerk stamps a fresh folder at his desk beside a bank of filing cabinet drawers, smugly certain a properly dated record is the only thing that survives a dispute.Chain Of CustodyLIVE

Never silently change a number someone gets paid on

product-engineeringtrustux
A bandaged detective points down a dark alley with total, serene confidence, certain and pointing the wrong way.Sensors Who LieLIVE

When two sensors disagree, rank them

androidsensorssensor-fusion
A clerk stamps a fresh folder at his desk beside a bank of filing cabinet drawers, smugly certain a properly dated record is the only thing that survives a dispute.Chain Of CustodyLIVE

Your data model is where uncertainty goes to die

data-modellingarchitectureprovenance
A bandaged detective points down a dark alley with total, serene confidence, certain and pointing the wrong way.Sensors Who LieLIVE

One global threshold is how you delete valid data

androidlocationthresholds
A bandaged detective points down a dark alley with total, serene confidence, certain and pointing the wrong way.Sensors Who LieLIVE

Filtered should never mean deleted

androiddata-modellingfiltering
A gremlin perched on a ladder repaints an already-empty room, brush loaded and bored, because nothing had to change for it to redo the work anyway.Ghosts In The RecompositionLIVE

collectAsState is quietly leaking your work

androidjetpack-composeflow
A performer stands between two stage doors adjusting a costume that no longer fits the part, a rack of other roles waiting in the dark behind them.One Brain Two BodiesLIVE

expect/actual is the wrong default in KMP

kotlinkmpmultiplatform
A gremlin perched on a ladder repaints an already-empty room, brush loaded and bored, because nothing had to change for it to redo the work anyway.Ghosts In The RecompositionLIVE

Your LazyColumn recomposes on every scroll

androidjetpack-composerecomposition
A jailer studies a glowing stopwatch with its hand almost at the end of the sweep, one palm already on the bolt, unmoved and about to close the door.The Night ShiftLIVE

The 5-second window that crashes your service

androidforeground-serviceworkmanager
A hooded courier holds out a small glowing note while unseen hands drag at his cloak to strike him down for carrying it.The Coroutine CourtLIVE

CancellationException is not an assassin

kotlincoroutinescancellation
A bandaged detective points down a dark alley with total, serene confidence, certain and pointing the wrong way.Sensors Who LieLIVE

Teaching a phone to disbelieve its own GPS

androidlocationsensor-fusion
+5 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.

Series

A clerk stamps a fresh folder while an unbroken chain of tied, dated folders recedes into the dark behind him, every one still accounted for.Chain Of Custody4
A ferryman poles a boat of passengers away from a crumbling shore toward a distant vault door, the crossing visibly one-way on both banks.Crossing The Schema1
A gremlin repaints an already-empty room from a ladder, because the room redraws itself whether or not anyone asked it to.Ghosts In The Recomposition2
A captain charts a course while his crew rows below deck and a many-headed sea serpent keeps pace alongside the hull, always one head ahead.Notes From The Loop2
A single performer, split down the middle into two different costumes, holds open two stage doors at once, belonging fully to neither.One Brain Two Bodies1
A bandaged, confident figure points the wrong way down a lamplit alley while a huddle of trusting instruments follow the gesture without question.Sensors Who Lie5
A courier holds out a small glowing note to a judge whose gavel is already falling, the note the only evidence anyone in the room is looking at.The Coroutine Court1
A jailer studies a glowing stopwatch at a cell door while a line of weary night workers wait to make their case before it closes.The Night Shift1

Voice, measured

A style lint stayed green for a year while checking the mechanical tier only, dashes and banned phrases. It never once looked at whether the writing actually sounded like him. Only counting the archive against what shipped caught the drift.

  • Contractions23.19 to 1.89 per 1k
  • First person20.23 to 4.09 per 1k
  • Questions8.70 to 1.48 per 1k
  • Direct address rose11.89 to 14.48 per 1k
  • Hedging8.28 to 2.53 per 1k

Measured 2026-09-02. Re-runnable, not recalled.

Everything I wrote before I wrote code, the magazine years, the societies and the archive they produced, lives in The Ink.