org-roam

Table of Contents

org-roam is a package implementing behaviours of a Zettelkasten note system into a specified org-roam-directory.

1. Basic structures

.
├── doc
│   └── org_roam.org
└── main
    └── thesis.org

  • levels of subdirectory is optional. commands would scan the whole org-roam-directory recursively.

2. Basic usage

Table 1: commands
doom binding function description
SPC n r f org-roam-node-find find and open a org-roam node(also create new one)
link
to insert a link, it’s better to input and use the completion there. you can lazy points to span later. you can make reference to other notes(the org-roam-insert-link function doesn’t work in node inside node.)

3. slightly advance stuffs

3.1. directories

directories are percieved as tags by org-roam. e.g: org-roam-directory/doc/programminglanguage/rust.org would be percieved as node rust with tag @doc/programming_language

I’m currently using the following directories:

main
the main drawer, holding zettels for ideas. should be concise, networked(lots of links), and suitable to plug in a thesis. “Neural network as mathematical functions: perceptron example” “Neural network as mathematcial functions: incorprating influences”
doc
storing references. They could be huge. “git”, “rust”, “org-roam”
(no term)
some that are not in use yet:
article
storing compiled articles(thesis, blog, tutorial) “Neural network as mathematcial functions: towards general intelligence beyond brain” which elaborates neural network as function constructor and generalizes these function construction techniques into principles independent from the form of neural network, but any computing device(like turing machine) “Neural network as mathematical functions: a function constructor perspective” which elaborates on the perspective of neural network as mathematical function constructor and provides examples of common neural network components written as function constructor, how they incorporate influence of various type and forms, how to write other component in this manner and how to design component in this manner. “Neural network as mathematical functions: self-rewriting” which elaborates on the self-rewriting facility provided by the function perspective, some examples and how it is important to AGI research.
reference
storing reading notes. probably be large, with excerpts, and maybe important ideas as nodes in itself “cite:@bachCorticalConductorTheory2019” where holds the node “cortical conductor”, “cortical conductor theory” backlink includes “cortical conductor theory integrates good with BCI technology”
project
storing compilations that are tied to actualizations/implementations(as oppose to article). “Abstraction: Modern Interactive Lisp”, “Athlete: weak AGI that evolves by rewriting itself”. Todo’s may be present, but should be minimized. It is the compilation rather than project workspace that is in the roam knowledge base. My working directories usually reside in ~/playgorund/projects/. A link to corresponding working directory may be present. TODO’s be in the corresponding working directory and the Task.org file.

3.2. TODOs: avoid them

Try to avoid TODO under org-roam-directory. For some reason, when used together with doom, they would generate org-ID and thus be seen as a org-roam node. Moreover, TODOs are either self-contained or part of some project, which semantically resides themselves into Task.org and project working directory naturally.

3.3. inbox

org-roam-directory/inbox.org is an implementation of fleeting notes. When not sure where a note should be, could put it there. Also in principle where all new permanant notes should be so they could be revised and some taht don’t really make sense would be discarded.

4. Specific tasks

5. resources

Backlinks

meta

This index holds links to some ideas on this zettelkasten

about this zettelkasten

This zettelkasten is my second zettelkasten with org-roam, and my 5th zettelkasten of all(there’s one other with Roam Research, 2 others with Obsidian).

This zettelkasten uses the org-roam implementation of zettelkasten. I typically use this zettekasten inside emacs, where zettelkasten primitives like search for note, create note, create link to note, find backlinks are implemented in the org-roam package and could be called with one custom keybinding.

There’s a public html export of this zettelkasten on Gehninfel (link). I did not filter the draft tag, so everything’s on there. In the future I might want to change this.

There are 5 main categories/directories to the notes:

main
ideas in the most literate form
article
compilation, blog and tutorials
reference
noting something that I did not come up with
doc
typically on code-heavy notes and those that tangles
project
on projects, archive, description.

I currently use a giant index zettel to keep all of my notebase connected. Now it is one file with about 100 outgoing links to other zettels. In future I’ll make more intermediate navigation/index notes and replace some links on index with them.

I don’t use tags in the zettelkasten, but use navigation notes, with the latter half of the idea Tag and link: Gate and corridor.

Author: Linfeng He

Created: 2024-04-03 Wed 20:16