Live data from Hacker News

Learning to Learn

kevin.the.li

41–50 of 142 posts

Re: Learning to Learn

#41

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 comm…

>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".

Re: Learning to Learn

#42
post #26

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.

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.

Re: Learning to Learn

#43

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?

>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.

Re: Learning to Learn

#44
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.

Re: Learning to Learn

#45
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.

Re: Learning to Learn

#46

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?

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-...

Re: Learning to Learn

#47
post #26

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.

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.

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.

Re: Learning to Learn

#48

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 comm…

>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 be…

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?

Re: Learning to Learn

#49

Earlier quoted context omitted.

>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 be…

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 buil…

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

Re: Learning to Learn

#50

Earlier quoted context omitted.

>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 be…

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 buil…

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.

Post reply on HN