Enginursday - Three Childhood Mysteries Electrical Engineering Solved for Me

Technological befuddlements it took me 10 years and a college degree to understand.

When I was a kid I was (in retrospect, unsurprisingly) a "why/how" kid. That's not uncommon; what is uncommon is how long it lasted. I'll let you know when I grow out of it.

Throughout my childhood, there were a number of questions that I posed which, frankly, none of the adults in my life were equipped to answer. All of them have since been answered, casually and without any regard for the significance those answers held for me, by my career in electrical engineering.

Here, in no particular order, are three of my favorites:

  1. "Why is this shocking the crap out of me?" - While I always desperately wanted (but never got) a 100-in-1 electronics project kit, one thing I did get was an old, incomplete "exploring electricity" kit. It was old enough (I don't know how old) to be completely non-silicon based: the switches were bent stainless steel, the relay was totally exposed, and the only things that lit up were the olde style "bayonet" bulbs which were, of course, held in bent metal bases.

    I figured a lot of stuff out from that kit. I was already familiar with electromagnets, so discerning the function of the relay wasn't too hard. In fact, I pretty quickly managed to assemble this circuit, which allowed me to switch the light bulb on and off with the relay:

    DO NOT BUILD THIS CIRCUIT

    Notice anything missing, there? Remember, no silicon anywhere in this kit. If you said "no flyback diode on the relay coil," award yourself 10 house points!

    I understood, in a very primitive sense, that the two D-cell batteries I was driving the circuit with couldn't hurt me. After all, I could stack them end-to-end, touch the ends, and not feel anything. So, imagine my surprise when releasing the (bent bare metal) switch delivered a pretty sizable shock to my finger!

    Fast forward about 10 years, to me sitting in my first real college level course on electricity and how it behaves. The prof is explaining about inductors, and how they attempt to resist sudden changes in current flow by increasing their voltage through the roof, and I finally understand how two 1.5V batteries were able to deliver a reasonably uncomfortable shock to my tender young fingers.

  2. "255 rupees? Why not 250? Or 300? Or 100?" - This one will date me a bit. When I was, oh, maybe 8 or 9, "The Legend of Zelda" was a big thing in my world. It was the first game that didn't require me to sit and play through at one go and the first game I'd played that really had a sort of "real-life" feel to it. Relative to jumping on ambulatory mushrooms, at least.

    255 rupees...
    Image from the thumbnail of RedMage1987's YouTube video

    There was one thing that bugged the crap out of me about that game, though: You could only carry 255 rupees! Man, that's just cruel, especially when the Blue Ring costs 250 rupees. At the time, I thought it completely arbitrary, and it really ticked me off. I mean, it's not like I'm just going to leave any of them just sitting around, but I don't get credit for picking them up...

    Freshman year, EE110, we start discussing binary, hexadecimal, and logic. For the first time, I discover why 255 is a significant value in the world of computers- it's 28-1, or the base-10 representation of a byte-wide counter that has reached its limit! Mind: blown.

    Runner up - Similarly, in "Dragon Warrior", there was a maximum limit of 65535 experience points and gold pieces. While I loved Dragon Warrior more than Zelda, Zelda was the first place I noticed this.

  3. "What do you mean, I have 'cracked square' extra lives?" - Okay, brace yourself: I hated "Super Mario Bros.". To this day, I have never, ever finished it, and I don't ever intend to.

    It did pose me a question, however: why is it, when you take advantage of the bouncing-infinite-lives hack in world 3-1 (which I could never do, anyhow), does Mario's (or Luigi's) extra life tally stop showing up as a nice number and become some corrupted weird image?

    alt text
    From Spencer Gregory's article

    I didn't really get this until I was well out of college. Frankly, it took me probably six or eight years after college before I really grokked how pointers and address spaces worked. It turns out that games like Super Mario Bros. are able to do all the stuff they do with such limited resources by pre-drawing all the graphics for the game, then storing them in memory and calling them up at the appropriate time. Here's the memory space of all the background patterns (which includes characters and numbers):

    alt text
    From Paul Kuliniewicz's blog article

    Clearly, the bizarre drawing behavior is caused by a pointer which points to one of these 8-byte memory locations and was incremented past the expected range. This causes the game to render what should be a number as some other character.

    Of course, other mysteries have been solved for me: why the lights flicker when the AC kicks on, how cable TV can pass so many channels through one wire, and why Nintendo games stopped working after a time. For some reason, though, these three are the big ones, the ones that really made my day when I understood them.

    I'd like to hear from you guys, though: what 'a-ha' moments have you had as your knowledge of electronics increases?