Settings

Theme

Ask HN: How do you organize your knowledge?

136 points by rxsel 5 years ago · 110 comments · 1 min read


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.

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?

      • jonsen 5 years ago

        In my late forties. The quality of my lectures became fluctuating. Thought it was temporary but soon realized that on average it was slowly but steady downhill. Edit: Should say, that’s twenty years ago and not the slightest indication of dementia today. But significantly harder to handle complex things in my mind only.

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/

  • 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?

schappim 5 years ago

I use a custom Rails app inspirted by Stephen Wolfram's Post: "Seeking the Productive Life: Some Details of My Personal Infrastructure" [1].

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...

drenvuk 5 years ago

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.

  • samstave 5 years ago

    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?

bhussai20 5 years ago

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.

MuffinFlavored 5 years ago

I had a friend who was obsessed with https://roamresearch.com/

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

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.

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

I blog about it.

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

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.

devinhn 5 years ago

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".

ArtWomb 5 years ago

Just signed up for an invite to mem.ai - a kind of personal knowledge graph that looks to be swelling in popularity

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

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.

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

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.)

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

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!

jpeter 5 years ago

Joplin https://joplinapp.org/ Free, open-source, markdown, cloud sync, encryption, good mobile app

gman83 5 years ago

I use Google Docs. I actually use it in combination with this tool: https://spaceli.io/

Then I use this Custom New Tab URL extension to turn my new tab page to Spaceli: https://chrome.google.com/webstore/detail/custom-new-tab-url...

lcall 5 years ago

I heavily use the desktop program at http://onemodel.org (AGPL, I'm the author). I hope in the future to make it easier to install, and move it from scala to rust (edit: and hopefully from postgres to sqlite). Feedback welcome.

Edits: It is my "self-program" for life as I learn, make plans, tasks, calendar, study topics, work on habits, map out details of things, track contacts, etc, etc. Progress has slowed due to health limitations, but I still have many plans. It is text- and keyboard-oriented, feels today like "endless lists of fast recursively nested lists", very physically efficient, can export to html or numbered or indented text outlines, import (somewhat) from text files, show an activity log by date (~"journal"), can store files (not slick, but works), etc.

It is, today, a .jar and you have to install a JRE and postgresql and follow documented config steps. For me at least, the best thing for this that i have found. Code in github.

Another future feature is like sharing, so it becomes like a (selectively) public wiki+gopher server, with updates selectively synchronizable across instances. Down the road, hopefully. And embedded code associated with entry types.

bobbydreamer 5 years ago

It's complicated to design a perfect system at the beginning of organizing knowledge, it changes more with the ideas you get amd more you work on organizing than learn something new.

Like I started with Notepad amd later switched to Evernote in 2009 afterwards to OneNote.

I used to save links so that can referback as well. I wrote a small app, so that I can save small notes and links https://stash.bobbydreamer.com it uses firebase. Last year found out saving links is useless when the website upgrades or they possible close down. So I need to take a screenshot or copy that info back to notepad or some other means.

Now im back to saving in onenote, I have an half built website which I got inspired as next version of stash.bobbydreamer.com using firestore and writing content in markdown and viewing it as a HTML site. I liked I this idea but really do I want to do it is the thought.

