Has anybody successfully used spaced repetition concepts embodied in programs like supermemo in the context of programming ?
The motivation for this question: I'm increasingly having to look up things I knew.
Reading this Wired piece "Want to Remember Everything You'll Ever Learn? Surrender to This Algorithm" has me wondering if this has worked in practice for anybody. I'm talking about using it to remember programming snippets, keywords, APIs etc so I don't have to browse through "X in a Nutshell" just to refresh my memory.
Update: I think I should expand on this a bit more. Let me illustrate with 2 examples:
- Around 5 years back, I wrote many a Perl program without breaking sweat. I have now forgotten so many of the simple things about writing Perl scripts that the time I'd take to get really productive again isn't worth the simple problem a script solves. Worse yet, I know I'd forget this yet again because it'd be a cursory glance at "Perl in a Nutshell" and the next script-writing opportunity would probably turn up another 6 months down.
- At an earlier time, I knew the C++ STL inside out. Now, I'm spending time going over the intricacies of the STL, the gotchas, the non-obvious mistakes that it's easy to make that could doom my project, or at least force me to spend hours debugging later.
In both cases, I'd spend that little bit extra time & effort this time around, if I knew it'd help me retain this info in future. Probably highlighting APIs and keywords as what I'd like to remember isn't entirely right, but it's not programming concepts either. I can remember those. It's the knowledge that falls in between, the quirks and specialized ways of doing things on a particular language/platform that I'd like to not have to re-learn.
So, has anyone used these techniques to retain this kind of knowledge?