Comment by 0xDEAFBEAD

1 day ago

What info did you memorize?

Basic undergrad statistics. This doesn't make me better at doing statistics, but now I can understand things I read. Whereas prior to SR, I had learned the material three separate times - always forgot because of lack of use. SR made it stick.

Algorithms and data structures.

Basics of HTML/CSS/JS. I'm not a frontend developer, but this was enough for me to (mostly) understand colleagues' JS code. And often I would inform him of one of the newer JS features he didn't know of (e.g. null coalescing operator). Does it make me a JS developer? No. But it ensures I'm not useless at it.

Python 3.x new features. Simple things like "Stop using os.walk and use scandir instead".

A whole lot of Emacs keybindings. I was a heavy Emacs user before SR, but this really helped take it to the next level (I now mostly rely on hydras, so I no longer memorize keystrokes, cut I can't deny its effectiveness).

Some amount of elisp.

Probably a whole lot more random miscellany I can't recall right now.

Basically, what it does is let you retain information without usage. Prior to this, I would mostly retain only things I use (or had used) often.

I was in university for over a decade. Took lots of notes. But they're useless if you don't review them. Some years after leaving university I stopped trying to learn anything technical unless I was putting it to immediate use. Why bother if you're going to forget?

SR is what let me get back to studying for fun.

  • I can understand using SR for languages or I suppose geography or history trivia.

    However, how do you use for skills/domains where you have to actively think?

    Like in your Python example, knowing about os.scandir() would be a tiny bit helpful before Pathlib.

    Let's say I put pathlib.Path().iterdir() in my Anki card, what would be the point of that for someone who is happily using glob or rglob?

    What I mean is that for many domains it seems the challenge is what to put on these Anki cards.

    Let's go with another example. Let's say you create Anki card Recall = TP / (TP + FN) for your statistics 101. However knowing why and when recall is important would be crucial instead of knowing bare formula.

    • As I said, they won't make you better at applying statistics (or programming) - just at recall.

      Disciplines like programming, math, and well any technical discipline require both memory and analytical abilities. SR takes care of only the former. The barrier I kept running up against was forgetting definitions and theorems in math - especially if it had been a year or longer since I last used them. This helps mitigate that problem.

      > Let's say I put pathlib.Path().iterdir() in my Anki card, what would be the point of that for someone who is happily using glob or rglob?

      That's for you to answer - if you prefer doing it with glob/rglob, that's fine. For me, the card was "What is a better way to traverse directories/files than os.walk?".

      The next time I reach for os.walk, I'm reminded there is a better way.

      OK, let's be real. It doesn't always work. Perhaps only 30% of such cards lead to actual behavior change. In a typical scenario (70% of the time), I'll get the card right, but using os.walk won't trigger the part of my brain that says "Oh, there's a better way". Still, it's a very low price to get that 30%. And the bonus is if I see someone else's code where he uses scandir, I'll immediately know what it is for.

      > However knowing why and when recall is important would be crucial instead of knowing bare formula.

      Obviously. You'd have to find a way to embed that into a different card.

  • > Probably a whole lot more random miscellany I can't recall right now.

    That made me laugh ;)

  • > Algorithms and data structures.

    how do you frame these cards? I've always assumed something like this would be too information dense to be useful

    • Basic stuff. Dijkstra's algorithm, union find, etc.

      I will note that some cards are basic: A simple recall. Other cards ask for me to reproduce the whole algorithm (a violation of SR methodology).

      All cards that take a long time to answer are stored in a separate deck, which I go through only when I know I have the time to dedicate.