top | item 21332957

Ask HN: How did you build up your personal knowledge base?

324 points| smartis2812 | 6 years ago | reply

I'm looking for a good solution to build a personal knowledge Base. What are your experiences? Which Tool you are using? How long is it in use?

107 comments

order
[+] nikivi|6 years ago|reply
I probably have the biggest personal public wiki at this point. Over 720 files and 13,000+ lines across all the files.

All files: https://github.com/nikitavoloboev/knowledge/blob/master/SUMM...

The way I did it was by treating the wiki as extension of my brain and having a perfect workflow for editing it at a speed of thought. In my case it's Sublime Text + Alfred + some macros.

https://wiki.nikitavoloboev.xyz/other/wiki-workflow

In fact I recently started to use my wiki to host article drafts I am writing.

https://wiki.nikitavoloboev.xyz/fragments

The best thing about having a wiki is the 'in progress' nature of it. Soon I plan to extend my Alfred workflow to access any link inside any of the files in seconds too.

https://github.com/nikitavoloboev/alfred-my-mind

[+] h0p3|6 years ago|reply
Hey Nikita! It's been a little more than a year since we last spoke: https://philosopher.life/#2018.10.09%20-%20Nikita%3A%20Penpa....

I like the way you've got yours set up. I think we have similar mindsets to reasoning about personal wikis. In case you are interested in hunting around, I've run across some personal wikis larger than yours, but not many. Even my own wiki-epeen is about three times the size of yours in ~11k files (wrapped into one) and ~470k lines.

Drafting what will eventually be static content from within the 'in progress' nature of the wiki is hard to beat. Including, this post, I draft many of my communications openly in the wiki, and that has been extremely useful. Lots of odd things come out of the practice.

[+] everyventure|6 years ago|reply
Do you continually update the organisation structure as you go? I've got something similar in Onenote and I always get stuck when I find that a piece of content can appear in multiple places
[+] cr0sh|6 years ago|reply
For those of us without macs or ios - what would you recommend (if anything) for replacement of Alfred for Windows or Linux?

Or is there another kind of application you'd like to be able to use (that may or may not exist yet) in place of Alfred?

Would any search system work for that matter? Could a command line system be used (ie - some form of grep perhaps)? What about something like a "google appliance" style search system (a couple of these exist - both open source and otherwise)?

[+] kevinslin|6 years ago|reply
nice system, i have something similar setup. currently +10k notes, versioned with git and use vim as my primary editor.

currently building a service that can index and query across text based knowledge bases. you can find demo here: http://demo.alphacortex.io

would love to hear your thoughts and talk further about organizing knowledge :)

[+] justbaker|6 years ago|reply
This is awesome! I feel inspired! :D
[+] bengotow|6 years ago|reply
I realize this may not be the place for this comment, but a few of these comments got me thinking.

Human memory is squishy, and that's great. You retain facts + feelings that help you make future decisions and everything else is integrated into smaller and smaller summaries until it fades away entirely. I spent years clinging to every experience wanting not to forget anything, and being horrified when I couldn't remember. I documented everything. I wanted my memory to work more like infinite dropbox storage and less like a tool, evolved over millions of years, to keep me safe and making good choices.

These days, my personal knowledge base is whatever I've bothered to remember. Usually I don't know I've kept something tucked away until I'm in the middle of a conversation and realize it's still there. My memory of events shifts and degrades over time, and I'm fine with that.

If you don't use a tool to document every page you visit and every thing you read or learn, that's completely fine too. It all fades away eventually, and if it remains relevant enough you'll hold on to the important bits.

The real power-up isn't keeping it all, it's being able to change and grow, with just enough focus on the past to make good choices.

[+] Nebasuke|6 years ago|reply
Thank you for posting this, as I had similar thoughts also when reading the last knowledge bank post.

I love learning and will regularly do courses to pick up something completely different, or something applicable to my career.

However, I do think it's okay to allow some of the things I've learnt to fade away. Technology or previous interests become less relevant, and trying to retain everything keeps me too focused on the past, making me feel like I get worse over time, rather than keep a positive learning attitude towards the future.

