Source: https://www.youtube.com/watch?v=uqpr8FFS9U0

Abstract Link to heading

The brain throws away information it deems as useless or unimportant. To properly learn a language, we must train our brain to see it as useful information by immediately putting it into practice, and using it to fulfill a need we have, whether that be a gap in our workflow, or a simple little tool that makes a task just that little bit faster.

Notes Link to heading

Oglo recommends a 4-step process:

  1. Learn the fundamentals

    To learn any language, you must understand the basic concepts.

    • “How do functions work in x?”
    • “How do you write an if statement in y?”

    For this, you should find a playlist of YouTube videos about that language, and watch the first five (i.e. System Crafters’ ELisp course). This should give you the baseline understanding of that language, and that can get you pretty far.

  2. Start a project

    When I say “Start a project”, I don’t mean just start some random garbage project that will never be used by you (I’m looking at you ls-hs and ls-go). Build something that will fill a gap in your workflow, or fulfill a need that you have.

    Some examples:

    • A better password manager (especially since Bitwarden almost dumped a friend’s entire vault due to a faulty update)

    • An Emacs package to port an Obsidian feature over

    • A little script to make downloading vast amounts of music off of YouTube just a little easier

      Wait… what?

      Don’t worry about it :D

  3. Learn as you go

    When you encounter a concept in a language that you haven’t yet learned, look it up. Don’t copy and paste the code from whatever site (most likely StackOverflow), but actually type it out, understand it, and put it into practice as soon as you learn it. This is part of teaching our brains to metabolize this concept and tag it as useful and important information that should not be thrown out the next time you have an Out of RAM error and need to clear your cache.

  4. Ask someone with more experience

    This is pretty self explanatory. Ask someone you know (or don’t know, in the case of the internet) to take a look at a project you may be working on. Chances are, they’ll have some constructive feedback that you can put into practice (unless you ask Reddit… never ask Reddit)