DEV Community

Cover image for How I remember everything I learn
Aurelio
Aurelio

Posted on • Originally published at aurelio.me

How I remember everything I learn

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.

Screenshot from a Quora answer

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

Collapse
 
syntaxseed profile image
SyntaxSeed (Sherri W) • Edited

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.

Collapse
 
tmpou1 profile image
Thomas P • Edited

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 :

  • on-the-fly-post : they are short and timestamped (ex: 20201104093430-rails-6-1-new-features.md).
  • a few posts for main themes: ex: docker.md. I use them as an index even though the research tool could make this kind of posts useless.
Collapse
 
ayaan911 profile image
Ayaan Ahmed Shohan

Its incredible and I love the way how user friendly it is.

Collapse
 
ctsstc profile image
Cody Swartz

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 😂

Collapse
 
aurelio profile image
Aurelio • Edited

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!

Collapse
 
ctsstc profile image
Cody Swartz

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 : \

Collapse
 
joellau profile image
Joel Lau

for the record, i want to know more about this too!

Collapse
 
akaaki157 profile image
AKAAKI157

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

Collapse
 
aurelio profile image
Aurelio

Exciting! Let me know how it goes, fingers crossed!

Collapse
 
jsheridanwells profile image
Jeremy Wells

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.

Collapse
 
pedrocarrasco profile image
Pedro A. Carrasco Ponce

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.

Collapse
 
hellaren profile image
Anton

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!

Collapse
 
aurelio profile image
Aurelio • Edited

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.

Collapse
 
hellaren profile image
Anton

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" :)

Thread Thread
 
aurelio profile image
Aurelio

Wooops, you are right! 100% wrong link, fixed now.

Collapse
 
ianturton profile image
Ian Turton

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.

Collapse
 
rad_val_ profile image
Valentin Radu

In other words, a modern-day research journal? 😜

Collapse
 
jessyco profile image
Jessy

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)

Collapse
 
karawitan profile image
karawitan • Edited

obsidian.md looks nice. One question though, which LICENSE is it shipped with ? (did not find it browsing to gh/obsidianmd ...)

Collapse
 
ianturton profile image
Ian Turton

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.