Last year during lockdown I had rethought that should post my notes in organized way in my site so that I can referback easily ( https://www.bobbydreamer.com ), site uses Gatsby, so the notes are in Markdown, don't want to focus on design at the moment as working on lots of things, I never get anything done. There are so much notes I have and to make something complete, it takes time as ideas, notes and thoughts are not always complete.

Theres not much traffic to my site even being public, so I need not worry about it.

I have made my mind that it will be strictly off office work alone(study notes).

Currently OneNote and Personal site.

xtiansimon 5 years ago

I was thinking about this over the weekend, because I needed to resize a partition on Linux. I know I did this before. I know it was successful. For the life of me I couldn't find the reference. Grrrr

I have a practice of creating a directory `Machine_<host_name>` for each physical device. And, further I name each file `<host_name>-*`.

But did I name the file LUKS? LVM? or name it after my distro? or just partitioning? (of course, in truth, I can search in text files for those same keywords, but really I was just overwhelmed by the disorder of my folder)

So I was thinking about this problem. Now a bunch of odd folder names just doesn't communicate in a pinch. Now I'm thinking along the same lines of how programs are packaged. Specially named folders. Structures of folders.

I'm thinking along the lines of:

  +- Machine-<host_name>
  |- issues.d
  |- docs.d
  |- configs.d
  |- fixes.d
Prolly not what people are thinking about 'how to organize your knowledge', but it's on my mind after this weekend. (And yes, I was able to successfully resize my partitions. Woot!)
wdencker 5 years ago

There's a ton of different note taking methods, as you can tell by the variety of responses here. People will evangelize one method as being superior to another, but I think you just have to try them out and see what works best for you.

IMO, a prior question to understanding the information we consume is deciding what information to consume. There's an essentially infinite amount of content out there, but we have a finite amount of time to learn. The strategy we usually employ is random and mindless—we consume whatever happens to show up in our HN or Twitter feeds. But I think there's a real value in thoughtfully curating the knowledge we take in, which is why I built Trove [1,2].

I'm curious to hear, how does everyone else here optimize their information diet (if at all)?

[1] https://trove.to/

[2] https://news.ycombinator.com/item?id=26582658

juancn 5 years ago

I draw stupid diagrams and rough notes that I never read again, they just help while I'm making sense of stuff. It's the mechanistic motion of using a pencil (or an Apple Pencil) that helps more than anything.

I used to take notes at school, but hardly ever read them again, it was the act of taking notes that helped me make sense of stuff and remember it.

all2 5 years ago

I use the GTD method (or a variation of it).

Information capture happens in a variety of media and goes into a physical or digital "inbox". I have both kinds because sometimes I take a note with pen and paper, or I have business card, or I have my cellphone and I can take a picture.

My inbox includes the "pictures" and "downloads" folders on all of my devices. I link my devices together using SyncThing.

Then I have an org-mode file I keep my projects, someday-maybe's, and project archives in. My reference "file" is a 1/2Tb drive split into folders. My file organization is pretty flat right now, so at the top level I have "school" and "recipes" and "day trips", etc.

This is an utter cludge, but it does most of what I need it to. I've actually adapted it some to use at work and that has allowed my to stay very organized with work projects.

ImaCake 5 years ago

I have recently transitioned from wet lab biology to knowledge work. Something I brought with me through the transition was the keeping of dated physical notes with a digital todo list (also with dates). I find being able to scribble the physical graph I want to make, a vague table, or just some comments or math from a research paper really helps. The digital todo list helps me find old notes as dates effectively act as relative page numbers and all that is needed is a ctrl+F and then a bit of a flick through pages.

I personally don't have the discipline to organise my digital notes post-hoc, so I focus on just making notes using markdown files and sticking them somewhere in my onedrive so I can find them later. I do have a notes folder, but there is stuff that has found its way elsewhere. Thankfully searching markdown files is very easy.

kratosrp 5 years ago

I use a custom built app https://logctl.herokuapp.com/, me and my friend have built this. We use this to keep track of all our learnings at one place.

breck 5 years ago

I use spreadsheets and custom 2D dsls. I get the best of tabular and tree structures. The latest iterations aren’t live yet, but there’s a lot of stuff on treenotation.org which is the foundation of what I use.

I consider it like a tool for clear thinking. There’s no punctuation or noise, pure signal. I build DSLs and then spreadsheets in those DSLs. Both the data and grammars are in 2D Lang’s. There’s no quotes, brackets, patents, etc. Everything is strongly typed (eventually, in practice I start with a lot of “any” fields and iterate on the ontologies as my knowledge of a domain grows).

Everything is backed by git.

I do a lot of visual modeling lately with my remarkable 2 eink tablet.

  • wuschel 5 years ago

    Hi, I had a look at treenotation.org and some of your other resources - could you perhaps post a practical example on how you use your custom 2D DSLs, and why it would be preferential to other tools?

    • breck 5 years ago

      Here's a 2 minute video explaining one example: https://www.youtube.com/watch?v=0l2QWH-iV3k

      • wuschel 5 years ago

        Thank you for the video URI, and for taking the time to get to back to me!

        I am still trying to identify what makes your technical solution unique and better that, say, a Jupyter/Dataframe based system.

        1) It seems to me that most of the commands that have to be done in a UI with Google Docs/Excel can now be written down and immidiately resolved in your hybrid solution. That probably opens a path towards diffing/version control. Type checking is very nice, though.

        2) The spreadsheet like UI probably makes it easier to edit data, although that is something I would like to play arounnd with.

        Also, I am trying to understand the key conceptional differentiators. What do you mean by 2D language?

        • breck 5 years ago

          First, a caveat. I wouldn't advise using Tree Notation if you had an urgent need and aren't in this for at least a year, as the benefits accrue over time and will only really become impactful as the ecosystem grows. With that out of the way, let me address your questions.

          > I am still trying to identify what makes your technical solution unique and better that, say, a Jupyter/Dataframe based system.

          It's a low level symbolic notation. Any symbolic notation is an imperfect way to model reality. Some are better than others. I propose that Tree Notation may be the best such symbolic notation we have ever come up with. I measure "best" here as a function of capabilities and complexity. Tree Notation has all the capabilities of other symbolic notations (you can build a "data structure zoo" and you'll find that every structure has a representation in Tree Notation), without the complexities of extraneous syntax. You simply have words. You have no quotes, no parens, brackets, etc. Words laid out in geometry. Sure, about 1% of languages have done the "indent significance", such as in Python and YAML, but no one (until Tree Notation) figured out that that's all you need. You don't need any other syntax characters. Simply have rows and columns (and using indents for scope) is enough. This "simple as possible" pays dividends. For example, simple new ways to count complexity (https://jellypbc.com/posts/ezmntq-counting-complexity).

          As a low level notation, you can't compare something like Jupyter/Dataframes directly to it. That would be like comparing Jupyter/Dataframes to binary notation. However, you can compare Jupyter/Dataframes to a higher level tool built on Tree Notation, such as Ohayo (http://ohayo.computer/). What does Ohayo have that Jupyter doesn't? Well it's a very high level language where you can mix data and code easily. Coding with it is very copy/paste friendly. Whole programs can be put in the URL. There's no server side backend needed—everything runs locally in your browser. Of course, there's no ecosystem or community behind Ohayo yet, but the nice thing about Tree Notation is that simplicity doesn't go out of style. If at some point the resources spring up to develop it further, I think it could be a very popular tool and community.

          There's nothing semantic you can do in Tree Notation that you can't do in Jupyter/etc, as for the foreseeable future they all are running on the same hardware. But it's very pleasant to write tooling and parsers for Tree Notation since it's so simple, and as a user you get great things like seamless semantic interop with git, pleasant copy/pasting, url friendly programs, et cetera.

          > Also, I am trying to understand the key conceptional differentiators. What do you mean by 2D language?

          All existing 10,000+ computer languages I would call "1-D". That is, it is assumed that you have 1 read head that moves linearly along the program generally from beginning to end. Tokenizing happens, white space is stripped, an AST is built, compilations occur. 2-D languages don't have the same assumptions. You could potentially have multiple read heads. Read heads could move not just back and forth, but up and down. Of course, it will be a while before we have 2-D registers, and so for a long while we still have to compile to 1D langs, but there's a future where computing looks a lot different than today.

          Another way to think of it is that currently programs are roughly transformed into a ticker tape and read linearly in order. 2D programs don't have to be, and could be read by the computer similar to how a human reads a newspaper—parsing and zooming in and out in potentially random order.

          A much simpler more pragmatic definition for now could just be that a certain subset of TSV is a 2D language.

          • wuschel 5 years ago

            Breck,

            many thanks for the very detailed response to my questions. I wish I could upvote you more than once.

            I am looking at your paper/cited literature to understand a bit more about your work. At first, my initial thoughts were that this is very similar to a Lisp derivative. I now see that indeed there is a second axis in place, be it via tabs or cells.

            Thank you also for the link to Ohayo.computer. I will check it out, and try to fool around a bit with the 2-D lang concept.

            Cheers,

              piotr
vcavallo 5 years ago

A few systems.

1. A zettelkasten, using [neuron](https://neuron.zettel.page/), synced with git (and hosted at github pages), as well as another private repo that I self-host on a machine at home

2. A series of dropbox-synced plain text markdown files edited with vim and accessed via a few fuzzy finders - feels just like notational velocity. these files and the way i use them are documented and organized by a single root file, everything spreads tree-like from there.

3. VimWiki (deprecated. migrating into zettelkasten as appropriate)

4. A small moleskine notebook that is always in my pocket.

adverbly 5 years ago

I keep a git repository with mostly markdown files. Its secure, searchable, free, updatable and retrievable anywhere. I can edit it easily with my favorite text editor of the day. I can also include other file types.

Knowledge itself I keep written in markdown files. I keep folders, multiple files, and headings within files to organize and group things by topic. Everything is in unordered bullet points. The bullet points can be nested as well.

Indentation from nested bullets, plus the syntax highlighting for headers gives visual indication of where related material is located.

sharikone 5 years ago

It's Joplin for me and a LibreOffice spreadsheet for tabular knowledge.

Joplin is opensource and uses Markdown files. Syncs with WebDAV. It's the best I found till now.

LibreOffice is for tables since Markdown sucks for them

vizzah 5 years ago

Zim Desktop Wiki https://github.com/zim-desktop-wiki/zim-desktop-wiki

  • dimenoz 5 years ago

    Yes! copy/paste images and screenshots, indexing, tags, search. It's all good. I switched from OneNote to this a few years ago. The only downside someone might point out is no phone-app, but I'm in front of my computer 99% of my work-time, so phone-accessible is not a thing for me at all.

w4rh4wk5 5 years ago

A per project markdown file that usually lives somewhere inside /doc, called dev-note.md (pun intended). It is handled append only and therefore quite messy, but grep is your friend.

throwaway823882 5 years ago

Make a list, work through it, throw out the list, make a new list.

lihebi 5 years ago

I like RemNote [1] because of its native flashcards feature (besides its top-notch note-taking functionalities). It allows you to turn your notes into flashcards and practice them using spaced repetition algorithm. Ren's video [2] is a great intro to RemNote

[1] https://www.remnote.io/

[2] https://youtu.be/M2U61vHfQSQ

JoshCole 5 years ago

Tool wise I use a physical journal, Notion and Athens Research. Process wise I keep a bullet journal to store things quickly. Then I use a Zettelkasten to store notes which build up over time. I wrote a little about the why behind the process choices on my blog (https://joshuacol.es/2021/04/23/notes-on-notes.html)

g8oz 5 years ago

Any tool that allows for an outline view. It used to be purpose built outliner software but nowadays Markdown files organized into Notepad++ projects get the job done.

SergeAx 5 years ago

I am at Evernote for the last 5 years. It became a tad slow recently (especially Android app), but still beats rivals.

There's a way to implement full GTD [0] framework with Evernote using Notebooks and tags. This is a very useful part for me, especially long-term and life planning horizons.

[0] https://en.wikipedia.org/wiki/Getting_Things_Done

enz 5 years ago

I use MediaWiki, but any wiki engine would work. The important thing here is the "graph" you can easily implement with links between articles.

mraza007 5 years ago

Personally I used pocket to save all the links with tags

And save all the things I learn into mdbook hosted on my github.

Here’s the link: https://til-mraza007.vercel.app/

Here’s the source: https://github.com/mraza007/til

I put everything into a markdown file and save it on github

pk78 5 years ago

Developed a website for this (free to use): https://www.mapsofmind.com

It's a more flexible mind map that allows adding urls, videos, images, richtext etc.,

I have different maps for different topics - like "things I want to learn", "my ideas in XYZ", "project A" etc.,

andthat 5 years ago

After what I suppose has been 15 years of searching, I have settled on the Zettelkasten method using Doom Emacs (Vim-like keybindings) with org-mode and org-roam (https://www.orgroam.com). I struggle to think of anything that could beat it.

  • constpetrov 5 years ago

    That was my approach too, but org-mode is so difficult to use on mobile platforms - both orgzly and beorg are so unfinished.

gofreddygo 5 years ago

TLDR version of what's in the comments :

  Anki
  Bear
  Bulletproof Workspace
  Commonplace
  Dokuwiki
  Emacs (org-mode)
  Evernote
  Everything
  Folder structure with files
  GTD
  GitJournal
  Github
  Google Docs
  Google Keep
  Joplin
  Markdeep
  Markdown
  Mental Pivot
  Mr. Dewey and his decimal numbering
  NeuraCache
  Notepad++
  Notion
  Obsidian
  OneNote
  Pen & Paper
  plain text (awk, sort, grep)
  Roam Research
  Spaceli
  Sublime
  SyncThing
  Synology
  Trello
  Trove
  Twitter
  Typora
  Vim
  Wiki
  Zettelkasten
solmag 5 years ago

This is a trick question and chasing it is largely a waste of time.

The application or method of your choice will only organize your knowledge (more correctly, represent it) if you already have done it yourself in your thoughts.

I just use nicely formatted markdown files these days. There's no magic application that'll do it for you.

juke_mills 5 years ago

I try to do mind maps sometimes, but on day to day basis when reading articles to save for later, Google keep with relevant tags. But before that, always define whether the information you capture is useful or volatile. If useful, is it today, next week or someday? Someday is probably never ;-)

hkt 5 years ago

Nextcloud Notes.

It syncs my notes to a cloud UI, my phone, laptops etc. Also provides for good search, and the notes are in markdown format so very portable. There are some limitations (no real way to link between notes) but I don't notice them or do the kind of writing which requires such things really.

immnn 5 years ago

Just by remembering things. If I can’t remember it, it’s none sense.

For a solid understanding and remembering, I’m applying the knowledge by setting up a personal side project.

I furthermore push all my side project to a private git repo and if I really need to look up things, I always know on what project I need to look at.

herbertl 5 years ago

Physical 4x6 index cards (organized with the zettelkasten method—https://zettelkasten.de/posts/overview/) and corresponding digital version in Notion

nicbou 5 years ago

I use Todoist for lists, Google Keep for simple text notes (for now) and a weird tool of my own making for things that fit on a timeline (like diary entries). I put tutorials on my blog, bureaucratic processes on a separate website, and snippets of code on GitHub.

dmje 5 years ago

GDrive, Synology, Trello but at the heart of it all, Dokuwiki. Man, that thing rocks, all MD, all exportable into whatever format I want, my own theme, backend backup however I want, links, media, nesting, tags. It’s ace, and doesn’t get nearly enough air time IMO

ibraheemdev 5 years ago

I write notes in markdown with Vim/Typora and push them to Github so I can access them anywhere. I also often create static sites with mdBook and publish with Netlify to study. I find having the notes nicely laid out on a small site helps me study better.

herdrick 5 years ago

Everything starts in my emacs scratch buffer (the default file opened upon startup), which is an org-mode file, and when some category of stuff gets big I move it into its own file in Dropbox. The content is just links and written-out thoughts and questions.

kirubakaran 5 years ago

I use my https://histre.com/ for all things on the web, to take notes, make highlights both for personal reference, as well as to share.

andrefuchs 5 years ago

I built my own tool based on Vue, Vuetify and CockpitCMS API. It's self hosted, ultra fast and flexible - couldn't find that in other tools. Sorting is done by main categories and tags.

nikivi 5 years ago

Have it in some markdown files: https://github.com/nikitavoloboev/knowledge

vlfig 5 years ago

Obsidian + GitJournal + NeuraCache.

No-cloud (except for git, could be self hosted), local-first, plain data formats solution for note taking, knowledge organisation, text production and spaced repetition.

0xb0565e486 5 years ago

I rarely find anything that's worth the time to write down and organize.

I use the mac OS/iOS notes app to keep track of short lived information that I don't want to forget.

_____bee 5 years ago

Moved from Evernote to OneNote, and thinking of moving to Notion (https://www.notion.so)

  • shesto 5 years ago

    Notin is the best tool, prsonally use it every time when learn something new - all reccomendations !

XCSme 5 years ago

I started using Joplin and I really like it: https://joplinapp.org/

d0mine 5 years ago

If it is likely to be reused, put it in the most public place possible (where you usually search). Otherwise just learn it from scratch.

walterbell 5 years ago

mind maps, memory palace, vision boards, note taking systems where a single item can be embedded in multiple places within a hierarchy.

qcardona 5 years ago

I used to use Evernote for bookmarking and note taking but honestly, lately it’s getting clunky and I’m switching to Google Keep.

account-5 5 years ago

Zim desktop wiki, Zotero for citations. If I need markdown I use Zettlr (amazing markdown editor almost no one talks about).

  • dimenoz 5 years ago

    Zim stores everything in plain-text, so plays nicely with grep and friends too.

someguy101010 5 years ago

org-roam + anki ripgrep for search

timmit 5 years ago

Joplin notebook for personal knowledge

Tiddlywiki for a public knowledge base

arduinomancer 5 years ago

Notion as a personal wiki is awesome.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection