Readit News logoReadit News
Posted by u/rxsel 5 years ago
Ask HN: How do you organize your knowledge?
Methods and systems for grasping, understanding, and making sense of any general knowledge or information.
aristofun · 5 years ago
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).

rmhsilva · 5 years ago
I've had a different experience.

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

aristofun · 5 years ago
You’re right. Discipline and habit is the king.

But i see that its near impossible to build a discipline without particular goal in mind.

By “emotionally charged” i meant “really important for you”, important enough so you even force yourself when you don’t feel excited about the goal.

grep_name · 5 years ago
I've found similarly that there's a lot of value in cultivating your knowledge base in between emotionally charged goals or spurts of inspiration, but highly disciplined / regimented approaches never worked for me at all for some reason.

For me, the key was switching to a totally non-linear but robustly inter-connectable note system, which turned out to be tiddlywiki in my case. Regimented approaches I found created friction for creating a new submission, and switching to just creating a 'tiddler' when something was on my mind (and then being able to choose to reference that content within larger ones later or not) has been one of the most liberating changes I've made in years.

Tylast · 5 years ago
Roam appears to have a similar graph structure to https://www.thebrain.com/ for nodes.
lmarcos · 5 years ago
Agree. All these management tools for knowledge and time feel like bikeshedding to me.
lolive · 5 years ago
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.

unicodepepper · 5 years ago
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.

https://casual-effects.com/markdeep/

jamie_ca · 5 years ago
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/

vcavallo · 5 years ago
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)

samstave · 5 years ago
What about that post just earlier today for HTML-izing .md files in addition to turning them into presentation slides
rasulkireev · 5 years ago
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.
lolive · 5 years ago
Several people I know simply donate money to the Obsidian project directly. But I agree that paying for their publishing service is more a win-win. You help the project PLUS you get the publishing service. I will probably do that. (and yell that I need this or that feature, that the service does not provide yet :)
symkat · 5 years ago
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 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
I also use vimwiki extensively. It's always at hand.
gmays · 5 years ago
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.

great_reversal · 5 years ago
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.

jonsen · 5 years ago
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.
bhouston · 5 years ago
What age did you notice it change?
jll29 · 5 years ago
After trying out various ways, online and offline (including studying Luhmann's famous "Zettelkasten" http://ds.ub.uni-bielefeld.de/viewer/image/ZL1A1001/1/#topDo...), and the one that I stuck with is using plain text files.

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
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.
throwaway823882 · 5 years ago
...you know you don't need an editor with support for Markdown, right? Markdown is a plain text format.
moasda · 5 years ago
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/

Deleted Comment

e19293001 · 5 years ago
Since you mentioned emacs. Have you tried org-roam?
eMGm4D0zgUAVXc7 · 5 years ago
Try Anki, a spaced repetition flashcard software: https://en.wikipedia.org/wiki/Anki_(software)

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
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.
gofreddygo · 5 years ago
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

wuschel · 5 years ago
Interesting. Thank you.

Would you have a repository of your scripts somewhere?