Live data from Hacker News

Self-teaching, spaced repetition, and why books don't work

dwarkeshpatel.com

101–110 of 154 posts

Re: Self-teaching, spaced repetition, and why books don't work

#101
post #24
post #6

Earlier quoted context omitted.

I had the opposite experience. If something's easy to remember, I don't need Anki. If something's hard to remember (I really struggle with birthdays, for example), even Anki doesn't help! The cards all end up as "leech" and Anki stops showing them to me. (I found this behaviour amusing, since the whole point of using Anki is to help me learn things that are difficult to remember!) They say if a card is ending up as a…

Learn the month and day separately?

I did consider this, especially since the few that I was able to memorize didn't help me remember the birthday on time. So perhaps a more useful association would be:

[month] -> [list of important birthdays]

Re: Self-teaching, spaced repetition, and why books don't work

#102
post #9

Earlier quoted context omitted.

When learning new programming concepts, I would often have to learn them 5 or 10 times before they clicked. Once they clicked, they seemed completely obvious, and I couldn't imagine what it's like to not understand it. Two mathematicians are discussing a theorem. The first mathematician says that the theorem is trivial. He then proceeds with two hours of exposition. At the end of the explanation, the second mathemati…

I remember this having been my experience with teaching myself to code as a kid. All I remember is initial endless frustration from having to re-read tutorials and documentation and still not understanding anything. Then at some point I can't remember, everything clicked into place and I can't understand why I didn't understand it before. Once I had those basics down, I haven't had that kind of struggle. I went throu…

This describes me as well.

I’ve started to call it paying the “time tax” or “staring tax”, I have to just review tough concepts (code, concept, leetcode solution, math problem) for a long while before it eventually clicks.

Re: Self-teaching, spaced repetition, and why books don't work

#103

Spaced repetition is underrated. I still remember a lot from my cards despite not having studied them for years

Pimsleur is my favorite system for learning foreign languages, based on spaced repetition. I'm a casual tourist, who likes to pick up some rudimentary language skills before travel. There are many of us; we understand the importance of smiling at our hosts and getting the words out while more formal learners are stalled in self-induced aphasia. For us, the design of spaced-repetition systems misses a crucial point: W…

I was wondering about the usefulness of spaced repetition for language (both natural and programming). I thought of analyzing a language for how frequently tokens appear in it (or vocabulary for a human language) and then prioritizing those cards first, and making them appear more frequently... then I realized, reality already does that for you, automatically!

(On the other hand, Pimsleur is great, and taking a systematic approach to "100%ing" the "core" of a language is probably a great idea.)

Re: Self-teaching, spaced repetition, and why books don't work

#104

Yea, it's always bugged us that we learn the way folks did hundreds of years ago. Which is why we built https://www.munkle.it the way we did and focused on speed of review. I used to not like the feeling that spaced repetition did (it's always in that slightly hard stage) but apparently that's what helps you remember.

I can't tell (neither from the website, nor from using it) how this is different from any other flashcard software?

You mention you focused on "speed of review". How did you do that?

There are apparently no hotkeys? (My speed of review is therefore lower than Anki, due to needing to use the mouse.)

Re: Self-teaching, spaced repetition, and why books don't work

#105
post #9

Earlier quoted context omitted.

When learning new programming concepts, I would often have to learn them 5 or 10 times before they clicked. Once they clicked, they seemed completely obvious, and I couldn't imagine what it's like to not understand it. Two mathematicians are discussing a theorem. The first mathematician says that the theorem is trivial. He then proceeds with two hours of exposition. At the end of the explanation, the second mathemati…

I remember this having been my experience with teaching myself to code as a kid. All I remember is initial endless frustration from having to re-read tutorials and documentation and still not understanding anything. Then at some point I can't remember, everything clicked into place and I can't understand why I didn't understand it before. Once I had those basics down, I haven't had that kind of struggle. I went throu…

> keep working and at some point it'll just click for you

Haha, monads still haven't clicked for me despite knowing F# and Clojure pretty well. I think of them as "functors that you can flatten" (and functors are "things you can `map` over", and `map` is "a structure-preserving transformation"). I know monads syntactically, but not intuitively. Despite this I still manage to work with monads pretty well - sometimes rote knowledge is enough. Maybe if my work involved discovering new monads I'd feel like I'd know them better. (I just see the same option/list/result(ish)/generator-style monads over and over.)

Re: Self-teaching, spaced repetition, and why books don't work

#106
post #36

Earlier quoted context omitted.

> have been the standard for learning many topics for hundreds of years That means very little, history is littered with awful standards used for centuries, there is no magic that translates longevity into greatness > They have few technical problems Hard to bookmark (and find what those are for later), hard to search, hard to annotate (and search those later), hard to edit, hard to embed rich/dynamic content, hard t…

Boomkarking a physical book is super easy and a lot more intuitive and easy to use than an eBook version. Some books come with one or two strings built in that can be used. Mostly to track where you are in the book right now, and the other one for something you find important. Then there are thousands of different bookmarks you can buy as many as you need. You also have adhesive-colored tabs you can use to mark whate…

You're describing a bunch of variations is a primitive unsearchable design, there is no value in that sticky richness related to the issue I've described

How do you group all the bookmarks that are related to a given topic? Use a specific bookmark color? How do you then change the whole group? Or, physically go to every single bookmark and change it to a different color? How would you list all paragraphs you've bookmarked together (let's say you want to track a story of a given character interaction with another one)? How do you add longer custom text to the bookmarks? Physical ones don't have enough space for your questions that you'd later like to go back to to find answers to

