My first programming experience was when I was 12, where I went to a week-long computer camp at Harvey Mudd College (one of the Claremont Colleges). I learned some BASIC and wrote this really dumb program where It draws three circles on a canvas, stacks them up to look like a snow man, then moves across the screen. One night soon after, I opened up Claris Works (an awesome but short-lived HTML editor in the vein of Dreamweaver) and just started typing up my own Pokémon page, "Dragonite's Pokémon Network." I uploaded it to my AOL account and messed around with FTP, and got it to work all in one night. In the next year or so, when I got real hosting, I started installing message board and news posting CGI programs, then I started writing programs myself. Perl was my first language.
After that, I moved to Realbasic (RB) on Mac OS 9 (right before X came out), which was a fun OO version of BASIC that had a very awesome GUI editor. I sort of stopped programming at that point, but got into PHP to see if I could relive the fun of CGI programming.
I entered college as an Electrical Engineering major and took a few programming classes, notably C, Verilog/VHDL, and MATLAB. In fact, most of my upper division electives involved the use of MATLAB to simulate analog and digital filters, control systems, and RF/Communications systems. In the meantime, I learned Java independently (Java was only an elective in my major and I didn't want to take a class). More recently, I got back into C, and within the past two weeks or so I've started working in Objective-C on Mac OS 10.6. My current project is a program to facilitate
RNG abuse in FireRed and LeafGreen. It's basically a very tiny RNG reporter that will perform searches for spreads only on seeds 0 to 0xFFFF. So far, the biggest feature is generating frames from a given seed (Method 1 only for now), and right now It's able to show the PID (and all of the nice features that come from that), IVs, and Hidden Power Type/Base Power.
Here's some relatively outdated screen shots... this only shows PID, not IVs, but I expect I should have screen shots of the updated version soon.