Archives
All the articles I've archived.
How I listen to music now
A second-hand iPod Shuffle, a battery I replaced myself, inexpensive Samsung earphones, and keeping AAC audio instead of converting it to MP3.
Getting openpilot’s cameras working on mainline Linux
Updated:Bringing three cameras, tinygrad DMA-BUF inference, hardware encoding, and audio together on vamOS with Linux 7.2.
Fixing an Xbox One rechargeable battery with a Pico 2 W and I²C
Diagnosing and resetting an Xbox model 1556 battery charger over I²C, with a verified pinout and before-and-after register readings.
Tinygrad on mainline Linux, Part III: the draft PRs
Updated:Porting MSM to HCQ2, fixing JIT views and GPU timestamps, and preparing a narrower Adreno 630 implementation for upstream review.
Reverse engineering a VW steering limit, Part I
Two failed attempts to increase openpilot steering torque, and the firmware analysis that traced the VW EPS rejection to internal model checks.
Tinygrad on mainline Linux, Part II: the rejected Codex rewrite
Reusing QCOM, fixing an instruction-size mismatch, and discovering why green checks and device runs were not enough for an upstream contribution.
Tinygrad on mainline Linux, Part I: the Claude implementation
The first MSM DRM backend, its buffer-lifetime experiments, and why passing small GPU tests did not make it a working openpilot runtime.
Getting openpilot’s cameras working on mainline Linux (the first attempt)
My first CAMSS camera port: kernel-side sensor and ISP configuration, raw capture, broken lookup tables, and the unfinished openpilot integration.