Build log
Engineering
Kubernetes, the JVM, platform work and LLM safety: problems from production and how I solved them.
Why a Java pod gets OOMKilled in Kubernetes with a half-empty heap
The memory limit covers the whole JVM, not just the heap. Where the rest goes, three container defaults that are easy to get wrong, measured on real JDKs, and how to check a manifest before deploy.
Why valid Kubernetes YAML still breaks in prod, and how to catch it before deploy
A linter says the manifest is fine, then the deploy fails on a quota, a missing Secret or an immutable selector. What I built to catch that before merge, and what running it on 30 popular Helm charts taught me.
Why UsageStatsManager returned no foreground app on a real Android phone
An Android app blocker worked on the emulator and did nothing on a real phone. The cause was a usage-stats bucket dated in the future, left by a clock that once ran ahead. Symptom, cause and the query that fixes it.
How to stop a user's regex from freezing a browser tab, and two other log-viewer traps
A bad regex can hang a tab for minutes, masked secrets can still leak their length, and JSON.parse silently changes big IDs. How Logbeam, a log viewer for Chrome and Firefox, handles all three, with the numbers.
How to let an LLM read your medical records without trusting it
Prompts can be argued with, so every safety rule in Health OS is code. How lab results become facts only after approval, when the assistant stops and sends you to a doctor, and the seven red-team tests that check it.