Comment author: Lumifer 29 May 2015 08:13:53PM 4 points [-]

just as I'd expect a competent software engineer to be able to write a hash table by hand even if every environment they're likely to encounter will have built-in implementations or at least efficient libraries for it.

I have a feeling that's a bit of a relic.

Long time ago programming environments were primitive and Real Men wrote their own sorts and hash tables (there is a canonical story from even more Ancient Times). But times have changed. I can't imagine a serious situation (as opposed to e.g. a programming contest) where I would have to write my own sort routine from scratch -- similarly to how I can't imagine needing to construct a washing machine out of a tub, an electric motor, pulleys, and belts.

I certainly still care about performance properties of various sorts, but I don't care about their internal details as long as the performance properties hold. I suspect that the interview questions of the "implement a bubble sort on this piece of paper" variety if anything aim more at "have you been paying attention during your CS classes" and less at "do you have a deep understanding of what your program is doing".

The capacity of human minds is limited and I'll accept climbing up higher in abstraction levels at the price of forgetting how the lower-level gears turn.

Comment author: Nanashi 29 May 2015 08:44:07PM 0 points [-]

Yes, this this this this this this this. "The capacity of human minds is limited and I'll accept climbing up higher in abstraction levels at the price of forgetting how the lower-level gears turn." If I could upvote this multiple times, I would.

This is the crux of this entire approach. Learn the higher level, applied abstractions. And learn the very basic fundamentals. Forget learning how the lower-level gears turn: just learn the fundamental laws of physics. If you ever need to figure out a lower-level gear, you can just derive it from your knowledge of the fundamentals, combined with your big-picture knowledge of how that gear fits into the overall system.

Comment author: btrettel 29 May 2015 08:34:22PM 0 points [-]

I'm thinking more specifically than you are. Rather than learning probability theory to understand ML, learn only what you determine to be necessary for what ML applications you are interested in. The concept maps I use are very specific, and they avoid the weak connection problem you mention. (It's worth noting that I develop these as an autodidact, so I don't have to take an entire class to just get a few facts I'm interested in.)

Comment author: Nanashi 29 May 2015 08:40:18PM 1 point [-]

It sounds like both you and estimator are actually both on the same page: estimator seems to be talking about the "prerequisite" in the sense of, "systematic prerequisite", as in, people say that you should learn X before you learn Y. You seem to be talking about "prerequisite" in the sense that, "skill X is a necessary component of skill Y"

Both of you, however, seem to agree that you should ignore the stuff that is irrelevant to what you are actually trying to accomplish.

Comment author: Nanashi 29 May 2015 08:36:42PM 3 points [-]

First and foremost, don't bother with Java, it'll be dead in 5 years. (Okay, just kidding, sorta.)

Okay, so jokes aside: what do you want? As in, what do you hope that the world will accomplish before you die? Even if you aren't the one who makes the breakthrough, you still benefit. So, what do you hope that someone, anyone, it could be you, it could be some scientist somewhere else, what do you hope they will do, more than anything else?

You seem to point to things that revolve around life extension, and your thought that current methods aren't going to get it done. So, conceptually, what DO you see getting it done? You mention, effective robots to do experiments, and AI to interpret results, but what does that actually mean? What types of experiments? Why a robot instead of a human? As for AI: what results need to be interpreted? What answers are you hoping to find?

I have found that turning a more analytical eye towards your long-term goals, and changing them from purely conceptual to something more actionable, is a great first step for determining what you want to do with your life.

Comment author: [deleted] 29 May 2015 06:26:25PM 0 points [-]

Can I give a counterexample? I think that way of learning things might help if you only need to apply the higher-level skills as you learned them, but if you need to develop or research those fields yourself, I've found you really do need the background.

As in, I have been bitten on the ass by my own choice not to double-major in mathematics in undergrad, thus resulting in my having to start climbing the towers of continuous probability and statistics/ML, abstract algebra, logic, real analysis, category theory, and topology in and after my MSc.

In response to comment by [deleted] on The most important meta-skill
Comment author: Nanashi 29 May 2015 08:08:40PM 1 point [-]

There's a big difference between the fundamentals, and the low-level practical applications. I think the latter is what estimator is referring to. You can't really make a breakthrough or do real research without a firm grasp of the fundamentals. But you definitely can make a breakthrough in, say, physics, without knowing the exact tensile strength of wood vs. steel. And yet, that type of "Applied Physics" was a pre-requisite at my school for the more advanced fields of physics that I was actually interested in.

Comment author: btrettel 29 May 2015 02:08:23PM *  0 points [-]

Another example of what you mention in your first paragraph that I've said before: It's easy to break the world record in any running event. Just run faster than the world record holder did!

It should be fairly obvious that it's not just a case of running faster. A list of necessary conditions for success is not a solution. (Though it can be a good start.)

Comment author: Nanashi 29 May 2015 03:07:35PM 1 point [-]