I mean even in the most trivial case- using a string to track where you are: why is this even needed when a computer can do the tracking automatically? Also, that string only tracks 2 pages, not the exact point in text

Indexes are also not great, they're slow to use, usually incomplete (so any primitive full-text search would beat them), and uneditable by the reader, so don't reflect

"Take a picture" is a laughable suggestion, why would I also need to waste time to OCR "to do whatever I need" when I could start with a better format in the first place?

Re: Self-teaching, spaced repetition, and why books don't work

#107

Earlier quoted context omitted.

As someone also building an SRS product, why did you decide on Python as your initial market? I genuinely feel like programming is best learned by _doing_, and thankfully it's pretty easy to practice writing Python. I feel like a better way to learn Python is to introduce a concept/word, and give a playground where the student can play with it.

Many reasons, most of them hypothesis. For one, the book "The programmer's brain" says that spaced repetition is the best way to learn the syntax, idioms, caveats of a programming language, but it's hard to find a product that offers this. I don't suggest you should learn Python _only_ with python.cards. I assume every python.cards user will be doing some online course, or working with Python, and my decks will just…

> the book "The programmer's brain" says that spaced repetition is the best way to learn the syntax, idioms, caveats of a programming language

Unfortunately, hard disagree. The best way to learn a Lisp is to write Lisp. You can look at code all you want, but you won't get used to the syntax/parens until you start writing it. Same applies to non-Lisps.

> I think a lot of people program in Python but programming in Python is not their main occupation. These people struggle to accumulate knowledge, because they may encounter concepts or APIs only from time to time, and by that time they already forgot.

This is a great point. Static typing is great for API discovery, which Python sadly lacks. However, I wonder how much LLMs are eating this "low-code" market. Also, if Python is non-critical to their jobs, I suspect that they won't feel motivated to explicitly study Python over the long term. Doing spaced repetition is famously hard, and non-motivated people will likely give up and just do "JIT learning".

> Also, I want to cover some "unorthodox" topics for which spaced repetition may be specially well suited. For example, I'm building a deck called "A tour of the standard library", where you can learn all the modules that are available, just so you know what is out there, without going deep into it.

FWIW I'm learning Rust, and to "learn what's out there" I've just been binging random Rust videos on Youtube at 2x over lunch. Granted I'm an experienced dev and I have an intuition as to what "should" be out there, so perhaps this story is of limited use.

Re: Self-teaching, spaced repetition, and why books don't work

#108

Earlier quoted context omitted.

I used to require this, but after having spent many years programming this stopped being the case. I've reached the point where i can see a new abstraction and usually immediatly understand it, regardless of language.

Has your career taken you across many different programming paradigms? A C programmer with no experience in concatenative or, especially, functional languages will have little chance of understanding code written in Forth or Haskell. They will have to start at the bottom of the learning curve. The differences between languages aren't just skin-deep. Same goes for the design patterns in those languages. Haskell's appl…

> Forth or Haskell

You're not wrong, but those don't crack the top-10 of in-demand languages. Enough functional paradigms have also crept into more popular languages that you wouldn't be completely lost.

Re: Self-teaching, spaced repetition, and why books don't work

#109
post #33

Earlier quoted context omitted.

Not everything is hard work. Some are smarter (or better equipped) than others. You can spend an eternity teaching me math and still won't be able to accomplish anything. It's almost like different people exist and they have different skill sets and interests.

Unless you have a specific learning disability, I refuse to believe that you are unteachable. Maybe you have zero interest (in which case, of course you won't learn). That's fine. Maybe abstract reasoning doesn't come as natural to you as it does to others, that's possible. But we know how plastic the brain is. Given enough time and dedication, you should be able to learn things - certainly not PhD level stuff, but t…

> Maybe you have zero interest (in which case, of course you won't learn).

Quoted sentence does a lot of heavy lifting in your reasoning. Being intrinsically interested in something is integral part of learning. And, yes, obviously for people who have zero interest in subject it will act as "specific learning disability". I know this because I tend to be interested in programming-related subjects and, consecutively, capable of learning them, but I could never muster any interest trigonometry or calculus homework. I've also known multiple people who felt the same way about debugging their software development homework - they weren't interested and hated every second of it.

Re: Self-teaching, spaced repetition, and why books don't work

#110

I typically have a low opinion on rote memorization, I remember years ago at university my roommate swore by his note cards (physical index cards at the time) while I strongly maintained the need to build up intuition around the math and physics I was doing. He was in med school and I was in engineering, but I felt that the memorization while successful at least for him, was limiting in terms of potential innovation.

I was listening to a podcast with someone who went from BS/Mechanical Engineering => MD. He had to give up his "first principles" style of engineering-thinking and just accept that rote memorization was the way to go, at least for the majority of his courses.

I disagree that rote memorization limits innovation in the medical field. Biology has complex problems, and "For every complex problem there is an answer that is clear, simple, and wrong". There's a reason why so many clinical trials fail, and it's not for a lack of technical innovation.

I feel like the medical _system_ as a whole needs systematic/organizational disruption, not technological disruption. For example, CGMs are a technology that have been around for decades and only now are we seeing usage in non-diabetic populations. The system (they require a prescription) is preventing the innovation.

Post reply on HN