Noto
A desktop Markdown editor where you type into the formatted page, and saving leaves every byte you did not touch exactly as it was.
- Unit tests
- 2,772
- Packaged end-to-end tests
- 273
- Platforms
- 3
RoobLiProjects
Things built, each with its status, its figures and a log of what changed.
A Markdown editor of my own, and the Typora plugins and theme that came before it.
A desktop Markdown editor where you type into the formatted page, and saving leaves every byte you did not touch exactly as it was.
A Markdown engine that splits a document into blocks with exact positions, so an editor re-reads only what changed and saves without rewriting the rest.
A small plugin system for Typora that also works on macOS, where Typora is a native WebKit app rather than Electron, with a loopback control surface that scripts and agents can drive.
A light and dark Typora theme in warm paper tones with one accent colour, carried through the file tree, the outline, code, sidenotes and exported pages.
Tools for working alongside Claude Code, Codex and other agents in a terminal.
A window-first tmux switcher that also tells you which coding-agent pane needs you while you are looking somewhere else.
A terminal tool that shows what every Claude Code, Codex, Pi and Cursor session on your machine used and cost, turn by turn, across several accounts.
A fast Claude Code statusline in Rust, extended with seven more segments, Codex, Kimi and pi support, and usage read per account.
Two agent skills that give Claude Code and Codex a design method: one routes product and interface work through the right depth of thinking, one writes dense standalone HTML documents.
Courses and workbenches where you run the real thing instead of reading about it.
A workbench that replays real Go crypto/tls handshakes step by step, with the bytes, the key schedule, the Go source that ran and the RFCs kept side by side.
Latest in the log: Eight CA keys that fit in one byte
Fifteen lessons and four in-browser GPU labs. English default, Chinese at /zh/. Finish without a local GPU; nine CUDA samples when you have one.
Latest in the log: Shared memory and the bank conflict