The diary follows the pattern Andrej Karpathy calls an LLM Wiki. The sources (papers, mostly) stay as they are. On top of them sits a set of linked markdown pages that get updated each time a new source comes in, so what I learn builds up in one place. A catalogue and a log keep it navigable. Most of the linking and bookkeeping is done by a script, scripts/diary-wiki.ts; the reading and the opinions are mine.
Kinds of page
- Paper notes, one per paper, in
<subfield>/papers/. They summarise the source: what it does, findings with numbers, limits, and how it relates to the rest of the diary. - Concept notes, for ideas that cut across papers, such as resilient consensus or dynamic scenes. They sit in the folder of their subfield.
- Entity pages, in
entities/: datasets, platforms, sensors, software, models and research groups. Each one lists the notes that mention it, so they are the hubs of the graph. See the entity index. - Subfield hubs, one per subfield: its concepts, entities, comparisons, open questions, and a live table of its papers.
- Comparisons, which put several systems side by side in one table.
- Thesis threads: robust robotics, multi-robot multimodal perception and long-term autonomy, which cut across subfields. The thesis map draws them.
- Course notes and dated entries.
Subfields
| Subfield | What goes there |
|---|---|
| Perception | segmentation, depth, and the foundation models behind both |
| Mapping and localisation | SLAM, reconstruction, robust and certifiable estimation |
| Semantic mapping | 3D scene graphs, open-vocabulary maps, change over time |
| Planning and navigation | task planning, language-grounded planning, navigation |
| Control | barrier functions and safety filters |
| Robot learning | policies, vision-language-action models, benchmarks, evaluating models |
| Multi-robot systems | consensus, Byzantine teammates, collaborative SLAM, coordination |
| Safety and verification | runtime monitoring, formal methods, failure detection and recovery |
| Security | attacks on robots and their defences, cyber-physical security |
| Human-robot interaction | trust, interfaces, assistive robots |
| Field robotics | robots at sea, in the air and outdoors |
A paper lives in the folder of its first subfield and can belong to several: its fields list decides which hubs show it.
Front matter
A paper note carries title, short, authors, year, venue, link, code when there is one, status (read from the full paper, skimmed from the abstract and README, or to-read), threads, fields, domain (land, sea, air, general), sensors, stage and tags (always starting with paper). An entity page has a type and a match list: the words that get linked to it the first time they appear in a note. Concept notes can have a match list too.
Upkeep
- Adding a paper: write the note in its subfield’s
papers/folder, then runbun run diary link(it links the first mention of every entity, concept and paper in every note),bun run diary index(it rebuilds the catalogue, the entity index and each entity’s list of mentions) andbun run diary log ingest "Title". Then update the concept pages the paper changes, and say so where it disagrees with what they already say. - Answering a question: when a question gets an answer worth keeping, it becomes a note, so the answer isn’t lost in a chat.
- Checking:
bun run diary lintlists dangling links, orphans, papers filed in the wrong place, names that keep coming up without a page, and to-read papers that have waited too long.
Stages
Each note has a stage: seedling (a stub or an open question), budding (some structure and links, may still contain mistakes) or evergreen (reasonably complete).