>
Controlled impedance took me a long time to wrap my head around (...) When you flip on a switch, to turn on anything, send data, morse something etc, how does the circuit know how much current the load at the other end needs?This kind of thing has always been my hurdle when learning electronics. Whether through tutorials or high-school level physics, all the explanations I read tend to simplify and omit things in exactly the way as to break down when you start asking questions like this. My pet peeve are various equations that people flip around seemingly arbitrarily to calculate just the thing they need at the spot, from the two "knowns" that happen to be unknown at the same spot a moment later. Everything is obviously affecting everything else, but no one thought to mention feedback loops and how to correctly deal with them (even if by simplifying them away).
Or maybe I'm just a naturally imperative thinker, and I don't feel comfortable with declarative explanations which I can't "step through" mentally to understand the underlying process. Which, in case of electronics, involves voltages propagating around the circuit at finite speeds.
In programming, this hit me wrt. non-deterministic programming in Prolog. Usually explained as magic. "You can assume program will compute X, because it's structured so that if it wouldn't, it would hit this 'can never happen' statement, and because that - literally - can never happen, it magically must take the correct path".
Became immediately obvious to me once I realized that the runtime is just hiding a big fat loop that takes every path for you, and the magic instruction just tells it to silently discard the current path and try another one. Overall, the moment I felt I finally understand Prolog was when I realized the runtime is doing depth-first search in the background.