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!