Blog
What it cost to learn.
One format only: the measured technical post-mortem. No tutorials, no news roundups, no tool rankings. What I believed, what measurement said, what I changed. Every article ends with a rule locked by a test.
The first articles are coming. In the meantime the technical post-mortems live in the project pages — each one documents what broke and what it taught.
The first twelve topics
- Constrained decoding does not compensate for an unbounded schema — 8,192 tokens versus 708
- ps rss lies about MLX: measuring a local model's real footprint
- 122 CVEs → 0: anatomy of a Python supply chain cleanup
- Which model do you kill to load the next one? LRU eviction under a shared RAM budget
- OWASP ASI Top 10, translated into controls that actually exist
- An OOM taught me not to trust my own RAM accounting
- cos = 1.0000: migrating 1.7 million vectors without re-encoding them
- The regression gate as a RAG's arbiter
- TabICL: +0.10 f1 and 4.4× better ECE than a tuned baseline
- Why my video world model is not gateway-resident
- scikit-learn in the browser: a demo that uploads nothing
- Creolizing AI: what Caribbean thought brings to software architecture
Your data cannot leave the building?
That is precisely the problem I solve. A 30-minute call is enough to scope an audit.