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

SubfieldWhat goes there
Perceptionsegmentation, depth, and the foundation models behind both
Mapping and localisationSLAM, reconstruction, robust and certifiable estimation
Semantic mapping3D scene graphs, open-vocabulary maps, change over time
Planning and navigationtask planning, language-grounded planning, navigation
Controlbarrier functions and safety filters
Robot learningpolicies, vision-language-action models, benchmarks, evaluating models
Multi-robot systemsconsensus, Byzantine teammates, collaborative SLAM, coordination
Safety and verificationruntime monitoring, formal methods, failure detection and recovery
Securityattacks on robots and their defences, cyber-physical security
Human-robot interactiontrust, interfaces, assistive robots
Field roboticsrobots 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 run bun 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) and bun 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 lint lists 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).