I go into this in further detail in this post

Defining the success conditions is a critical first step, and you'd be surprised at how many people don't do that. Many people frame their goals as a state-of-being, e.g. "I want to be the fastest runner in the world" rather than a success-condition, e.g. "I want to beat the current world record holder."

Comment author: Nanashi 28 May 2015 02:55:28PM 1 point [-]

So, after some cursory thought, naturally the part of the system that gives you the most bang for your buck are the first 4 steps. The last 3 steps are designed to help you improve, which is a much slower process than just learning the basics.

So, now to figure out how to recursively apply the the skill of learning a skill quickly to the skill "learning skills quickly".

Comment author: Nanashi 28 May 2015 05:49:08PM 1 point [-]

Okay, so I made a significant revision of the post. The original ideas are all there, just written in a much less obtuse manner.

  • A much more logical argument is presented at the beginning, along with constraints.
  • "Archetypes" and "Processes" have been replaced by sub-skills and trivial sub-skills.
  • The lengthy discourse on strategy has been replaced by simply sorting your list of trivial sub-skills, which accomplishes the same effect.
  • The "improvement" has been streamlined greatly.
  • Meta-analysis has been removed because it's really a separate subject.
Comment author: Nanashi 28 May 2015 02:21:27PM 1 point [-]

As I mentioned in another comment, the difference between this and the "common sense" approach is in what this system does not do.

As for what the 20% of this system that gives you the most bang for your buck? That's a good question. Right now my "safe" answer is that it's dependent on the type of skill you're trying to learn. The trouble is that the common threads among all the skills ("Find the 20% of the skill that yields 80% of the results") doesn't have a lot of practical value. Like telling someone that all they need to do to lose weight is eat less and exercise more.

Let me think about it some more and I'll get back to you.

Comment author: Nanashi 28 May 2015 02:55:28PM 1 point [-]

So, after some cursory thought, naturally the part of the system that gives you the most bang for your buck are the first 4 steps. The last 3 steps are designed to help you improve, which is a much slower process than just learning the basics.

So, now to figure out how to recursively apply the the skill of learning a skill quickly to the skill "learning skills quickly".

Comment author: estimator 27 May 2015 11:06:27PM *  1 point [-]

Also, I'd like to compare your system against common sense reasoning baseline. What do you think are the main differences between your approach and usual approaches to skill learning? What will be the difference in actions?

I'm asking that because that your guide contains quite long a list of recommendations/actions, while many of them are used (probably intuitively/implicitly) by almost any sensible person. Also, some of the recommendations clearly have more impact than others. So, what happens if we apply the Pareto principle to your learning system? Which 20% are the most important? What is at the core of your approach?

Comment author: Nanashi 28 May 2015 02:21:27PM 1 point [-]

As I mentioned in another comment, the difference between this and the "common sense" approach is in what this system does not do.

As for what the 20% of this system that gives you the most bang for your buck? That's a good question. Right now my "safe" answer is that it's dependent on the type of skill you're trying to learn. The trouble is that the common threads among all the skills ("Find the 20% of the skill that yields 80% of the results") doesn't have a lot of practical value. Like telling someone that all they need to do to lose weight is eat less and exercise more.

Let me think about it some more and I'll get back to you.

Comment author: estimator 27 May 2015 11:50:45PM 0 points [-]

But these are the things pretty much everybody does while learning languages.

Comment author: Nanashi 28 May 2015 12:40:55PM 2 points [-]

Well of course they do. Because these things are necessary to learning a language. This is the 20% that's most efficient. By definition someone who puts in 100% of the effort will be doing what I did.

The efficiency of this approach revolves around what you don't do. You're excising the 80%. I didn't spend long hours learning katakana, hiragana and kanji. I didn't learn the more complex tenses and conjugations. I didn't spend time on vocabulary words that are highly situational. Contrast this to a typical Japanese textbook.

Comment author: estimator 27 May 2015 10:47:58PM 0 points [-]

I meant something like this.

... take part in routine conversations; write & understand simple written text; make notes & understand most of the general meaning of lectures, meetings, TV programmes and extract basic information from a written document.

Comment author: Nanashi 27 May 2015 11:27:19PM *  1 point [-]

I'll give a more in depth breakdown soon but for now, I'd probably take a similar approach that I took to learning to read Japanese : learn basic sentence structure, learn top 150ish vocabulary words, avoid books written in non-romaji. Practice hearing spoken word by listening to speeches and following their transcriptions. My exception protocol for unrecognized words was to look them up. And for irregular sentence structure, to guess based on context. It worked for watching movies and reading, mostly but as you can tell, yoi kakikomu koto ga dekimasen*. I'd have to do some thinking on the writing part, it would most likely involve sticking to simple sentences.

*thats terrible Japanese for "I cannot write well". I think. I hope.

View more: Prev | Next