Learning to Learn

(kevin.the.li)

114 points | by jklm 10 hours ago ago

54 comments

  • keeptrying 6 hours ago

    A big hole in this article is that you need to find the very best learning resource there is. This is a must.

    Eg: For RL it would be Barto&Sutton book.

    Sometimes the best source is not intuitive. Eg: The best way to become a safe driver is to go to performance drivign school - its a bit expensive but they tell you how to sit and stay alert in a car which I have never seen outside of these schools.

    One of my most common things nowadays is to ask ChatGPT is to ask to build a curriculum. Creating and understanding what a great curriculum looks like is 20% of the work of understanding a field.

    You can LEARN ANYTHING now if you have the time and inclination and elbow grease. Truly nothing is beyond your grasp - NOTHING. Its a magical time.

    I'm actually building a tool that will do all this for you and get you started down the learning path faster than what we have now.

    And for the curious - the best way to learn medicine is not a textbook. There are solutions out there like Skethcy which work much better for anatomy.

    My own learning project - learn Medicine "on the side". It seems ludcirous that we give up the keys to our health to doctors just so we don't have to learn 2 years of courses. Am going to fix that!

    • johnnyanmac 4 hours ago

      >you need to find the very best learning resource there is. This is a must.

      I think there's a line around "good enough", unless your goal of course is to be on the road to "become the very best". I think the better metric is making sure you have a accurate resource over a quality one. The 15-20 hour "sprint hard" methodology isn't stopping after that first sprint, just slowing down.

      So if you find/can now access a better resource later, just start the sprint again on that. I know from experience (in real time, unfortunately) how easily "find the best resource" can end up becoming "spend weeks collecting resources but not consuming them".

      • Arisaka1 2 hours ago

        The other problem is: How do you recognize what is "good enough" if you lack the skills/competence required to be able to say "this is good enough"?

        For example, I'm a frontend developer who wants to learn backend. And let's say that I chose C# and .NET for this. I can either do tutorials in Microsoft docs and then reach out to Reddit or some other community for resources, to receive the commonsense advice "just build something", and we're back to zero because now the goal is to build something for learning's sake therefore what is "good enough project" to build to maximize gains?

        • johnnyanmac 13 minutes ago

          >then reach out to Reddit or some other community for resources, to receive the commonsense advice "just build something"

          An expert giving bad advice isn't going to help with your curriculum. To give a charitable interpretaion, forums like Reddit are very used to getting mostly Novices coming to ask questions. To the point where even if an advanced novice is asking about how to reach "Competent" level they will still give novice advice. And the best way to climb from novice to advance beginner is to "just build stuff".

          There's definitely an open secret that there's plenty of novice material, and plenty of expert material. But the road to competent and proficient is basically a dead man's land for many subjects. I argue the curve to competent is harder than Proficient and Expert[0]. Such a hard point that you often won't find "best resources" without either education, consulting an expert, or simply work a job in that topic.

          I don't have much better advice if you are seeking resources. But the next step up if you get stumped is to put more effort into finding other experts who will help out. try to email those potentially open to give advice on what to find or what's good/bad. Join communities similar to what domains you want to explore and form relationships. If you are getting to that point, offer to help contribute to projects others are working on.

          [0]: Expert is steeper, but by that point you have a good sense of judgement to figure out what is a good or bad resource to study from. So it's "easier" to learn how to learn by this point.

        • tokinonagare 42 minutes ago

          I'm giving a C# class at a university-like institute (for the first time in my life) and I'm glad I had the time to learn the language while it evolved over the last 15 years. Learning nowadays is daunting because of the size of the language and the N ways to do even simple things. You also need to understand the programming landscape before C# (mostly C and Java) to understand some decisions made by language designers.

          As much as I like learning by myself, sometimes I have to admit that taking (and paying) for a class is the good solution. The way I organize notions for my students would take them months/years to understand by themselves, if at all.

        • neonsunset 2 hours ago

          I understand the struggle but may not be able to offer an exact solution. People usually expect you to just throw something together without structure, but if you don't have preliminary experience with doing anything similar at all, you are stuck with a blank piece of paper and no ideas, and it feels absolutely terrible.

          I don't know what works for you, but what worked for me was finding open-source projects in a domain I'm looking to write an application or a library in and using them as a reference. With time, you become able to determine which ones are of high quality and are a good example, and which ones are not. You could also ask Claude/ChatGPT for references to starting point.

          On C# specifically, I can recommend looking at https://github.com/bitwarden/server which is more "traditional" style but does not have much nonsense/bloat you would usually see in an enterprise codebase. That's what I always reference as a style and project layout guide for newcomers that don't already know how they want the project to look. And then as you go through the code, you can always dump the snippets into a chatbot and then cross-reference the replies with documentation if needed. Chatbots also great at quickly sketching up project structure - it can be a terrible one but it's easier to do "hey, I don't like this, let's change it to X" than trying to come up with everything from the scratch.

          If you already have experience with writing TS-based applications with e.g. React components, base router, etc., you can more or less translate this onto structuring an ASP.NET Core application with controller/api handlers, model classes, services, ORM layer and similar. There really is no true right or wrong singular way of doing it, and people who claim there is are dogmatics from a cargo cult.

          In general, a lot of C# code out there that you will encounter will take more steps to solve its task than strictly necessary, as the generational trauma of ungodly horrors of 666-layer "Clean" architecture DDD-done-badly monoliths still haunts many, manifesting in a milder form of "write a small three file microservice as a 40-file three-project solution". It is highly useful to approach new patterns and anything that seems ceremoneous with "is this abstraction strictly required or can this piece be removed and done in a few lines of code or maybe a method?".

          On tooling - can strongly recommend using .NET CLI which will be very familiar after using NPM and co.:

          Create new projects/solutions with 'dotnet new {template name}' (e.g. console, classlib, sln, gitignore).

          Add/remove projects to/from a solution with dotnet sln add/remove

          Add dependencies with 'dotnet add package PackageName' or 'dotnet add reference path/to/project' if you want to combine multiple projects.

          Run projects with 'dotnet run' (-C release). Hot-reload for most scenarios is possible with 'dotnet watch'. Publish into a final complete application with 'dotnet publish -o {path}'. There are many ways to do the last one, but for simple back-ends doing the default output and then copying it to a "runtime" image in a dockerfile will suffice.

        • chrisvalleybay 2 hours ago

          ^ This is exactly it. It's Dunning-Kruger.

    • sam29681749 5 hours ago

      It's not foolproof, but some universities publish their course textbook lists online (and in some cases recommended readings too). As a bonus, textbooks often have recommendations for further readings.

    • cbracketdash 6 hours ago

      Would love to hear more about your thoughts on learning medicine! Why would you recommend an online program over textbooks?

      • server_man3000 5 hours ago

        When I’ve gotten deep into a topic I’ve actually almost ALWAYS learned that textbooks are the best way to learn things.

        The internet is full of information. Sometimes it’s too much, unstructured or tangential to the goal at hand. Textbooks, in my experience, are truly written by the experts. It’s been vetted, rigorously reviewed and fact checked. It’s not inspired by influencers or clickbait.

        Obviously YMMV, but when you find a top recommended textbook, it’s usually miles beyond a YouTube video or medium blog for deeper level content. It usually flows better and makes more sense as you study consistently.

    • owobeid 6 hours ago

      > One of my most common things nowadays is to ask ChatGPT is to ask to build a curriculum.

      I've been trying to do this for some rabbit hole I decided to go through. It's great for generating a list of topics but good luck getting actual existing books or papers. In some instances it would generate a paper title and link it to some other paper that might be slightly relevant.

  • vonnik 18 minutes ago

    For me, there’s always an early social element to learning: trying to figure out who the experts are; getting them to point you toward the best resources; and if you’re lucky, bouncing your mental models off them to be corrected. A good LLM can take you part of the way on many subjects, which removes some of the initial friction.

    Not every field is like that though.

    Some problems are wicked and new, lots of knowledge is basically enacted more than known, and the solutions one seeks often require several disciplines.

  • zfnmxt 5 hours ago

    Posts like this that talk about learning "efficiency" always come off as soulless and dystopian to me. I think learning should be fun and that fun learning is the most effective---that's the only thing I optimize for and I certainly don't think about efficiency percentages. What a drag that would be.

    • esperent 5 hours ago

      I studied mathematics and I think this subject illustrates my feelings on this perfectly. Coding, just as well.

      When it comes to learning maths, or a new programming language, there's all this tedious boilerplate you need to know. The rules, or syntax, the names of everything, how it all fits together.

      There's ways to make learning this stuff more fun, but ultimately, not that much more fun. And anyway, the learning part is not the good part, it's the things you can do once you reach a certain knowledge level that are incredible, beautiful, even sublime.

      On the other hand, take something like learning to paint, or taking dancing lessons. Unless you're hoping to become a member of an international ballet company, learning to dance is the fun part.

      As another point, if you're a knowledge worker and you're likely to have situations in your life where someone basically says to you "right mate, you've got the job, here's a huge body of deep technical knowledge to learn, get up to speed, see you Monday" then a certain amount of skill in knowing how to absorb that quickly is a good thing.

    • jvans 20 minutes ago

      If I'm not having fun learning something I can't stick with it. Efficiency without tenacity/grit is useless. It's kind of a tautology that "more efficient is better", but I agree it's pointless without fun. Being less "efficient" but having fun will yield better results imo

    • blackoil 4 hours ago

      I would say "fun" is overrated. We have become so focused on everything being fun that everything including fun itself has become tepid and mediocre. It is important to slog through the hard parts to cross the barrier of expert beginner. We are over downplaying the value of hard work and grit.

      • pfortuny 11 minutes ago

        This is exactly why drills exist: to make reasoning mechanic. The same as in the military... You can only decide (know) if you have the basics memorized to the core, and this requires... boredom in most of us.

        I graduated in mathematics. Proving that Projective Space is a noetherian scheme is not exactly a thrilling challenge. But you have to go through the motions if you want to be able to "think" about algebraic varieties.

        Same in any other field of "knowledge".

      • zfnmxt 2 hours ago

        In many ways I agree with your opening sentence---maybe I shouldn't have written "fun". I think I was trying to get at something more like that the experience of learning itself is itself a good thing (even if it's not fun, even if it's suffering, even if it's hard) and I think mechanical and stoic recipes to optimize the process fail to adequately appreciate that fact.

        The best part of learning piano isn't getting good at piano---it's learning piano. And sure there are some things we have to learn that we aren't that interested in learning, but I think even those things have the capacity to be worthwhile experiences if properly framed.

        I think applying the word "efficient" to this area is suggestive of urgency and greater purpose---I don't buy into either.

        • jackphilson an hour ago

          I think 'fun' is a prerequisite for optimal learning, you can definitely have both.

          And I think greater purpose is definitely a thing if you subscribe to a utilitarian moral framework

    • celurian92 5 hours ago

      I so much agree with you. I understand and remember the things I learn more when I am having fun or it piqued my curiosity. But I guess shortness of time needs us to focus on the efficiency aspect of it too.

    • johnnyanmac 4 hours ago

      The steps here are fairly generic and can fit into whatever regimen you have. It simply comes down to "find your learning path and grind hard in the beginning. Then you can slow down and relax after that first burst".

      Seems like decent enough advice if you ever have trouble getting started. It's actually not unlike cramming for a test, except you keep study afterwards and don't dump that knowledge the day after. "fun learning" or not, just make sure to really dive in in the beginning.

    • sam29681749 5 hours ago

      I somewhat disagree. Although having fun is important, I also want to make the most of my time. further, I think some aspects of learning can be a real slog, but when you get through it you find it rewarding.

  • dartharva 8 hours ago

    This is something I have personally struggled with, so I wish the author elaborated more. If you are a novice, how do you quickly identify what the foundational knowledge is? How do you know what makes you an expert and not an "expert beginner" as the author says to the extent that you can build a personal curriculum about it?

    • johnnyanmac 3 hours ago

      >If you are a novice, how do you quickly identify what the foundational knowledge is?

      You probably can't. You need to rely on knowledge of others to identify good resources. And then lean that against how you learn in order to pick the best resource for you.Same for verifying being an "expert beginner". Never be the smartest person in the room if your goal is to grow.

      In a crude way: google it. You'll probably get a generic (maybe even horrible AI slop) on top. But you're not looking for a perfect guide on first Google (not unless you have a very popular topic). Look for terms used and start googling those to narrow down to a more specific place. Maybe a forum post full of (hopefully) competent+ people answering your question. Maybe you find a quality guide to follow. Maybe you find you're on a completely wrong rabbit hole and figure out better terms to Google.

      That's basically half my learning while on the job. Usually works pretty well in my personal time too.

    • xandrius 7 hours ago

      I tried to think about this and came to a personal realisation that perhaps there is no strict "foundational knowledge" for most topics.

      Pick programming, is knowing binary operations foundational? Is knowing compilers? Is it knowing bubble sort? Or perhaps knowing data structures?

      I believe that if you have been using/working in a field, whatever you touch for your own goals that's enough.

      And perhaps the difference between being an expert beginner and an expert is whether you still care about such a distinction? If you can achieve your current and future goals and can eventually learn new concepts then you're good.

      I'd say a beginner might be someone who wouldn't even know where to begin.

      Let's pick chemistry for myself: sure, I could follow some video but without the video I wouldn't even conceive how to get started with anything.

      While, say woodworking, I wouldn't call myself an expert but I would be able to imagine starting a random project from scratch and eventually figure out all the parts.

      So, maybe: - beginner: can't complete a project without help/support - mid: can complete but is unsure whether that's the best way - expert: has completed it before somehow

      • rustcleaner 6 hours ago

        I'd argue the principles Turing and Wolfram lay out in regards to universal computation and computational equivalence are the most foundational, and then various systems or architectures (flow vs stack, etc), etc, are important as there needs to be concrete examples implementing the fundamentals. If you really want to get esoteric, programming goes all the way back with society and religion. Just like how a machine can compute so too can a group of people through their actions, if they adhere as religiously to their tasks as the fablic of reality seems to adhere to its laws in governing the motions of matter. Programming is the building abstract structures which, when represented with matter in the right ways that can take advantage of the moment-by-moment Gets Things Done™ nature of the fabric of reality itself, produces useful transformations of its initial states. Very complex behavior arises from the simplest of mechanistic rulesets, and it's found universally in biology and in places all over reality. Computation is so foundationally fundamental to this place and your (dear reader) existence here, it is shameful it's not in standard middle/high schools' curricula right next to the fundamental theorems of arithmetic and algebra!

    • ahmadtbk 8 hours ago

      This is something that can be tricky for sure. Depending on the subject you might not need to start diving deep into every topic. Sometimes you'll have to first ask some high level questions like how do I get this data from this table and convert it to this format. Once you identify what problem you're trying to solve go and learn what's needed to solve it.

      You won't always have an optimal solution but that's okay. The most important is to try and use the thing you're learning in some real way or with practice.

      • mmooss 7 hours ago

        > The most important is to try and use the thing you're learning in some real way or with practice.

        In my experience, that's a necessary first step to learning. I need to get my hands dirty, get a feel for what I'm working with. An experience is worth a thousand pictures, which are worth a thousand words - you can't gain that basic understanding and instinct by reading, only by having all the sensory inputs of doing it.

        Then it's time to read. Now you must find an expert to guide you. First, you'll have too many blind spots - you can't possibly find all that's current, you can't find the best sources efficiently, and much won't be in books yet. And without expertise yourself, you can't distinguish the worn-out theories from the evergreen standards from the unproven innovations; the promising from the unlikely from the absurd; you won't know the consensus from the fringe; the guy advocating their personal theory - maybe even a credible one - from the balanced survey of established ideas. You won't recognize when you're reading just a side of a well-known debate.

    • quantum_state 5 hours ago

      It is an iterative process. One would move forward with a baseline foundation and pay attention to the difficulties and inefficiencies in the learning process to triangulate the additional foundation needed.

    • eacapeisfutuile 6 hours ago

      You don’t. That is what you will build as you learn a topic, it makes no sense to “identify” it first.

      Do the thing you want to learn.

      • dartharva 5 hours ago

        I learnt data analytics and SQL for MIS/BI purposes on-the-job as a sales manager. Got pretty good at it too, built several dashboards and long-standing capabilities for my team.

        Now, if I say I want to get into this scene for good, I am immediately daunted with a mountain of diverging learning paths to take. Should I take to Python and its massive library ecosystem, or should focus on database fundamentals? In every choice taken there are seemingly infinite branches, and it is rather hard to focus if you aren't even sure you're on the right track.

        Last time I sat in an analytics/consulting interview they grilled me on highly specific technical questions on data pipelines and warehousing and testing and other topics that I've never had to worry about before at work. In another assessment, I was grilled on some AWS/Redshift-specific things. In yet another I was expected to know deep learning. It is all too hard for someone not originally with an engineering (or adjacent) background.

        • eacapeisfutuile 5 hours ago

          Yeah learning to actually use in practice is different from preparing for interviews. I would say continue where you already built some knowledge and branch out when you realize you have to, and then work on learning one branch as you go.

          For interviews you may need to lookup what type of questions to expect and memorize details on that, unfortunately. That is not useful in practice but can be necessary for interviews.

    • Tier3r 7 hours ago

      I'm also wondering this. Two possibilities. One, find the first principles/root node/glue that holds many disparate concepts together in some causative way. Two, the specific procedure/step/concept that you keep reusing across multiple problems.

    • j45 6 hours ago

      I'm surprised the course by the name of this post isn't here.

      The post covers a great mindset, but the math really is one thing, and learning how you learn and how you can learn is invaluable.

      This is a great course to start learning about your learning.

      https://www.coursera.org/learn/learning-how-to-learn

      After/with this, there is a slew of adult learning knowledge that will likely make you feel better.

      One key is learning to understand something, before learning to memorize it.

      Another is creating your own mind map of how the concepts you are learning fits together.

      Farnham street has some great books on mental models as well that was recommended to me as helping

      An expert is someone who can often explain complex things in very simple ways. being an innocent beginner is one of the best mindsets to cultivate - you learn what you do and don't know pretty quick, and also a sense of known vs unknown, and size and number of unknowns.

      • dartharva 5 hours ago

        I checked these out but couldn't find the answer to the questions I am asking. It tells you how to maximize efficiency while learning, but doesn't tell you how to identify what you should be learning in the first place and what the sequence of your focus should be when you start.

        • eacapeisfutuile 5 hours ago

          What do you specifically want to learn? What you need to learn will generally make itself known, if you have some general goal? Just starting at all is the best way to start.

          • dartharva 5 hours ago

            Say I want to learn web scraping. Now if I try to start, I see there are several layers of fundamentals and several potential paths, all of which seem equally important. Where do I start? What platform should I use? Should I start from the DOM and HTML parsing and go ahead from there, or should I start from learning Python libraries built for it as so many books and tutorials advise? Going one layer deeper, do I need to learn data structures before anything else? JavaScript and APIs? The fundamentals of TCP networking? Regex?

            It's all too overwhelming at times.

            • eacapeisfutuile 5 hours ago

              Yeah, start from any point A. A suggestion is where you can progress in some way. Don’t make too many decisions. There’s so many viable ways to learn that, just start where it is natural for you. You don’t have to figure everything out or have answers to everything.

        • j45 5 hours ago
  • dinobones 7 hours ago

    I've been wanting to try this approach for learning a language.

    In English for example, learning the 800 most common words, you can understand 75% of the language: https://www.bbc.com/news/world-44569277.

    I'd love to start fresh on a new language, take 800 new words, try to learn 10 a day, and see where I get after 3 months. Can I really understand 75% of text if I have perfect recall of those 800 words?

    • joshdavham 6 hours ago

      > Can I really understand 75% of text if I have perfect recall of those 800 words?

      This thing you're talking about is called 'word coverage'. It's the percentage of words you know in a given text. I've created lots of word coverage graphs in the past, and, as research has shown, you won't really be understanding much until you reach the high 90s in terms of word coverage. The famous number for being able to read English texts extensively requires a word coverage of around 98%. And while it depends on the text, in order to reach 98%, you generally need to know around the top 5k words in a language.

      Funny enough, when you understand 75% of the words in a text, you subjectively feel like you're understanding like 10% of what's going on.

    • mchaver 3 hours ago

      This post will give you a sense of what understanding 80% of the text looks likes https://www.sinosplice.com/life/archives/2016/08/25/what-80-...

    • autumnstwilight 5 hours ago

      In my experience, the words that carry the most information in a sentence are the less common ones. Here's what understanding 80% of a sentence is like:

      "I went to the sdjfkdsh and got a new ghjsakgfh."

      The missing words could be "dealership" and "truck" or "embassy" and "passport" or quite a lot of other pairs that change the topic entirely, so reading or listening to something with 80% understanding generally requires a dictionary in one hand to get you up to a reasonable level of comprehension. That said, I personally think language learning is enjoyable and rewarding, and tackling the most common word list is a good first step.

    • mc3301 6 hours ago

      Give learning Japanese a try. It's a meta-learning adventure! There are 3 distinct classes of characters (two syllabaries that each have a perfect matching pair with the other, 46 each plus some compounds) and the third are (mostly) chinese Kanji characters. Fun stuff!

      • supriyo-biswas 6 hours ago

        I wonder if there is a similar "Pareto priciple"-esque approach that one could use to learn Japanese.

        • opan 6 hours ago

          There are the "radicals" which can help you to interpret a new kanji, since they're the kanji building blocks.

        • joshdavham 5 hours ago

          Kinda!

          The frequency of words in every human language follows the Zipf distribution, which is a power law, like the pareto distribution.

          Some learners create what are called frequency lists, which are lists of the most common words, and learn those words first. In general, you get (disproportionately) more bang for your buck from learning the most common words than the rarer words when it comes to understanding.

          However, due to the very long tail of word frequency distributions, you eventually need to just start learning words as they come and stop trying to over-optimize with a frequency list.

    • Tomte 7 hours ago

      No. Apart from grammar etc. you‘re missing, you might understand nothing while knowing 80% of the words.

    • raincole 6 hours ago

      Depending on your definition of "understanding".

      If it means you can at least take an educated guess on what a sentence means, then yes.

      If it means to understand a sentence like a native speaker does (just slower), then no.

  • DeathArrow 3 hours ago

    Identifying what the foundational knowledge is isn't easy for an absolute begginer.

    Building an efficient path to expertise is hard for a beginner.

    I think the fastest way to learn is asking an expert to build a learning path for you, starting from what you know and what you don't know.

  • FL33TW00D 5 hours ago
  • Tier3r 7 hours ago

    The initial cram is an interesting concept. If you insert new things to learn at a constant rate, the repetition burden grows logarithmically. Assuming you have some fixed amount of time you can devote everyday optimally your repetition burden should be constant. So the solution is making new things to learn not constant, but front loading a lot of it.

  • james-revisoai 3 hours ago

    Learning depends on the environment and whether it is pursued in an auto-didactic sense (Even for a job, say) or whether you are learning for an exam/part of a cohort.

    It's not wrong to say Curriculum does not matter. But the level of curriculum is also something that needs to adjust to your current level and related fields you have knowledge within, to prevent you becoming overwhelmed.

    Most people stop learning being motivation dries up as Test Anxiety rises to the point where they are at a "low-performance" place in the eustress curve. A few days there and people pause until it becomes urgent. A lot of this is a lack of momentum, but also not dedicating or having access to judgements of learning about your own progress.

    In other words, if you judge your learning at all, it helps you manage.

    There is a natural tradeoff between the flow-state of "just one flashcard with one information principle at a time, endlessly" and the longer term state influencing your time in flow-state of "am I progressing, what don't I know, how do I feel about my learning and mistakes?"

    Think about learning databases, or CSS. When did you really takeoff? Probably A) Practically copying others examples (existing queries ran in PhpMyAdmin, or codepen code) And then later B) Once you overcame a big mistake and saw progress - suddenly what "Display" did clicked for you, and you saw how useful it could be to use the "fixed" option, it unlocked your understanding of the items in A and confirmed or disconfirmed your understanding of how it works.

    Again it all depends. Self-motivated learning, even for a job, is easier to work with than compulsory learning. Because there, you don't even have the motivation to gaze up to the horizon and gather any excitement or understanding for what the learning might later lead to. It doesn't feel like a path, it feels like a brick wall. In this regard, a list of subjects is somewhat skin to someone stacking bricks, rather than elucidating a path. Overwhelming anxiety while learning is a real thing. The context really matters as to whether this approach is always the wisest.

  • deafpolygon 6 hours ago

    The biggest challenge in learning is identifying gaps in your knowledge. Dunning-Kruger is a real thing and you want to avoid that.

    Part of learning to learn, is learning how to identify the things you don't know. Then learning how to structure your 'personal curriculum' them in a rational way - you don't need to know everything up front to be effective.