Have you ever been asked this question:
If you could have just one superpower, which one would you choose?
It's one of those questions that can either leave you frozen without any actual clue what to say or you might catch yourself with so many ideas that you're simply overwhelmed by the abundance of options.
Unrelated: the most clever answer to this question I've read is this one by the way.
(not a bad idea, right?)
There's no right or wrong of course, but if you asked me, my answer would be something like:
I would be able to remember everything I learn
I don't know about you, but knowledge retention is easily one the big challenges of my life. I read blogs every day, I watch countless videos, I start (and sometimes finish) a few technical books per year and remembering everything I learnt is outright unrealistic.
There's just so much one can retain of what they read or hear.
What I tried
If you're like me, you've tried them all:
- blogging about it
- highlighting the most important sentences of the books you read
- taking physical notes
- taking notes online (eg Evernote)
- writing summaries of the books and videos you read
- flash cards
- semi-organised (or semi-random), heavy bookmarking with tools like Pocket
- you name it
All these methods have their merits. All of them ultimately fall short for me.
Some worked better than others but I couldn't for the life of me stick to one.
An impossible balance
I felt I was somehow looking for an impossible balance. I wanted a solution that:
- was structured...
- ...but still loose enough so it didn't kill my creativity and the free flow of thoughts that happens when learning something new
- searchable
- low friction, as in, easy to type in, giving me a pleasant, natural experience
- non-existent learning curve (no "new revolutionary tools"). Sorry, I'm busy leaning something else
- easily retrievable, available anywhere
- recoverable if a disaster happens (think about forgetting your notebook on a train, or having it chewed by your dog)
- trackable, I wanted to be able to see my progress through the months, and possibly get some stats, if not for vanity
Turning point
I was resigned to never find a solution for it.
Until one day, I randomly bumped into this
I’ve been extending and improving my personal wiki for 1 year now and it has been one of the best things I’ve done. I found writing blog posts was too high friction and very often didn’t finish things because there is so much you can talk about in any given article. But a wiki is just a living document containing your notes and thoughts on things. I also use it as my public bookmark manager as I collect interesting to me links under each topic.
For my wiki, I render everything to the web first with GitBook. And I have a macro I run that automatically commits any changes I’ve made with Sublime Text on the mac and Ulysses on the phone so everything is super easy to edit and publish.
Does anyone else keep their own wiki here? Or you think a blog is enough for you?
-- Nikita Volobev on Lobsters
And there it was. The sign that the "impossible balance" was actually possible.
From that moment, around 2 years ago, I also created my own personal wiki and it's been my go-to tool for remembering everything I learn.
It's nothing more than a repo on Github, divided in folders with a bunch of READMEs in each of them.
Folders are the main categories, such as databases, Kubernetes, JavaScript, security, regex etc. Each README inside them subdivide the folder into specific topics. Security would have READMEs for JWT, Frontend, Cryptography etc.
Evolution
I initially started with only programming topics but found myself using the wiki to store notes about literally anything I learn in any domain such as music, writing, managing, speaking and writing German.
The structure is not super strict, but still provide some order and thanks to Github searching is absolutely a breeze.
Since everything is committed, I wrote a small Go program to calculate some stats by accessing the git history and generate an HTML page. A Github action runs the script and publishes it to a URL. The page looks - let's say - minimal (it has literally 3 lines of CSS), but it gives me an overview of what I have been learning in the past 90 days. Apparently I've been very much into career development and management as of late.
Giving it a try
I strongly recommend giving this method a try if you're also struggling with knowledge retention.
The investment to start is so low, you literally only need to create a repo and that's it, and you can even fork mine and simply delete most of the folders if you like.
Nikita and I are not the only ones using this method. You can find plenty others for inspiration by going through this long list of wikis.
Cover image by Osman Rana
Top comments (54)
I've been using a personal instance of Dokuwiki for over a decade. It has coding tips in there, useful links, step by step guides on things I don't do often enough to commit to memory (like rare Git activities, bash commands, etc). It has my financial notes & savings goals. To-do lists and phone numbers. Drafts of articles I might write, form emails I use. Timesheets for projects I work on, technical & project documentation. Ideas for Xmas gifts for my kids, confirmation numbers for payments..... EVERYTHING.
Easy to edit. Easy to backup. Easy to search. It's like an extension of my brain. Lol
And since I self-host it, I own my data, won't get a surprise paywall & no ads or sales pressure.
Hey :) Nice article! I personally use Zettlr. It's a free alternative to Roam and you can apply the Zettlekasten method to organize your thought.
I have two kinds of posts :
20201104093430-rails-6-1-new-features.md
).docker.md
. I use them as an index even though the research tool could make this kind of posts useless.Its incredible and I love the way how user friendly it is.
Does anyone remember the guy who made a big query tool for his huge memory collection? I forget what the memory tool is called, it was some old old device someone invented. I think it was showcasing Ember, so it was a while back. It was fascinating because he could verify memories like checking against what the weather was that day to verify it did actually rain according to weather services. Or he had a query language like: music during:#roadTrip2007 with:@friendName
I've been wanting to find that video again, but the irony of my memory failing me 😂
LOL
I never heard of it. This sounds hilarious but also genuinely interesting. Let's see how my Google skills are, I'll try and find it.
If anyone knows it please post a link!
I've tried a few times and had no luck : (
I was wondering if maybe it is in the old Ember documentation or some old ember blog post that doesn't exist anymore : \
for the record, i want to know more about this too!
I am going to give this method a try. I also have multiple Excel trackers/files, journals, notebooks, and files where I keep different items that I learn for reference. I keep creating more and constantly look for where I have stuff. Work in itself. ( ´・_・`) I really hope this works. I will take you on @aurelio and copy your folders as a starting point. Why reinvent the wheel, right? (¬‿¬) My favorite benefit that you listed (I never got into Evernote, tried Google Keep also) is the fact that I can create my own static website of it all. The format looks pretty good too. Wish me luck. ☀
Exciting! Let me know how it goes, fingers crossed!
Over the past couple of years, I ended up doing pretty much the same thing:
github.com/jsheridanwells/dev-scra...
All of the project setups, or configurations, or commands that I can never remember off the top of my head get a markdown file. I ended up putting it all in a big markdown directory after having dozens of Github Gists became too unmanageable. What I like most is that I can just clone the repo onto my work and personal computers and sync my notes that way, or edit it inline on Github.
Thanks for the great article.
I use Obsidian with the diary and zettlekasten plugin. In Android I take fast notes with Gitjournal, this repo is synced with my home PC, and later I read this fast notes and if is needed I put the notes in the definitive notes folder writting the tags and the links, is my beginner zettlekasten learning.
Hello Aurelio!
Thank you for the article.
I usually keep my notes in OneNote and it did pretty good job in terms of organization and search capabilities.
You said that you tried writing blogs and using Evernote for note taking. Would you mind describing what is the advantage of Github note taking (except version control) that made you transition to it from other tools.
It seems like I missed something, because for me it looks like "yet another tool for note taking" and it's hard to see the advantages of this approach.
Thank you!
Hey Anton, thanks for the question.
I answered a similar one here, so i suggest checking my answer there.
All in all, i know this is "nothing extraordinary", these are just text files under version control and a search, but the simplicity of it is one of its advantages. You may want to Google "digital garden" to read a bit more and see more examples.
Let me know if this answers the question.
Aurelio, thank you for the clarification
BTW, not sure if the link you provided is a correct one since it brings me to another post about "managing application secrets" :)
Wooops, you are right! 100% wrong link, fixed now.
I've been building a similar system using foam (github.com/foambubble/foam) which uses github and VSCode as the underlying toolset. But it is markdown based text so I could pull in all my existing notes and code logs very easily.
Now all I need to do is reconfigure VSCode to look and feel like vim and I will be very happy.
In other words, a modern-day research journal? 😜
Please take a look at these "second brain" apps. One I found literally this week while I started feeling this need to start capturing knowledge and organizing is obsidian.md/. It's honestly instantly become my goto for note taking and knowledge base growth. I have what they call Vaults, for work projects, on my personal pc for my personal knowledge base. Back-up happens via OneDrive (for now, prob not the best idea)
obsidian.md looks nice. One question though, which LICENSE is it shipped with ? (did not find it browsing to gh/obsidianmd ...)
obsidian.md/eula - gives terms and conditions.
LICENSES
OBSIDIAN is licensed as follows:
Personal use.
OBSIDIAN can be used for free for your own, private, non-commercial purposes (e.g. taking notes, doing research). The use of OBSIDIAN for the exercise of your own trade or profession for which you directly receive compensation (e.g. team work with colleagues, writing work reports) does not qualify as personal use.
Special personal license.
You have the option to obtain a special OBSIDIAN personal license (CATALYST) that grants you access to early, exclusive OBSIDIAN versions (INSIDER BUILDS). However, CATALYST is not required for personal use.
Commercial use.
If you use OBSIDIAN for commercial use, you must obtain a commercial license. Commercial use is defined as using OBSIDIAN for work-related activities in a company with two (2) or more employees.
Companies must purchase at least as many licenses as the number of people using OBSIDIAN.
For commercial use, you may evaluate OBSIDIAN without a commercial license for a maximum of fourteen (14) days.
If you obtain both a CATALYST license and a commercial license, you can use our early, exclusive OBSIDIAN versions (INSIDER BUILDS) for commercial use.
Non-profit organizations can use OBSIDIAN without commercial licenses.