Commodore 64
Like many kids I wanted a computer, my dad wouldn't buy me a console when I was little, he thought you should be able to do more with a computer than just play games so I got a Commodore 64 for Christmas when I was 7. By boxing day I was bored with Rambo and read the manual, after "10 print "Commodore 64 "; 20 goto 10" I was hooked.
During my teenage years I continued to program using various languages. This list is my attempt at putting the languages I learned in chronological order: Commodore 64 BASIC, Assembly, Visual Basic, Pascal, ASP, Javascript, Delphi, Perl, PHP, C, C++, Ada, Java, SH, JSP, Python, Ruby.
Computers went from toys to things to help me with school, eventually they became a way for me to make some money. I kind of lost interest in computers for fun in my late teens and I chose CS for my University degree because I didn't know what else to chose, I just went with what I was good at. My degree involved lots of programming, which I was already accomplished at so it didn't really get me excited and I wondered what I would do with my life. Then my new friend Andy brought a copy of this thing called Red Hat Linux 5 down to my room...
Linux
Playing with Linux rekindled my interest in computers, without it I probably would have left university because I just wasn't interested. I learned as much about Linux as possible and eventually I was using it for everything. When my undergrad project rolled round I was back into full geek mode. The feeling of accomplishment I had when I first wrote code for my Commodore was back and I did well in my degree. From this springboard of success I decided to pursue and eventually complete a PhD in Computer Science.