I've been thinking a lot about how I received my particular skill set over the years lately. I can trace the start of my programming ability back to freshman year of high school. Math class required that we go out and purchase a $100 graphing calculator in order to survive the material. At the time, I viewed this as a colossal waste of money. I could buy TWO N64 games for that much money. Instead I get to carry around this adding machine brick in my backpack. A few weeks into the school year our social studies class was doing some research in the library. I noticed my friend pounding away on his calculator. "That must be a beast of a math problem you're working on", I said. "No man, I'm playing pac-man on this", he replied. And thats when it struck me.
YOU COULD PLAY VIDEO GAMES ON THE CALCULATOR
This was a huge revelation. My buddy saw how awe-struck I was, so he pulled out his calculator to calculator cable and transferred his stash of games on to my previously useless TI-84 graphing calculator. Bowling, Space Invaders, Tetris, Pacman. It was like mid September Christmas. After a couple days of blasting aliens and knocking down pins, I wanted to expand my library. I turned to the trusty interwebs. Much to my dismay, you needed to buy a cable to connect your calculator to your computer in order to easily transfer games from the Web.
(Sidenote:I eventually ordered said cable, and it was designed to plug into a PC's parallel port, and my computer didn't have one. So I had to purchase an additional parallel-to-serial cable to make the connection. Pre-USB era was indeed a dark and godless time in the realm of computing.)
Back to our regularly scheduled program. In my quest for calc games, I stumbled upon "stick fighter" and the concept was so compelling (for some reason) that I absolutely had to have that game right that second. So I downloaded the TI-84 emulator, downloaded stick fighter, and copied all of the code on to my calculator manually ROW BY ROW. It took forever and the game ended up being super lame. But I got my first exposure to programming and debugging, making sure my syntax was the exact same, adding a bracket if the program failed to run, etc. That initial programming gave me the BASIC (pun intended) knowledge to make simple rudimentary programs. Solve a complex system of equations on pen and paper? No thanks. How about write 5 lines of code instead and use the saved time to boost my Tetris high score.
At the apex of my calculator programming days, I was struck down in my prime. I was mashing goombas in English class when the teacher noticed and comfiscated my calculator. He insisted that a solid understanding of the subtext in Lord of the Flies would benefit me much more than messing around on a calc. He couldn't have been wronger. Programming has been a pivotal part of my career and as you can see from my post, terrible grammar is only a minor inconvenience. I write computer programming code in some way, shape, or form daily. My conch blowing is infrequent at best. I win.
I will close with the obligatory "stay in school". Srsly.