
Ask HN: Do you keep a personal knowledge repository? - lethologica
And if so, which software do you use? I&#x27;m fascinated by storing things that I learn outside of my own brain. Ideally I&#x27;d love to create my own mini intranet of information, basically a personal wiki, that I can go to first before having to Google things, especially for my field of study.<p>I&#x27;ve looked into various Wiki packages but none quite seem to offer what I&#x27;m looking for (Mac, no need for a webserver, cross device functionality, math markup, searchability, tags)<p>If you do keep a personal knowledge repository, can you please describe your workflow for using and maintaining  one for all the new knowledge you acquire?
======
jjav
How long would you like to be able to access this content?

If it is for the long haul, plain text is the only way to go (org-mode, etc).

Any proprietary commercial solution will fade away in a handful of years. At
best, you might be able to extract the content before they shut down but
structure and metadata may be lost.

Open source self-hosted solutions will last much longer but even in that case
it might get to a point the source has been abandoned so long that it becomes
difficult to keep going.

Only plain text will survive. I have plenty of notes in a more or less
organized directory tree, dating back to the late 80s.

~~~
tomjen3
I am wondering what information from 1988 might still be of help for you now,
but I would suggest that xml and json or similar would still last about as
well as plain text, but would enable you to do more interesting things and
store more useful documents (say a complete contact list).

~~~
nextos
XML or JSON are also plain text. And Org has excellent support for storing
contacts.

Furthermore, a personal knowledge repository may contain information that is
pretty much timeless. Say you read Rudin to learn analysis in 1988 and took
some notes. Why would that be outdated?

Some academics build huge perosnal knowledge repositories that they keep
growing during their careers. These will often span longer periods than
1988-2019. See e.g. Luhmann's Zettelkasten.

The advantage of Org is that it is very readable, as it descends from an
outliner, and has excellent tooling. There are options for including tables,
equations, bibliographies, links to many datatypes, attachments, extensive
date support, etc. Lots of export tools, interpreters to show views of your
document, and many other things I have not touched upon.

Yet it is quite simple hierarchical plain text. So it will remain accessible
in the future. Aside, Emacs has been around for very long, and will probably
remain around much longer due to the Lindy Effect.

------
vanoora
You can check out Anki[1]. Apart from the initial setup, you won't have to
worry about taking care of the web server.

I create separate decks for different fields and then only if necessary do I
create subdecks. I also tag all the cards that I create and make sure to spend
a lot of time to ensure that it's made and tagged properly. So, whenever I
learn something new and I believe at that point of time that it's worth
remembering, I create a card for that.