Also, relearning things I've used a long time ago, because it has now become relevant again, is a lot of fun. The second time I've looked at trigonometry, I actually really enjoyed it.

[+] natalyarostova|6 years ago|reply
Some things remain as well. Such as references to where you learned the thing, the ability to pattern match (Oh this is a problem of form X, which is listed in textbooks A,B and C. I don't remember how to solve it, but I used to. Therefore given that I know I'm capable of solving it, as I've done it before, I know the problem type, and I know where to study it, I'm confident to tell you I can solve it in two weeks."
[+] noobiemcfoob|6 years ago|reply
I can't echo this sentiment enough. Forgetting is just as important as remembering. Past experience has only marginal value to the present and future and can just as often lead you into stray directions. The number of times having a pinpoint memory of some obscure fact has helped is a handful across decades? A bit of obvious bias: I can't really know all the times knowing something I didn't would have been helpful. But I can recall a substantially large number of times I -- in effect -- remembered too much and it was a hindrance.
[+] riazrizvi|6 years ago|reply
Yes I think the Knowledge Is Power aphorism leads mistakenly to a Knowledge-Value-Function K(x) > 0 for any item of knowledge x.

But knowledge value is only positive if it helps you achieve your goal, when recalled. Otherwise the time taken to recall and discard knowledge is a negative. So really optimal knowledge is where you only know what you need to achieve your goals.

[+] fchu|6 years ago|reply
> The real power-up isn't keeping it all, it's being able to change and grow, with just enough focus on the past to make good choices.

Love how you framed it!

[+] stockkid|6 years ago|reply
I have been building and using an open source solution called Dnote [0] for the past two years. Maybe it could help you and others in search for a solution.

I used to write down information in note-taking apps but doing so didn't help me retain more knowledge. The reasons were: (a) no spaced repetition, because I never went back to my old notes once I wrote them. (b) environment switch due to having to launch external apps every time to write a note. Environment switch was especially painful when I was immersed in a complex coding problem.

I solved those two pain points by sending myself an automated digest of my notes every week (spaced repetition on autopilot) and building CLI, browser extensions, and IDE plug-ins to talk to my personal knowledge base so that I don't have to switch environment to put stuff in the knowledge base.

My experience is positive. It has helped me advance my foreign language skills, learn new vocabulary, and retain various technical micro-lessons that I come across during programming.

[0] - https://github.com/dnote/dnote

[+] jplayer01|6 years ago|reply
> I solved those two pain points by sending myself an automated digest of my notes every week (spaced repetition on autopilot) and building CLI, browser extensions, and IDE plug-ins to talk to my personal knowledge base so that I don't have to switch environment to put stuff in the knowledge base.

Oh, this is fantastic, thanks. I'm going to have to look into how I can do this for my own knowledge base. Especially the spaced repetition part.

> https://www.getdnote.com/blog/how-i-built-personal-knowledge...

Btw, this is a great article.

[+] kimusan|6 years ago|reply
I have used dnote locally for a short while and love it. Unfortunately I cannot connect to the "pro" server (company restrictions), so I am running my own dnote server for this. Works very nice except for a few minor bugs (which reminded me to get them reported on github). Any plans to make the browser extention configurable so it can work with a self-hosted server?
[+] igetspam|6 years ago|reply
I'm pretty skeptical of personal projects for things like this but this looks very compelling. Thanks for sharing.
[+] msluyter|6 years ago|reply
I've used Anki for a while, but never very consistently or effectively until recently. Over the past year, I've started doing the following:

1. Stopped trying to categorize cards and just create them all in a single deck (with tags in lieu of separate decks).

2. Whenever I find myself googling something or looking it up on StackOverflow (that's not wildly specific or related to domains I don't really care about), I add a new card for it.

3. Review cards for a few minutes in the morning.

The above has worked rather well. I mostly focus on topics I'm interested in diving deeper into (python, for example) and has helped fill various lacunae in my knowledge.

For broader sorts of knowledge acquisition, I use Boostnote to keep track of interesting notes/articles, but I have to confess I'm not that great at keeping it updated/relevant.

[+] metalliqaz|6 years ago|reply
This is an area that I'm keenly interested in. I desperately want to capture more information about my life both for posterity but also as a power-assist tool for my normal work/life.

I have noticed that many of the solutions here do not really translate well into cell phone use. Most of my life is not spent in front of my own computer. Even though I spend a lot of time at a work computer, it is heavily restricted (defense industry) and thus can't be used for personal projects. Anything I use has to work with my cellphone as a 1st class capture interface.

In my case, I recently decided that I since I am a heavy user of wikipedia, I should just use mediawiki. I'm used to it and it is well supported. The syntax isn't great but it has great API support. They have a decent cell phone interface, though I find that it isn't fast enough for taking notes. So I take quick notes in Evernote and move them into the wiki when I'm at my home PC.

It's working okay so far. I need to put more effort into my workflow. I want to have an automated infrastructure for capturing my various data from social networks, email, calendars, things like that.

Side note: I can't believe we are coasting into the year 2020 and copy/paste is still so friggin bad on my cell phone. Android has had copy/paste from text entry fields for a long time, but I still can't copy text out of most apps. WHY??? Case in point: YouTube descriptions and comments.

[+] mackrevinack|6 years ago|reply
have you ever tried using an outliner such as Dynalist? im not familiar with mediawiki but i used Evernote for a long while. once I found out about dynslist i moved everything over in the space of a few days, even though it didn't have support for in-line images which I used a lot. the speed at which you can jot down notes made me not care about other missing features.

the other benefit of an outliner is that you don't have to worry about things getting unorganised. everything is a bullet point but you can also nest points under each other and then collapse the list or zoom in to focus on a certain point.

with a single page like in Evernote there is only so much you can write before things gets messy. if you want to reorder something it means you can to cut and paste whereas with dynalist you just drag and drop the bulletpoint

heres the full feature list https://dynalist.io/features/full or check out the showcase section in the forum to see what other people are using it for

[+] ColinWright|6 years ago|reply
I use Zim Wiki and have done for a few years now. Simple formatting, files in plain text, easy interlinking, decent search, and I've written some external scripts to work on the plain text files to be able to extract collated documents.

Backed up as part of my usual backup procedures, but only (easily) accessible with the GUI on my laptop. It would be trivial to sync it between devices and use it from multiple locations, but I don't need to.

[+] digitalsanctum|6 years ago|reply
I learn by:

Reading books and taking notes.

Watching videos and taking notes.

Attending meetups and taking notes.

Doing. Specifically, by applying what I learned to small projects.

I collect all the notes and projects in GitHub. It's simple (markdown), searchable, versioned and all in one place.

Oh, and free, portable and highly available while hosted by someone else.

[+] shubhamharnal|6 years ago|reply
Building a PKM ( Personal Knowledge Management ) system is what https://www.buildingasecondbrain.com/ is all about.

I benefited immensely from taking the course. I have no personal benefit or stake in the program.

The author/program does use evernote primarily as the tool but the technique/process/workflow is independent of tool ( I think they do address notion and onenote as well if that's what works for you ).

A brief high-level summary: https://www.youtube.com/watch?v=SjZSy8s2VEE

[+] masnick|6 years ago|reply
I wrote more about my Hugo-based personal knowledge base here recently: https://news.ycombinator.com/item?id=21311156

You can see it at https://maxmasnick.com/kb

Essentially it is a folder of Markdown files with some YAML metadata at the top to define categories. Hugo takes care of rendering the HTML, which is automatically deployed every time I push updates to the ‘master’ branch on GitHub via the GitHub Actions beta. It works pretty well, and allows me to edit on iOS via Working Copy.

[+] h0p3|6 years ago|reply
Tiddlywiki: https://philosopher.life/

About 3 years, and I use it every day. The experiences with the tool are documented in the tool.

[+] bocklund|6 years ago|reply
I am also using TiddlyWiki, but I just use it locally with almost all the defaults and no fancy formatting.

It's a little different than a traditional wiki in that each "page" (called a "tiddler") is not really designed as a "page" that you view, but rather a snippet, which can be of any length. You can link between them and whatnot as in any wiki.

The killer features for me are support for

* code syntax highlighting

* LaTeX math with KaTeX

* adding in media (pictures, screenshots, etc. beyond just plain text)

* creating dynamic/aggregate tiddlers based on tags. For example, the code to create a list of links to all my tiddlers tagged with both `blog` and `ideas` is:

`<<list-links "[tag[blog]tag[ideas]]">>`

[+] knzhou|6 years ago|reply
I use a few giant PDF files that total up to 1500 pages and 600000 words. They are made with plain LaTeX and no special tools. [0]

To me the main choice you make for a knowledge base is the linking structure: do you want just an unorganized pile, a web, something hierarchical, or something linear? In general CS/programming people prefer less structured forms like webs (as can be seen in these comments), while physics/math people prefer the opposite. For example, the Stacks and Kerodon projects are huge collaborative knowledge bases for certain subfields, but they're organized like a standard textbook.

This is partly because physics/math people prefer more stable software, since they don't have time to keep up with or build the latest thing. LaTeX has been stable for decades. Furthermore, the material in physics and math really is more ordered and hierarchical, while CS seems to have a broader, more organic structure from its youth.

I love the linear format, and I'd encourage you to try it too. It requires no special software. It forces you to think about what is most foundational, and how certain insights lead directionally to others -- issues which you can ignore if you give yourself the freedom of a web. And as you move forward to more advanced things, spaced repetition of the more foundational things will happen automatically.

0: https://knzhou.github.io/#lectures

[+] monkin|6 years ago|reply
A year ago, I found a perfect solution for myself. I'm using https://github.com/vimwiki/vimwiki, writing there everything I find useful. From articles and quotes to lose ideas, notes, project information, or todos. It has support for markdown and export to HTML, which I can style however needed.
[+] crazypython|6 years ago|reply
DEVONThink documents can be opened in Vim and supports WikiLinks natively.
[+] bigred100|6 years ago|reply
Read books everyday. Whatever sticks sticks.
[+] rhizome31|6 years ago|reply
Yes and what doesn't stick on a first read may stick when you read about it again in a different book.
[+] pkkm|6 years ago|reply
I've been using a git repository of org-mode files for 5 years. It's currently over 600 thousand words, some of this written by me, some copy-pasted from e-books and webpages. I like this format because it has a multitude of useful features like intra-document links, project planning, tables with formulas, embedded LaTeX, and code than can be run directly inside the document, while being plain-text and very readable even without editor support. To make note-taking as frictionless as possible, I've also added a global keyboard shortcut which commits all changes with an autogenerated message, then executes pull --rebase and push.
[+] 8bitsrule|6 years ago|reply
By way of warning: I was burned several times by relying on proprietary 'solutions' that disappeared (Hypercard, for one). It was clear that I needed a customizable, long-lasting 'free' solution.

For my needs text files were that solution. Indexed entries, with or without HTML, that I can custom-search and display in a web browser. Adding links to great online resources takes little time. Adding 'features' is the other dangerous fun.

[+] nickjj|6 years ago|reply
I have been using plain text documents since 2001.

I just make a new file with a YYYY-MM format and dump everything in there, and on the next month I start a new file. I keep them all in 1 folder.

It's really simple to use and very searchable with grep. I like it because it's all offline and doesn't get in the way.

It becomes a brain dump of interesting links, notes about certain things I'm doing or whatever else I feel is worth jotting down at the time.

[+] mockingbirdy|6 years ago|reply
I split it up into two phases:

1. I use Omni Notes (simple note-taking app) and Bear [1] to write down thoughts and longer texts. And a simple voice recording app [2] for bigger ideas that need more words.

2. After this, I evaluate them and add them to my personal wiki. I’m using BookStack [3] which is the best open-source wiki I’ve found. Every aspect of my life gets its own book with chapters and pages. It’s a pretty straight-forward structure.

I'm using this process for a year and it served me well (understanding life goals, writing down business ideas, structuring knowledge). Next step is bookmark management, I'll probably try out Shiori [4] (was once featured in a Show HN).

[1]: https://bear.app

[2]: https://github.com/dkim0419/SoundRecorder

[3]: https://www.bookstackapp.com

[4]: https://github.com/go-shiori/shiori