Zettelkästen?
clerestory.netlify.com
clerestory.netlify.com
I tried to use the same system but never had the patience to implement it - and the digital versus analogue divide also prevented it, because this works best if you use only digital or only analogue. Index cards and a database don't work well together.
Edit: Maybe important, and I forget to mention it: All of my attempts of replicating such a system on the computer have failed, and I have never heard of anyone in Academia who successfully used a digital system throughout their career. #1 Reason of failure is that the database format or program became obsolete, #2 Database/Systems Migration problems.
I wonder, though... I think writing something by hand gives a different feel for it. I don't know how to explain it. It's like your mind works better if you write by hand.
So maybe an app, used with a stylus on a tablet or large-ish phone might be the best combination? It should then create folders and textfiles, and just store the text there. Which would require OCR and proofreading, of course. But that shouldn't be an issue.
Handwriting definitely helps, but a lot of it in this system is done during reading (or just general life), which Ahrens calls "literature notes". Ahrens has a theory that handwriting forces paraphrasing, which he views as important to learning. Anyway, I handwrite all that, then there's a later stage of integrating the relevant info into the system.
For me, searchability and accessibility, plus backup (I write a ton on paper already and I'm a bit worried about losing notebooks) makes it worth the digital step.
Also, I suspect from initial usage that the Zettelkasten is what Krakauer calls a "complementary cognitive artifact": https://philosophicaldisquisitions.blogspot.com/2016/09/comp...
I.e., it makes you better at what you're trying to do even in the absence of the tool. To me, the main benefit of the system is that it encourages relational thinking.
Regarding handwriting, I'm of a similar mind, having evolved my own system (hybrid of bullet journal + "slice-planner" in monthly moleskine quad-ruled paper journals, plus .md files and evernote) which is in need of some refinement.
Stylus is indeed big step in this direction, but still is a tick off. Also with a tablet you tend to suffer from "modern technology"-syndrom, meaning you wanna utilize all the good features now that you have it at your stylus tip. But they tend to make thinks complicate aagin.
I have seen many good and useful apps come and go. After these apps become abandonware[^1] we have tons of data created in those proprietary data formats, trapped in them.
[^1] off the top of my head: WordPerfect, MS Word pre 2000, AskSam (fulltext database), Netmanage‘s ECCOPro (a PIM), NoteMap (an outliner), MindJet‘s MindManager, MS Access pre 2000. - Tons of data that I created in those apps waiting to be migrated.
Digital only really fails at some point if you wanna utilize the full power of computers, and go full database, automation and complex architectures. Which is kinda paradox.
- Easy consistent styling through css
- No WYSIWYG, separation of content and styling
- Easy to include code, which sits in the directory associated with the index card
- Easy to cross link
- Easy to backup
- Everything is under git control
- Easy to write shell scripts / programs that automate various tasks related to my notes
- Search with standard tools like grep
- Edit in my favourite text editor (Org-mode for quick drafting is especially useful I find)
- High quality rendering through modern browsers
- Easy to cut and paste into emails, whatsapp skype discord etc which is how I communicate with students and colleagues
- Easy to include other formats like images sound video etc
- Since the emergence of MathJax I can use LaTeX markup which means I can cut-and-paste between my index cards, scientific papers and lecture notes/slides
In summary, I'm super glad I didn't go super-hi-tech and stuck with marked-up text. It was the right choice! As Graydon Hoare once wrote: "[A]lways bet on text." How much work is it? I spend 1-2 hours on average every day on writing. Is it worth my time? What are the advantages for me that keep me using such a system?
- Structured, easily accessible 'idea store' / second-memory for later refinement and reuse. Refinement is maybe even the core: when I come back to a subject years later I come back from a different angle
- Helps writing introductory sections in papers, because I will have sketched my understanding of a subject already on an index card
- Helps writing related work sections in papers, because I accumulate work related to any particular index card's subjects over years
- Makes reviewing papers much easier, because I can cut-and-paste missing related work (most scientific papers are written by PhD students and post-docs who lack a historical perspective)
- Communicating with students: as an academic I get new students every year, and since they got through similar stages and problems, it has become easy to reuse what I wrote in paste years
- The most important: cultivating a habit of writing down ideas, writing about ideas in a structured way, breaking them down into smaller parts etc, all of which helps me to understand things better, and to communicate them more clearly to others
Is it worth it? I ask myself this question every day. I found that in the first few years, I could always remember what I had written, so my system was of limited use. That changed after about 8 years, when I could no longer recall most of what I had written down, and then it became rather useful, since I got 'new' and already pre-digested ideas.
For me the biggest problem is that it has also become a procrastination device: I love writing. Whenever I am stuck with a work problem (and that happens a lot), I have a tendency to procrastinate by writing long entries on obscure subjects, unrelated to my work. It feels like work, in some sense it is work, but it lets me avoid confronting high-priority tasks head on.
I am in the process of moving away from proprietary note taking tools like AskSam (more than 15 years ago on a Windows machine), Evernote, Bear Writer and some more). Got a long list of legacy systems that I want to migrate to markdown / file based system.
I keep date stamping files like so: `yyyy-mm-dd_topic-subtopic-subsub`
- giraffes.html
- giraffes_in_history.html
- natural_predators_of_giraffes.html
- grade_inflation.html
- graffiti.html
- genghis_khan.html
- grassroots_lobbying.html
Since all my Zettel are version controlled anyway, I don't see the
point of tracking dates/times in filenames (or the file itself). I've now got so many
Zettel that I can no longer recall even descriptive names like the above
anyway: is the Zettel called giraffes_in_history.html or
history_of_giraffes.html ...? So in practise, nowadays, when I look
for related Zettel I always use grep with words I expect to be in the relevant Zettel. Example: grep -i giraffe *.html
It works really well.What I do recommend is writing a little tool that produces filenames in a consistent way. (E.g. stripping out 'weird' characters, removing capitalisation etc.) I found that the more uniform filenames, file structure etc, the easier searching remains. Moreover, writing tools that mine / transform Zettel is also easier when the setup is uniform.
I also tried adding structures by subdirectories
- computer_science
- economics
- biology
etc, but that didn't scale, since everything is connected to everything else. Knowledge is not tree- or DAG-structured. Flat file structure + hyperlinks works for me.I liked Gmail originally because it used tabs. I have seldom had an email that was permanently tagged with more than one tag, but I have imagined having files in a filesystem with multiple tags. Bloggers commonly use tags but I don't know if they're successful.
On a filesystem where tags were not native, you could implement tags as subdirectories, using symlinks to achieve that the same file had multiple paths giraffes/history.html and history/giraffes.html.
Did you try tags?
No. I found that many of my early ideas on how to structure my notes didn't scale, made evolution of my system more difficult. So later I tried not to impose addition structure. Tagging enforces a structure, and how I classify ideas changes over time. What do tags give that grepping words doesn't?I use a "Travel ideas" tag on emails from cruise lines if they suggest a specific place, time and cost to travel somewhere. Those words aren't in the email. The criteria that qualify the email for the tag are easy to check in a scan of the message but I don't know how I'd grep for them.
I still do searches but for other reasons.
If you wrote a note about a neutrino-hunting instrument at the South Pole, how many searches would it take you to find it later? What about a science station at McMurdo, which is in Antarctica but not at the South Pole?
You could allow yourself to have or not have a line of free association, whose only purpose was to match future searches that would otherwise miss because of how the content was phrased.
Regarding timestamps: I have a Python script triggered by Alfred App on my Mac. The script creates markdown files based on a template. The template has a header section with helpful infos like `Created: yyyy-mm-dd`.
Here is my template (with filled out placeholders):
```
Created: Fri, 2019-10-11 12:27:18
Title: BOOK - METAPHYSICS - ARISTOTELES
Author: Ugur
FileID: fid-20191011-122718-440741
Base Header Level: 2
Tags: #ethics #philosohy
[%Title]
{{TOC}}
# WRITEHERE
```
This is a markdown template that can be rendered by `iA Writer`.
I've been using it for some 15 years and I don't think I will ever leave it. I do wish that other editors (vscode in particular) would adopt its folding style or at least enable it. Doesn't seem promising though (https://github.com/microsoft/vscode/issues/17904)
[1]: https://github.com/renerocksai/sublime_zk [2]: https://github.com/renerocksai/sublimeless_zk
I have some minor tweaks as well: https://github.com/unqueued/sublime-notelink
I'm making the notelink properly follow zettelkästen links, as well as some other tweaks, so I can use my zettle file alongside my unstructured Markdown wikis.
Sadly, I have not been able to convince anyone to use it in a team setting and on top of that, it is a very primitive code editor. There is some syntax highlighting and that's basically it. No VIM bindings and no IDE-like features. So I now use it as my org-mode text editor, with the occasional link to code or config files here and there, which works well.
screenshot: https://johan.webide.se/nofold.png
It might bee too obvious. If it's not too much to ask, could you make a video of how it works ? I'm working on a editor/IDE and would like to get a feel of how it works and how to best implement it, before actually implementing it.
1) CB needs to know the file type because it inserts comments and those need to be of the right kind. So you need to have your file saved first.
2) Select a couple of lines of text, like a function or a class and click "Insert Section" in the edit menu. This will fold the selected text and collapse it to a single line.
3) Click "Child section" in the Go menu while the caret is on the folded line to go into the new section, and "Parent section" to go back.
There are a couple projects that came up that were loosely based on the Zettelkasten:
- IdeaFlow by Jacob Cole - Roam Research by Conor White-Sullivan - "Cards" by Joel Solymosi
IdeaFlow and Roam are both basically WorkFlowly except that you can link bullets together, plus additional unique features. The ability to link bullets together basically makes it a Zettelkasten, and enables many cool features. As Conor puts it "You shouldn’t have to know the structure of your thought as you’re typing".
Cards was more faithful to the Zettelkasten in that the metaphor was index cards instead of bullets. The unique thing about Joel's approach is that you can transclude them into documents (sequences of cards), which was a feature inspired by Project Xanadu. That enables Joel to reuse cards across many documents, and had the benefit of letting him effectively update multiple documents at once by editing a single card.
I've been writing an encyclopedia for the last six years. When I heard the Zettelkasten idea it made me wish I had heard of it earlier. It seems like a potentially better way to organize information since the links are between paragraphs rather than pages.
> Is there a general interchange format for these systems?
I don't understand why none of these people is using RDF. Seems like a perfect technology for a memex.
Example: say your database contains a note about "doves", and another one about, say, "seagulls". Later, you can search for things you have written about birds, and the query would find both your notes about doves and seagulls (something that you wouldn't be able to do with a fulltext search). There's a whole world of things you can do with inference, so using RDF is a no brainer when it comes to finding relationships between things. It also makes it trivial to import knowledge annotated by other ppl.
If you are interested, here are some other resources I found useful to get started:
* http://www.learningsparql.com/
A great book about SPARQL, a query language for RDF data.
* http://shop.oreilly.com/product/9780596153823.do
"Programming the Semantic Web"
This is book is old but Chapter 2 and 3 are a good intro on "machine-readable meaning" and Inference. The author also has another cool book on "collective intelligence" I still haven't worked through yet :-)
* http://www.bobdc.com/blog/reification-is-a-red-herring/
How to model "property graphs" with RDF. You'll stumble upon this question at some point :-)
[1]: https://jena.apache.org/documentation/fuseki2/fuseki-run.htm...
Seems like an interesting meetup. How did you find out about it?
We were hoping this second one would allow us to do deeper critques than the first, which was paced more quickly, but somehow none of us got more than 20 minutes to talk about our projects (which is why my notes are so short).
In other words, all I really need a computer for, is formatting and forwarding rules. ;)
Anyway it was an interesting experiment to come up with some standard Notes that would be productive for a small office - and I realized, part way through this hacking on the rails, thats how people used to do it: plain old ink and paper, and a standard system for routing things around.
I started to wonder what happened? I guess HR departments got tired of having to train workers, and came to rely on computerization as a way of 'training in the chair' - or, outright, replacing peoples ability to apply standard techniques to their workday.
Even today in a computer-savvy environment, people still seem to resist the idea of having standard ways of doing things. Everyone has this idea that they are unique and special individuals who have more to contribute to the world than they end up taking - but give them pen and paper and tell them thats the only way to do things from now on, and all the hubris falls apart and the excuses come out.
It has been true for 40 years, and I think it'll long be true for another century at least: if you can't do it on paper first, you're not ready to computerize the problem.
https://www.tagesspiegel.de/images/heprodimagesfotos88120140...
Btw: He is regarded as an important author who is famously not read, as his magnus opus is even difficult to hold with a weight of 13 pounds:
https://www.wsj.com/articles/the-seasons-biggest-novel-has-1...
And Niklas Luhmann himself explaining his Zettelkasten (the archive with 50000 notes beside his desk):
https://www.youtube.com/watch?v=mCFP5i_0ibE
What he is explaining is not important, what I want to show is that it looks like utter (creative?) chaos for someone not Niklas Luhmann.
If I remember correctly from his blog Winer and Schmidt never had much contact, language barrier and such, so it's more of a coincidence.
The intriguing part of the system seems to be more in the fluid process of hyperlinking to a topic of interest. https://www.youtube.com/watch?v=RD_Gi8EQGVQ also shows a mind-mapping mode.
I don't know much about Zettelkasten, but I used this app as a Markdown editor of choice for some time until I discovered Marktext.
The goal was to have the least friction possible for taking notes, figuring that's the only way I'd actually do it. I say 'zk t' to print out the tree of all my notes, then 'zk e 23' to edit note #23. I can set my "current" note by running 'zk 5', then when I next run 'zk e' it'll automatically open up note #5. There's a hierarchy, so I can make note #1 titled "work", then create notes under that for different work topics. I can also link and unlink notes from different points in the hierarchy, so the same note can appear in multiple places.
The code is at https://github.com/floren/zk if anyone would like to play with it. Caveat: I bashed out just enough to make it useful, then stopped fooling with it and started working. The code has too much manual file-bashing and struct-bashing. I've also been meaning to add the ability to associate files with a given note (so I take notes on a paper and attach the PDF, etc.) for at least two years but haven't done it yet.
But the more I think about it ... there is not a lot that there is to implement that basic command line tools don't handle.
---
Basically every editor (camp vim here) has support for markdown syntax highlighting, giving you a simple way to compose notes.
Fulltext search is handled by grep (ripgrep for me), fuzzy file search (fzf) probably comes in handy too.
If you need pretty printed notes you can use pandoc to convert multiple zettel files into one document of basically any format.
Graphs can be created with graphviz/dot.
---
There is little there is to improve on. From my (zettelkasten) notes:
* Something that assembles multiple notes into one temporary, editable document. Changes are commited into their respective zettel files once you close the editor.
* Some scripts that provide easy to access reports. E.g. based on recent activity, topic or based of a single zettel and it's neighbors.
---
All of the above are more or less trivial to implement. So ... any one up to propose something more challenging that is actually useful?
Beck Tench (2) has a brilliant youtube series (3) about how she uses tinderbox with the zettlekasten method to create associations between various notes. She also links these notes to her devonthink db so that when she is searching for something there it will also pull up her relevant notes.
I myself have been using her method in writing my masters thesis and I think, because I am a visual learner, the ability to visualise theories through a mind-map style interface has really helped my retention and understanding of them.
Anyway, try it out!
(1): http://www.eastgate.com/Tinderbox/ (2): https://www.becktench.com/workflow#reading (3): https://www.becktench.com/blog/2018/11/12/using-zettelkasten...
My experience has been positive, and my zettelkasten rewards later visits with serendipitous connections. It's like how one often makes/discovers these connections while conversing with a friend -- except, in this case, the "friend" is a snapshot of your own thoughts at a different point in time.
!!!! Backlinks
<<list-links "[all[current]listed[]!has[draft.of]!is[system]]">>https://en.wikipedia.org/wiki/Arno_Schmidt
https://www.zinzin.com/observations/2013/who-was-arno-schmid...
- Carl Linneaus, who largely invented the modern index card. https://www.sciencedaily.com/releases/2009/06/090616080137.h...
- Numerous library cataloguers, including Melvil Dewey.
- Vladimir Nabokov
- Garrett Hardin (of "Tragedy of the Commons" fame). I've seen his personal collection, which was extensive.
- Herb Caen, "three dot columnist" for the San Francisco. Chronicle.
- John McPhee, The Control of Nature and numerous other books. http://www.newyorker.com/magazine/2013/01/14/structure
I've written previously (discussion POIC, a similar model) here: https://ello.co/dredmorbius/post/u4dgr0tkxk4tk9npuvex5a
More on index card usage:
https://o.ello.co/https://www.theguardian.com/lifeandstyle/2...
A Kästchen is a small Kasten (box) by the way.
150 words per card(I wrote it out on the index card and determined its approximate size), all organized into a single directory, with citations in another. All have randomly generated IDs, with title as filenames. To date, I have created about 35K words of notes across 550 cards. Only recently, did I work on linking stuff up(using the randomly generated IDs).
I even wrote a way to display ten random cards in an electron app before switching away to GTK and ruby(still working to get back to previous level of functionality). I mostly used the random display of cards to re-read and expand the cards, since I usually get more on the second read-around.
I am not quite sure how useful it is. When I was programming, I looked stuff up in my notes and mostly added to the cards that I didn't know about programming.
I’m a heavy Emacs user; one of my most-used extensions is Deft [1] which was inspired by Notational Velocity. With that I have defined some keystrokes globally from org-mode which let me create inter-file links.
I really like this system for collecting general notes. What I think I’m missing that this system provides is the serendipity of stumbling onto something. I can usually jump straight to what I want. It has happened on occasion that I do run into something unexpected and welcome. I’d like to try and find a way to make that more common.
I aim to polish it a bit more before publishing it to MELPA, but you might find it interesting already.
I had to cover a huge set of knowledge fields from which ~65% I had zero experience with, neither theoretical nor practical.
The questions that were to be expected of course wouldn't go into too much detail, but the variance of possible questions made it necessary to gain a deeper understanding instead of just memorizing words (e.g. because used vocabulary can differ/overlap from domain to domain)
I've never heard of Luhman or his system, but always thought the knowledge contained in my Zettelkasten would make a great book and that the Zettelkasten's modular organization would make it very easy to parse the knowledge into whatever form you like.
https://unclutterer.com/2014/06/17/the-pile-of-index-cards-p...
- extension: https://marketplace.visualstudio.com/items?itemName=nergal-p...
- repo: https://github.com/nergal-perm/zettelkasten-vscode
Also I wasn't able to find a license file when I looked now. And unlike stackoverflow there isn't an implied license on GitHub, except to read and fork the repo.
https://github.com/nergal-perm/zettelkasten-vscode/blob/mast...
Edit:
I do however suspect that this is the default when you create a new node.js project, so it might or might not be what the author wanted..?
Anyways, often the author meant it to be open source and just forgot to add a license. Here's one example I stumbled across where the author had just forgotten it: https://github.com/louisukiri/SlackClient/pull/5
A possibly more entertaining example is the project that was on the front page here a few days ago [0] where the author claimed that the project was Open Source (which it was not, it was Apache 2.0 with Commons Clause, -which even according to them Commons Clause people themselves is not Open Source[1]. This has resultet in a rather long thread in the issue tracker[2] which is simultaneously sad (because it is necessary but distracts from a promising project) and entertaining (for people who can enjoy the forum equivalent of AFV anyways).
[0]: https://news.ycombinator.com/item?id=21191676
[1]: https://commonsclause.com/, see FAQ, heading "Is this “Open Source”?"
In the back of my head I have this nagging thought that graph databases are a strict upgrade from traditional relational (SQL) in many if not most cases.
I have nothing to back this up. It really is just a feeling. It simply feels more fun and productive.
I also figured, since what I started was just a lightweight tree of plaintext markdown files, that it would be easy to integrate into another comparable system later on.