[1]: [http://ankiweb.net/](http://ankiweb.net/)

~~~
bbischof
I love anki, and I love this use of it, but how do you quickly make cards?
Especially on mobile?

~~~
pchr8
I'm also a fan of Anki, I never create cards on mobile (though review them
almost exclusively there), but from desktop you can check out
[https://github.com/MFreidank/AnkiVim](https://github.com/MFreidank/AnkiVim)
and
[https://metacpan.org/pod/Anki::Import](https://metacpan.org/pod/Anki::Import).
Raw cards are just text, and you can create them with any editor.
[https://github.com/corollari/ankiTab](https://github.com/corollari/ankiTab)
is also awesome for reviewing.

If you want more theory about Anki / Spaced repetition,
[https://www.gwern.net/Spaced-repetition](https://www.gwern.net/Spaced-
repetition) is the ultimate resource on topic

------
ashton314
Deft in Emacs. [1] I write my notes in Markdown or Org-mode, and Deft lets me
search them all _really fast_. For cross-file references, I use Org’s
delightful file hyperlink scheme. For export, I use Pandoc. I’ve got a project
that I haven’t quite figured out how to get on home brew (I’m new at this)
that takes a file in <format> and lets me read it like a Man page. [2]

[1]:
[https://jblevins.org/projects/deft/](https://jblevins.org/projects/deft/)
[2]: [https://github.com/ashton314/homebrew-
mm](https://github.com/ashton314/homebrew-mm)

~~~
dmortin
I also use Org to store data and I use org-rifle to search it:

[https://github.com/alphapapa/helm-org-
rifle](https://github.com/alphapapa/helm-org-rifle)

I don't know if Deft recognizes org mode entries, but org-rifle provides
entry-based search.

~~~
ashton314
Wow. Rifle looks neat. Thanks for mentioning that!

Deft will scan any plain-text file, according to the set of file endings you
give it, and it will put your cursor at the point in the buffer where one of
the search words occurs, but it won’t automatically extract the ending, AFAIK.

I should mention that deft does fuzzy matching, or at least words don’t have
to be contiguous.

~~~
dmortin
Org rifle also does word (substring) search in any order in the
title+description if you type multiple words separated with spaces.

------
zaiste
I went through many software solutions and ended up with Org Mode as well.
There may be some clunkiness at the beginning and it definitely lacks the
glamour of proprietary solutions such as Notion. But once you get a grip on
Org Mode, you will be amazed how deep the rabbit hole goes. ;)

There is a great Org Mode tutorial [1] on YouTube by Rainer König.

The only « problem » is that you need to learn Emacs. I recommend Emacs Doom
[3]

Also, I'm experimenting with making my Org Mode notes public. Here's a humble
beginning [2]. I only publish them once they are cleaned, so it's just a tiny
bit for now.

[1]:
[https://www.youtube.com/playlist?list=PLVtKhBrRV_ZkPnBtt_TD1...](https://www.youtube.com/playlist?list=PLVtKhBrRV_ZkPnBtt_TD1Cs9PJlU0IIdE)
[2]: [https://zaiste.net/programming/](https://zaiste.net/programming/) [3]:
[https://github.com/hlissner/doom-emacs/](https://github.com/hlissner/doom-
emacs/)

------
drummyfish
Yep. Txt on GitLab.

[https://gitlab.com/drummyfish/my_text_data](https://gitlab.com/drummyfish/my_text_data)

Most people that aren't me would probably be interested in

[https://gitlab.com/drummyfish/my_text_data/tree/master/cheat...](https://gitlab.com/drummyfish/my_text_data/tree/master/cheatsheets)

and

[https://gitlab.com/drummyfish/my_text_data/blob/master/links...](https://gitlab.com/drummyfish/my_text_data/blob/master/links.txt)

------
gw666
I am beginning to use a zettelkasten. I think it's an excellent method for
doing deep thinking, especially over a long period of time. See
[https://www.seanlawson.net/2018/02/use-zettelkasten-
method-s...](https://www.seanlawson.net/2018/02/use-zettelkasten-method-
scientific-note-taking/) and
[https://zoia.org/2018/11/13/zettelkasten/](https://zoia.org/2018/11/13/zettelkasten/)
for good introductions.

Reading this will change your life: [https://www.amazon.com/How-Take-Smart-
Notes-Nonfiction/dp/15...](https://www.amazon.com/How-Take-Smart-Notes-
Nonfiction/dp/1542866502/ref=sr_1_3?keywords=how+to+take+smart+notes&qid=1559101000&s=books&sr=1-3)

I'm committed to text-only information. No matter how many notes I'm writing,
I can always use grep or write my own programs to find what I want.

If you're on a Mac, The Archive is great ([https://zettelkasten.de/the-
archive/](https://zettelkasten.de/the-archive/)). It's what I'm using

zettelkasten.de has lots of good reading (thanks, Sascha and Christian!), but
look to the other sources I've listed to get a more thorough idea of what a
zettelkasten is (I call mine a thinking-box) and how to use one.

------
sh87
Last year, I went through this whole gamut of the usual suspects emacs(org-
mode), plain text, markdown, tiddlywiki/ mediawiki/bunch of other wikis,
google keep, one note, notational velocity, anki, evernote, LaTeX. One after
the other, they all crumbled. I tried them all and failed. I got to a point of
calm reflection based on my experience with each one. I realized what was most
important for me. I eventually settled on a combination of email + git +
google calendar. I use a separate email just for my notes. Every new thought,
todo, bookmarks, quotes, images of doodles, event, information about people
becomes a new email. Any update on the same one becomes a reply to the last
email on that subject. Any topic or area that gathers enough content or
insight that’s worth remembering goes to my git repo’s wiki page. If there’s
enough content/files/code, it gets a directory. Common patterns, get linked
via their respective wiki pages. I create collections of related topics as
separate wiki pages with links back to the source.

This setup has worked well for me for over 6 months now. I do not worry about
email / git becoming obsolete. Or how I would move my email/git data when I
need to switch vendors. I can access it via any device I own or through
someone else’s. Stuff I want to share with people are hosted via git pages or
sent via email. I have a plethora of client applications to choose from. And
above all... it just works.

I can give out more details but I feel anyone’s personal information needs can
be met/exceeded with a combination of email + git + calendar.

~~~
andrewsleigh
Hi. I also thought of email when I was thinking about this problem recently.
How do you get information from your email thread to the wiki? And is this a
github wiki?

~~~
sh87
Email is my todo/inbox. Its disposable. Wiki is gitlab wiki. It is my index
for the information I've collected.

I do not move too much information from email to wiki. I'm quite mindful of it
actually. Wiki gets written and re-written, cross linked and edited. I keep it
consistent. Helps quick lookups. I very frequently use markdown files in topic
specific directories. Helps store information gathered from deep dives on
those topics. Markdown file names are also consistent - YYMMDD-topic-
detail.md. Helps sorting by date.

I use the wiki mostly for the free hosting and the links. I could very well
use a static site generator when there's enough content in a topic's directory
to be shared as a mini website. A link to the wiki on the home screen comes
quite handy.

------
pchr8
I have something called "Diensttagebuch", which is awkward to translate ("Duty
diary"?), it's a Jekyll blog (currently at
[https://www.pchr8.net/d/dtb/](https://www.pchr8.net/d/dtb/)) for things I
know I'll have to google later. I have two bash scripts for creating-or-
opening a new page and for deploying (upload to server + commit to git). I use
[https://github.com/rking/ag.vim](https://github.com/rking/ag.vim) for
searching though the Markdown files on my local machine.

For more general knowledge, Semantic Mediawiki
([http://pchr8.net/f/](http://pchr8.net/f/)), but it's basically a big link
database now. I can sort it by rating / complexity / to read / domains /
keywords and found it quite flexible.

Also, Anki for things I want to memorize. [https://www.gwern.net/Spaced-
repetition](https://www.gwern.net/Spaced-repetition) describes the theory
quite well.

------
iamnothere
This is the most impressive example of the genre that I've seen:
[https://wiki.xxiivv.com/](https://wiki.xxiivv.com/) (engine:
[https://wiki.xxiivv.com/#oscean](https://wiki.xxiivv.com/#oscean))

For me, I use Orgmode, plus a mess of PDFs in folders on Google Drive. I've
been looking into both Polar and Emacs as potential replacements for document
organization.

Right now I have a single folder that I save new things to, and I have a
recurring task to go back and file documents regularly. It's not perfect but
it works. I don't often reference my pile of PDFs, though; I might use it more
with tagging options, which is why I'm looking at replacements.

I used to use Evernote. There were some things I didn't like about it,
although it's been so long that I couldn't tell you what they were anymore. It
might be a good system now.

~~~
mftrhu
> This is the most impressive example of the genre that I've seen:
> [https://wiki.xxiivv.com/](https://wiki.xxiivv.com/) (engine:
> [https://wiki.xxiivv.com/#oscean](https://wiki.xxiivv.com/#oscean))

Yeah. I am currently using org-mode (plus org-wiki, some bespoke elisp and a
few shell scripts) for my own knowledge base _, but Oscean /the Nataniev
ecosystem in general has impressed me.

_ plus Zotero for papers/PDFs, plus a pile'o'files stashed using the Universal
Decimal Classification for its folder tree, plus assorted odds and ends.

In fact, I spent this week messing around with some of its concepts - Indental
plus Runic plus a lightweight markup language loosely based on txt2tags +
sexps and which should be easy to render even outside the browser.

The idea is to move away from _documents_ (which org-mode is very good at),
and towards smaller, rich chunks of information (which org-mode can't handle
that well - I hacked things up with properties, but that namespace is flat).

~~~
iamnothere
> The idea is to move away from documents (which org-mode is very good at),
> and towards smaller, rich chunks of information (which org-mode can't handle
> that well - I hacked things up with properties, but that namespace is flat).

I've noticed this weakness in org-mode as well. It's really a fantastic tool,
but it still has a few gaps here or there. I'm optimistic about its continued
development though.

It's good to hear that you liked the Oscean/Nataniev tools; I haven't tried
them and it could easily have been all style no substance. They certainly
_sound_ impressive. From what I've read, I have a feeling there might be
something worthwhile there. And XXIIVV itself looks amazing, although I know
that's just one implementation.

~~~
mftrhu
> I'm optimistic about its continued development though.

Org is amazing, yes, but I'm not too optimistic about this - even if some of
its more noticeable warts got fixed (a big one, for me, is the fact that you
cannot nest quote blocks), it would still represent a _tree_ of nodes, and
trees are somewhat limiting where it comes to knowledge representation.

You _can_ organize information in a tree, but it doesn't neatly fit that
model, and just _deciding_ where to put each snippet you captured can be a
huge hassle.

> It's good to hear that you liked the Oscean/Nataniev tools; I haven't tried
> them and it could easily have been all style no substance. They certainly
> sound impressive. From what I've read, I have a feeling there might be
> something worthwhile there. And XXIIVV itself looks amazing, although I know
> that's just one implementation.

I'm not too sure, either, but I'm going to take a stab at implementing
something Oscean-like. I want to see where this approach can take me.

------
r_singh
I use Evernote. I have multiple notebook stacks for different topics (like
each company I work on, ideas, general life notes, learning, research, etc.)
and within each stack have a notebook dedicated to notes addressing topics as
well (for example in the company stack have a notebook for sales notes, in the
learning stack have a notebook for JS).

Evernote has worked well so far and me trying to switch to OneNote didn't work
out as well. I'm still open to alternatives, but Evernote has kept my mind
organised without a doubt.

------
jandeboevrie
Both public and private. Public, a static site made from markdown files :
[https://raymii.org](https://raymii.org). Almost 400 articles now.

private, a folder called "notes", with almost a thousand short text files.
Workflow for it? Use grep to find what I want. I had a system of folders per
topic but that became a mess. Grep is good enough. The notes folder is synced
with synching to multiple systems and my phone. On the phone I have termux,
which has grep and markor as text editor.

------
pjmorris
I used to use FreeMind [0], a mind-mapping tool that I really like, to keep
track of projects, ideas, and things to follow up on. I eventually noticed
that the pretty pictures could be represented, without loss of information, by
a simple outline in a text file. Reading 'Getting Things Done' [1] got me to
think in terms of a 'Current Task' list, which I now keep as a text file,
backed up on Dropbox. Anything I need to do, or want to follow up on, or want
to dream about in a practical way, gets jotted down in the file, with the most
urgent matters at the top, Some really interesting stuff drifts down in the
file as time passes.

As I do stuff, things move from the Current Tasks file to a Logbook file.
Beyond 'accomplished todo's, that file gets stuffed with, for example,
interesting quotes I run into, command lines I think I'll need again, and a
record of what I've been up to. When I need to put together a status report,
or figure out for myself where my time went, or recall how to do something
intricate that I haven't done in six months, I turn to my Logbook.

With these two pieces, I feel like I've got a handle on what I want to do, and
a record of what I've done. Now, if I just could find the time to follow
through...

[0]
[http://freemind.sourceforge.net/wiki/index.php/Main_Page](http://freemind.sourceforge.net/wiki/index.php/Main_Page)

[1]
[https://en.wikipedia.org/wiki/Getting_Things_Done](https://en.wikipedia.org/wiki/Getting_Things_Done)

------
garkin
[https://workflowy.com/](https://workflowy.com/) This simple yet robust app
totaly ruined mind maps for me.

~~~
giancarlostoro
This is so awesome I love it, I also love that they dogfeed their own app into
the pricing page.

------
kd5bjo
I started with the augmentingcognition.com spaced repetition model, and then
decided to augment it with a catalog of everything I read(1). For my own
original thoughts, I write them down in a few paragraphs and then treat them
like any other reading material.

At some point, I ran across the idea that a library card catalog is really
just a combined topical index for the entire collection, with each entry being
a card. That seemed like a decent model, and I’ve been happy with it so far.

My system is currently a physical card index because I needed the flexibility
of pen & paper to figure out how I wanted it to work, but I’ve been slowly
computerizing it as I figure things out- you can certainly do something
similar with flat text files, spreadsheets, or any other general purpose
document software.

So now, I have three interacting systems: a citation list that records where I
can find things to read them again, a combined topical index of everything
I’ve read, and a flash card deck of things I want to remember without having
to look them up.

When I run across an interesting article on the web, for instance, I save a
PDF of it to Dropbox for safe keeping and print a copy to read away from my
computer. As I read, I’ll make margin notes and have two different colors of
highlighter: one to note index headings and another to mark passages to be
turned into flash cards.

After my morning flash card review, I go through the material I read the
previous day and turn all of the notes and highlights into cards(2). Once
everything has been moved into the indexing system, I have no further need for
the physical copy, so it goes to the recycler.

(1) Of sufficient length; generally 3 or more printed pages.

(2) Initially by hand, now with the aid of a custom piece of software

------
zhte415
Yes I do but I wish I didn't keep it so haphazard.

By haphazard I mean to focus not only on acquisition but reflection /
contemplation: Collecting thoughts is one thing, putting them together into a
cohesive and coherent body of knowledge is another. So, that's what I'm
working on.

pmwiki for now. Workflow is personal domain, putting browser or window on one
side of the screen and what I'm reviewing, or what I'm thinking / text editor
(sublime text) of the other side. Putting into a DIY solution based on flask
simply because that's flask practice.

I also like pens and paper and whiteboards. So take pictures and use
Powerpoint's 'remove background' feature to have a liberal amount of pictures.

A bit rambling, but you asked and asking is usually best! So.. :D !

------
GeorgeHahn
I use BookStack
([https://www.bookstackapp.com](https://www.bookstackapp.com)). MIT licensed &
easy to self host.

It's fast and has good search, a good editor, and uses simple hierarchical
organization + tagging. I like that it gets out of my way and does a good job
of handling everything from code snippets to freeform thoughts to recipes.

BookStack is best for things that 'look like' documents. Mobile editing could
also be better - you have to click a maximize button to get a usable view of
the editor and the editor UI still takes up a lot of space. It is web based,
but it is very lightweight and I have found it very easy to host.

~~~
ssddanbrown
BookStack developer here. Thank you for sharing the project. If you have not
yet updated to v0.26 it might be worth doing so as, upon many other UI
changes, I focused on trying to improve the mobile UX [1]. Still some issues
in iOS to resolve though.

[1] [https://www.bookstackapp.com/blog/beta-
release-v0-26-0/#mobi...](https://www.bookstackapp.com/blog/beta-
release-v0-26-0/#mobile-experience)

------
rmkrmk
A bunch of markdown/text files in a git repo, hosted on github/gitlab/gitea
(github in my case).

This way I can edit the files online on github.com, on my desktop and
push/pull the changes. On my iOS device I use
[http://workingcopyapp.com](http://workingcopyapp.com) \- I can edit and
create files as well as push and pull changes.

On my Desktop I can use any tool I want to search and edit the files, on
github I have full text search and working copy also features full text
search.

Most importantly: I own my data and they don't up in some database I need to
worry about.

------
Chirael
I use OneNote... just kidding, I actually use TiddlyWiki

------
samrohn
I use google colab
([https://colab.research.google.com/notebooks/)for](https://colab.research.google.com/notebooks/\)for)
things like work notes on setting things up, any new tech I am learning. The
best thing is it support code(python). Google
keep([http://keep.google.com](http://keep.google.com)) for noting down any
interesting thoughts/ideas/lesson I learn through out the day. I usually
create a card per month to keep it organised.

~~~
mark_l_watson
Really interesting idea to use Colab. I assume that you occasionally download
the notebooks for local backup? Also, are downloaded notebooks useable with
Jupiter notebook?

~~~
samrohn
Yes. Exactly. They can be used with local Jupiter notebook instance as well.

------
codazoda
Lately I've just been using a directory full of markdown files. I store my
personal collection in Dropbox but it would be just as easy to use git or any
other tool. I've created an alias to automatically open that directory in my
favorite editing tool when I type "notes".

I also manually maintain an index.md file to categorize things, but it's not
really necessary when you can just use grep or your editors search feature to
find what you need.

~~~
barryhoodlum
I do the exact same, down to the "notes" alias. I find the downside to this
approach is it doesn't work well on mobile - the Dropbox app can edit files
but there's no search and it all feels a bit clunky.

------
AlphaGeekZulu
Orgmode.

I have been using personal knowledge repositories for more than 20 years now,
and if there is one lesson I have learned: never, never ever use any
proprietary, platform specific - or worse, web-based - solution, no matter how
good it is. Plain text is the only way to go.

My favorite tools in the past were Tinderbox from Eastgate and Curio from
Zengobi, but both were Mac only and I had to leave them behind when I switched
to Linux a couple of years ago. I collected some experience with Scrivener and
used PMWiki a while, but the first is not really supported on Linux and the
second wasn't somehow responsive enough for my needs. ZIM wiki on Linux is
actually quite nice, but when I discovered orgmode it hit just right and I
never looked back for other tools.

My org-file organisation: I have one super-big master org-file in which I
collect just about everything regarding software development, technology in
general, life lessons and stuff. For customer projects I generally create a
dedicated file in which I not only collect knowledge regarding that project,
but also do the project management with tasks, documentation and stuff. If one
of the topics in the master org-file grows really big (this is for example the
case, when I start to use a new programming language full scale for productive
purposes) I will migrate that node to its own file. I also keep most of my
bookmarks as links in org-files in a proper context, and I like to use links
to files in the local filesystem (like PDF-manuals) within my org-files,
although this requires some discipline in the organisation of the local folder
hierarchy.

The only other tool that I started to use besides org-mode, just a couple of
weeks ago is Anki, for stuff that I want to learn by heart.

------
danboarder
For years I used the FreeMind mind-mapping app, but wanted to move all of it
to a server that I could use across devices once smart phones came along, and
moved to flat text files in Dropbox that I can edit with any text editor. The
other thing with FreeMind is that the UX for navigating mind-maps can get
unwieldy when they get big. (maybe there are other apps that implement this UX
better, not sure). I have also tried using wiki software ( like
[https://tiddlywiki.com/](https://tiddlywiki.com/) ) and other tools that just
didn't work as good for me as flat text files at the end of the day. I don't
feel this is a solved problem and I would explore other solutions. I think
something that has a timeline view and very good search tools as well as
integrates with media libraries in the same search and timeline (like my
lightroom and my phone's google photos libraries) would be a really cool way
to see thoughts and images in the context of time going back to the day you
wrote something, etc.

~~~
Alex3917
> The other thing with FreeMind is that the UX for navigating mind-maps can
> get unwieldy when they get big.

In what way? I have some pretty enormous ones and they seem fine so far. I'd
like it if FreeMind were more actively maintained, but at least it still works
basically fine on the latest version of Java.

~~~
danboarder
I just remember expanding and collapsing things a lot to keep what I wanted in
view. Clicking and scrolling -- perhaps I never got proficient in the
keybindings so that could explain it.

~~~
Alex3917
Spacebar expands and collapses nodes. I think part of the problem is just that
the default settings are bad. Changing these couple things makes FreeMind 10x
better:

 _Preferences - > appearance_

    
    
      1. Check "edges start from 1 point at root node"
      2. Uncheck "enter confirms by default"
    

_Preferences - > behavior_

    
    
      1. Set "use formatting for all nodes" to no
    

_Control-rightclick - > hide note window_

------
jitl
I use and recommend Notion ([https://notion.so](https://notion.so)) although I
do work there, so there’s some bias.

It’s good for free-form notes, but also has databases and relations for more
structured data. Also has top-of-the-like Markdown and HTML export to get your
data out.

You can publish parts of your workspace publicly read-only, or share via email
with guests.

~~~
hrdwdmrbl
Just searched to find the comment to upvote. Notion changed my life! It took
over my life. It is my everything. My life is in Notion now. It is my
repository of life. I am not exaggerating. I do not work there. It is SUCH a
quality product in every way. You have features that I only even think about
after using it every day for 8 months.

------
Jugurtha
I used to commit to github repos with varying results:

[https://github.com/jhadjar/Notes](https://github.com/jhadjar/Notes)

[https://github.com/jhadjar/Language-
Acquisition](https://github.com/jhadjar/Language-Acquisition)

I then experimented with Sphinx. Then a simple alias `kb` (for knowledge base)
and `note` to save random notes to an markdown file synced in Dropbox.

Now I use MKdocs. An intern experimented with it and proposed it and that's
what I use for now:

[https://jhadjar.gitlab.io/kbase/](https://jhadjar.gitlab.io/kbase/)

Original notes are here
[https://jhadjar.gitlab.io/kbase/notes/](https://jhadjar.gitlab.io/kbase/notes/)

Original knowledge base:
[https://jhadjar.gitlab.io/kbase/kb/](https://jhadjar.gitlab.io/kbase/kb/)

Notice the timestamps (the alias opened vi and put a timestamp).

I also use TaskWarrior and have an alias to commit and push the changes to the
files to a private repo.

I should collect dispersed files on my disk that are the result of reading
articles and books (I open a file in the same directory of a paper or a book
and start writing thoughts at a coffee shop, which I send to coworkers,
especially for papers).

Bottom line, now I use MKdocs with GitLab pages (for now). It works nicely.
The alias is good for quickly jotting down to a file and saving, then it's
cleaned and edited and incorporated in the proper file in the knowledge base.

------
stockkid
Yes, I built an open source tool called Dnote [0]. Basically, I can write down
my microlessons as I learn them without leaving the terminal or browser. And
it sends me a weekly digest to automate spaced repetition.

I used to use Evernote to write down my knowledge but I quickly found that I
never look back at my notes, and quickly lost grasp of my knowledge. That's
why I built the automated email digest.

My workflow is simple: when I learn something, I execute a command line
program to write it down without leaving the terminal when I am coding. Every
weekend, I receive a digest of what I learned in the past. This way, I can
successfully maintain all the new knowledge I acquire.

Similarly to your requirements, I often search through my knowledge base in
the terminal before doing a web search. Doing so saves me time because my
knowledge base is already written in my own words that I understand well.

\- [0] [https://github.com/dnote/dnote](https://github.com/dnote/dnote)

------
hwj
I'm using a pen and an A5 notebook.

This helps me to focus on the content instead of thinking how to represent it
in markdown/whatever syntax.

------
superfreek
Im using [https://thebrain.com](https://thebrain.com)

What really sold me was the video "Jerry Michalski: Lessons from 15 years
using TheBrain" [0], haven't looked back.

[0]
[https://www.youtube.com/watch?v=EzQkJ4lleKk](https://www.youtube.com/watch?v=EzQkJ4lleKk)

~~~
jmakov
Looks like Tidlywiki with the map plugin. Cool.

------
breck
Yes. I write things in Tree Notation using a simple file backed plain text
database called Treebase. It allows me to easily jot information down using
nearly any program and maintain a strongly typed, color highlighted, queryable
database.

I have a few different databases now, the biggest in the millions of rows. A
workflow for one of the databases, an ontology of human medical measurements,
is as follows: 1) I come across a new term, 2) (if afk I first email it to
myself) I simply do a “touch term.hipo” at the shell, or use vim, sublime, or
another handy tool. Then I add data in a strongly typed but 0-syntax tree
language I created called “hipo”. If I’m in sublime or another editor I get
live autocomplete and syntax highlighting 3) I use git to version everything
4) I have a simple DB server which reads the files and allows me to analyze
using any tool, from R studio to Vega, etc.

~~~
JesseAldridge
What is Tree Notation? This is the first Google result:
[https://en.wikipedia.org/wiki/Newick_format](https://en.wikipedia.org/wiki/Newick_format)

Also, what do you do if you want to put the same node in two different places
in the tree? (i.e. you want a graph)

~~~
breck
[http://treenotation.org/](http://treenotation.org/)

For graph nodes I use an id.

    
    
      organization Microsoft
       hq Redmond
    
      language C#
       corporateSponsor Microsoft

------
Fannon
I've had troubles coming to a good software solution or workflow either.

Software wise, I've tryed a few things and settled with MediaWiki and some
extensions added. Most notably Semantic MediaWiki (adds structured data
storage and querying), Semantic Forms (structured forms) and a Bootstrap based
skin. But only the technical setup won't get you far in a wiki, so I've also
created a lightweight, flexible "ontology" / structure for knowledge
management that was fitting my own needs.

This was not too easy to set up (Finding a structure / ontology / data and
query workflow, but also the implementation using the wiki itself), but now
I'm quite happy with it as a platform. I really wish there would be a lower
barrier to entry for people here. If you're interested, please PM me and I can
show you some examples.

As for the workflow of personal knowledge management, I'd be really interested
what works for other people as well and I'm still figuring this out.

My current approach is using different phases. It's OK for me to read a book
and not note anything or only do kindle notes. When reading articles on the
net, I usually bookmark more interesting articles using getpocket. I do notes
on paper when I don't want to be distracted or influenced by a computer.

For this year, my resolution is to acquire less new knowledge, but to take
some time and to rehearse, summarize and repeat what I've found interesting
and worth my time before. What sticks here should go into the wiki.

I want to keep my knowledge base very concise and opinionated. There's no need
to create a second wikipedia.org. I'll only add something in the wiki when: *
Some idea is truly remarkable on the first spot * I go over my old notes see
what was the essentials of it. Those are worth putting into a wiki. * When I'm
doing some dedicated, structured research around a topic. Then I also try to
get the ontology and structure right first. * Code Snippets that I repeatedly
use

------
JesseAldridge
I use the desktop version of Draw.io + some custom code to make the diagrams
searchable: [https://github.com/JesseAldridge/draw.io-
convert](https://github.com/JesseAldridge/draw.io-convert)

I do think a truly useful knowledge repository will fundamentally need to be a
graph structure. This roughly reflects the neural connections in the human
mind -- knowledge itself is a graph structure.

Draw.io is the best diagramming tool I've found, but it still kind of sucks in
a lot of ways. I've started working on an alternative:
[https://github.com/JesseAldridge/consideration](https://github.com/JesseAldridge/consideration)

The key features I'd like to add are multi-user collaboration and search
across many diagrams.

------
peteforde
You would have to pry [https://workflowy.com](https://workflowy.com) from my
cold, dead hands. It's the best outliner I've ever used and they actively
resist adding features that would only please a subset of users. It offers
excellent cross-device synchronization and works nearly as well on a phone as
it does in a browser or desktop app context. You can attach notes and share at
the node level, either via read-only link or collaboration invite which allows
others to graft your shared hierarchy to theirs. It has well-considered
keyboard shortcuts.

Most importantly, the search is intelligent and works instantly... even across
my 100,000+ nodes.

My entire life is in Workflowy. I am thrilled to pay for my annual
subscription, because the value I receive is outrageous.

~~~
lethologica
Workflowy looks quite interesting. Could it be used to store in-depth
knowledge? My quick play with it on their site looks like it's more of an
outline tool, but how would it go with say storing the information that you
might find on a Wikipedia page?

~~~
pacifika
Shift enter to add descriptions which you paste long form text in.

The issue I’ve always had is not being able to paste images into it

------
rsyring
I've had problems finding a note taking suite that I could really buy into.
There are a few I've used, they all have some pros and cons, but nothing
stands out right now as the clear winner:

* Tomoby:

\- pros: fast, good search, really liked local editing, integrates with quick
launchers like Gnome DO and Albert which I found essential for quick
references, especially programming and Linux commands which, when I want them,
I want them NOW. type: "<ctrl>+<space>grep examples" and have a reference to
my most frequently used patters in 1 sec is SO helpful.

\- cons: sync/mobile solutions are hacky, no longer maintained, Ubuntu 19.04
removed it, not encrypted, Copy & paste to/from other apps (Thunderbird)
doesn't work like you'd expect, formatting is not preserved.

* Evernote: meh...used it for a couple years. Liked multi-device support. Their web client wasn't that great and they didn't have a Linux client. I paid for it and put maybe 100 notes in it, but eventually stopped using it and converted back to the free version.

* Dropbox Paper:

\- pros: nice editor, have the basics right, integrated with Dropbox which I
already use, so no additional cost, good mobile client, really easy to share
notes with groups of people (family) or one-offs to others with a link.

\- cons: some bugs and bad UX still, no encryption (but Dropbox already has
most of my files so I've already sold out a bit to them I guess), loading a
browser tab is just slower than the Tomboy UX described above...I find I like
using Paper for longer docs or things I'll access on mobile, but it's just not
a good replacement for those quick notes that when I want them, I want them
NOW!

I've tried a number of other ones over the years, never really found a sweet
spot. I actually think something like Tomboy is really the best note taking
app, but for it to really thrive, it would need better options for mobile and
note sync than Tomboy ever had. Adding end-to-end encryption and sharing would
also be great.

------
quickthrower2
I think a public GitHub in markdown format is a wise choice. Firstly markdown
can look nice but will always be readable using cat (not what cats for but
leaving that to one side...), so there is the longevity factor. Using github
means you’ll probably have a local copy, and you can subject the repo to your
normal backup procedures. But you also have another backup in Github itself.
Finally making it public will encourage you to curate it and keep it up to
date and not blasé delete old stuff (and git protects you from that too
because a force push is required to really delete something). Most importantly
it’s easy - open any editor and start writing, then commit ‘n’ push when done.

------
cameron913
I keep a personal library (of physical books) for this reason. People often
underestimate the value of spacializing knowledge. I write in the margins,
mark them up, and leave scraps of paper with notes. Then I put them on shelves
in broad categories - for me that’s things like architecture, design,
technical, photography, philosophy. The result is a system thats’s easy to
retrieve from, and importantly, easy to browse. The spines become symbols for
collections of thought. I have yet to come across a piece of software that
more effectively facilitates drawing inferences and connections from deep
material. IMHO everything else can be found on Google.

------
orpheline
I'm usually in a terminal, so I use vimwiki
([https://vimwiki.github.io/](https://vimwiki.github.io/)) - it supports
markdown, adding pages is trivial, and vim tags or CLI tools like grep makes
it easily searchable.

It lives in a private NextCloud instance, so everything's available from my
laptop or phone (although editing markdown on a phone is no fun).

Edit - this is great for detailed note-taking; I also use a custom command-
line tool to capture ad hoc notes, ideas, and suggestions without opening vim.
They go into a YAML file right now; tooling in process to pull them directly
into the wiki, so everything's in one place.

~~~
dngray
> _It lives in a private NextCloud instance, so everything 's available from
> my laptop or phone (although editing markdown on a phone is no fun)._

Have you tried Markor?
[https://github.com/gsantner/markor#screenshots](https://github.com/gsantner/markor#screenshots)
I have found that it's a pretty good Markdown editor for Android. It's
available in F-Droid too.

~~~
orpheline
Thanks for the suggestion - I'll give it a look!

------
moasda
I wrote my wiki server [1], as I was missing a proper freeware at that time. I
run one instance at home for my private stuff and one on my office computer
for confidential infos related to work.

The wiki stores pages in simple text files that are easy to backup, it
automatically calculates birthdays of my contacts (stored with semantic
annotation in an XML style), and provides an Android App to synchronize all
pages on a mobile phone. Many wiki pages are organized hiararchically, but
most times I use the full text search.

Technically it runs with Java on any OS, and has a built-in web server.

[1] [https://moasdawiki.net/](https://moasdawiki.net/)

------
nikivi
I have a wiki I keep on GitHub rendered with GitBook.

Here is my workflow of editing and publishing it:

[https://wiki.nikitavoloboev.xyz/other/wiki-
workflow](https://wiki.nikitavoloboev.xyz/other/wiki-workflow)

------
dmortin
The most important for me is quick storage and retrieval, so everything must
be keyboard based. To make a note, I press a global hotkey, an editor window
pops up, I write the note then close the editor with a hotkey.

It makes it very seamless to make new notes.

And for retrieval I press another global hotkey, a prompt pops up, I start
typing and it immediately lists my matching notes (the search query can find
the typed words in any order of course), I select from the list with enter and
the note is displayed, and can be edited too if needed.

So finding something takes usually at most 5 seconds (pressing the hotkey,
typing, selecting). A mouse-based system could not beat this efficency.

~~~
jackric
Would you please explain the components of this setup? Hotkey tool, window
manager, search tool etc? Thanks

~~~
dmortin
Above I only described the general concept which can be implemented with
various tools.

I personally use Autohotkey on Windows for the global hotkeys which when
pressed activate my running emacs for new note or search (I use orgmode in
emacs for notes). And for searching I use the org-rifle package.

------
maga
Evernote. For KM, I keep notebooks labeled:

\- Excerpts (for summaries and excerpts from books and articles)

\- Snippets (for code snippets, formulas, etc)

\- Reports (for results of research on a subject, e.g. learning new API)

\- Papers (copies of research papers)

Dividing notes in such a way also helps to review them with varying frequency.
For example, snippets get outdated often (e.g. workarounds for bugs or
polyfills) so I have to go over them more often. Reports get updated as I
learn new things about a particular subject that has its report. Excerpts are
updated only if I decide to re-read the material they cover and extend them.
Papers last as long as I'm interested in subject.

------
spiralganglion
Twitter Favs and Safari Reading List (iOS and Mac) • to quickly capture items
I’ll want to revisit in the future. For instance, I added this HN discussion
to my Reading List, so that I can later review the other suggestions and try
them out.

Drafts (iOS and Mac) • quick thoughts I want to bang out before they dissolve.
Drafts is focussed on being the fastest zero-to-blank-page experience on iOS,
which makes it very handy for rapid spur of the moment universal capture.

Quiver (Mac) • I periodically review the above two, and catalogue them here
for long term storage. There’s no structure to review, this is just my brain’s
external HD.

------
skorbenko
I use NVAlt with a quite complex tagging method. All in all, I guess you could
say that it is a Zettelkasten notebook. [1]

[1][https://zettelkasten.de/](https://zettelkasten.de/)

~~~
qnsi
If anyone is interested in developing zettelkasten app based on keyboard
shortcuts + vim hit me up at artur (at) qnsi.io

I want to open source it in the future. It is electron app soon to be written
in typescript

------
senorsmile
Yes, I use checkvist. ANYTHING I find mildly interesting goes into this list.
This is great for when I come to something that I need to research or want to
start going deep into; when this happens I've already accumulated dozens of
links and bits of data to follow up with. As of the time of writing this, I
have over 6000 unique links or bits of info. It's all organized by fairly
arbitrary naming that I sometimes change.

E.g. my top levels are: \- server administration \- networking \- programming
\- telephony \- science \- mathematics \- culture \- management \- job search

------
blindstargazer
Yes, I write on little journals, I have almost 6 yrs doing it and I have a
little box full of them, It isn't organized but it's always nice to look
through when I'm searching something.

~~~
davegauer
I do this too with the little journals. Started in 2011 and am on journal #72
at the moment. They still fit in a shoebox.

My secret is to transcribe the journals to text files. Then it's searchable,
too!

A frequent (daily) transcription process also yields other benefits such as
being an intrinsic reminder system.

------
osrec
I use adoc or markdown files in a personal git repo that I host on my own AWS
instance. I use gitolite to manage access to the repo and even keep a version
on my phone/tablet.

Works pretty well and is rather cheap.

------
ravenstine
I stick everything into Notes on macOS in an unstructured way and just use the
search function to go back and find stuff. I also use Trello for more
complicated things, but use that way less.

~~~
lethologica
Notes would almost be perfect but the lack of being able to hyperlink between
notes easily makes it a non starter for me unfortunately.

------
tmaly
I have give a lot of thought to this. I bookmark a lot but its always hard to
find information later on when you need it.

I came up with my own mental model “Make Knowledge Actionable”. With that, I
find it is important to align knowledge you are saving with your goals. This
means that someday I might need it knowledge should be kept in a different
spot.

If I have some time, I have thought to build a system that lets me find
information via mind map and different categories of abstraction.

~~~
jsilence
I partly misuse Zotero as a bookmarker that does offline copies, indexing and
gives me the possibility to categorize and tag.

------
mark_l_watson
For years I used Evernote but give it up a few years ago.

Now I use a combination of org mode, PDFs and miscellaneous document types
replicated in both Dropbox and Google Drive, and on macOS the system search
finds things. Dropbox search only hits file names, Drive search is more
useful.

In addition to my own notes, I collect PDFs of good papers, copies of books I
have bought, etc.

EDIT: forgot about Google Keep and Apple Notes - sometimes use for specific
things like vacation travel notes

------
jamieadams
I use DevonThink. It's an incredible piece of software.

I have a database for 'research' where items are stored according to the Dewey
Decimal categories (no particular reason for choosing this other than it's
well organised and well documented).

I then have a separate 'memex' database which contains my journal and other
miscellanies.

DevonThink has a rudimentary AI system which attempts to link documents by
context. I find it quite useful.

------
brad0
Notable is a great free markdown editor on GitHub. You can import regular
markdown or Evernote files. All the files are stored in one directory and are
grouped by tags. The tags can be hierarchical if you’re looking for that. Most
of the time though the regular file search does great.

I find myself making so many small notes of how I did things at work or with
AWS, zsh etc.

It’s a really powerful system while simple at the same time.

------
sireat
A student of mine led me to an interesting note taking application:

Cherry Tree
[https://www.giuspen.com/cherrytree/](https://www.giuspen.com/cherrytree/)

It was quite impressive on the variety of notes and document types it was able
to organize.

Also seemed to have good support for outputting in various formats.

CherryTree is positioned as an open source alternative to OneNote.

------
TheCapeGreek
I've found markdown + VS Code/whatever editor perfect for it. You get full
directory traversal with its system and get to view the files in a formatted
way (even if the formatting marks are still there) while being able to edit on
a whim. I'm considering git for it as well. You can also cloud sync your
folder to other devices on any number of providers.

------
bfly
I am using Joplin for all my knowledge articles and notes. Available for all
main desktop and mobile OS's. Great Evernote replacement with good Webclipper.
Notes can be edited in Markdown. Syncing to Nextcloud, Dropbox, Onedrive,
Webdav. And fully open-source. Currently a few 1000 notes, searchable or
browsable via notebooks or tags.

------
Ultramanoid
I seem to be posting this every single day now...

[https://tiddlywiki.com](https://tiddlywiki.com)

------
LeonB
I have a public one: til.secretgeek.net where I’ve posted hundreds of little
technical things I’ve learned. Uses gitbooks.

Plus a public wiki where I posted things I’m interested in:
wiki.secretgeek.net

Also have private places where I store things I learn that are business
confidential etc. As well as a password manager for the most protected things.

------
AndrewKemendo
I've been looking for something similar to a browser history, but it actually
snapshots the text/images for each page so that I can search it. Ideally it
would be OSS, self-hosted and cross platform so that it can feed a repo from
desktop web and phone.

Seems like something as simple as a firefox add-in would be useful.

~~~
encima
Memex by World Brain does this pretty well. Open source and stores all your
browsing with great search. Can tag and highlight pages, as well as back up to
cloud services

~~~
AndrewKemendo
That's perfect thanks!

------
zzo38computer
I use books (writing by pencil) and also plain text files on computer. This
works fine for me.

------
MichaelTheGamer
LOL! Yeah, in my browser bookmarks! It...Is...A... MESS! I basically have it
in typical outline form: I.A.1.a.i.,etc., without the I.A...headers, but
rather, titles. I noticed the other day that I have 3 different Linux Main
chapters, 4 Tutorials Main chapters...and suddenly, an epiphany. It reminded
me of my brain: a lot of things in there, but a real pain to try and find. And
those mind- mapping apps? Why? They don't have any semblance of order either!
They looked like the web from a spider whose all 4 pairs of eyes are crossed.
I am trying to brainstorm, but then my ears fill up with water from the storm,
and those tiny lightning bolts are painful! I will figure something out. Oooh!
Time to go play in traffic! Momma says it's good for building up my reflexes!
K, bye! ~MJC

------
rofrol
Here is mine
[https://github.com/kisswiki/kisswiki/tree/master/src](https://github.com/kisswiki/kisswiki/tree/master/src)

A lot od topics

------
eirannejad
I use Notion.so and my second brain. I used to store all this info in markdown
files spread across many folders. The most important tool that Notion has for
me is a quick search over all this data.

------
halfimmortal
I use Google Keep and add all my personal learnings under a common label -
<name> Wiki. Google Keep has excellent search capabilities too so easy to find
what you're looking for.

------
rbritton
I really like Quiver
([https://github.com/HappenApps/Quiver/wiki](https://github.com/HappenApps/Quiver/wiki)).

------
matonias
I am currently experimenting with Notion, really well done knowledge
orgination, but not open-source and paid... so long term might be hard. Anyone
has any experience with Notion?

~~~
chachan
yes. Actually I don't mind to pay if that's something that will help me to
keep my mind organized so I can minimize brain mistakes

------
rootsudo
I actually do use onenote, and it's great.

Github would be better, actually....

------
purplezooey
I saw somewhere that Woody Allen keeps a bin full of pieces of paper that have
1-2 sentences of a possible plot of a movie, just throws another one in when
there's an idea.

------
max_
Yes, I started one a few months ago at
[https://github.com/as1ndu/notes](https://github.com/as1ndu/notes)

------
asheikh
I use google keep
[https://en.wikipedia.org/wiki/Google_Keep](https://en.wikipedia.org/wiki/Google_Keep)

------
asheikh
I use google keep
[https://en.wikipedia.org/wiki/Google_Keep](https://en.wikipedia.org/wiki/Google_Keep)

------
hiroshi3110
Try [https://scrapbox.io/](https://scrapbox.io/) This is a cloud service. A
kind of wiki, but easy to edit.

------
colechristensen
boxes of university notes losing their meaning year by year

and evernote, where I occasionally drop ideas, save snippets of code or
commandline pipelines along with snipped articles from the web usually recipes
or long form articles

I would benefit from doing more

More short term I write whatever is happening on especially long narrow ruled
legal pads (8.5 x 14) which often still contain lots of information after a
few years

~~~
MoZeu
It is comforting to find I am not alone in this.

------
homero
Definitely i use [https://knowlocker.com/](https://knowlocker.com/)

------
saagarjha
Notes for things I want to jot down. Things that are code end up in projects
that I periodically refer back to.

------
yskchu
I'm using Selfhosted Atlassian Confluence - they have a $10 starter license
which works nicely for this.

------
mthoms
It doesn't quite tick all your boxes but I've been really impressed with
Typora for this purpose.

------
saddington
yes. i do this every day on my personal blog. i highly recommend it. i've been
doing it for 18+ years, every day. publishing something... anything.

[http://john.do/first/](http://john.do/first/)

------
zakshay
VoodooPad, with web export.

------
polyterative
I do. Primarely using Trello and Gitbook for my Encyclopædia Universalis

------
jmakov
Tiddlywiki

