Posts
All the articles I've posted.
Your Custom Lint Rule Works. Will Ten Teams Accept It?
A custom Android Lint rule takes an afternoon. Rolling it out to ten teams takes an owner, tests, a stable message, a baseline ratchet and a kill switch.
Android Lint, Detekt or ktlint? Ask What the Rule Needs
Stop asking which Android linter is best. Ask what each team rule needs — types, a quick fix, resources, KMP — and pick the tool that can enforce it.
CI Says Green — So Why Did the Module Boundary Just Break?
Compiling isn't enough to protect a Flutter/Kotlin/Swift/Rust E2EE module's architecture. Five CI gates that catch boundary breaks before they ship.
How Do I Test an E2EE Chat Between Two Devices Without a UI?
A headless two-device harness for E2EE chat: real keys, real store, real backend, no screen: reproducing exhausted one-time keys and a lost session on demand.