I think the article makes "epiphany" sound rather extraordinary. But in the normal course of learning music there are plenty of them which we tend to ignore for some reason.
For example: if you learned to ride a bike as a kid, you'll remember a moment where your balance just "locked in" and there you were riding for an arbitrary amount of time.
Now take twelve-bar blues on the piano: say you spend some weeks or months learning some bass patterns in your left hand. Maybe you learn a simple melody for the right hand. Then you put them together. Then you learn a few "riffs" for the right hand.
If you keep practicing consistently, at some point you develop your coordination in your left hand to the point that you've got a steady rhythm in the bass line. And you won't stop playing that bass line even if you mess up in the right hand.
No longer are you merely practicing the parts that go into playing the blues, you are practicing playing the blues by actually playing the blues. And each time you play a chorus, you have aural feedback you can use to decide whether the things you played in your right hand are worthwhile or undesirable. You can even play a thing which you did not intend that turns out to work, and use it later.
Essentially, you can now cycle through the blues form an arbitrary number of times. That's an epiphany, and it feels the same as the moment you learn to cycle an arbitrary number of times on a bicycle.
There are similar epiphanies when learning to construct a melody over a pentatonic scale, and an even stronger one when learning how to construct a melody over an octatonic scale. Those moments are so intense that a lot of musicians end up just stopping there because it's so much fun.
It's remarkable how similar this is to learning programming. Anyone remember the lightbulb moment of grokking pointers? And there you were writing C for an arbitrary amount of time t for 0 < t < need for sleep.
React devs probably have a moment when react suddenly makes sense.
In all four cases (bicycling, music, pointers, react) what makes the difference is dogged persistence. One day you'll wake up and things will seem simple -- and the next challenge impossible. Rise and repeat.
Funnily enough, this happened to me just today! After almost two years of studying 6502 assembly in my spare time, the whole mindspace required to be an efficient and productive assembly programmer clicked for me this afternoon.
It wasn't literally sudden, more so a realization over the course of an hour after the usual reading and re-reading of various tutorials and documentation that I had already been doing. I'd say a few hours into programmer flow was when it all came together.
I liken it to when I first grokked Lisp back in high school. A shedding of mental fog leading to a sort of "now I finally get how somebody could program a game in this without being some hack-the-planet-level computer whiz."
> Anyone remember the lightbulb moment of grokking pointers?
Strangely enough, I don't think I do. There was a spectrum where I didn't get pointers, I thought I sorta got pointers, I thought I got pointers, I thought I get nothing, and over time I got a bit better at understanding pointers thanks to C++ and Rust. Definitely more of a continuum.
I did have a lightbulb moment for understanding recursion, though, thanks to an assembly course.
To take that further, this is exactly in analogy with why/how some people enjoy research (or any kind of learning that stretches cognition, in general). Every time you "get" a new concept, it's like you've "leveled up" and your experience in that domain is forever altered :-)
This is still what I tell people in interviews was my most difficult technical challenge. I had nothing but an old 386 and the K&R book -- no Stack Overflow back in those days, and I didn't know any programmers well enough to ask them for help. It was the first time in my life I ever truly grinded on a task. It happened just suddenly, and it was glorious, and I've been chasing that feeling ever since. "Hey, kid, you wanna fly?"
I seem to go through a similar experience every time I need to design a recursive algorithm... after writing and rewriting a bunch of crap code, it finally clicks and I can write the REAL function (which is usually just a few lines and amazingly elegant).
A friend of mine is a far better webdev than I could hope to be. She knows CSS inside and out, and seems to make it a point of pride to know every little detail. She did it in three years of focused effort, with no prior programming experience. It was one of the most amazing transformations I've seen, but it was only because she worked so hard.
She mentioned the other day that she's a bit sad she can't find any aspect of React she doesn't know. But now she's been banging her head against react native for the past few months, so there's no shortage of challenges. She's the primary architect of a startup's frontend webapp (and now their mobile app). I keep trying to push her to write and post her stuff, but she still feels like she doesn't know anything. But that feeling seems like the main reason she knows so much now, several years later.
To be fair, CSS is nothing like programming. So she wasn't really learning react, she was learning the entire paradigm of programming in the context of react. My guess is that would have been way harder than learning programming in a traditional language and then learning React, because you wouldn't have been able to separate the concepts that are React specific from the concepts that are just programming. It would have been harder to answer the "why do we do it this way" questions, which can be really important to developing an intuitive underatanding of programming.
I would like to add as well, as a career move, total slam dunk.
There’s a big difference between “I’ve been practicing a bunch of different parts of a thing and now I can actually do the thing pretty decently” and “I have never done this thing before and suddenly I am doing the thing at a semi-pro level”.
To use your example, this article is about people who had never played piano in their life, but suddenly sat in front of one and started flawlessly improvising the blues without all that time practicing the different parts of the blues...
Western music has a fairly simple base system, with only 12 tones in total its much easier to get by ear than other systems like classical Turkish music which has 9 microtones within the space of one half step. It would be interesting to see how universal this phenomena is or whether its actually partially a byproduct of western music being relatively simple and easy to get by ear, even classical pieces like Beethovan's Song of Brotherhood. Are there musical prodigies in Turkey? Certainly we don't see cases of prodigies in the US spontaneously picking up complex classical Turkish microtonal music by ear.
The turisk have 9 microtones per full step. This gives the scale more 'perfect' sounding pitch.
Musical scales have a very sound physical basis. Two notes sound good together when their frequencies easily ring together. For instance, an octave (which is present in all music all over the world, but just called differently) is two notes where one note has double the frequency of the other. So one note will make a full period while the other makes two. This is pleasant, but a tad boring. You can make an octave of your octave, still pretty, still boring. It's a dead end.
The next pleasant sound is when one note makes 2 periods and the other 3. These are your forths and fifths in western music. These intervals give endless possibilities. A forth of the fifth gives back your base note, similar to a fifth of your forth. But! Fifth of fifth and forth of forth go endless. Each will result in a new note that sounds less pleasant but more interesting together with the base note.
(the forth is the inverse of the fifth: forth(fifth(base)) = base AND fifth(forth(base)) = base. I'll only talk about fifths hence forth)
A scale is an 'arbitrary' bunch of these notes together sorted by pitch. All scales used in the world can be constructed out of fifths. How many fifths to make a scale? We usually stop when the note is _almost_ equal to the base; that way there is an even representation of the frequency spectrum whilst having many notes that sound good together. For instance, western music, the 12th consecutive fifth almost sounds like the base (it's frequency is 1.3% off) The microtonal scales 53th consecutvit fifth is only 0.21% off. The pentatonic scale which uses only 5 notes, is 5.3% off.
So you see that pentatonic is nice and easy, cause your instrument only needs to play 5 notes and all is pleasant. The next amount of notes you need for a smaller error is 12, then 53. So you could say things about effectiveness of amount of notes here.
Another remark: western classical music uses the 12 note scale, but pop music often limits itself to only seven of those.
Here is some psuedo code to play with it yourself:
BASE_NOTE_A = 880
def note(n):
f = BASE_NOTE_A * (3/2)**n
while f > BASE_NOTE_A:
a = a/2
return a
Indeed. I taught myself how to juggle recently, because I am fairly clumsy and thought this was something I’d never be able to do, but I wanted to see how far I’d go.
For a month or so, I’d spend 10 minutes a day doing various throwing/catching exercises with 1, then 2, then 3 balls (went on YouTube for resources).
And then at some point - much like you described for playing the blues - all the separate motions all came together and I was juggling.
For example: if you learned to ride a bike as a kid, you'll remember a moment where your balance just "locked in" and there you were riding for an arbitrary amount of time.
Now take twelve-bar blues on the piano: say you spend some weeks or months learning some bass patterns in your left hand. Maybe you learn a simple melody for the right hand. Then you put them together. Then you learn a few "riffs" for the right hand.
If you keep practicing consistently, at some point you develop your coordination in your left hand to the point that you've got a steady rhythm in the bass line. And you won't stop playing that bass line even if you mess up in the right hand.
No longer are you merely practicing the parts that go into playing the blues, you are practicing playing the blues by actually playing the blues. And each time you play a chorus, you have aural feedback you can use to decide whether the things you played in your right hand are worthwhile or undesirable. You can even play a thing which you did not intend that turns out to work, and use it later.
Essentially, you can now cycle through the blues form an arbitrary number of times. That's an epiphany, and it feels the same as the moment you learn to cycle an arbitrary number of times on a bicycle.
There are similar epiphanies when learning to construct a melody over a pentatonic scale, and an even stronger one when learning how to construct a melody over an octatonic scale. Those moments are so intense that a lot of musicians end up just stopping there because it's so much fun.