Everything I Know
wiki.nikitavoloboev.xyz
wiki.nikitavoloboev.xyz
1. Emacs + Org mode & Org Roam.
2. All my notes are synced in Dropbox so I can use the beorg app on iOS.
3. Any time I need a note (be that to look for one or create one) I have a shortcut, Cmd + N and I start typing a topic (Health, Xcode, Java, etc). If i've found a match it shows up in a list, if there is no match there is a prompt to create a new note. I don't care about overlapping notes because;
4. Search over notes by pressing Cmd+F. This starts a fzf search over the notes. If I see multiple notes on the same topic I can link them using org-roam references, consolidate them if they are similar enough, or if I don't care just leave it as is.
People always commend me on my astounding memory. It's all down to org-mode.
Do you follow any sort of structure inside of the individual topic notes, or is it more freestyle?
Structure is a time sink with a poor pay off in my opinion, good search and a bit of good old wetware memory about what you’ve got in there does me fine.
I might be unique in being able to remember generally what’s in my notes.
I know some people do Anki style cards with org roam but that’s not for me.
(global-set-key (kbd "M-n") 'org-roam-find-file)
>How can I so meticulously keep notes about everything I learn?
Very easy, because I know if I don't take notes I won't really learn it. I know I will forget that over time because I am trained in spaced repetition and I know if I don't review something I will loose it forever in the future.
If I spend hours reading an important book and don't review it, I will forget and waste those hours. Nothing less productive than that.
Most people forget most of what they learn and are not conscious about it.
>And how do you make sure you aren't spending more time on organizing/formatting/maintaining your notes and making it look nice instead of actually reading doing productive stuff?
I have it automated. I am an expert programmer so I spend very little time doing that. It is extremely productive because I know how to do things most people can't.
"The secret to creativity is knowing how to hide your sources" Albert Einstein
I have never cared about making it look nice. I started using paper and an automatic feeder Fujitsu scanner. It was ugly at first but worked.
After years of improvement,it looks nice, beautiful if you want, but it was never the goal. The goal was automatic review, and powerful search.
With that out of the mind, how to do that is easy. Just annotate whatever you're consuming, then look through those annotations, and paraphrase them in a way that it makes sense for you. I do that after every few book chapters, or every few articles in my Pocket with a tag `extract`. I can automate that as well, but annotations alone are not "knowledge" that belongs in my knowledge base.
I also pay attention to properly reference stuff, so that I could easily back up my claims in whichever circumstance I need to do so. This is the most common use case of retrieving info from my knowledge base. I vaguely remember something, I look it up in my kb, and I can phrase it better and back it up with sources if I think it's necessary.
Organized? Pshhh. Mostly search. I put every note in a notebook, and I have some tags that I use to define collections of notes for particular purposes. Search works for the rest.
Oh, and I don't try to make notes about everything I learn. I only have a note if at some point I felt there would be value in working out my thoughts or preserving something for later reference.
I also delete things, because when I need to do, say, a git bisect, I create a note to help me remember the commands right now and for the next month or two in case I need it again, but if I run across that note later and I haven't used it in two years, I'll delete it, because if I ever need it again I'll probably find a better resource in twenty seconds using a web search.
The most important thing is to be very careful and intentional about thinking of your notes as a product. Sometimes you want to document something very well, very clearly, so you can come back to it later when you've forgotten most of the context, but that's rare. Usually the cost/benefit pushes me to almost always write decent notes (which takes effort) but rarely excellent ones. I think people fall into the trap of being attracted to their notes as something they can be proud of, something they could show off (or imagine showing off.) Then your note-taking habit is vulnerable to all kinds of swings in your mind, changes of taste, changes of interest. Have the discipline to be practical, not proud.
Beautifully put. Thank you!
I actually do this as well. Just some text files, where I put links I stumble upon, which I find interesting. Not always all links but only really interesting ones. Also maybe only for topics where I think it's not so easy to find such links later on via Google. Also, I don't really intend this to be complete.
Sometimes I also do research on some new topic, and for that I keep notes. If I think the research / overview / my notes of this topic are of any value to others, I would maybe just make it public somewhere.
Some of these links and notes I keep private. If it is public, I would probably just put it here:
So I'm wondering, how do people review their notes? When? Are they using a strategy for this? Also I'm not really looking to commit to memory my notes.
Nowadays, if I don't understand something, I head to the keyboard and start explaing it in text and it pretty much always works. I rarely revisit notes, mostly to link them together and very seldomly to revise them. If I have the time to organize the notes, that's great, if not, that's fine too.
I don't know know if this will work for you though. Learning is highly personal and imo just trying to find new ways to learn things can help a lot too.
It's a note app where every note has a repetition schedule. The schedule can be dynamic (growing-shrinking) or fixed.
For example, my diary entries repeat every 365 days so I enjoy reading what my diary entries/thoughts were a year (or 2, or 3) years ago.
If you find what you need when you need it, is never doing a nonspecific review really a problem? Notes are just a tool to support you in achieving your goals. If you don't need to recall information instantaneously, skipping review-as-memorization is just fine. If important items aren't being inadvertently neglected and falling through the cracks, skipping review-as-reflection is ok too.
Some people (like me) have sort of a FOMO and would rather have the comfort of knowing they can access the information later, paying for it with organization/processing. (and yes, in most cases I can find it within seconds when I need)
Some would rather miss on information, but have less cognitive overhead, with minimal organization (e.g. a daily diary/todo-list, and that's it).
I'm also not sure it directly relates to doing 'productive' stuff (in whatever sense) -- there is certainly a plenty of people who don't keep track of any information, and also don't do much apart from passively consuming. You could be super concentrated on your work and have no mental energy for learning other subjects, or you could be more relaxed at work and be engaged in more topics outside of it.
The reasons why it helps me:
1. Thoughts are easily forgotten. I think a lot, but i also forget a lot. Taking notes helps me to actually remember those thoughts for a later date, so that they don't go to waste and i can act upon them.
2. Thoughts clutter up my brain. When i don't write down what i think, then they pile up in my conscious and leave little space for other things i would rather focus on. This might look like i'm contradicting myself with point 1, but there is a difference between trying to not forget something and having it memorised.
3. Thoughts aren't formulated in comprehensive sentences. For a lot of these thoughts i have more of a feeling that i realised something or that i've made a break-through somewhere. Writing them down helps me make sense out of them and internalize them more.
4. I write down the things that i don't want to remember. I would rather learn about the things i really want to remember, then what function B in framework A does and how it connects to C.
The way i take notes is really lightweight. I have build up a simple system on how i write everything, because i don't wanna waste my time with reorganizing and building up smart structures for my notes. I don't bother with making them look nice, because it is meant as a second brain for me and not something i can brag about in front of other people. I don't care about grammar or doing something the "right way", the knowledge is the focus.
In terms of getting in the way of productivity. I noticed that i can be more productive with taking notes, because i can prevent solving the same problem twice and everything i've learned is easily accessible somewhere, i just gotta look for it.
I've also been seeing everyone (at least a lot of people) talk about roam, etc. to meticulously track and link everything and not sure whether it's something I should invest time in vs. everything else that I want/need to get done.
My dream though is have a kind of structured way of knowing what ideas I am working on now and what topics I am learning. The wiki then lets me answer the 'how I am learning' and 'in what order' questions.
I started to do the planning in Notion currently.
I've used flash cards in the past to memorize things for school - and I'd believe what he describes would really work for learning new complex topics by speeding up some of the basic memory stuff that makes you actually good.
I have a pretty negative impression of Roam though. They talk as if they've invented some new form of computing when they're another centralized document SaaS graph database that's a step up from notion/quip. I think there's real value there building a nice interface and they're probably better than existing options (features around links, etc.), but there's also a ton of bullshit from them that sets off alarms for me. They think they're xerox parc, but they're more like snapchat.
Also, agree re. Roam!
Consuming information on Reddit/HN/etc doesn't do much for you until you apply that information -- or at least paraphase that information into notes.
writing it down is a relief. It won't be forgotten and now you can expound on it, go where it leads, or put it out of your mind until later.
It's way smaller than the OP, but since I'm the only reader, I can allow my self to be either as detailed as I need or just have some quick notes and some link.
After moving together with my SO, she started creating pages too, and we often work together on page (it's a joy to save the recipes we like the most).
And I must say... It's a pleasure. As soon as I do something neat, I feel the urge to take a note bout it so that I don't have to google stuff again in the future.
When I wonder the details about that thing I did in the past... My wiki immediately helps me. It's really a joy.
And since we moved together in our own place, it kinda helps with the house too. We started collecting pdf manuals of all the appliances we bought, and by using PDF widgets I can get a quick view of the manual from my browser without downloading it.
All things about the building, city council, public administrations? We've got pages for that.
To-do lists? A wiki page is not the first thing one would think about, but as long as you're checking it out from time to time it works just fine.
Page trees? Just use sub-pages, maybe categories too.
The visual editor is a godsend.
Media shows nicely in pages (think of wikipedia).
So to sum up:
1. keep your own wiki, even a private one.
2. you don't necessarily need the "best" system, you need a system that works well on things you care about (I care for the documental management aspect of mediawiki and the easy/functional inclusion of various media -- i was initially tempted to just buy a confluence self-hosted license).
This is easily up there with the most impressive things I have seen over the last year.
'Ideas as a graph' seems to be a notetaking setup that is slowly gaining traction. I can't wait for a killer app to come around that is built around this concept at its core.
I love the tools being made to aid in maintaining these graphs of notes interlinked between each other.
I recently started working with https://dendron.so and will be moving my wiki there as there is a lot of potential in it especially when it comes to querying the knowledge base.
There are many apps in this space. Time will time what kind of traction, support, usability, and data ownership they provide.
(I'm working on a plain-text format for structured note-taking using data structures, including graphs.)
1. Graphs as the fundamental way of navigating notes. Your view is exclusively of the node you are concerned with. You should be able to see a node's content, parents, children and top ranked undirected connections. I don't want graphs to be a 'see we also have this' feature. I want it to be highly opinionated notes app that forces you to represent everything as a graph.
2. Ability to form strong and weak connections. Ability to extract strongly connected sub-graphs as mostly self-contained 'concepts'.
3.(specific to me, but fundamentally important to this 'ideal' app) 1st party support for inking, OCR and structure extraction. Inking is what brings all of this together. Drawing graphs with a pen is trivial. OCR, structure extraction and graph reconstruction are all solvable problems in the current Vision space.
User flow: (I expect this to be a 2-in-1 device or tablet)
* Draw a node or an orphaned sub-graph. Title and content for each node. connections (optionally directed) between nodes. Node content can be text, images, video, diagrams, etc.
* Run Ocr, structure extraction -> and get it into text,edge-list format (user can fix any corrupt conversion)
* Run NLP similarity and suggest the most likely parent node (concept header) and suggest some weak connections. Alternatively user can define these themselves.
* Sub-graph/Node gets added to notes
* Share notes by sharing any parent node. All Children and strong connections are shared instantly. Everything else stays public. Shared notes cannot delete existing nodes, but can add new nodes and parent->child connections.
* Nodes can also be tagged with information depth. (low, medium, detailed). That way, you can choose what level of detail to expose to a reader of said notes.
________________
The big mistake is to try to make a notes app that accommodates graphs.
I am thinking of a graph app that made to accomodate nodes. Sounds similar, HUGE difference in practice.
I haven’t made a personal wiki before but I do keep a fair amount of personal notes (without any cross-referencing rigor).
For me - a better alternative is to only seek and store knowledge about things you are currently working on, and organise it by project. And if you read something that is actionable - do it and forget about it. Ideas are also fine, but if you have more than 3 then it can be a sign of procrastination.
Maybe this is my neuro-diversity showing, but my personal experience WILDLY disagrees with that statement.
Your problem is more likely that you value trivia knowledge rather than forgetting important things. Trivia is not important.
Then there's the fact that the keeping of the wiki itself is something I use for rubber ducking and the Feynmann technique.
And since when can't people do things because they like it? Why does everything need to be productive? That sounds depressing to me.
That's the PARA method in a nutshell
https://fortelabs.co/blog/para/
I use this, very helpful, the prioritization piece is by far the most important, if you don't need it now but think you might later, just throw a note with a link in the archive with a couple of tags.
This has additional benefits for efficiency, (DRY) and also usually gives you a result which is generally easier to share with the public, if for example your project file is too personal or too deep for easy reading all by itself.
But there is no reason to re-document. It takes time and doesn't give anything for the project. I typically just have a "meta" folder within a project and any related pdf/video/html I stumble upon goes into that folder. I wouldn't care if a few projects share the same file.
In this case DRY also, in my opinion, only gets in the way. Say you abstract the knowledge to a separate system and start referencing it from your projects. What this does is it freezes the knowledge organization within your system. You cannot relabel things or move them around, because the links from projects to your knowledge base will get broken. This would only add unnecessary complexity and inter-dependance. DRY is one of those things I started looking at differently some time ago. Repeating yourself, in certain cases, can be faster, simpler and more maintainable.
I can also tell some of this is getting into specific case territory. :-) For example, sure, I might not bother referencing a simple component. But that's more like "just Google it" territory. No depth. I have lots of master frameworks that are very deep that I'd never want to repeat. DRY is a life saver there. Those files are also more likely to stay put...
For your moving links scenario, I use search alongside my organization hierarchy and the links double as search prompts. So that's not a problem. I think this is another case where the specifics matter.
You "know" all of these things?
This seems like the equivalent of someone publishing all of their browser bookmarks and labeling it as "everything I know".
https://github.com/ArchiveBox/ArchiveBox/wiki/Web-Archiving-...
Together with https://github.com/stevenvachon/broken-link-checker that lets you see what links are broken so they can be replaced. I think you can keep the wiki quite up to date and not lose things.
Instead, a more apt title would just be 'random technical knowledge I picked up over the years and kept notes on', which I'm sure many if not most of us do in some shape or form, and is not at all as notable as 'Everything I Know'.
For me it’s not a polished end product, just a place to help jog my memory when the time comes and maybe to put other people to if/when appropriate.
EDIT: using Hugo btw
If I did something like this I just know I'd get into the habit of adding everything I read vs adding things that actually help me achieve what I want to achieve.
this thing is super impressive, congrats on curating your brain and inspiring impostor syndrome on all your fellow gardeners haha
Maybe the author did not mean to be taken so literally. But, really, it’s not possible to write down everything you know—and taken literally, it would lead to an infinite regression (now I know that I’ve just made this note about what I know, so...).
It’s impossible not to be selective, to choose what’s worth writing down.
As for learning map idea, I want to do it but not as part of the wiki but as a general purpose tool for mapping/tracking knowledge. It's also open source.
The other big thing that would be helpful is a "videos" node where you could link to videos on the subject. A lot of people that I talk to struggle learning completely new topics just by reading. Some of the feedback I hear is that a few videos goes a long way to introducing something new, so a videos node could be useful in the overall graph.
Thanks for feedback though.
Probably not useful to you personally since there aren't forks out there yet, but it's cool to see you've got all the infrastructure in place for some kind of "mind meld" feature.
https://github.com/nikitavoloboev/knowledge/commit/2528316c3...
Got it via bookmarklet:
https://code.nikitavoloboev.xyz/bookmarklets
I go over my workflow in updating the wiki here:
https://wiki.nikitavoloboev.xyz/other/wiki-workflow
This tool has been a huge boost in my productivity: