Love org-roam. I've been heavily using it for a few months, and not looking back.
Don't miss these additional packages, which build on org-roam:
org-roam-server: better graph visualization and navigation [1]
org-roam-bibtex: Reference management in your Zettelkasten [2]
The latter, combined with org-ref and org-noter, is the most effective way I've found for taking notes on PDFs. Beautiful demo at [3].
FWIW RoamResearch has yet to implement a useful graph view, PDF annotation, or reference management. OTOH, tending to a setup like this in Emacs can easily become a time-sink, and it's single-player only.
> tending to a setup like this in Emacs can easily become a time-sink
I've started to wonder if the Emacs community should put together versions that are ready for different kinds of users out of the box. Say, a version for scholars with everything Auctex, org/org-roam, spell check, email, rss, etc already there, and a walkthrough to boot. Like a distro or spin, basically.
The rising popularity of Emacs “starter kits” (Doom, Spacemacs, Centaur, Prelude, etc) is exactly in this spirit. While not segmented by audience, each of them aims to provide sane defaults and package collections for a varied set of common use cases.
Yeah, I hear that. I still think segmenting by audiences - especially non-programmer audiences - would make it possible to really pitch it as an alternative to tools like, for academics and writers, Scrivener and Word. An audience-segmented starter kit based on other starter kits, perhaps.
So long as these approaches expose the full power of Emacs to their users, I can't imagine the UX being as rock-solid as we might expect from modern purpose-built tools (e.g. PyCharm, Overleaf, Obsidian, ...).
It might help to hide/disable most default interactive functions, which provide a huge surface area for non-Emacsers to break things. Emacs actually does this by default for a few functions: https://www.emacswiki.org/emacs/DisabledCommands
Whether you agree with any particular Controversial Political Figure or not, using one as an example will annoy about 50% of your audience (variable, of course, with your audience's current politicization and self-selection).
Using neutral examples will help keep the focus on your message rather than incidental politics.
Why? I'm conservative but I've taken tips from Obama and Bill Clinton. A good idea is a good idea. That Obama and Clinton are successful is all the more reason to pay attention when they give productivity advice, even though I disagree with several of their policies.
Learning from your opposition is one thing. "Here is a look at how John Smith furthered his goals" is a fine article. An article about another topic with an "I <3 John Smith" banner is just going to annoy people who hate him, to no end; it's completely disconnected from the article and therefore shows poor judgement on the author's part.
Many people find certain opinions of JP’s fall beyond the spectrum of reasonably debatable points of view, and cross the line into the unacceptable. You may disagree on whether JP is too extreme to be part of reasonable discourse, but everyone has a line somewhere. I would find it distracting if the article randomly showed a screenshot of quotes from Chairman Mao, and regardless of the rest of the article, it would unavoidably have some influence on my perception of the author. That’s an extreme example chosen because it is broadly relatable to most people on HN, but I’m sure there are far less controversial people than Mao that you would think are over the line of good taste for inclusion in such a blog post. It should be understandable that for some people JP is over their line.
And do you think it's rational that people judge the content based on some icons that often don't have anything to do with the content itself?
If someone would publish a whitepaper with a working cure for cancer, but would insert Stalin's photo into the paper, should the paper be automatically disqualified and the author exiled? ;)
Well, humans aren’t entirely rational ;) I wouldn’t say the paper be automatically disqualified and the author exiled, but I would question the author’s judgement.
Well, part of me agrees, but for argument purposes I'd say that some people will be annoyed because someone uses made up names of people who doesn't even exist. Also, I'm not sure if 50% people would be annoyed if OP would use "Justin Bieber" instead of Jordan P.
Also, taking this example further, even if we take an ideally altruistic scenario, where a person would walk on the sidewalk, and throw money away for free, so everyone could just come and pick it up, then there still would be some people that would be annoyed: 1) they didn't know about this fact at the same time as some other people, so they weren't able to come and pick up the money, 2) other people got more money than them, 3) they worked hard through the entire life and now people get money for free, 4) etc, etc.
So, everything can be argued like this, there will be people who will like something, and there will be people who will dislike the same thing. I think Bjarne Stroustrup has summed it up pretty accurately:
> There are only two kinds of languages: the ones people complain about and the ones nobody uses.
That's why I've specifically asked about kirbysayshi's thought process (although I secretly suspect there wasn't any process at all).
I've heard this rationalization before but it falls down on closer examination. If propensity for outrage at "controversial figures" is asymmetrical, then factions that exaggerate outrage get to control the conversation.
He's an anti-scientific schmuck. I basically stopped reading this post 3 sentences after seeing the reference to JP, as clearly this person can't distinguish what's shit from what's useful, as evidenced by this over-involved note overaccumulation system.
Also sure, what's-his-face wrote 70 books, but I had never heard of him before. Quantity before volume please, is what note-taking should be about.
Just because you disagree with someone's point of view (even strongly) doesn't mean they can't have admirable qualities. On the topic of Luhmann, perhaps if you were more versed in sociology literature you would have heard of him. I can't say I have, but I'm not a sociologist and am not particularly interested in the field.
> Though it’s still early days, adopting a Zettelkasten has been one of my most productive habits.
If productivity is measured against the volume of notes taken, sure. Otherwise probably not. Notes are an intermediate step to build something else, which is the real output on which productivity is usually measured.
Your comment pretty much perfectly captures what I haven't been able to articulate when it comes to how productivity and the methods by which to achieve it are constantly fetishized. It really makes me wonder if every Joe Shmoe touting the benefits of method X or tool Y really is productive in the "classical sense" or just seems that way because in their own microcosm the only way to measure it is by the volume of notes.
The only note taking approach that's ever worked for me:
1. Read/listen/absorb
2. Write down (or tweet) ideas it creates while you're absorbing
3. Wait
4. Create
Your mind (or at least mine) finds connections you aren't even aware of and when the time comes, when the right prompt sparks, there it is. The knowledge is ready to be used.
Use search and half remembered stuff to find direct citations and brush up on details when necessary. The internet-as-extended-noosphere metaphor works great here.
Zettelkasten is exactly what you wrote here, with one addition. It not only offloads querying for detail (i.e. search) to the machine, it also offloads some connection-making. Search and lookup is internet-as-extended-memory, links and backlinks are internet-as-serendipitous-thought.
It's important to keep in mind that Zettelkasten's creator was an academic in the humanities. When I tried this system, I found it really shone when my goal was literature review -- i.e. to weave together arguments from disparate sources and articles, particularly when there was no quantitative or numeric way to do that weaving (e.g. in a table).
I think that more technical and quantitative subjects do not benefit as much from these large 'connectionist' note-taking systems. For example, if your goal is to learn a new programming language, I don't see Zettelkasten being particularly helpful: you've already grokked a a for loop in other languages, and you gain nothing by creating a new linked note under the 'for loop construct' heading. Just do some practice problems instead!
But if your goal is to compare and contrast features across many languages, or to identify where certain software architectures are lacking, Zettelkasten would work just fine.
As a programmer, every time I try to nail down the flow for a new program, I quickly realize that I'm just writing pseudo-code - and often, just straight code.
Maybe the problem is English. Maybe there's a way to structure English sentences in a more precise and meaningful way with hypertext linking and structuring like a legal document? ...but for human-to-human communications?
Legal documents have cross-references to annexes/addendums. In addition, some words used are defined in the definitions section.
For contracts, there is a customary order, you start with subject of the contract and end with force majeure, severability, term etc.
I don’t believe there is a hyperlinked inherent structure in legal documents. Skilled lawyers can of course draft a meaningful, concise document. But, I think that’s analogous to a skilled programmer writing clear and understandable code.
Most lawyers I know dread formatting and checking for cross-refs.
However, I think we do have one quality, we are used to subconsciously analyze sentences for ambiguities, double meanings, logical contradictions etc. Therefore, lawyers may use English in a way that would do the least harm (or most harm depending on which side they’re on :)).
If we figured out natural language processing or (even if very unlikely) switched our legal documents to an unambigious context-free language such as Lojban, lawyers’ jobs could be entirely automated.
I suspect that impressively structured legal documents stem from templates that have been perfected over the years by multiple lawyers, battle-tested by actual use.
That’s my impression being a junior associate and normally doing the grunt work of checking cross-refs and formatting contracts.
I like this idea of somehow augmenting human language with more associative structures for deeper meaning and shared understanding.
Maybe one implementation of this is that if the people we talk to (perhaps via a chat app) have their own Zettelkasten, the chat is supplemented/augmented by each others Zettelkasten (either publicly or privately) so we have a deeper understanding of each other and we can go on interesting tangents and create new links. This also aids in more progressive discussions.
(I'll add this concept to my Zettel and see where it takes me :) Thanks for the inspiration)
Well, yes. It is important to clarify the purpose for note taking. Zettelkasten-like approaches are useful when you're trying to synthesize knowledge into a framework/perspective, sometimes as a way to find and contextualize new ideas. If one doesn't care about that, and ones notes already have a well-defined taxonomy/structure then the linking feature of Zettelkasten is not particularly useful.
This is useful for anyone whos life goals are a little more generic. If all you use it is for learning a new programming language, it's probably limited in usefulness. If however you use it to not just note interesting ideas in a language but whatever you learn about tech in general, it will become more useful. I intend to use it to keep track of interesting tech notes, my project ideas, potential things I want to learn and read further, and some other life activities as well such as house hunting.
I have notes on the internal of a programming language, or what library function does what, along with accompanying example code, as well definitions for things I saw in the wild.
It was sometime difficult for me to figure out how to use an API due to lack of examples. So it's important to document that.
> I have notes on the internal of a programming language, or what library function does what, along with accompanying example code, as well definitions for things I saw in the wild.
I don't think Zettelkasten will provide much benefits for this type of note taking. It probably still is better than normal note taking, but don't expect great benefits using ZK for things like this.
I disagree. The general idea that human mind stores information as a connected knowledge graph is still valid for technical subjects.
Sure, for simpler examples like if statements, you may not gain much. But, even for loops have differences across languages. JS uses for..of for iterating while Python and Swift use for..in
Also, there are different approaches in each language for getting the index and value while iterating.
Then, there are more complex topics like generics which have significant implementation differences between Java and Swift etc.
It would lead to a better understanding looking at these notes in connection rather than in isolation
Side tracking: What is complex about implementing generics? It is either monomorphization or type erasure. It is not complex in the sense of "stuff entwined with other stuff".
I would find such a thing invaluable for connecting different articles on “the best way to for loop in bash” and “how decomposing a for loop results in AVX512 optimizations”, for example, even if my goal isn’t literary review.
Recently I started with the Zettelkasten approach (120 notes now), so not much experience yet. I did not use something like this for my phd thesis. Thinking back, I don't think it would have helped significantly because computer science works differently than the humanities.
What works very well is to use Zettelkasten as the next step after taking notes from reading book, blog posts, and articles to collect your personal insights. Probably also from movies, podcasts, whatever.
I believe Zettelkasten will help me with writing for my own blog and when I'm collecting information for personal projects. In both cases, I have lots of ideas which are not fully formed yet to be published or implemented. With a job and a family there is little time to pursue it, so I have to work in little steps. Externalizing this ideas is essential and a very-hyperlinked style like Zettelkasten seems to fit well.
For learning little facts about programming languages, spaced repetition is probably more suitable.
I tried Zettelkasten a few months ago and I found a lot of what you said to be true. It also has a serious upfront labor overhead that really makes it hard to stick with.
Then I discovered Building a Second Brain and it's P.A.R.A. method which was like Just-in-Time Zettelkasten and it's suddenly become a cornerstone of my productivity routine.
I compare the two approaches in this blog post:
I recently studied both Zettelkasten and Build a Second Brain (aka P.A.R.A) note taking methods. They share some core principles but BASB seems much more practical for most people
I find that for myself, the ease with which I can take notes depends on the tool that I'm using. I've tried Notion and Zettlr, but both take a bit to get going.
Have you used anything that you find well suited for the tasks of either PARA or Zettelkasten?
Pen and paper, there is something about writing and quickly drawing diagrams using the pen that seems to be involving the right parts of my brain that seem to be asleep otherwise.
Yet discoverability becomes a huge challenge. I find that I almost never go back to reference those paper notes. I'd need a good system to keep those notes organized
I'm using Evernote as my main note taking tool. They've put more effort into making it easier to put notes into it than the other systems I've seen and the PARA system was designed by a guy who used Evernote so it works really well with it.
However, I'm starting to experiment with Roam to write more long form notes to see if I can take advantage of the easy linking capabilities it offers
I have something resembling a Zettelkasten using Tiddlywiki with the Stroll plugin. I'm loving it. I feel like this system is taking me from being someone who hoards notes and never looks at them to someone who actively learns and remembers by making connections between newly-added notes and pre-existing ones in my Tiddlywiki.
> you gain nothing by creating a new linked note under the 'for loop construct' heading. Just do some practice problems instead!
This is when you are learning very basics and not equivalent of literature review.
The proper equivalent would be doing overview of current frameworks. Or learning about bitcoin where you are going through math, design, algorithm, economics considerations and social consideration. Or security where you jump between modeling, attack, defense and tradeoffs.
It’s useful in pure (abstract) math for linking similar proofs. If you can spot some subjective link between proofs (e.g a proof in algebra and a proof in number theory that use essentially the same counting method) then you might be onto a deeper connection. I used this as an undergrad to “borrow” proofs from other areas.
> if your goal is to learn a new programming language, I don't see Zettelkasten being particularly helpful
I started using one to learn Erlang, and have found it incredibly helpful. Going down a wikipedia-style rabbit hole of my own notes is cool, like I'm exploring my own brain. Sometimes I completely forget how something works, and when I look up the note I took I just have to read a few of my own words to immediately remember it all.
I will say though that progress actually feels pretty slow compared to my usual strategy of just reading through books and articles once or twice, and then web searching whenever I forget something. But I guess that just has more to do with meticulous note-taking in general rather than the "zettelkasten" thing.
> you've already grokked a a for loop in other languages, and you gain nothing by creating a new linked note under the 'for loop construct' heading
So don't do that. Your notes are for you and you only. If you write useless notes, then the notes will be useless. Just write down what you think you might have trouble remembering later.
> if your goal is to learn a new programming language, I don't see Zettelkasten being particularly helpful
I don't have experience with Zettelkasten, but after reading this article I'm imagining using it for studying algorithms in general and physics simulations in particular.
It even might be more useful than you think for learning languages. For example, the return expression in Haskell might look like a return statement from an imperative language, and might even be used in a similar way, but under the hood the two have nothing in common. There's a significant amount of foundational knowledge you need before you can jump in and start doing practice problems.
I searched for hours for a viable Zettelkasten method: org-mode, vim-org, TiddlyWiki, Roam, Notion, Joplin, Notable, Obsidian, Zettlr.
All of them were too complex, and not lightweight, cross-compatible, private/secure, or futureproof enough.
I decided to settle on the default MacOS editor using a mix of .txt/.rtf files, with extensive folder organization and the built-in tagging system.
I plan on consolidating journal entries into subject categories.
Example: let’s say I learn something about investing.
I write something brief about it in my \journal folder, tag it under investing, then maybe save a .pdf of the source to my \investing\temp folder.
Next, I add the new info to a note under the relevant category, such as \investing\ETFs.txt
Or, I create a new .txt/.rtf (depending my needs)
I believe tags are saved as metadata, so it should be cross-compatible.
For books, I’ll structure it as \library\broad_category
\book_name\chapter_n.txt, add the relevant folder tag, and maybe add an alias/shortcut in the relevant folder. I summarize key points under relevant files such as \investing\ETFs.txt
This seems like the best method to me, but I’m open to other strategies.
The problems with tags last time I searched were that they weren't really that robust, some file systems don't support them and the applications that manipulate files may erase them. Have you ever encountered such problems ?
I was concerned about that too, but I believe Macs at least guarantee tag syncing between other Macs. I may experiment with putting tags on the first line, but for now, I’ll have to rely on folders and my summarizations.
I may just settle for org-mode if I end up doing a PhD because, as the top commenters pointed out, Zettelkasten is meant to be a system to link ideas within the humanities.
However, I’m focused on my professional life right now. Most of my reading material is quantitative, so my current system is fine.
I use NoteSelf, which is a variant / add-on / expansion of tiddlywiki. It requires an accessible CouchDB backend hosted somewhere on the internet, but once that bit of infrastructure is setup it's almost universally accessible.
I've barely scratched the surface of tiddlywiki's features, but linking ideas together is easy, in that you can link individual "ideas" (in the form of individual articles, referred to as tiddlers) from each other, and it also supports tagging, and there are built-in scripts for iterating tiddlers with chosen tags.
I'm thinking of a similar approach with text files and collections of other file types like pdfs, images, etc as you note.
For tags, there are some packages for tagging I've come across like TMSU [1], taggo [2], dantalian [3]
I'm thinking of tagging by just having a tags folder with a txt file for each tag. You could just stick the path to files you want to "tag" in there. Then if desired, have a script to create a bunch of symlinks for a browsable tag file structure. Maybe even have some custom grep code to find specific keywords in my notes and "tag" them automatically
Would you mind sharing what caused you to abandon TiddlyWiki? I like the look of Notion and Roam, but I don’t like SaaS. I’m a few weeks into customising a TiddlyWiki instance and I am becoming quite committed to it. It seems to have the right balance of out-of-the-box functionality and customisability for me. But I am a little apprehensive about finding that it gets slow after a few years of use, or something like that.
Yeah, Roam looks exactly what I'd love to have, and I would pay a licence fee; however, I don't want my knowledge hosted somewhere else apart from my computer a my backup.
I'm using Tiddlywiki as well, but I haven't customized it much yet.
Regarding your fear of it becoming slow, the good part is that you can manipulate the tiddlers easily, so you could import them in another system, if you need to migrate.
Another TiddlyWiki fan here, I used to use DevonThink - which is pretty awesome, but less portable - it only runs on MacOS and has a barebones web frontend.
I could carry or host my OSX VM anywhere, and use VNC or such, but TiddlyWiki is much more portable as it is a self-contained html+js file running in the browser. I loose functionality, but there's search, tagging, linking and listing and a ton of plugins. It's good enough.
I used to think of the file system text file route as well, and there is this vimwiki, but as I'm used to browsing and looking up information in the browser TiddlyWiki is more convenient, and I can use SVG, mindmaps and diagrams. Emacs could be used to with the convenience of org-mode. There is also org-brain... all this is nice but is a bit more work and a bit less portable.
Regarding the potential slowing and bloating of TiddlyWiki, there is this filesystem plugin to link to local external images and documents. I use as much plain text, icons and svg diagrams as possible. I also segment several tiddlywiki's - perhaps at most 7.
Now I use:
* 'VR oriented development, which is very broad and can include WebXR, UE4, Quill, C++, C#, hardware, game development, cyborg antropology, psychology
* Spirituality (meditation, christian theology, hindu tantra and buddhist philosophy) and health
* Family and friends, non-violent communication
* Tasks, notetaking, journaling, habits - including shadow work journaling (semi-spiritual/psychological practice). Work or private related, there is no seperation.
Ideally TiddlyWiki could be mounted in a FUSE-like filesystem manner, more intuitive search operators or had built-in compression to make it even more speedy but it's good enough, just like my tweaked dvorak. Perfect doesn't exist. I don't complain, I love it! I can use it on my phone and on my Quest as well.
If one day my browser grinds to a halt due to a 20 Mbyte TiddliWiki I'll think of a solution then. I think at most I'm at 16 tiddlers a day on average.
One of the ideas that Sascha and Christian of Zettelkasten.de have espoused is not not giving too much structure up front.
At first I flirted with the idea of markdown files, and using something like an extension to Jekyll to resolve links and generate an HTML render of my zettel archive. But that's the same mistake I always make :) Way too much for what I need.
Like you, I settled on just using a text editor (sublime text and atom) with Markdown files. I don't plan to render them, I just like the syntax highlighting.
I think your proposed system captures the important part of the knowledge intake, ie two levels of abstraction (writing a source note, and then connecting the new knowledge from source note to (or just dumping it in) some existing node.)
But one other idea from Christian and Sascha is to avoid folder structures, and allow the organization to develop over time. On a work topic, notes from a few guidances and presentations, plus my experiences, cluster to create a note which transcends a categorical boundary I would have erected with a folder structure.
So, the suggested alt strategy is dump everything into one folder and create clusters using other structures, as they reveal themselves to be useful.
If privacy concerns you, you may want to take a look at:
https://twinkle.app/
macOS download is less than 10MB, so it should be a very quick evaluation.
I'm confused as to why you find Obsidian not matching most those criteria. I heard about it here last week, and just installed it finally tonight, but as I understand it. It's just a bunch of markdown files in a folder on the local disk. That seems.pretty easy to access/convert, is private, is lightweight, and is future proof (I could write something in Perl to generate the graph in a night most likely).
I don't know anything about the others, since I haven't really used a note system before, so I can't comment on them. Your system seems to violate a few of your stated concerns though (is it cross compatible?), so I'm confused as to why you find it better.
there have been reports of Obsidian breaking and deleting notes when removing bidirectional links. I’m not interested in something that isn’t 100% failsafe when my notes are on the line.
That's worrying if true, but something hopefully they'll fix. I imagine deleting notes should be a fairly rare occurrence, so putting safeguards around it (such as a confirm, maybe moving note file to a trash location for later cleanup) is warranted.
Given what it is, it's probably safe and a good idea to make the vault on top of a versioned file system, even if that's a dropbox, google drive stream folder, or backblaze folder. It's probably not too hard to get a solution that's encrypted so it's more private as well.
I still think replacing the document creation markdown handling with Obsidian, which also shows back-links and lets you easily follow links, is probably much more useful and efficient than to use a regular text editor and manually curate the folders and tagging.
You probably want versioning in all cases (your manual method or Obsidian), and it doesn't negate the benefit of a system that scans and builds a graph of your knowledge provides.
Creating a hierarchy of notes using folders can be counterproductive. It will be easy to classify the majority of notes, but some of them will match multiple categories, or even none of them. Unfortunately, those notes are usually the most interesting. Case in point: I have some notes regarding good technical writing, and some notes concerning good Git usage. If I had a hierarchy, the first notes would go under "writing", and the second ones would go under "development". But where would I have filed the notes regarding Git commit messages? I feel like they belong on both categories. Choosing just one of them means ignoring the other. That's why, if you still want to classify some of your tags, I strongly advise to use a tagging system, and to avoid creating note hierarchies.
It can be way more simple: I use one folder for my notes, and another one for my "sources" (linear notes on articles, books, talks, etc). Files have unique filenames (guaranteed because a timestamp is added to the name when they are created). And there's no need for structure, because I open the files with Emacs using Projectile, so I can autocomplete the filenames. If I need to search the contents of the files, full text search is also accessible and quick. All note taking programs have these features, and you don't really need much more.
There are note taking systems that enabled that. Obsidian (from here a couple days ago) and Trilium both track links and backlinks, which can let you integrate that to a degree. It creates a web of information, as opposed to a strict hierarchical taxonomy. So you can link across those to hopefully maintain discoverability.
I generally dislike labeling systems. My interpretation of a label is too context-dependent and liable to shift over time. I.e. "architecture" could refer to either systems architecture or building architecture. And I frequently don't think that I'll have a conflict until some day I decide I want to learn about Napoleonic architecture for some reason. And then when I separate them, I'll end up forgetting what I called the label (was it systems-architecture? tech-architecture? application-architecture?) and I end up futzing around to figure out what the label was, breaking my flow of thought.
In the book "How to take smart notes" by Sönke Ahrens, there's a lot of thought given on the real value of tags. I'd say the problem you describe happens because you are trying to create a taxonomy using tags. Classifying the notes using tags can feel rewarding in the short term, but it's not useful in the context of a linked notes system.
When creating tasks, the main question that is answered is "in which contexts would I like this note to show up?". The answer to this question is completely subjective. If, for instance, you were doing research for game level design, it makes sense for the systems architecture notes to be tagged with "game engine", "achievements", "quick save", or anything else that you will want to look up later on. The Napoleonic architecture notes could be tagged as "level design", "gameplay cues", or "side quests".
As you can see, these tags would be different for every person, and that's kind of the point. Two people can read the same content, and take the same note from it, but the intended purpose could still be completely different, and that would show up in the tags.
> I searched for hours for a viable Zettelkasten method: org-mode, vim-org, TiddlyWiki, Roam, Notion, Joplin, Notable, Obsidian, Zettlr.
Org mode works well, but honestly what works the absolute best in my experience are actual slips of paper in a slipcase — or 'index cards,' to use the colloquial term. I find that physically writing words with a pen aids memory, and the little notebooks that I form over time (I punch a hole in each slip, and bind them together with a metal ring, and split bundles by topic when they get too unwieldy) seem to help too.
I number each slip when I create it, and when I need to reference it I just write [$NUMBER].
I started with a slip numbered 1. I add a new numeral whenever the topic is sufficiently different from any other topic. When a slip fits in with an existing topic, I insert it between cards, giving it a letter. So if 1 were programming languages, maybe 1a is Lisp. Then if I need to move a level down I just go back to numerals: maybe 1d3 is some notes on a Lua interpreter.
But I don't get too hung up on the numbers: as long as similar slips are just somewhat near one another, that's good enough. The goal is to accidentally run into similar thoughts (otherwise one could just number them sequentially, and not worry that card 1,467 is a Lua compiler and 1,468 is a recipe for mutton).
People love doing things that feel like work, but aren’t.
I’m terrified of picking up new systems like this without having a purpose. I could spend hours building out a graph, admiring all of MY knowledge, but not really have any intended use for it other than telling others about it and how I’m going to use it someday.
Do you know Vannevar Bush? Most note taking tools/systems are an approximation of a memex. I think it's worthwhile to develop a system along the lines of a memex because sharing knowledge effectively is how we all become more effective.
I recently stumbled upon [0] this quote from Walter Benjamin:
> Und heute schon ist das Buch, wie die aktuelle wissenschaftliche Produktionsweise lehrt, eine veraltete Vermittlung zwischen zwei verschiedenen Kartotheksystemen. Denn alles Wesentliche findet sich im Zettelkasten des Forschers, der's verfaßte, und der Gelehrte, der darin studiert, assimiliert es seiner eigenen Kartothek.
My translation:
> Already today the book, as tought by academia, is obsolete as transmitting information between two card file systems. Anything of substance is in the Zettelkasten of the researcher, who wrote it, and the scholar, who studies it, assimilates it in his own card file.
That's a good quote. I've been trying to figure out what a programmable wiki would look like and I always end up with something that looks like a smalltalk VM.
I think it's possible to build a personal memex now. I'm looking at couchdb, lucene, apache tika, deno, and node.js as the initial set of tools to mash together and expose through the browser. CouchDB and Lucene will be used for persisence and searching along with Apache Tika for extracting metadata and doing OCR on images and PDFs. Deno and Node.js will be used for executing code on the server and the client. Deno can be used for sandboxing and exposing each person's knowledge base to programmatic control by other people like a federated search engine where people can share interesting code patterns for acting on knowledge bases and exposing hidden patterns.
Combine with some basic machine learning models and you get a pretty useful personal toolkit for knowledge enhancement.
Also, a quote by another good thinker
> Civilization advances by extending the number of important operations which we can perform without thinking of them. - Alfred North Whitehead
This way of notetaking is the first time I feel the "actions that feel like work but isn't" overhead is below a critical threshold. I don't plan anything, I don't do reviews, I spend no time working with or around the tool, I just stick to a couple simple principles and jot things down, curating connections as they arise.
You're in a perceptive loop concerning this particular object (systems like this) then. You see future-self behaving as past-self did.
You can keep doing that, looping. People who are natural contingency planners do this all the time--they map their past onto future-self. Flexing this muscle because it's strongest.
However this is also a good way of preventing yourself from re-exploring new objects through a different lens.
Or asking people, "here's what I tried--what are you doing differently?"
If you can treat it as a skill with unlimited outcomes per-experience, rather than a forced repetition of past-self, you get a huge mental plasticity bonus. Once you've gotten to that point you can also find yourself building your own tech with fewer crippling concerns about future outcomes. It's a great unlocking method.
This is a pretty astonishing insight! @themodelplumber1 do you have more information about this? Either a blog post you have written, or a book you read (or wrote!) on the topic?
Edit: ... and I checked out your profile and bookmarked your blog in my feed reader. Awesome!
Hi @rendall, in exploring this subject more broadly you may find it useful to search for "metacognition". See also the book "Ultralearning", https://RoamBrain.com, Tiago Forte, NessLabs...
Also google "growth mindset" -- cultivate a mental state where it's not about ruminating about past failures, but rather focus on what you learned from past experiences (what doesn't work) and use that to iterate on your future self.
that is not an unreasonable fear. I'm reminded of something I read once.
there are two kinds of people:
- those who make lists and use them.
- and those who make lists and lose them.
I would say 90% of the todos and ideas I jot down and overorganize don't lead to anything. But the 10% I do - they keep the wheels from coming off my life. (to be fair, there is a very low cost of capture, and I do it all electronically)
I agree with this ratio. I generate a ton of ideas for projects or hobbies, but writing each one down and putting it away (in Trello, Joplin, GitLab issues, etc.) lets me move on with priorities rather than getting pulled into new things all the time.
Same; I've been using various note taking approaches over the years, but my "problem" is that I rarely actually have to go back to a note, they are usually only relevant for one task like e.g. writing a blog post or implementing a feature.
So while I'd like to retain my knowledge and research somewhere, at the same time I don't actually use it???
But some writing I've done that will be relevant in the next years is writing ADR's (Architecture Decision Records) in my application about technology and architecture choices I've made, so I can look them up later, use it to train new people, and have a basis to challenge a decision on as well. That's more practical for my personal situation.
But maybe one day I'll be doing something more academic and will need a way to collate research and the like.
I completely agree. Note apps are focused on categorization when 90% of note taking is creation, not retrieval. I have a new app that’s focused on creating notes as quickly as possible, working offline, and syncing to all your devices (web too). I’d love to include you in the alpha we’re launching this week, just send me an email and we’ll add you. This is open to anyone else as well!
This is why I always come back to Apple's humble Notes app after trying the others. It's simple and dumb enough that it gets out of the way and just lets me write notes on my mac or my phone and everything is quietly synced for offline use.
Once I start thinking about how I'm going to use the note, I go down a rabbit hole of style / format considerations and it gets in the way of the idea I was trying to capture. So now I give myself permission to just write a note and if it does need to morph into something more structured, it's only a copy-paste away to a fancier tool.
I would say that one of the goals of note taking is to make it so that you don't need to go back to them. If you write notes about a book you read, not copy-pasting the exact quotes, but writing your understanding, you'll be more likely to remember it later. And if, at some point you want to remember more, then you actually go to the note and check.
This looks interesting, but one potential problem with this method is that you start treating the number of notes or the size of the graph as a success metric. The author even notes how it is 'pleasing' to see their note graph grow in size. This could be a perverse incentive.
Yes, and what I find even more worrying about a densely connected graph is that it is not easy to extract information! Lack of connections (factorizing knowledge) is as important as noticing connections. Otherwise you'll be swimming in connections of marginal relevance (i.e. distractions). IMHO a sprinkling of connections, resulting in a relatively sparse graph is quite easy to make sense of. It's not easy to foresee where the optimum might be.
You're absolutely correct, that is the dominant hyperparameter for a tool like this. If every word was hyperlinked, it would be nonsense. The good news is we don't need to analyze and forecast what the optimum is, we just need to ride the bike and learn to balance.
Yes, but it's not unrelated. We don't have to measure everything objectively all the time when it comes to human performance. Sometimes rituals help indirectly or in the long run.
I don't use Zettelkasten but I have over 1000 of my own frameworks in a homebrew organization and reference system. Up to about number 900, it had a "the more the better" vibe to it. It was fun to count the files.
Once I passed 900, I counted them up and then realized that the best frameworks are those that are actively maintained, and _those_ are more likely to cause churn throughout the system. Activities like reorganization and even condensation. This resulted in a reduction in the file count, but it was definitely for the better.
The most perverse incentive IMO is when your system of organization, structure, and own-ideas is so good that you become addicted to it. You forget to ask others what they think, or what they're doing, because you want to experience and learn it for yourself. Don't tell me--I want to puzzle it out.
But as with just about any perverse incentive, you probably learn about it as you go along, especially if the system is there to help you out in the first place. And then you fix the problem.
I've recently got into using https://kinopio.club for noting down these kinds of interconnected thoughts, which encourages combing and refining thoughts down to the root issues. But, some may find it too minimal compared to the tools linked in the article.
I had the same thought. I see these graphs more as a gimmick that look nice but don't provide much insight as soon as they grow to a certain size. The first roam research graphs I saw where completely useless. Only when you zoom in and look at an individual note the connections become clearer.
I find it very funny that all of my nerd friends are all suddenly using an archaic German note-taking system.
I started a simple system myself after reading the thread about them here a few weeks ago, and I have to say that it's already been useful. It reduces the lookup times from O(all of the internet) to O(just my notes).
>reduces the lookup times from O(all of the internet) to O(just my notes).
This ^^
I use a combo of Pinboard [1] to save URLs I think I'll want to refer to in future, plus NValt [2] stored on my Jottacloud [3] for recording snppets of info and more free-form notes and for making that info available from any of my devices.
Nine times out of ten [if not 99 out of 100] however, I'll just StartPage or DDG whatever info I'm looking for, since I always have a browser open anyway.
It's also quite common that, having thus found such a nugget of info, I go to add it to my Pinboard or NValt notes for future reference, only to find it was already stored there [often years ago], if only I'd thought to "shop locally" in the first place.
I do sometimes wonder though; if there's an inverse correlation between "complexity of ideas preparation" and "actually getting stuff done" and if all these systems are the procrastinator's equivalent of the instant weight-loss diet.
Many's the time I've been about to embark on some actual "thing" I need to do [producing a piece of art, writing an article, building a web page, fixing something round the house] only to get completely sidetracked by the thought that if I just; tweak some software settings... re-organise some folders of files... dismantle and clean some piece of equipment.. first, I'll get the job done so much more efficiently. And, of course, I then spend the rest of the day doing that, instead of actually accomplishing the "thing" I set out to do, in the first place.
This was also an incentive for me to adopt a similar system. As the web gets bigger, it feels as though search engines are losing the SEO arms race and it’s harder to rediscover things I remember reading online in the past. As well as writing more notes, I’ve been making more of an effort to bookmark articles on the web if I think there’s the slightest possibility I’ll want to return to them later. This makes my Firefox omnibar suggestions more useful.
This reminds me of a piece Stephen Johnson once wrote for the New York Times called "Tool for Thought", which described his process using DEVONthink software.
"The raw material the software relies on is an archive of my writings and notes, plus a few thousand choice quotes from books I have read over the past decade: an archive, in other words, of all my old ideas, and the ideas that have influenced me[...]Consider how I used the tool in writing my last book, which revolved around the latest developments in brain science. I would write a paragraph that addressed the human brain's remarkable facility for interpreting facial expressions. I'd then plug that paragraph into the software, and ask it to find other, similar passages in my archive. Instantly, a list of quotes would be returned: some on the neural architecture that triggers facial expressions, others on the evolutionary history of the smile, still others that dealt with the expressiveness of our near relatives, the chimpanzees. Invariably, one or two of these would trigger a new association in my head -- I'd forgotten about the chimpanzee connection -- and I'd select that quote, and ask the software to find a new batch of documents similar to it. Before long a larger idea had taken shape in my head, built out of the trail of associations the machine had assembled for me."
That process eventually turned into a startup around 2010 I helped found in NYC. Good times.
That's kind of like asking why one needs hypertext when a single text file should suffice. The fact that one is linking adds structure, and a simple text search will not be easy.
ZK is mostly a Wiki, with some guidelines on how to decide when to link things, etc.
> hyperlinks are relevant for navigation. here hyperlinks (as hashtags) are used for discovery.
Hyperlinks in Wikis are very much also structural/semantic. They are not primarily for navigation.
Imagine reading Wikipedia without the links, and where you had to use the search box for every potential link. Imagine all the noise you'd get when you'd search.
BTW, I suspect your question is more about Roam then about Zettelkasten. Don't conflate the two. Roam is a general purpose product which utilizes the power of linking. This author is merely adapting it to the Zettelkasten methodology.
If you're asking about what makes linking special in Roam: Any thing you write as a link in your notes (need not be a hashtag) - Roam will create an empty page for that link - perhaps similar to Wikipedia. You can see what notes link to it.
When you enter a date in Roam, it will create a page for that as well.
Same with hashtags.
I suppose you get a fair amount of querying power. I'm not a Roam user, so I don't know.
I believe the other thing Roam users love is that each bullet/paragraph is an independent entity that you can link to/from. So if my paragraph links to "foobar", then on the foobar page I can see which paragraph (not just which page) linked to it.
I don't think the article does a good job highlighting why people love Roam - he was focusing more on ZK. If you want a better article about the strengths of Roam, see https://www.nateliason.com/blog/roam
You could see each entry as a function in a programming language. You don't want to repeat yourself. Instead, you implement that function and reuse it where you need.
A fortnight or so ago, I saw a link on HN mentioning 'Zettelkasten' and had to look up the word, because I'd never heard it before. Since then, there must have been a Zettelkasten reference at least every other day.
Certainly a fad I think partly due to the book “How to Take Smart Notes”. Personally I think it’s a very well thought out argument about why this particular note taking system works and why it might work for you. But as the author says, it is meant for academics, particular those in the humanities although it doesn’t state that explicitly.
I believe this kind of work doesn’t share a lot of commonality with the research that readers of HN would do - although it is a very effective tool for some stuff we do.
I think if you’re gonna read it, don’t take it as “the one true way” to take notes. Take what you like and do what works for you.
"I believe this kind of work doesn’t share a lot of commonality with the research that readers of HN would do - although it is a very effective tool for some stuff we do."
I'm not sure what your expectations of the "normal" HN reader are but lots of people engage in stuff like creative writing, essays, general research to esoteric topics and so on.
For example I have a notebook I constantly scribble on. I've moved a portion of that scribbling to a zettlekasteln like system to a great benefit - although I just use text files and in a simple onedrive directory structure.
Sure, but there's also culture and things go in and out of fashion and ideas go varying level of viral, too. I have certainly seen a post become popular and decide that an essay I read which has some passing similarity might likewise be too. So I post it, and someone links it on Facebook, and we run in similar internet circles and it hits you twice in different ways.
I stand [partially] corrected. Searching through the archives, I find the term first appeared on HN 4 years ago, with a few mentions a year, ever since. But there's definitely been a cluster of mentions over the past month or so:
That is certainly a thing. But on HN, we really do have topical trends. When an article gets popular, and piques our interest, people keep researching it. And finding related topics and articles, and those also get posted. We also see it impact the "Show HN" posts - before coronacrisis, we were seeing so many curated job postings sites that it got to be a bit of a joke. Just in the last couple week, we've see an uptick in blogging tools, and in the past couple days, an uptick in data gathering sites for police action. Trends do exist.
Not that I recall... but with all the people who participate here, I wouldn't be surprised if someone has a project along those lines in some stage of development. If not, it could be a fun project to try.
Honestly I'm just glad that "Zettelkasten" as a concept is getting more exposure and it's being called what it is, instead of getting eaten up as "a part of Roam". The literal cult surrounding it certainly doesn't make it easy.
Part of it because there is new hot notetaking/KM app called Obsidian, post on Show HN* about a week ago and people seems super interested. Also posted a just little while further back was another service called Roam which similar in principle.
It's not really new, but finally the years of spreading the cargo-cult is paying.
There is now roam, a new fancy tool which does nothing new, but spreads hard with the new generation and connects well with the zettelkasten-terms. And there recently was was a book about smart notetaking, which sold somewhat well with people who seek some solution but don't know much about this space.
Tagged info can already constitute a Zettelkasten, since relations exist on matching tags. A wiki is much more advanced and a superset of Zettelkasten functionality.
In light of the "graph"-craze I could imagine that we will hear more of it.
That said, it can be helpful for sourcing all kinds of stuff, but still think it is a hipster fad.
edit: some dictionaries suggest that "outliner" is a fitting translation. I don't think that is true due to the hierarchy outliners seem to require.
I think it's important to identify what your goal is, before deciding which note taking system works for you.
Regular notes are a spoon, this method may be a fork. Until you know what type of dish you're going to be eating, it's hard to advocate one utensil over another, although when in doubt, a spoon is a pretty decent universal.
I have followed a somewhat similar technique to zettelkasten-technique for cross-referencing information, and it has really helped deriving substantial perspective on the information presented. Hence, I believe this approach helps relate/recall conceptual relationships while re-visiting those notes at a later time.
Interesting, I keep coming across the technique but have yet to give a a try, I enjoy the thought of linking notes especially cross concept/domain which I can imagine aids in learning and saving to both short/long term memory
But rather than fumbling with cards it seems like an interesting use case for AR/VR
I always thought VR/AR would be very interesting in the studying/notetaking space, are any of you working on something similar?
I think most of these 'advanced' note taking features (even interlinking when used pervasively) distract more than it helps.
> Regular note taking sucks
It sucks the least, I tried some of note taking apps and software, then settled at some lines of shell script.
notes () {
cd ~/notes/$1
clear
ls
}
note () {
vim $@
clear
ls
}
This works surprisingly well for most purposes, along with syntax highlighting for markdown. I sometimes wish it had interlinking and images, but I haven't come across a situation where I needed it.
I would like to understand how this note taking method is different than a hypertext wiki for notes? (e.g. TiddlyWiki) It seems very similar to use based on glancing through the examples in the article.
You can implement ZK with a Wiki. ZK is simply a Wiki with discipline about how you create pages, link, etc. Kind of like asking how GTD is any different from a TODO list. It's just a more structured TODO list.
Tools like Roam simply provide more convenient capability than a typical Wiki tool.
Sönke Ahrens writes about this similarity in his book "How to take smart notes". A linked notes system is indeed very similar to a wikipedia. The difference lies in the usage. In a personal system, there's a bit more "wiki" and not that much "pedia". Encyclopedic classification of content is not the aim of a linked notes system. The notes should be collected and connected based on your interests, aims, and whims.
I found it interesting to consider that the people who leave lasting impact and legacy on the world, don’t have extensive note-taking or organisation systems (like I am anxiously given to do) or whatever else. That’s not what we remember them for.
Maybe a drive to “do” and “build” - and actually doing something about that - is far more important... I’m probably not articulating this properly.
If I think about writers and scientists, I think about their archives being homed at universities and such. I'm always kind of amazed that certain artists (writers, painters, etc) end up with volumes of letters that sometimes get published after they've passed on.
I don't know if we'll have that rich vein to mine with everyone doing things in computers. Sometimes you'll get some emails from a dead author, but letters and notes? It'll be interesting to see what variation of material gets preserved when we look back in 20-50 years.
> Zettelkasten is German for “slip-box”. It originates from German sociologist Niklas Luhmann.
Should this implicate that Luhmann invented Noteboxes? Because this is absolute not the case. There are many famous Zettelkaesten from famous people. The most famous might be the Mundaneum, a kind of wikipedia in noteboxes, from around 1900.
What Luhmann did was adding basic hypertext-principles to a common note-taking-tool.
That is a modern synonym, but not quite the same. This is more specific for organized indexboxes.
> "(Lern-)Kartei" oder "Vokabelbox".
Those are not even the same. They are special purpose-tools with specific meaning which just happen to use index-cards and boxes in their analog version. That's like saying notebook is not a word because diary is widely used.
You’re defending the claim that Zettelkasten is a commonly used word. You do that by smugly telling GP they need to go to Wikipedia to educate themselves about it. I guess that nicely proves their point?
He is correct though, just because the GP has not heard of it doesn't mean it isn't commonly used.
I'm also a German native speaker and I agree the term Zettelkasten is more common than Karteikasten. I encountered Zettelkasten when I was in high-school a long time ago. That said the way I've encountered it was always more as a study tool (like flashcards, or the vokabelkarten/box the GP mentioned ) not so much for note taking, but then that's what you do in high-school.
I’m also native (NRW), never heard of Zettelkasten before here, we just say Karteikarten (not even -kasten). Same for a Bavarian friend of mine. Where are you from?
No, because nobody can know everything. Even common knowledge is not so common that everyone knows all and the same. And the mention of wikipedia was more to show the usage and origin of this, not how common or uncommon it is. Because that's not really mentioned there.
There is a certain point where few enough people know something that it can’t be called common. Maybe GP is not the exception for not knowing but you are for knowing?
I've taken 3000 pages of notes in a linear, bullet-point fashion, and I also keep up with education research.
As far as I can tell, both in studies and in personal experience, the fiddly details of your note-taking schemes don't matter. The only thing that matters is attempting to integrate the information into a cohesive whole, which takes intentional thought.
With linear notes, there's a failure mode where links that should be made aren't; you can even walk around believing outright contradictions without noticing. But with a web, there's an equally bad failure mode where your knowledge gets diffuse and unstructured (instead of "X causes Y if Z", you get "X, Y, and Z are related. But... was Z the thing that caused X? Wait, but then what was Y for?").
Both of these reflect a failure to aggregate and chunk the information into hard tools, but no productivity system can magically fix that; it always takes time.
>But with a web, there's an equally bad failure mode where your knowledge gets diffuse and unstructured (instead of "X causes Y if Z", you get "X, Y, and Z are related. But... was Z the thing that caused X? Wait, but then what was Y for?").
Isn't that exactly what the point of a memex-like system is? Instead of simple X-Y links, you get 3-tuples such as (X, "can cause", Y).
For Academic writing like the creator of zettelkasten was, web method is much preferred.
For linear notes, the remedy is not really feasible, you'd have to go through everything thoroughly fixing unlinked notes.
For the 2nd, the 'failure mode' of the web note taker as you describe, that isn't really a problem. Notes are just tools/building blocks to writing or coming up with cohesive ideas/arguments. If you don't know what Y was for, its either irrelevant or you've found a gap in your knowledge you need to plug.
308 comments
[ 3.0 ms ] story [ 297 ms ] threadSee "org-roam" [1,2] (and several blog posts and youtube videos by now)
[1]: https://github.com/org-roam/org-roam [2]: https://blog.jethro.dev/posts/introducing_org_roam/
Don't miss these additional packages, which build on org-roam:
org-roam-server: better graph visualization and navigation [1]
org-roam-bibtex: Reference management in your Zettelkasten [2]
The latter, combined with org-ref and org-noter, is the most effective way I've found for taking notes on PDFs. Beautiful demo at [3].
FWIW RoamResearch has yet to implement a useful graph view, PDF annotation, or reference management. OTOH, tending to a setup like this in Emacs can easily become a time-sink, and it's single-player only.
[1]: https://github.com/org-roam/org-roam-server
[2]: https://github.com/org-roam/org-roam-bibtex
[3]: https://youtu.be/Wy9WvF5gWYg
I've started to wonder if the Emacs community should put together versions that are ready for different kinds of users out of the box. Say, a version for scholars with everything Auctex, org/org-roam, spell check, email, rss, etc already there, and a walkthrough to boot. Like a distro or spin, basically.
Here are three I'm aware of:
Scimax: https://github.com/jkitchin/scimax
Emacs Speaks Statistics: https://github.com/emacs-ess/ESS
Frontmacs: https://github.com/thefrontside/frontmacs
So long as these approaches expose the full power of Emacs to their users, I can't imagine the UX being as rock-solid as we might expect from modern purpose-built tools (e.g. PyCharm, Overleaf, Obsidian, ...).
It might help to hide/disable most default interactive functions, which provide a huge surface area for non-Emacsers to break things. Emacs actually does this by default for a few functions: https://www.emacswiki.org/emacs/DisabledCommands
Also relevant here is wakib-keys: https://github.com/darkstego/wakib-keys.
Using neutral examples will help keep the focus on your message rather than incidental politics.
Why? I'm conservative but I've taken tips from Obama and Bill Clinton. A good idea is a good idea. That Obama and Clinton are successful is all the more reason to pay attention when they give productivity advice, even though I disagree with several of their policies.
If someone would publish a whitepaper with a working cure for cancer, but would insert Stalin's photo into the paper, should the paper be automatically disqualified and the author exiled? ;)
Also, taking this example further, even if we take an ideally altruistic scenario, where a person would walk on the sidewalk, and throw money away for free, so everyone could just come and pick it up, then there still would be some people that would be annoyed: 1) they didn't know about this fact at the same time as some other people, so they weren't able to come and pick up the money, 2) other people got more money than them, 3) they worked hard through the entire life and now people get money for free, 4) etc, etc.
So, everything can be argued like this, there will be people who will like something, and there will be people who will dislike the same thing. I think Bjarne Stroustrup has summed it up pretty accurately:
> There are only two kinds of languages: the ones people complain about and the ones nobody uses.
That's why I've specifically asked about kirbysayshi's thought process (although I secretly suspect there wasn't any process at all).
http://web.archive.org/web/20200407164125/https://eugeneyan....
Also sure, what's-his-face wrote 70 books, but I had never heard of him before. Quantity before volume please, is what note-taking should be about.
Is that because his output is insignificant, or your knowledge was limited?
https://en.wikipedia.org/wiki/Niklas_Luhmann
If productivity is measured against the volume of notes taken, sure. Otherwise probably not. Notes are an intermediate step to build something else, which is the real output on which productivity is usually measured.
1. Read/listen/absorb
2. Write down (or tweet) ideas it creates while you're absorbing
3. Wait
4. Create
Your mind (or at least mine) finds connections you aren't even aware of and when the time comes, when the right prompt sparks, there it is. The knowledge is ready to be used.
Use search and half remembered stuff to find direct citations and brush up on details when necessary. The internet-as-extended-noosphere metaphor works great here.
I think that more technical and quantitative subjects do not benefit as much from these large 'connectionist' note-taking systems. For example, if your goal is to learn a new programming language, I don't see Zettelkasten being particularly helpful: you've already grokked a a for loop in other languages, and you gain nothing by creating a new linked note under the 'for loop construct' heading. Just do some practice problems instead!
But if your goal is to compare and contrast features across many languages, or to identify where certain software architectures are lacking, Zettelkasten would work just fine.
Maybe the problem is English. Maybe there's a way to structure English sentences in a more precise and meaningful way with hypertext linking and structuring like a legal document? ...but for human-to-human communications?
For contracts, there is a customary order, you start with subject of the contract and end with force majeure, severability, term etc.
I don’t believe there is a hyperlinked inherent structure in legal documents. Skilled lawyers can of course draft a meaningful, concise document. But, I think that’s analogous to a skilled programmer writing clear and understandable code.
Most lawyers I know dread formatting and checking for cross-refs.
However, I think we do have one quality, we are used to subconsciously analyze sentences for ambiguities, double meanings, logical contradictions etc. Therefore, lawyers may use English in a way that would do the least harm (or most harm depending on which side they’re on :)).
If we figured out natural language processing or (even if very unlikely) switched our legal documents to an unambigious context-free language such as Lojban, lawyers’ jobs could be entirely automated.
I suspect that impressively structured legal documents stem from templates that have been perfected over the years by multiple lawyers, battle-tested by actual use.
That’s my impression being a junior associate and normally doing the grunt work of checking cross-refs and formatting contracts.
Maybe one implementation of this is that if the people we talk to (perhaps via a chat app) have their own Zettelkasten, the chat is supplemented/augmented by each others Zettelkasten (either publicly or privately) so we have a deeper understanding of each other and we can go on interesting tangents and create new links. This also aids in more progressive discussions.
(I'll add this concept to my Zettel and see where it takes me :) Thanks for the inspiration)
I could also see it being too overwhelming and nobody reading the extra context available to them.
It was sometime difficult for me to figure out how to use an API due to lack of examples. So it's important to document that.
I don't think Zettelkasten will provide much benefits for this type of note taking. It probably still is better than normal note taking, but don't expect great benefits using ZK for things like this.
Sure, for simpler examples like if statements, you may not gain much. But, even for loops have differences across languages. JS uses for..of for iterating while Python and Swift use for..in
Also, there are different approaches in each language for getting the index and value while iterating.
Then, there are more complex topics like generics which have significant implementation differences between Java and Swift etc.
It would lead to a better understanding looking at these notes in connection rather than in isolation
Recently I started with the Zettelkasten approach (120 notes now), so not much experience yet. I did not use something like this for my phd thesis. Thinking back, I don't think it would have helped significantly because computer science works differently than the humanities.
What works very well is to use Zettelkasten as the next step after taking notes from reading book, blog posts, and articles to collect your personal insights. Probably also from movies, podcasts, whatever.
I believe Zettelkasten will help me with writing for my own blog and when I'm collecting information for personal projects. In both cases, I have lots of ideas which are not fully formed yet to be published or implemented. With a job and a family there is little time to pursue it, so I have to work in little steps. Externalizing this ideas is essential and a very-hyperlinked style like Zettelkasten seems to fit well.
For learning little facts about programming languages, spaced repetition is probably more suitable.
Then I discovered Building a Second Brain and it's P.A.R.A. method which was like Just-in-Time Zettelkasten and it's suddenly become a cornerstone of my productivity routine.
I compare the two approaches in this blog post: I recently studied both Zettelkasten and Build a Second Brain (aka P.A.R.A) note taking methods. They share some core principles but BASB seems much more practical for most people
I compared the two here: https://zainrizvi.io/blog/remembering-what-you-read-zettelka...
Have you used anything that you find well suited for the tasks of either PARA or Zettelkasten?
Yet discoverability becomes a huge challenge. I find that I almost never go back to reference those paper notes. I'd need a good system to keep those notes organized
[1] https://emvi.com/
[2] https://emvi.com/blog/luhmanns-zettelkasten-a-productivity-t...
However, I'm starting to experiment with Roam to write more long form notes to see if I can take advantage of the easy linking capabilities it offers
https://tiddlywiki.com
https://giffmex.org/stroll/stroll.html
This is when you are learning very basics and not equivalent of literature review.
The proper equivalent would be doing overview of current frameworks. Or learning about bitcoin where you are going through math, design, algorithm, economics considerations and social consideration. Or security where you jump between modeling, attack, defense and tradeoffs.
Or simply linking libraries to ideas for applications, and explaining how they fit together to provide end user functionality.
I started using one to learn Erlang, and have found it incredibly helpful. Going down a wikipedia-style rabbit hole of my own notes is cool, like I'm exploring my own brain. Sometimes I completely forget how something works, and when I look up the note I took I just have to read a few of my own words to immediately remember it all.
I will say though that progress actually feels pretty slow compared to my usual strategy of just reading through books and articles once or twice, and then web searching whenever I forget something. But I guess that just has more to do with meticulous note-taking in general rather than the "zettelkasten" thing.
> you've already grokked a a for loop in other languages, and you gain nothing by creating a new linked note under the 'for loop construct' heading
So don't do that. Your notes are for you and you only. If you write useless notes, then the notes will be useless. Just write down what you think you might have trouble remembering later.
I don't have experience with Zettelkasten, but after reading this article I'm imagining using it for studying algorithms in general and physics simulations in particular.
It even might be more useful than you think for learning languages. For example, the return expression in Haskell might look like a return statement from an imperative language, and might even be used in a similar way, but under the hood the two have nothing in common. There's a significant amount of foundational knowledge you need before you can jump in and start doing practice problems.
All of them were too complex, and not lightweight, cross-compatible, private/secure, or futureproof enough.
I decided to settle on the default MacOS editor using a mix of .txt/.rtf files, with extensive folder organization and the built-in tagging system. I plan on consolidating journal entries into subject categories.
Example: let’s say I learn something about investing. I write something brief about it in my \journal folder, tag it under investing, then maybe save a .pdf of the source to my \investing\temp folder.
Next, I add the new info to a note under the relevant category, such as \investing\ETFs.txt
Or, I create a new .txt/.rtf (depending my needs)
I believe tags are saved as metadata, so it should be cross-compatible.
For books, I’ll structure it as \library\broad_category \book_name\chapter_n.txt, add the relevant folder tag, and maybe add an alias/shortcut in the relevant folder. I summarize key points under relevant files such as \investing\ETFs.txt
This seems like the best method to me, but I’m open to other strategies.
I may just settle for org-mode if I end up doing a PhD because, as the top commenters pointed out, Zettelkasten is meant to be a system to link ideas within the humanities.
However, I’m focused on my professional life right now. Most of my reading material is quantitative, so my current system is fine.
I've barely scratched the surface of tiddlywiki's features, but linking ideas together is easy, in that you can link individual "ideas" (in the form of individual articles, referred to as tiddlers) from each other, and it also supports tagging, and there are built-in scripts for iterating tiddlers with chosen tags.
No affiliation, just a very happy user.
https://noteself.org/
For tags, there are some packages for tagging I've come across like TMSU [1], taggo [2], dantalian [3]
I'm thinking of tagging by just having a tags folder with a txt file for each tag. You could just stick the path to files you want to "tag" in there. Then if desired, have a script to create a bunch of symlinks for a browsable tag file structure. Maybe even have some custom grep code to find specific keywords in my notes and "tag" them automatically
[1] https://github.com/oniony/TMSU [2] https://github.com/xeor/taggo [3] http://darkfeline.github.io/dantalian/
Regarding your fear of it becoming slow, the good part is that you can manipulate the tiddlers easily, so you could import them in another system, if you need to migrate.
Regarding the potential slowing and bloating of TiddlyWiki, there is this filesystem plugin to link to local external images and documents. I use as much plain text, icons and svg diagrams as possible. I also segment several tiddlywiki's - perhaps at most 7. Now I use:
* 'VR oriented development, which is very broad and can include WebXR, UE4, Quill, C++, C#, hardware, game development, cyborg antropology, psychology
* Spirituality (meditation, christian theology, hindu tantra and buddhist philosophy) and health
* Family and friends, non-violent communication
* Tasks, notetaking, journaling, habits - including shadow work journaling (semi-spiritual/psychological practice). Work or private related, there is no seperation.
Ideally TiddlyWiki could be mounted in a FUSE-like filesystem manner, more intuitive search operators or had built-in compression to make it even more speedy but it's good enough, just like my tweaked dvorak. Perfect doesn't exist. I don't complain, I love it! I can use it on my phone and on my Quest as well.
If one day my browser grinds to a halt due to a 20 Mbyte TiddliWiki I'll think of a solution then. I think at most I'm at 16 tiddlers a day on average.
Like you, I settled on just using a text editor (sublime text and atom) with Markdown files. I don't plan to render them, I just like the syntax highlighting.
I think your proposed system captures the important part of the knowledge intake, ie two levels of abstraction (writing a source note, and then connecting the new knowledge from source note to (or just dumping it in) some existing node.)
But one other idea from Christian and Sascha is to avoid folder structures, and allow the organization to develop over time. On a work topic, notes from a few guidances and presentations, plus my experiences, cluster to create a note which transcends a categorical boundary I would have erected with a folder structure.
So, the suggested alt strategy is dump everything into one folder and create clusters using other structures, as they reveal themselves to be useful.
It deals in text files and folders structured the way you describe. Cross platform and simple with some powerful plugins.
It has integrated tagging, journal, to-dos.
I have tried vim-wiki but keep coming back to Zim every time.
I don't know anything about the others, since I haven't really used a note system before, so I can't comment on them. Your system seems to violate a few of your stated concerns though (is it cross compatible?), so I'm confused as to why you find it better.
Given what it is, it's probably safe and a good idea to make the vault on top of a versioned file system, even if that's a dropbox, google drive stream folder, or backblaze folder. It's probably not too hard to get a solution that's encrypted so it's more private as well.
You probably want versioning in all cases (your manual method or Obsidian), and it doesn't negate the benefit of a system that scans and builds a graph of your knowledge provides.
It can be way more simple: I use one folder for my notes, and another one for my "sources" (linear notes on articles, books, talks, etc). Files have unique filenames (guaranteed because a timestamp is added to the name when they are created). And there's no need for structure, because I open the files with Emacs using Projectile, so I can autocomplete the filenames. If I need to search the contents of the files, full text search is also accessible and quick. All note taking programs have these features, and you don't really need much more.
I generally dislike labeling systems. My interpretation of a label is too context-dependent and liable to shift over time. I.e. "architecture" could refer to either systems architecture or building architecture. And I frequently don't think that I'll have a conflict until some day I decide I want to learn about Napoleonic architecture for some reason. And then when I separate them, I'll end up forgetting what I called the label (was it systems-architecture? tech-architecture? application-architecture?) and I end up futzing around to figure out what the label was, breaking my flow of thought.
When creating tasks, the main question that is answered is "in which contexts would I like this note to show up?". The answer to this question is completely subjective. If, for instance, you were doing research for game level design, it makes sense for the systems architecture notes to be tagged with "game engine", "achievements", "quick save", or anything else that you will want to look up later on. The Napoleonic architecture notes could be tagged as "level design", "gameplay cues", or "side quests".
As you can see, these tags would be different for every person, and that's kind of the point. Two people can read the same content, and take the same note from it, but the intended purpose could still be completely different, and that would show up in the tags.
Org mode works well, but honestly what works the absolute best in my experience are actual slips of paper in a slipcase — or 'index cards,' to use the colloquial term. I find that physically writing words with a pen aids memory, and the little notebooks that I form over time (I punch a hole in each slip, and bind them together with a metal ring, and split bundles by topic when they get too unwieldy) seem to help too.
Maybe it's a variant on the method of loci?
I number each slip when I create it, and when I need to reference it I just write [$NUMBER].
I started with a slip numbered 1. I add a new numeral whenever the topic is sufficiently different from any other topic. When a slip fits in with an existing topic, I insert it between cards, giving it a letter. So if 1 were programming languages, maybe 1a is Lisp. Then if I need to move a level down I just go back to numerals: maybe 1d3 is some notes on a Lua interpreter.
But I don't get too hung up on the numbers: as long as similar slips are just somewhat near one another, that's good enough. The goal is to accidentally run into similar thoughts (otherwise one could just number them sequentially, and not worry that card 1,467 is a Lua compiler and 1,468 is a recipe for mutton).
I’m terrified of picking up new systems like this without having a purpose. I could spend hours building out a graph, admiring all of MY knowledge, but not really have any intended use for it other than telling others about it and how I’m going to use it someday.
> Und heute schon ist das Buch, wie die aktuelle wissenschaftliche Produktionsweise lehrt, eine veraltete Vermittlung zwischen zwei verschiedenen Kartotheksystemen. Denn alles Wesentliche findet sich im Zettelkasten des Forschers, der's verfaßte, und der Gelehrte, der darin studiert, assimiliert es seiner eigenen Kartothek.
My translation:
> Already today the book, as tought by academia, is obsolete as transmitting information between two card file systems. Anything of substance is in the Zettelkasten of the researcher, who wrote it, and the scholar, who studies it, assimilates it in his own card file.
[0] https://www.heise.de/tp/features/Alles-Wesentliche-findet-si...
I think it's possible to build a personal memex now. I'm looking at couchdb, lucene, apache tika, deno, and node.js as the initial set of tools to mash together and expose through the browser. CouchDB and Lucene will be used for persisence and searching along with Apache Tika for extracting metadata and doing OCR on images and PDFs. Deno and Node.js will be used for executing code on the server and the client. Deno can be used for sandboxing and exposing each person's knowledge base to programmatic control by other people like a federated search engine where people can share interesting code patterns for acting on knowledge bases and exposing hidden patterns.
Combine with some basic machine learning models and you get a pretty useful personal toolkit for knowledge enhancement.
Also, a quote by another good thinker
> Civilization advances by extending the number of important operations which we can perform without thinking of them. - Alfred North Whitehead
You can keep doing that, looping. People who are natural contingency planners do this all the time--they map their past onto future-self. Flexing this muscle because it's strongest.
However this is also a good way of preventing yourself from re-exploring new objects through a different lens.
Or asking people, "here's what I tried--what are you doing differently?"
If you can treat it as a skill with unlimited outcomes per-experience, rather than a forced repetition of past-self, you get a huge mental plasticity bonus. Once you've gotten to that point you can also find yourself building your own tech with fewer crippling concerns about future outcomes. It's a great unlocking method.
Edit: ... and I checked out your profile and bookmarked your blog in my feed reader. Awesome!
there are two kinds of people:
- those who make lists and use them.
- and those who make lists and lose them.
I would say 90% of the todos and ideas I jot down and overorganize don't lead to anything. But the 10% I do - they keep the wheels from coming off my life. (to be fair, there is a very low cost of capture, and I do it all electronically)
So while I'd like to retain my knowledge and research somewhere, at the same time I don't actually use it???
But some writing I've done that will be relevant in the next years is writing ADR's (Architecture Decision Records) in my application about technology and architecture choices I've made, so I can look them up later, use it to train new people, and have a basis to challenge a decision on as well. That's more practical for my personal situation.
But maybe one day I'll be doing something more academic and will need a way to collate research and the like.
Once I start thinking about how I'm going to use the note, I go down a rabbit hole of style / format considerations and it gets in the way of the idea I was trying to capture. So now I give myself permission to just write a note and if it does need to morph into something more structured, it's only a copy-paste away to a fancier tool.
Once I passed 900, I counted them up and then realized that the best frameworks are those that are actively maintained, and _those_ are more likely to cause churn throughout the system. Activities like reorganization and even condensation. This resulted in a reduction in the file count, but it was definitely for the better.
The most perverse incentive IMO is when your system of organization, structure, and own-ideas is so good that you become addicted to it. You forget to ask others what they think, or what they're doing, because you want to experience and learn it for yourself. Don't tell me--I want to puzzle it out.
But as with just about any perverse incentive, you probably learn about it as you go along, especially if the system is there to help you out in the first place. And then you fix the problem.
I started a simple system myself after reading the thread about them here a few weeks ago, and I have to say that it's already been useful. It reduces the lookup times from O(all of the internet) to O(just my notes).
This ^^
I use a combo of Pinboard [1] to save URLs I think I'll want to refer to in future, plus NValt [2] stored on my Jottacloud [3] for recording snppets of info and more free-form notes and for making that info available from any of my devices.
Nine times out of ten [if not 99 out of 100] however, I'll just StartPage or DDG whatever info I'm looking for, since I always have a browser open anyway.
It's also quite common that, having thus found such a nugget of info, I go to add it to my Pinboard or NValt notes for future reference, only to find it was already stored there [often years ago], if only I'd thought to "shop locally" in the first place.
[1] https://pinboard.in
[2] https://brettterpstra.com/projects/nvalt
[3] http://jottacloud.no
Many's the time I've been about to embark on some actual "thing" I need to do [producing a piece of art, writing an article, building a web page, fixing something round the house] only to get completely sidetracked by the thought that if I just; tweak some software settings... re-organise some folders of files... dismantle and clean some piece of equipment.. first, I'll get the job done so much more efficiently. And, of course, I then spend the rest of the day doing that, instead of actually accomplishing the "thing" I set out to do, in the first place.
(https://www.nytimes.com/2005/01/30/books/review/tool-for-tho...)
"The raw material the software relies on is an archive of my writings and notes, plus a few thousand choice quotes from books I have read over the past decade: an archive, in other words, of all my old ideas, and the ideas that have influenced me[...]Consider how I used the tool in writing my last book, which revolved around the latest developments in brain science. I would write a paragraph that addressed the human brain's remarkable facility for interpreting facial expressions. I'd then plug that paragraph into the software, and ask it to find other, similar passages in my archive. Instantly, a list of quotes would be returned: some on the neural architecture that triggers facial expressions, others on the evolutionary history of the smile, still others that dealt with the expressiveness of our near relatives, the chimpanzees. Invariably, one or two of these would trigger a new association in my head -- I'd forgotten about the chimpanzee connection -- and I'd select that quote, and ask the software to find a new batch of documents similar to it. Before long a larger idea had taken shape in my head, built out of the trail of associations the machine had assembled for me."
That process eventually turned into a startup around 2010 I helped found in NYC. Good times.
This seems like an evolution of an idea that originated in the days before free text search.
If you have a personal diary which supports free text search (most hug trackers), why would you need to build structure?
ZK is mostly a Wiki, with some guidelines on how to decide when to link things, etc.
I can understand the first...but not the second if full text search was available.
Hyperlinks in Wikis are very much also structural/semantic. They are not primarily for navigation.
Imagine reading Wikipedia without the links, and where you had to use the search box for every potential link. Imagine all the noise you'd get when you'd search.
BTW, I suspect your question is more about Roam then about Zettelkasten. Don't conflate the two. Roam is a general purpose product which utilizes the power of linking. This author is merely adapting it to the Zettelkasten methodology.
If you're asking about what makes linking special in Roam: Any thing you write as a link in your notes (need not be a hashtag) - Roam will create an empty page for that link - perhaps similar to Wikipedia. You can see what notes link to it.
When you enter a date in Roam, it will create a page for that as well.
Same with hashtags.
I suppose you get a fair amount of querying power. I'm not a Roam user, so I don't know.
I believe the other thing Roam users love is that each bullet/paragraph is an independent entity that you can link to/from. So if my paragraph links to "foobar", then on the foobar page I can see which paragraph (not just which page) linked to it.
I don't think the article does a good job highlighting why people love Roam - he was focusing more on ZK. If you want a better article about the strengths of Roam, see https://www.nateliason.com/blog/roam
A fortnight or so ago, I saw a link on HN mentioning 'Zettelkasten' and had to look up the word, because I'd never heard it before. Since then, there must have been a Zettelkasten reference at least every other day.
I believe this kind of work doesn’t share a lot of commonality with the research that readers of HN would do - although it is a very effective tool for some stuff we do.
I think if you’re gonna read it, don’t take it as “the one true way” to take notes. Take what you like and do what works for you.
I'm not sure what your expectations of the "normal" HN reader are but lots of people engage in stuff like creative writing, essays, general research to esoteric topics and so on.
For example I have a notebook I constantly scribble on. I've moved a portion of that scribbling to a zettlekasteln like system to a great benefit - although I just use text files and in a simple onedrive directory structure.
In this case a strange new word like Zettelkasten also caused me to look it up the first time i saw it. Which was sometime this year.
I.e. had it been appearing everywhere before, I would have looked it up earlier.
https://hn.algolia.com/?dateRange=all&page=0&prefix=false&qu...
There is renewed interest.
*(https://news.ycombinator.com/item?id=23324598)
There is now roam, a new fancy tool which does nothing new, but spreads hard with the new generation and connects well with the zettelkasten-terms. And there recently was was a book about smart notetaking, which sold somewhat well with people who seek some solution but don't know much about this space.
In light of the "graph"-craze I could imagine that we will hear more of it.
That said, it can be helpful for sourcing all kinds of stuff, but still think it is a hipster fad.
edit: some dictionaries suggest that "outliner" is a fitting translation. I don't think that is true due to the hierarchy outliners seem to require.
https://www.zettlr.com/
https://www.google.com/search?&q=baader+meinhof+phenomenon
Regular notes are a spoon, this method may be a fork. Until you know what type of dish you're going to be eating, it's hard to advocate one utensil over another, although when in doubt, a spoon is a pretty decent universal.
But rather than fumbling with cards it seems like an interesting use case for AR/VR
I always thought VR/AR would be very interesting in the studying/notetaking space, are any of you working on something similar?
4 months ago: https://news.ycombinator.com/item?id=22085837
7 months ago: https://news.ycombinator.com/item?id=21208196
Definitely a trend, as 2/3 of the posts have been in the last year: https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que...
> Regular note taking sucks
It sucks the least, I tried some of note taking apps and software, then settled at some lines of shell script.
This works surprisingly well for most purposes, along with syntax highlighting for markdown. I sometimes wish it had interlinking and images, but I haven't come across a situation where I needed it.See https://tiddlywiki.com for example.
Tools like Roam simply provide more convenient capability than a typical Wiki tool.
Maybe a drive to “do” and “build” - and actually doing something about that - is far more important... I’m probably not articulating this properly.
I don't know if we'll have that rich vein to mine with everyone doing things in computers. Sometimes you'll get some emails from a dead author, but letters and notes? It'll be interesting to see what variation of material gets preserved when we look back in 20-50 years.
Should this implicate that Luhmann invented Noteboxes? Because this is absolute not the case. There are many famous Zettelkaesten from famous people. The most famous might be the Mundaneum, a kind of wikipedia in noteboxes, from around 1900.
What Luhmann did was adding basic hypertext-principles to a common note-taking-tool.
That word isn't in general use in German, and it's certainly not in general use in English. So I don't see any confusion.
No, it is not. The term was already around decades before Luhmanns birth.
> That word isn't in general use in German
Wrong.
Despite the fact that the https://en.wikipedia.org/wiki/Leitner_system was pushed by just about every teacher.
The usual word is "Karteikasten", "(Lern-)Kartei" oder "Vokabelbox".
How is your own lack of knowledge relevant for this? Did you even bother to at least visit https://de.wikipedia.org/wiki/Zettelkasten to educate yourself first?
> The usual word is "Karteikasten",
That is a modern synonym, but not quite the same. This is more specific for organized indexboxes.
> "(Lern-)Kartei" oder "Vokabelbox".
Those are not even the same. They are special purpose-tools with specific meaning which just happen to use index-cards and boxes in their analog version. That's like saying notebook is not a word because diary is widely used.
As far as I can tell, both in studies and in personal experience, the fiddly details of your note-taking schemes don't matter. The only thing that matters is attempting to integrate the information into a cohesive whole, which takes intentional thought.
With linear notes, there's a failure mode where links that should be made aren't; you can even walk around believing outright contradictions without noticing. But with a web, there's an equally bad failure mode where your knowledge gets diffuse and unstructured (instead of "X causes Y if Z", you get "X, Y, and Z are related. But... was Z the thing that caused X? Wait, but then what was Y for?").
Both of these reflect a failure to aggregate and chunk the information into hard tools, but no productivity system can magically fix that; it always takes time.
Isn't that exactly what the point of a memex-like system is? Instead of simple X-Y links, you get 3-tuples such as (X, "can cause", Y).
For linear notes, the remedy is not really feasible, you'd have to go through everything thoroughly fixing unlinked notes.
For the 2nd, the 'failure mode' of the web note taker as you describe, that isn't really a problem. Notes are just tools/building blocks to writing or coming up with cohesive ideas/arguments. If you don't know what Y was for, its either irrelevant or you've found a gap in your knowledge you need to plug.
When I want to find things, I use the search. If I was diligent about my taxonomy, then it's effective.
Is there anything else to this system that I'm missing?