|« Nothing to hide?||The helpful thing about Linux.. »|
Thu, Jun 06, 2013
The trouble with the human brain is, like Haskell, it makes a virtue out of laziness.
It doesn't want to put any effort into remembering boring, unnecessary things. So if something seems unimportant, it gets lost. And if it's easier to remember where to look something up than it is to just remember it, then that's what your brain will do.
Seriously - look up "memory offloading"
I'll bet there's loads of things people could ask you that you'd answer "I don't remember, but I know it's in this book/wiki page/google search"
This is all well and good for many things, but it's a PITA when you actually do want things to stay in your brain instead of just filing a reference to it.
I find this to be a big problem with learning new programming languages. I can get so far into a book, but then life interferes and it's a while before I can get back to it, and in the meantime I've forgotten damn near everything other than "It's explained in that book"
This makes it very hard to make progress - life means interruptions, and interruptions means forgetting.
I needed to find a way to stop forgetting if I wanted to get anywhere.
I tried taking copious notes. But if you don't keep reviewing the notes, you forget them - your brain just remembers "Oh yeah, I made a note about that". And if you DO review them, you get bored of them and stop bothering. And then you forget them.
I tried mind maps, coding exercises, code examples.. nothing worked.
And then I tried a flashcard program.
It's exactly the same process as making notes, only instead of writing them on paper, you write them on your computer in Q&A format.
And then every day, you run through them.
Still sounds like notes, right?
The advantage is, you only get prompted with the questions you're likely to need reminding of - each time you get a question, you get to say how easy to remember it was. And the better you remember, the longer you go without a prompt. So instead of pages and pages of notes where you have to wade through all the stuff you know to find the nuggets of useful stuff you've forgotten, you just get a few questions to refresh your memory each day.
And if you miss a day, you just catch up the next day.
I went with Anki - runs on Linux, and has a free app for Android. Which meant I could read my ebooks on my PC and make the new cards with a decent keyboard, then sync to the cloud and review on my phone or tablet.
And it works really well. I didn't realize how well until I skipped ahead on my book about C to read about threads, and realized a few days later that I couldn't remember a single thing about it. And then remembered that I had skim-read instead of doing it properly, and had not made any cards yet. I could remember everything else in the book - signals, forking, sockets, pointers - without issue. But threads? Nothing. Not one single fact could I tell you about threads, other than "They're covered at the end of the book."
Flashcards make it so quick & easy to learn that I almost fail to notice I'm using them; but the difference between stuff I've read and stuff I've made cards about is night & day.
Even though I haven't had a chance to look at LYAH in a fortnight, courtesy of the prompts from Anki I can easily tell you that the . does function composition and the $ does function application with the lowest precedence. Which means when I next get time to read some more pages, I don't have to revisit the stuff I've already read to relearn it - I can just get on and learn the new stuff.
If (like me) you've suffered too many times from the pain of "I used to know this.. but I can't remember it any more" or "I wrote this down somewhere, let me drop the task whilst I go hunting through my notes for the vital clue" then I thoroughly recommend giving something like Anki a try.
It's free, and it makes your brain infinitely better at handling interrupts.
|<< <||> >>|