Archive
2026
- Forza Horizon 4 on a Mac: a crash that is not in any patch
Notes from a debugging session: a random startup crash, a sign-in window that takes minutes to load, and the three hypotheses that turned out to be wrong.
- 一只水瓶为什么能在空中翻过来,还稳稳站住?
用一个可调参数的二维模型,看水怎样改变转动惯量,让瓶子在空中转得更慢。附可交互模拟。
- 桌足球里的「空当」是怎么出现的
从击球、借墙到防守站位,再看单打和双打为什么像两种游戏。附两段物理示意视频。
- Badminton tracker: measuring three detectors, then choosing the one that needs no labels
Tracks a shuttlecock on screen during a livestream. The deciding step was comparing three detectors on contiguous clips.
- BetterNotes: nearby sync, and a release that has not happened yet
An iPad and Mac notes app on PencilKit. The sync design is settled; the TestFlight and App Store dates have not been met on the evidence in the repo.
- How busypizza.bond and this blog fit together
A one-file landing page with a subdomain per tool, and a blog whose publishing path is a schema, a build and a script.
- D7000 robotic camera: the software ran before the hardware existed
A pan-tilt rig that scans a scene, scores frames and triggers a Nikon D7000. The control stack has run on a real Pi and camera; the parts are not yet ordered.
- Delivery Simulator: a game built against a frozen data contract
A driving game about delivery-rider economics that cannot tell real data from synthetic, because the interface was frozen before either side existed.
- Graphviz Generator: getting dot to run on serverless
A visual Graphviz editor that had to move from the dot binary to WebAssembly before it could be deployed at all.
- InkWatch: generating a PCB from code, and what it caught
A square e-paper calendar watch with no radio. The board is generated, routed and checked by scripts; two electrical questions block ordering it.
- Lanternfall: a puzzle game generated entirely in code
Six monuments, thirty discoveries, no hand-made assets. A bot has played all thirty; a person playing it in a rendered build is still on the list.
- Lumina: a camera app that has never been run on a camera
A native iPhone camera with a composition coach and an editor. The README separates what is tested from what has only compiled, and the learned model lost to the baseline first.
- A cooling cradle for a fanless MacBook Air, powered by its own USB-C port
The constraint is that a Mac offers only 5 V downstream. Every design choice in the 3D-printed cradle follows from that. Whether it works is not yet measured.
- Narrated Manim lessons, and a QA gate that decides when a lesson is done
IB Maths and Physics animation lessons with spoken narration. A lesson only counts once an automated check passes.
- Real-time LaTeX: one dropped project, one adopted engine
A TypeScript engine measured on real documents and archived, then a switch to an existing MIT-licensed engine, with a fork, a VS Code plugin and a private test set around it.
- School Print: from a phone to the campus printer
Printing from the normal Share menu to the school printers, with jobs released at the printer by school login. The deployment moved from a Pi to an iMac, and may move again.
- The Shanghainese app: all the lessons are drafts
An offline, audio-first course for Mandarin speakers. The app and recording pipeline work; the course content is not yet cleared to ship.
- Shanghainese TTS: a text box that talks
Type Chinese text, hear it in Shanghainese. How a ten-commit prototype ended up with rate limiting, chunking and a rewrite step.
- Shipout: a Word-style editor over LuaLaTeX
Two editors in one repository, a hard deadline on 4 November, and a list of release gates that are still open.
- Small projects: a notification bridge, two physics explainers, and a few one-offs
The repositories and folders too small for a post of their own, each with what it actually is and what state it is in.
- Smart Notebook: moving the sensor from the notebook to the pen
A redesign on 24 September, a decoder bake-off that picked ArUco tiles over De Bruijn dots, and a Reminders list that still describes the old design.
- TexFast: a native LaTeX editor that is finished on purpose
A macOS editor and build driver written for one set of notes. It has no deadline and no task list, deliberately.
- TikZ Generator: removing the AI to make it better
A canvas that writes TikZ and CircuiTikZ, entirely in the browser. The notable decision was taking out the model.
- Wage Transparency Tool: a hard constraint, and gates before any riders
A tool for delivery riders to log trips and see what an hour of their time earned. Self-reported only, by design, with privacy and ethics gates before recruitment.
- YKPao Study, October: tagging the question bank, and a worksheet export
Fifteen commits since the development log: skill tags, difficulty reasons, search, and printable worksheets.
- YKPao Study — development log
A past-paper study platform for IB and CAIE students, built between June and September 2026.