How To Learn And Remember Things Effectively

As a learner, a challenge I regularly face is to make sure that I comprehend what I am learning and don’t forget them.

Haven’t we all had that experience where we couldn’t recall something that we had learnt a while ago? Don’t we all wish that we could remember everything we wanted?

There are two techniques and a tool that I use to remember things, and learn things at the first place.

Learn Actively

The idea is to actively read and understand things. One of the best ways I find to learn actively is to summarise what I just learnt and note it down in a file.

If you can’t explain it simply, you don’t understand it well enough. 

— Albert Einstein

For example, if I am watching a video, I summarise it at the end in a few key points. This helps me make sure that I clearly understand what it’s trying to convey, and keep my enthusiasm and energy alive.

Another advantage of summarising is that it helps me maintain a database of all the things that I have learnt in each topic which is helpful for later reference.

Revise

Your memory is a monster; you forget — it doesn’t. It simply files things away. It keeps things for you, or hides things from you — and summons them to your recall with a will of its own. You think you have a memory; but it has you!

— John Irving

No one turns out a perfect leaf of their book on their first try. Concepts learned will be forgotten, acquired skills will be outdated; be it a simple motivational quote or a hard skill, revisions are always a good idea. But it’s not feasible to revise everything all the time.

A year and a half back, I stumbled upon this interesting graph about the rate at which we forget things.

When we learn something for the first time, it has low retention time. If revised once, this time increases, and if revised once more it further increases and so on. So, as the number of revisions for a topic increases, we can increase the time gap b/w two consecutive revisions for that topic. This concept is called as Spaced Repetition. I model this time gap as an exponential function of number of revisions:

time gap = 2^r where r is the number of revisions

So, if I learnt something today, I would revise it today, then after 2 days, then 4 days after that i.e. 6th day, 8 days after that i.e. 14th day, and so on.

Revision days: 0th, 2nd, 6th, 14th, 30th, 62nd, …

In other words, today I would revise what I learnt today, 2 days ago, 6 days ago, and so on.

One interesting thing to note is that it takes hardly any time to revise as compared to the time taken to learn something for the first time. It rarely takes me more than 2 minutes to revise for a day. So if we do a 10–15 minute revision every day, we could revise for ~7–8 days which would almost cover a year of stuff.

Feedback

It’s a Linux shell based tool that I use to facilitate active learning and timed revision, and maintain a database of the things that I have learnt. It maintains a directory for each day, and these directories are organised in a year/month/date/ hierarchy. Each of these directories contains a few default files, which can be configured. As a reference, I use two files, index and todo, where index is the place I store the things that I have learnt.

In short, it provides an organised way to store and retrieve information, revise it, and search in it if required.

Relevant Commands

fb show — It open files for the given date. If the date is not provided, it will open files for the current day. Date can be provided in different formats, mentioned here.

fb show -c  — It will simply open a file at ~/.feedback/Custom/. This feature is a good replacement for cases when you need to store information for particular topics like for a project, a technology you are learning, etc. As a reference, I have following custom files to name a few: ideas, movies-to-watch, blogs/feedback, books/black-swan, etc.

Note that it comes with tab completion feature so that you don’t have to remember and type complete file address.

fb revise — It will open files corresponding to the days you have to revise

fb find - It will search for the given string in all the feedback files. For eg, to search for “bash”, run: fb find bash

If you want any feature or have any suggestions, comment it, raise a ticket, or better, submit a pull request here.

If you liked this article and are interested in learning more about spaced repetition, check this article by Mattan Griffel, CEO and co-founder of One Month.

Special thanks to the editors, Sharvil Katariya and Rohit Roy.

Thanks for reading!

Check the Archives for more.