A field notebook
I work with AI to build, investigate, and learn.
My work spans software, Linux systems, infrastructure, and hardware.
Explore the work
From the notebook · Aug 15, 2026
Twelve volts, one wrong pin
I tried to bring an old HiSilicon camera board back to life. The plan was cautious at first: identify the H1102NL Ethernet magnetics, verify the USB-TTL adapter with a loopback, keep its VCC disconnected, and listen for boot output. The mistake was the…
Open this note →Recent pages
All writingGPT-124M from scratch: benchmarking and restart recovery
A randomly initialized GPT-124M on free Kaggle T4s: a measured pilot, exact checkpoint replay, and fresh-session recovery, with the longer run and final evaluation unfinished.
Making a four-province expressway atlas lighter
A four-province OpenStreetMap atlas: static snapshots, quarter-degree data partitions, and smaller viewport loads, with visual QA still unfinished.
An experimental FreeBSD USB Ethernet workaround for the NanoPi R2S
A recorded NanoPi R2S experiment: delaying USB3 link power management improved RTL8153B initialization, while actual U1/U2 transitions and a general repair remain unproven.
From silent UART to a working NanoPi R2S
An evidence-led NanoPi R2S investigation: isolate an unreliable UART path, identify a wrong Rockchip image, boot Alpine Linux, and map the RK3328 SD-card chain.
On the workbench
All work3 TP-Link Security Cameras
Curiosity teardown note for three TP-Link security cameras: power-on observations, reset and app behavior, internal modules, UART wiring, and hardware design clues.
AI-native website interfaces
An evolving proposal for websites built around AI-readable investigation objects, with the human interface as one view.
Alpine Builder
FriendlyElec and NanoPi Alpine image builder web UI for rootfs and SD-card builds.
Cell Field
A restored generative field of hand-drawn cellular forms, preserved for screen and print.
Notes along the way
Browse the notebook →An old flashlight, a new idea
An old flashlight shared across generations inspired a 3D-printed toy concept. I shelved the project after reconsidering its suitability for my baby.
OpenLens: a local-first camera that admits what it does not know
Building a portable multilingual learning companion, testing offline vision on Android, and keeping model uncertainty visible.
A TinyStories model on my RP2040 board
I trained a tiny Transformer, quantized it, and ran its C inference runtime entirely on my custom Raspberry Pi Pico display board. I did not solve the individual technical issues myself. I described what I wanted and what I could see; the AI agent handled the technical path, while I supplied the physical observations needed to verify the screen, button, and board. The final 98,944-parameter model fit inside the RP2040 memory budget and generated a punctuation-complete micro-story on the physical board in 10.394 seconds.