What are some self-education tools/techniques you've developed to help yourself learn?
Whether it's a form of note-taking or regular repetition or the like, what are some self-education techniques and tools you've developed to help yourself learn on your own?
It's always interesting imo to read about how some folks teach themselves different stuff.
For stuff like chess, programming, drawing, etc where there is a skill you can learn..
Just do it. Every day. Do it in manageable steps. So for example if you wanna program, make a goal to create a calculator app. Then work out how to do that. Then do it.
Just keep doing progressively more difficult projects. After calculator app maybe a demo/visualization of sorting algorithms. And then a basic web server. And then a 2d video game. Etc
Learning by doing is the only real way to learn. Even in CS school the classes were great for certain things (I liked data structures & algorithms) but generally speaking the classes are there to facilitate you teaching yourself by doing.
Tldr: do the thing you wanna learn. Do it regularly. Every day if possible. Even if only 5 minutes.
For programming languages, it helps to find a task that actually fits the language well.
I learned Python as a junior sysadmin in the early 2000s specifically because it was the best language for plugging together different Internet services. The senior sysadmin on my team had written a piece of code in Python to migrate users from one email server to another, by connecting with IMAP to each server and transferring their mail. I needed to maintain this code, so I studied up on Python specifically focusing on the email libraries.
I was coming from Perl, which was the best language at the time for certain sysadmin tasks (like logs analysis). But Python's built-in libraries made it really easy to work with email servers, web servers, and so on. One language feature I really appreciated was the exception system, where many errors that might pass unchecked in C or Perl (and produce unpredictable behavior later) would instead crash the program with a useful diagnostic message.
I learned Haskell several years later because I'd gone to work in Silicon Valley and all the cool CS nerds were into Haskell. I didn't find a task that actually needed it until I found myself working on a problem that involved both text parsing and combinatorics. You need to express math facts about trees of strings? Haskell is the right tool for the job.
I'd learned elementary C in high school, but I'm not sure I really got C until I had picked up an electronics hobby in my 30s and built myself a blinky bike light controlled by an AVR microcontroller. C on an 8-bit Harvard-architecture machine is way different from C on i386 or x86_64 Linux.
I've way less programming experience than you, but I hugely agree. I started out wanting to "learn programming", and I struggled without a task. Project Euler(maths puzzles to solve with programming) helped me learn the basics of python, but I stagnated for a few years because I didn't see any way to use what I'd learned, any ideas for projects.
Things really clicked for me once I took a bioinformatics module at uni. The average life scientist is scared of the command line, but I was suddenly faced with so many ways to practice my programming skills by pairing it with biochemistry learning. Now, I'm better at coding than the majority of people in my field, even if I'm still mediocre overall. I know enough to be able to do stuff that I want to do now though
Getting good sleep helps a lot. That's how you store what you learned. I found trying to explain the subject matter to someone else, real, imaginary, or rubber duck, helped me figure out what I didn't know.
Your first sentence makes me angry, because I know that it's true. No amount of process hacking or optimisation can replace the need for, and the benefits of, sleep
Making good goals and evaluating your progress periodically.
There are a lot of resources you can use to get guidance on what constitutes a "good" goal, but the basics are that it should be measurable, have a clearly defined end date or timeline, and it should be attainable but still challenging.
So your goal of "I want to learn Japanese" might become "by November 2024 I want to be able to pass the 3rd level Japanese language proficiency test."
"I want to run a marathon" might look like "I want to complete the 2024 Chicago marathon in under 5 hours."
Once you have your goal I find it helps to sort of work it backwards from the finish line. In the Japanese language example you work through the steps it takes to pass the test and set checkpoints along the way. These checkpoints can also be structured as goals: "I need to memorize 15 kanji per month to prepare for the test," "I need to complete one lesson per month in order to reach the level of proficiency needed," etc.
And then you evaluate your progress periodically to see if you are moving at the pace you expected. I like to check in about every one to two weeks, but no more than two weeks in between check-ins or I start to lose sight of what happened since last check-in.
If you're moving faster than you thought, maybe you can adjust your checkpoints or work in additional learning tasks. If you're moving slower than you'd hoped you can look back on what roadblocks prevented you from progressing and make a plan to deal with future roadblocks, or even adjust your overall goal/expectations if needed.
When you feel like head is bloated or you start being easily distracted, take a break and do something to ease yourself. I usually play a game for 30 minutes or something.
Some days it just doesn't work and then you gotta give it a break. Forcing knowledge onto yourself does not work long term in my opinion.
What I also find handy: Take a walk and think about what you've learned.
I'm feeling this information bloat for weeks now. I have not tried taking a walk tho. mind I ask if I should try to think on nothing or focus on the thing I want to learn/that's bloating me?
A good one is a half hour sit-com. Like The Simpsons, or Big Bang Theory. Whatever you prefer. Take a few minutes to slow your brain down, put on a sit-com or cartoon and try to relax. When the shows over, get back to it. I like this way because it times itself, I can't just add five more minutes, the shows over.
Personally, I've found that it varies. Sometimes thinking more about the tricky thing helps, but sometimes a break is necessary. When I am struggling from info bloat, I am less able to figure out what's needed, so trial and error helps.
I also agree, this is a fun word usage; I don't think it would have occurred to me if you'd not said anything. It reminds me of how there are a lot of words that have been given new flavour or meaning as a result of modern tech. Bloat, for example, makes me think of "bloatware" on my phone as much as it makes me think of an upset tummy.
I used to use this website a lot with my clients when I was a caseworker. I've found some of the resources helpful myself. Here is their resource page. Distress Intolerance is a neat one.
I do this when I take walk breaks. I often end up "presenting" what I've just learned to someone in my head, anticipating questions they might ask and trying to concisely explain the material
So much this! You really need to understand something to explain it well to someone else. So on top of other techniques I would pretend I was teaching someone else. If I couldn't explain something to someone else, I didn't know it yet and had to put more time into that part. If I could explain it once then I'd do it again.
For straight memorising, I used to rewrite by hand the text. I took a long time, but I was stuck in my head since I had to "think" every word as I wrote it. Then usually I didn't even had to read it again. But that was in high school, so probably it wouldn't work that well now
I felt it was the best way of quickly organizing topics, subtopics, and important items in a way that was simple to read and understand relationships between subjects.
I am a big fan of the Cornell Note Taking System. It really helped organize my undergrad notes much better than any other system I tried. Also, it is the only system that is Andy Bernard approved!
i like to surround myself in a project with stuff i do not understand and a defined goal, and learn my way out of the hole into a functional state (product).