Monday 25 April 2016

First: The Living Room, Then: THE WORLD!


y now, after reading about my adventures with code thus far, I think it might be obvious that my predilection for programming is more than a mere obsession. Eventually, my passion for figuring out better ways to manipulate pixels on a screen extended way beyond that and into the REAL WORLD.

The Tandy 1000-HXThis new journey started in high school; grade 12 to be exact. Being in a small town, my school didn't have much of a budget for cool equipment and technology to play with, so much of my continued learning stemmed from imaginative uses for my old, reliable Tandy 1000-HX. I thought of many ways to apply my experience with BASIC programming, while constantly trying to push beyond simple cartoon-like images on a screen.

Believe it or not, I also broke out of my shell around this time, and I even started DATING. This was a big deal, because, until then, I had been holding onto the misconception that being smart automatically made me unattractive. But then, I realized that almost everyone my age was dealing with their own fears about self-image, and that discovery was nothing short of empowering. I made many friends, and soon learned just how wrong I was about my appeal to women...which, oddly enough, leads me to my first attempt to control the world with my computer.

No, seriously! It is probably clear to you now that I have always been a creative person. So, drawing from that creativity, I was able to harness the light from the computer screen, sectioning it off to perform different functions. My goal was to write a computer program to activate and deactivate certain lights, amplifiers, and a fan, all perfectly timed to the super-romantic epic love ballad: Nirvana's Heart Shaped Box.


Yes: romantic... Leave me alone... We were depressing teenagers, and this song really spoke to us.

So I turned my parents' living room into a dance floor for two, I lit up the whole place with colour filters, and each light would be triggered by my program during specific parts of the song. The fan was queued to blow flower pedals over us during the part about angel's hair and baby's breath. It was truly a work of art, and my girlfriend thought so too :)

At the risk of sounding like a broken record, I must now remind you all that this was 1993. MP3 files were just being invented, and with my old computer, I didn't even have experience with WAV files, which were just invented 2 years before that, so synchronizing the music with my program was challenging to say the least.

Despite the success of this geeky project, it just wasn't enough. I wanted to learn more. I needed to find out how to integrate computers with external circuitry. I wanted a program that could "talk" directly to device's own circuitry. More importantly, I wanted to learn how to design and create my own circuits that would do whatever I wanted, so as not to rely on purchased devices that might only do SOME of my bidding. The idea of settling was just not acceptable. I tried figuring this stuff out by myself with some books from the library, but it was all out of my league. I needed help.

It was soon after this when I enrolled at DeVry, and I was scheduled to start immediately after my high school graduation. At the time, Devry was on its way to becoming a very credible school, but alas, it never did develop the good reputation it had in the United States. No big deal, though, because I learned a lot while I was there. I studied how to design and build both analog and digital circuits, I learned all about control systems, micro-controllers and step motors, and most importantly, I learned another programming language: C++.

Everything came together for me when I handed in my final project. I was clearly ambitious in my choice for what to build, which was a true representation of my nerdiness: a robotic arm that could play chess. My project adviser was convinced I was biting off more than I could chew, and despite his assertion that I wouldn't likely finish it, he allowed me to try. Well, he was right. There wasn't enough time for such a huge project, but he taught me a lot about time management, and I still got an A! Essentially, what I accomplished was the following:

  • the development of a sensor grid for my chess board, which made it possible to see which pieces are moved and where
  • a computer program that was able to track each piece, and know which it was, would know if it's a valid move or not
  • the robot's "hand" which used the aperture of a camera lens to enclose around the chess piece and pick it up
  • the computer function that on command would enclose, and then when I told it to would let go again

I didn't have time to build an actual arm for it, and as a result, didn't get to write the program to calculate the angles and move that arm in order to place the "hand" over the desired chess piece. Looking back, I'm quite impressed by how much I DID finish with such a tight deadline. At the time, I thought he was just being super nice, but my project adviser understood how much work went into it, and he especially appreciated how much I LEARNED from the attempt.

My experience with all of this was like a drug, making me desperate for my next fix. Every hit needed to be stronger than the one before it. I needed to learn more, and I needed to ACCOMPLISH more. This feeling would ultimately lead to the start of my career, which was unorthodox to say the least.