Journal

Notes from the traces, not from a transformation deck.

Short pieces on crash evidence we actually sit with: One UI ANRs, tombstones, mapping files, Play’s bad-behaviour door, and WebView clusters after a Chrome train.

Person using a smartphone while seated near a window

11 June 2026

Why One UI ANRs show up in Malaysia before they show up on your office Samsung

A flagship One UI unit in the office often has more RAM and a calmer battery governor than the A-series handset your grocery app actually runs on in Kepong and Kajang.

Close view of a smartphone screen held above a marble surface

2 May 2026

Reading an Android tombstone without drowning in the unwind

Native crashes arrive as tombstones. The useful part is smaller than the file looks: abort message, fault address, and the first frames that belong to your .so files.

White smartphone lying on a desk beside scattered paper notes

17 April 2026

The bad-behaviour threshold is a door, not a score

Play’s user-perceived crash threshold is a gate on discoverability. Treating it as a vanity score leads teams to “improve the percentage” without naming a single stack.

Smartphone with a dark screen resting on a wooden table

8 March 2026

Mapping files: why Crashlytics says unknown after a perfectly ordinary R8 run

If mapping.txt for that version code never left CI, every obfuscated Java frame in the export is honest noise. The audit cannot invent the original names.

Modern smartphone standing on a white surface with a colourful screen

21 January 2026

When a Chrome update turns into your WebView crash cluster

A Monday cluster that names libwebview or Chrome in the tombstone is often a vendor WebView update, not a feature you shipped on Friday.