This general “knowledge management” question is like a “time management” one — usually meaningless and sometimes a form of escapism.
When you don’t have any particular emotionally charged goal(s) in mind — no time/knowledge management technique would really make a difference.
But some of them might give you a good illusion of something important going on.
And as soon as you have specific important goal in mind (like preparing to specific exam, getting lawyer license etc.) — almost any approach you feel comfortable with will do the job.
You usually dont need to review possible options in advance, the goal itself gives you hints and guides (if preparing for exam means remembering a lot of scattered facts - you’d probably end up with some anki cards on your own etc).
In the times where an emotionally charged goal isn't driving me forward, adhering to disciplined regimes for time and knowledge management has helped me to prepare and therefore perform better in times there IS a highly motivating goal.
There don't have to be two extremes of X-management (one fuelled by emotion and one dragged down by apathy). Like anything, building a discipline in the slow times will set you up really well for when you need to run hard in the fast times.
All that said, I use Roam Research[0] for my knowledge management now. I consolidate my thoughts and ideas weekly, and aim for evergeen knowledge[1].
Obsidian was the mind opener for me. Simple to use. Backuped on Dropbox on my various machines, it is my ubiquitous personal knowledge base.
The fact that you can copy/paste HTML from web pages into it makes me rebuild knowledge I get from the internet into my own version.
Really really a fundamental tool for me.
The Vi of knowledge.
PS: I don't know the other tools (notion, roam,...)
PPS: a big downside in Obsidian, in my humble opinion, is publishing that knowledge on the web. Probably a static CMS on top of the .md file generated with Obsidian can do the trick. But it is a tedious step that I never had/wanted to investigate.
I have not tried this with Obsidian yet, but I know that Markdeep allows you to render .md files on the fly as HTML by appending some javascript to the unmodified markdown.
Yeah, it can tie in really nicely with a static site generator.
I use Notable rather than Obsidian, but it works the same (folder of .md files). My blog builds with Bridgetown, and I wrote a little bit of extra code to handle the wikilink formatting and build up an incoming link list, but it runs pretty cleanly. https://blog.tracefunc.com/notes/
The .md publishing step you’re asking about is very neatly handled by Neuron (https://neuron.zettel.page/). The community is helpful and the original author of the project is a great guy and accessible on matrix.
you’ll be up and publishing in no time (for free and automatically to GH pages if you want)
The is the Obsidian Publish service exactly for that usecase. (https://obsidian.md/publish), although it is paid. I'm sure there will be soon, if not already, an open source extension that allows you to do that.
I've used personal wikis and knowledge bases for myself and they work okay. vimwiki has been useful for me.
I find that I do some pretty cool stuff and then totally forget how I did it a year or 5 years later, mostly with coding. The open source projects I documented and explained are things I myself google to help me set them up in the future, so a way of codifying my knowledge has been to try to write about it and put that in public.
I've been really happy with Notion (https://www.notion.so). I use standard pages with subcategories for personal notes/knowledge.
I wanted to go deeper for my company, so I bought the Notion system called Bulletproof workspace (https://www.notion.vip/bulletproof/) in December after er doing. ton of research, but found it a bit overkill. In retrospect, I think it was just my newness to Notion that made it seem so.
However, once we reached a certain point where we were overwhelmed and completely unorganized. I finally invested the time to learn how to use Notion and Bulletproof Workspace and it was amazing, now I use it for everything from onboarding, to brainstorming, to-do's, etc. It's quite impressive.
I highly recommend checking them out if you're looking to get organized. The flexibility is what really made it work for me since it works for everything. It's nice just to have 1 tool.
For overall memory, I generally just remember things instead of using all these fancy apps. Sometimes I'll make some notes in Typora (clean .md editor), but more often than not, I'll never revisit the file.
I'm a visual learner, so its really easy for me to recall past snapshots (static, not like a video) from my life, or how certain things looked at a point in time. It's not quite an identical memory, but it's not too far off either. Maps are a breeze, and even complex tunnel systems like the PATH in Toronto are easy to navigate.
For learning, it helps if you just throw yourself into it. Take 5 minutes and try to work at the concept. Usually this will turn into 30-60 minutes. I learned Kubernetes and AWS EKS this way.
For problem solving, I'll make some notes for brainstorming, todo lists, and any questions I have. Then when I go for my daily walk (~15km/2hrs), I reflect on the abstractions again (from memory) and try to refactor what doesn't seem perfect.
I do have a mind palace set up, but I don't really use it.
Beware you young men with fresh brains. Brains can and do get worn.
I could say almost exactly your words about my younger self, but not anymore.
Now I suffer badly from never having learned and trained a good note system.
Get your external memory configured and operational in due time.
One's knowledge is too valuable and important to entrust it to a particular binary format that can soon no longer be read. Plain text is durable, portable, easy to process using UNIX command line tools, it can be full-text indexed with a reasonable overhead.
It can be version controlled easier than binary formats or formats with heavy markup.
I often summarize scientific articles, write down new ideas or need to preserve how I did something (run a system, install a tool) for later replay, and plain text is great for that for the most part. Occasionally, I used LaTeX
commands e.g. for embedded $ maths $ or #hastags to tie
together files by topic for indexing.
Importantly, my workflow is OS independent (I mostly use Linux and occasionally MacOS X/iOS) and editor agnostic (I use Sublime and Emacs).
I would very much like to hear from others how they address their KM needs.
Why not use markdown instead instead of .txt? All good editors (including vim etc) have great support for markdown and you get plenty of great simple features without much crap getting in the way.
Very interesting, I also tried several approaches and came finally to text files. For me the most important feature are full text search and some kind of formatting, including basic support for images.
As I couldn`t find a good tool I wrote my own Wiki server - 13 years ago and still using it every day:
https://moasdawiki.net/
It is intended for memorizing things, but the fact that it forces you to divide knowledge into pieces small enough to fit on a flash card also helps to organize it.
And you can have different card stacks in Anki, so there also is categorization of knowledge.
I just switched IDEs/operating systems, so I'm using Anki to help me learn that Cmd + Shift + Z is revert changelist and so on. When I'm waiting for something to compile, I tap Anki and let it reinforce my memories that were about to expire.
Plain text. I keep metadata embedded in the content of each file. I keep only one k:v pair per line.
e.g
"topic: D3",
"subject: scales",
"context: Side Project"
Use grep and awk to slice, group, dice and join as and how I want.
Incredibly flexible, a bash-like shell is my only dependency. Works with any search engine that i've tried. Easily replacable parts.
Check into git regularly.
Some scripts I use
## group by topic. search for lines that start with "topic". print topic and the file name
grep -i "^topic" *.txt | awk -F ":" '{printf "%-25s%s\n",$3,$1}' | sort
## find all files containing the "topic" tag
grep -i "^topic" *.txt | awk -F ":" '{printf "%-25s%s\n",$3,$1}' | sort
## find all files NOT containing "topic". useful for cleaning up
grep -iL "^topic" *.txt
## find first 10 files not containing "topic" and open each in vi sequentially
for f in $(grep -ilL "^topic" *.txt | head); do vi $f; done
I used to use trillium notes (which is really good) for GTD and idea mapping for a few months but stopped. I just use a big three ring binder with some five star hard to rip paper now with some plastic sticky tabs for categories and write down things that are important. The barrier to taking down and recalling info is both low and high enough in just the right way that I remember things I want to remember and can recall important enough forgotten things by referring to my notebook. I just reference other ideas by category and some other detailing info and flip through until I find what i'm looking for.
Digital notes are good for a lot of people and a lot of situations but not for my long term very general knowledge based tasks. For specific commands/documentation/syntax/techniques yeah digital notes are nice. For Brain storming, and connecting ideas though? I fully believe paper works best. It's more flexible.
Plus it is known that when you write things down with ink and paper, your recall tends to be higher. That doesnt mean its perfect for everyone, but a larger than just an average amount of people.
I like your idea - what ever happened to that e-ink note pad one could write on and it saves a digital copy?
I crack open a book about the topic (usually from manning publishing). Self-document my learnings in the form of tree-structured bullet-point notes. Usually in a git book space.
I can always revisit the notes to quickly refresh myself on the topic (if a context-switch happens later down the line, or if the topic is not related to my day2day work).
I've successfully used this approach to onboard myself for a Spring project (known to have a steep learning curve). It was my second time using Spring, with an 8 month time separation. The ramp-up/refresh took about a week.
There were also some positive unintentional side-effects of my approach. I keep my gitbook notes public. I found that making my notes public ended up helping others on other teams in my company. Specifically, more experienced Spring devs who were new to Webflux were able to use my notes to jump right into a client's code base.
Something about like... a syntax similar to Markdown that is [[deep-linkable]] or something that allows you to... create really deeply nested queries (almost like a GraphQL vibe) to finds things that are "loosely/tangentially related"
Something like... if you were to go to Wikipedia and play that game where you start on one page (a kind of bird) and try to get to a different page that is 50-60 deep/nested links away (a World War II event or something).
I personally am not a big note taker, but boy oh boy do some seem obsessed with special note-taking syntaxes/apps.
You could do a lot worse than read about the concept of a Zettelkasten or Commonplace book. Here's my notes on the two. I am currently using the app Bear to take notes on everything and anything, tagging as I go, and trying my best to link notes to other meaningful notes. Less formal than a Zettelkasten but more digital than your average commonplace book.
A different concept, but also with relevance to storing information for a lifetime. From my brief readings, there’s more emphasis placed on two stages of note. The first is a quick jot - an addition. The second is a more thought out, self-contained existence of the note. There’s also focus placed here on _linking_ notes together.
I use a single app, Bear. It's a nice notes app (think Evernote but with a really refined UI).
My main goal is to have everything in one place: My journal entries, minutes from meetings at my job, project plans and working notes, book/article/film summaries, quotes, reflections. (Bear has both a Mac and iOS app which means I can note things down from anywhere.)
This enables a few things. Search across all my information from one search box. A strong incentive to take good notes because I know I'll be able to find them and reference them later. A 15 year chronicle of the things I've done.
The older blog posts I've written aren't in Bear. This is kind of dumb because they're some of the deepest and most hard-won knowledge I have. Long term, I want to move them into Bear. More recently, I started a new blog that I publish from Bear. This feels much better.
As for learning, I have a few processes that relate to recording:
1. Highlighting useful/interesting passages in books and writing notes in the margins with my thoughts on the material. For really good books, I'll pull out the highlighted passages and notes and organize them into a summary of the book in a note in Bear.
2. I have a note for each skill I'm working on (e.g. designing software architecture, estimating time frames, getting buy-in on an idea). As I practice it I'll write down things I've figured out or reflections on my application of the skill or relevant notes from books/articles.
3. I'll sometimes reference my notes about books/articles as I'm working. E.g. For some reason I've referenced the note that contains a summary of an article I read about the React lifecycle like a zillion times.
I see two sides of this. There's information collection and knowledge keeping.
The information collection: When I'm learning new things and sorting by what is interesting I simple bookmark a lot of stuff. It could be a blog post, a research paper, a book recommendation etc. All this is raw information until I take the time to consume it and digest it. Here I use https://lxi.ai/ (disclaimer: I built this) to keep my bookmarks organized with a lil ML.
The knowledge keeping: While I consume/digest I take notes in obsidian. I like working in markdown and having everything stored locally is something that keeps me comfortable. The real key here is putting in the time and actually merging what I am learning with what I already have in my obsidian "second brain".
I have folders (and sub-folders for different categories I'm interested in. Inside each folder, there are text files, markdown files, PDFs, etc. about that category. I mostly use text files to write my notes from books, lectures, articles, etc.
For memorizing things, I use Anki which looks old but it's great. Every day, I spend a few minutes on it reviewing things I learned before and wanted to engrave it in my memory.
For organizing -very broad- info (say, everything) a well-chosen categorizing system helps organize. Libraries use very complex ones ... but something modern & simple like Wikipedia's text-based categories might be fine. (Dewey used numbers ... brrr.) (Can always add them as needed.)
Once you've picked that scaffold to suit your needs, then no more than two or three indices before a piece of info (depending on how many subcategories you'll want to labor on) is easily searchable.
If you're someone who thinks & processes information mainly in the form of Stories & Metaphors, then organization (and recall) becomes organic/natural.
Also on a side note, we must all be wary of epistemophilia!
[+] [-] aristofun|5 years ago|reply
When you don’t have any particular emotionally charged goal(s) in mind — no time/knowledge management technique would really make a difference.
But some of them might give you a good illusion of something important going on.
And as soon as you have specific important goal in mind (like preparing to specific exam, getting lawyer license etc.) — almost any approach you feel comfortable with will do the job.
You usually dont need to review possible options in advance, the goal itself gives you hints and guides (if preparing for exam means remembering a lot of scattered facts - you’d probably end up with some anki cards on your own etc).
[+] [-] rmhsilva|5 years ago|reply
In the times where an emotionally charged goal isn't driving me forward, adhering to disciplined regimes for time and knowledge management has helped me to prepare and therefore perform better in times there IS a highly motivating goal.
There don't have to be two extremes of X-management (one fuelled by emotion and one dragged down by apathy). Like anything, building a discipline in the slow times will set you up really well for when you need to run hard in the fast times.
All that said, I use Roam Research[0] for my knowledge management now. I consolidate my thoughts and ideas weekly, and aim for evergeen knowledge[1].
[0]: https://roamresearch.com/
[1]: https://notes.andymatuschak.org/z4SDCZQeRo4xFEQ8H4qrSqd68ucp...
Edit: formatting
[+] [-] lmarcos|5 years ago|reply
[+] [-] lolive|5 years ago|reply
PS: I don't know the other tools (notion, roam,...) PPS: a big downside in Obsidian, in my humble opinion, is publishing that knowledge on the web. Probably a static CMS on top of the .md file generated with Obsidian can do the trick. But it is a tedious step that I never had/wanted to investigate.
[+] [-] unicodepepper|5 years ago|reply
https://casual-effects.com/markdeep/
[+] [-] jamie_ca|5 years ago|reply
I use Notable rather than Obsidian, but it works the same (folder of .md files). My blog builds with Bridgetown, and I wrote a little bit of extra code to handle the wikilink formatting and build up an incoming link list, but it runs pretty cleanly. https://blog.tracefunc.com/notes/
[+] [-] vcavallo|5 years ago|reply
you’ll be up and publishing in no time (for free and automatically to GH pages if you want)
[+] [-] samstave|5 years ago|reply
[+] [-] rasulkireev|5 years ago|reply
[+] [-] symkat|5 years ago|reply
I find that I do some pretty cool stuff and then totally forget how I did it a year or 5 years later, mostly with coding. The open source projects I documented and explained are things I myself google to help me set them up in the future, so a way of codifying my knowledge has been to try to write about it and put that in public.
I set up development environments for myself a lot, so I wrote an article about how I do it https://modfoss.com/creating-my-development-environment.html and then put the code on GitHub as well https://github.com/symkat/modfoss_devel So if I don't do it for a while, I'll have a starting point and me-from-the-past explaining what I did and why.
[+] [-] hashkb|5 years ago|reply
[+] [-] gmays|5 years ago|reply
I wanted to go deeper for my company, so I bought the Notion system called Bulletproof workspace (https://www.notion.vip/bulletproof/) in December after er doing. ton of research, but found it a bit overkill. In retrospect, I think it was just my newness to Notion that made it seem so.
However, once we reached a certain point where we were overwhelmed and completely unorganized. I finally invested the time to learn how to use Notion and Bulletproof Workspace and it was amazing, now I use it for everything from onboarding, to brainstorming, to-do's, etc. It's quite impressive.
I highly recommend checking them out if you're looking to get organized. The flexibility is what really made it work for me since it works for everything. It's nice just to have 1 tool.
[+] [-] great_reversal|5 years ago|reply
I'm a visual learner, so its really easy for me to recall past snapshots (static, not like a video) from my life, or how certain things looked at a point in time. It's not quite an identical memory, but it's not too far off either. Maps are a breeze, and even complex tunnel systems like the PATH in Toronto are easy to navigate.
For learning, it helps if you just throw yourself into it. Take 5 minutes and try to work at the concept. Usually this will turn into 30-60 minutes. I learned Kubernetes and AWS EKS this way.
For problem solving, I'll make some notes for brainstorming, todo lists, and any questions I have. Then when I go for my daily walk (~15km/2hrs), I reflect on the abstractions again (from memory) and try to refactor what doesn't seem perfect.
I do have a mind palace set up, but I don't really use it.
[+] [-] jonsen|5 years ago|reply
[+] [-] jll29|5 years ago|reply
One's knowledge is too valuable and important to entrust it to a particular binary format that can soon no longer be read. Plain text is durable, portable, easy to process using UNIX command line tools, it can be full-text indexed with a reasonable overhead. It can be version controlled easier than binary formats or formats with heavy markup.
I often summarize scientific articles, write down new ideas or need to preserve how I did something (run a system, install a tool) for later replay, and plain text is great for that for the most part. Occasionally, I used LaTeX commands e.g. for embedded $ maths $ or #hastags to tie together files by topic for indexing.
Importantly, my workflow is OS independent (I mostly use Linux and occasionally MacOS X/iOS) and editor agnostic (I use Sublime and Emacs).
I would very much like to hear from others how they address their KM needs.
[+] [-] ImaCake|5 years ago|reply
[+] [-] moasda|5 years ago|reply
As I couldn`t find a good tool I wrote my own Wiki server - 13 years ago and still using it every day: https://moasdawiki.net/
[+] [-] e19293001|5 years ago|reply
[+] [-] eMGm4D0zgUAVXc7|5 years ago|reply
It is intended for memorizing things, but the fact that it forces you to divide knowledge into pieces small enough to fit on a flash card also helps to organize it.
And you can have different card stacks in Anki, so there also is categorization of knowledge.
Cf. the "Zettelkasten", a physical flashcard system which is actually intended at organization, not memorization: https://en.wikipedia.org/wiki/Zettelkasten
Anki can be used to emulate that digitally.
[+] [-] Noumenon72|5 years ago|reply
[+] [-] gofreddygo|5 years ago|reply
Incredibly flexible, a bash-like shell is my only dependency. Works with any search engine that i've tried. Easily replacable parts. Check into git regularly.
Some scripts I use
[+] [-] wuschel|5 years ago|reply
Would you have a repository of your scripts somewhere?
[+] [-] schappim|5 years ago|reply
It looks like this [2] (#000000 black interface for mobile due to OLED display).
It changes context depending on time of day and device used. Eg. before working showing me the info I need about the kids [3].
[1] https://writings.stephenwolfram.com/2019/02/seeking-the-prod...
[2] https://files.littlebird.com.au/Shared-Image-2021-04-26-07-5...
[3] https://files.littlebird.com.au/Shared-Image-2021-04-26-08-0...
[+] [-] bitcoinmoney|5 years ago|reply
[+] [-] drenvuk|5 years ago|reply
Digital notes are good for a lot of people and a lot of situations but not for my long term very general knowledge based tasks. For specific commands/documentation/syntax/techniques yeah digital notes are nice. For Brain storming, and connecting ideas though? I fully believe paper works best. It's more flexible.
[+] [-] samstave|5 years ago|reply
I like your idea - what ever happened to that e-ink note pad one could write on and it saves a digital copy?
[+] [-] bhussai20|5 years ago|reply
I can always revisit the notes to quickly refresh myself on the topic (if a context-switch happens later down the line, or if the topic is not related to my day2day work).
I've successfully used this approach to onboard myself for a Spring project (known to have a steep learning curve). It was my second time using Spring, with an 8 month time separation. The ramp-up/refresh took about a week.
There were also some positive unintentional side-effects of my approach. I keep my gitbook notes public. I found that making my notes public ended up helping others on other teams in my company. Specifically, more experienced Spring devs who were new to Webflux were able to use my notes to jump right into a client's code base.
[+] [-] MuffinFlavored|5 years ago|reply
Something about like... a syntax similar to Markdown that is [[deep-linkable]] or something that allows you to... create really deeply nested queries (almost like a GraphQL vibe) to finds things that are "loosely/tangentially related"
Something like... if you were to go to Wikipedia and play that game where you start on one page (a kind of bird) and try to get to a different page that is 50-60 deep/nested links away (a World War II event or something).
I personally am not a big note taker, but boy oh boy do some seem obsessed with special note-taking syntaxes/apps.
[+] [-] tmhrtly|5 years ago|reply
1. Commonplace Book This is a book of thoughts, findings and general collections of information captured throughout your life and brought together into one place. [How And Why To Keep A “Commonplace Book” | Thought Catalog](https://thoughtcatalog.com/ryan-holiday/2013/08/how-and-why-...) [Commonplace Books Part 3: Choosing a System - GeekDad](https://geekdad.com/2020/03/commonplace-books-part-3-choosin...)
2. Zettelkasten
A different concept, but also with relevance to storing information for a lifetime. From my brief readings, there’s more emphasis placed on two stages of note. The first is a quick jot - an addition. The second is a more thought out, self-contained existence of the note. There’s also focus placed here on _linking_ notes together.
A good example of someone’s Zettelkasten is [[Andy Matuschak’s Note Collection]]: https://notes.andymatuschak.org/About_these_notes?stackedNot...
[Zettelkasten - Wikipedia](https://en.wikipedia.org/wiki/Zettelkasten) [Bear App: A Solid Zettelkasten Solution for iOS Users — Mental Pivot](https://mentalpivot.com/bear-app-a-solid-zettelkasten-soluti...)
[+] [-] softwaredoug|5 years ago|reply
Writing helps structure and encode information in my mind
If I forget it, it’s on google, and I often land back at my old posts that I reread.
It might also help other people, but really future me (and possibly close colleagues) are the primary audience.
[+] [-] maryrosecook|5 years ago|reply
My main goal is to have everything in one place: My journal entries, minutes from meetings at my job, project plans and working notes, book/article/film summaries, quotes, reflections. (Bear has both a Mac and iOS app which means I can note things down from anywhere.)
This enables a few things. Search across all my information from one search box. A strong incentive to take good notes because I know I'll be able to find them and reference them later. A 15 year chronicle of the things I've done.
The older blog posts I've written aren't in Bear. This is kind of dumb because they're some of the deepest and most hard-won knowledge I have. Long term, I want to move them into Bear. More recently, I started a new blog that I publish from Bear. This feels much better.
As for learning, I have a few processes that relate to recording:
1. Highlighting useful/interesting passages in books and writing notes in the margins with my thoughts on the material. For really good books, I'll pull out the highlighted passages and notes and organize them into a summary of the book in a note in Bear.
2. I have a note for each skill I'm working on (e.g. designing software architecture, estimating time frames, getting buy-in on an idea). As I practice it I'll write down things I've figured out or reflections on my application of the skill or relevant notes from books/articles.
3. I'll sometimes reference my notes about books/articles as I'm working. E.g. For some reason I've referenced the note that contains a summary of an article I read about the React lifecycle like a zillion times.
[+] [-] devinhn|5 years ago|reply
The information collection: When I'm learning new things and sorting by what is interesting I simple bookmark a lot of stuff. It could be a blog post, a research paper, a book recommendation etc. All this is raw information until I take the time to consume it and digest it. Here I use https://lxi.ai/ (disclaimer: I built this) to keep my bookmarks organized with a lil ML.
The knowledge keeping: While I consume/digest I take notes in obsidian. I like working in markdown and having everything stored locally is something that keeps me comfortable. The real key here is putting in the time and actually merging what I am learning with what I already have in my obsidian "second brain".
[+] [-] ArtWomb|5 years ago|reply
What I would love is a way to index & search ALL my digital assets: audio, video, images, docs, urls, code and binaries
And it would help if I could use a query syntax to create custom time ranges
Recently noticed Weezer frontman Rivers Cuomo taught himself Python via Harvard's CS50 to organize his music demos dating back decades!
And I've come to realize virtually every one could use such a personal digital archive interface ;)
https://techcrunch.com/2020/11/25/rock-star-programmer-river...
[+] [-] ammar_x|5 years ago|reply
For memorizing things, I use Anki which looks old but it's great. Every day, I spend a few minutes on it reviewing things I learned before and wanted to engrave it in my memory.
I'd suggest an interesting related interview (not mine): How to Make Yourself Into a Learning Machine (https://every.to/superorganizers/how-to-build-a-learning-mac...)
[+] [-] 8bitsrule|5 years ago|reply
https://en.wikipedia.org/wiki/Wikipedia:Contents/Categories
Once you've picked that scaffold to suit your needs, then no more than two or three indices before a piece of info (depending on how many subcategories you'll want to labor on) is easily searchable.
[+] [-] zeeshanqureshi|5 years ago|reply
Also on a side note, we must all be wary of epistemophilia!