Zettelkasten is a tool to improve [[Cognitive ergonomics]]. It's perfect for networked thought. It harmonizes with the way you think. It is the best tool I have seen so far for maintaining a exobrain. It is something close to an autocomplete for thoughts. A cultivated Zettelkasten compensates for the limitations of our brains. **Mind like water**. Writing notes and publishing them online as a [[Digital garden]] [[Goals vs. systems|is not a goal, it's a system]] (see Scott Adam's article [Goals vs. systems](https://www.scottadamssays.com/2013/11/18/goals-vs-systems/)). You are creating a [[Commonplace book]]. Fortune favors the prepared mind. > Your brain is a miracle, but it's not efficient. **There's a maze inside everyone's head, a labyrinth of missed connections and untapped potential.** But now suddenly, I had access to every single brain cell. \- _Limitless_ (TV series) ## Perception of order After organizing my notes with `org-roam`, the perception of disorder disappeared, which in turn made me trust and take my notes more seriously. The order quickly became a symbol for growth and potential. The first thing I was inspired to make was a system to archive and extract value out of URLs I have collected in my Zettelkasten. I begin by saving all URLs in my notes in `all_urls.txt`: ```sh rg --only-matching --no-filename --no-line-number "(http|https)://[a-zA-Z0-9./?=_%:-]*" ~/org/roam/*.org | sort > ~/org/roam/all_urls.txt ``` I create seperate files for YouTube, SoundCloud and Mixcloud: ````sh grep -E "youtu(\.be|be\.com/watch)" ~/org/roam/all_urls.txt > ~/org/roam/youtube_urls.txt grep -E "soundcloud\.com" ~/org/roam/all_urls.txt > ~/org/roam/soundcloud_urls.txt grep -E "mixcloud\.com" ~/org/roam/all_urls.txt > ~/org/roam/soundcloud_urls.txt ```` Now you can use `shuf` to choose a random link: ```sh shuf -n 1 youtube_urls.txt ``` You can use this to play a random YouTube video with `catt` ([skorokithakis/catt](https://github.com/skorokithakis/catt)): ``` catt cast "$(shuf -n 1 ~/org/roam/youtube_urls.txt)" ``` Or `mpv`: ``` mpv "$(shuf -n 1 ~/org/roam/youtube_urls.txt)" ``` You can also do `mpv --shuffle --playlist ~/org/roam/youtube_urls.txt`! Use `youtube-dl` to archive videos. I use `--download-archive` to keep track of what has already been downloaded: ```sh youtube-dl --batch-file="~/org/roam/youtube_urls.txt" --download-archive="~/org/roam/youtube-dl_archive.txt" ``` My actual `youtube-dl` config (`~/.config/youtube-dl.conf`) looks like this: ```sh --restrict-filename --output "~/sync/youtube-dl/%(uploader)s/%(title)s.%(ext)s" --download-archive "~/sync/youtube-dl/download_archive.txt" ``` Just season to taste. The `~/sync/` directory is synchronized with `syncthing` by the way ([syncthing/syncthing](https://github.com/syncthing/syncthing)). With this configuration, I can play the downloaded videos like so: ```sh mpv --shuffle ~/sync/youtube-dl/** ``` Another thing I have been experimenting with is using `archivebox` ([ArchiveBox/ArchiveBox](https://github.com/ArchiveBox/ArchiveBox)) to archive absolutely everything: ``` archivebox add < ~/org/roam/all_urls.txt ``` Have a look at [iipc/awesome-web-archiving](https://github.com/iipc/awesome-web-archiving) for more archival options. With plain text note taking with `org-roam`, the only limit is your imagination!