Five bugs that taught me something
No tutorials and no opinion pieces. Five problems out of my own systems, each with the cause, the fix, and the commit where you can read both. Two of them had gone unnoticed for months.
- 10 min read
The dotted circle was not the font's fault
Roughly every third verse carried a dot inside a dashed circle where none belongs. I suspected the typeface first. It was innocent.
- Typography
- HarfBuzz
- Unicode
- React Native
- 8 min read
All tests green. Widget still empty on a real device.
The prayer times in the Android widget had stopped moving. Typecheck green, tests green, not reproducible in the emulator. The cause was one word in package.json.
- React Native
- Android
- Metro
- Debugging
- 9 min read
“Published” is not proof. My updates never arrived.
For months I believed I could ship content fixes without a store cycle. The tool reported success every time. Not a single user ever received anything.
- Expo
- EAS Update
- React Native
- Verification
- 11 min read
German till law in practice: what the documentation leaves out
Every point of sale in Germany has to sign its transactions in hardware-backed form. The vendor documentation explains the API call. The three things that actually bite are not in it.
- KassenSichV
- § 146a AO
- Postgres
- Multi-tenant
- 9 min read
Why a smaller Whisper model beat my bigger one
Shipping a gigabyte of model inside a phone app was the obvious route to better speech recognition. It was the wrong one. The real lever was somewhere else, and it was free.
- Whisper
- On-device AI
- React Native
- Arabic