For me? My cousin showed me how to use AOL Press back in the day and I started making random fan/rom/emulator websites. It was on from there and I haven't closed notepad since. =P
How about you?
http://www.paulgraham.com/gh.html
the CTO couldn't be a first rate hacker, because to become an eminent NT developer he would have had to use NT voluntarily, multiple times, and I couldn't imagine a great hacker doing that
I think pg sometimes types faster than he thinks. The same person who designed NT designed VMS. Richard Stallman (iirc) wanted to use VMS instead of Unix as a basis when he started GNU but couldn't for some reason. At bottom, there is nothing wrong with NT, aside from open-source nonsense (hack the kernel lately? No?). Is there anything preventing great work on Windows? No, no, no. And I would suggest that John Carmack is a better coder than all of you put together, but since he's willingly used NT, he's evidentally no great hacker. Hence, it is more culture- than technology- or product-based.
See especially the first question in the FAQ.
Thus I really enjoyed my summertime assistant job building this at our University:
The Zapper (or Famicon Light Gun): http://en.wikipedia.org/wiki/NES_Zapper#Technical_overview
After AOL released version 3 of the AOL client (which closed a lot of the hooks for illegal addons), I wrote what might be the world's first searchbox for web browsers. This was when I was a teenager and AltaVista was still the largest search engine. The program I wrote was a small AppleScript application that registered an "av" protocol with Netscape Navigator and Internet Explorer so you could type "av:knitting patterns" in the Location bar and have that string sent to the AppleScript applet. The script received the string, looked for what came after the "av:" and computed a full URL to send it back to the web browser. The whole process was invisible to the user, as long as the AppleScript applet was running in the background.
It was a very simple script and I released it as shareware. I later built a search plugin architecture so users could add their favorite search engines, and the whole experience was a huge lesson in programming, testing, documentation, distribution, customer support and marketing, and I was suddenly buried in work.
Then Apple developed a plugin architecture for Sherlock and I started getting fewer and fewer shareware registrations. That's what essentially killed my shareware product, but the entire experience was very exciting. I was hooked and have been hacking ever since.
What was the name of your program? Does it still work?
The mystique of this computer programming stuff done by other high school scientists in a NSF Summer Science Training Program (SSTP) in the summer of 1977.
Coming back home to a high school computer programming course (punched card "FORTRAN IV" on an IBM 1130 (numeric IFs, but, hey, it fit in 8KB and didn't require a disk)) taught by ... a coach.
A coach who gave us a not in the book no notes that I remember blackboard lecture on two's complement representation and arithmetic that I now realize was invaluable, even though I've never written a line of assembler in my life (useful for debugging (especially before dbx :-), but the wrong level of abstraction for me).
And the above by then a decade obsolete computing environment sending me straight to the library stacks to e.g. learn about Structured Programming, which was all the rage then.
What truly set the hook was Harvard Summer School in 1978: a PDP-11/70 running a very well hacked up V6 (command name and argument completion and hinting!) which was a rich environment with the good Peter Langston games of the time (except Empire) and of course Adventure.
Buying a DECTAPE then because it was cool. Learning "rm -rf" and being very glad I had bought it ^_^ (to this day I'm a fanatic about backups).
And then getting introduced to MULTICS, ITS (including Zork) and Lisp Machines---and wondering whey UNIX was winning and MULTICS was all but dead, leading to a life long study the determinants of success in the area discussed by The Rise of Worse Is Better. Even as a serious scientist (chemist) who can't play games any more due to mild RSI, this stuff is just too damned fun to ignore.
ONLY a coder would do such a thing ^-^
I took quite a while off after being taught that "real programming" meant C or C++ ,and later Java. The thought of trying to write interesting applications in those languages was unappealing. I discovered PHP when I needed server-side processing on a web page, but didn't find it very satisfying.
A few years ago, I heard that some guy had created a spam filter that actually worked. I read some other articles on his site, and he kept talking about a programming language called Lisp. I had heard of it, but thought it was dead. I decided to give it a try, and I haven't turned back since.
Cut to three years later.
A good family friend gave me an old Apple IIe in 1994 (I was 9). I would break it, and then watch him fix it. It was fascinating, and I finally had my chance to figure out how to make machines do what I wanted.
Here are some examples. I used the computer so much as a kid that my parents used to try to stop me. First they put a password on the boot-up. I read everything I could until I learned to flash the BIOS. Next they installed this enuff computer time restricting system, which I spent a ton of time breaking. Over a period of two or so years, my actions provided the first line of bug testing for the Enuff programmers. Boy were they furious. Eventually I built a keystroke recorder, and that stopped that for a while. They couldn't keep me out.
Other hackerly things I liked to do included turning the scripting languages in games into other games. I wrote a really cool RPG in Starcraft, for example. I also learned how to automate tasks in 3DSMax, which was really fun.
At some point I hacked college entry, and I was in there way earlier than authorities thought that I should have been. By this point a 'hacker' identity was already written for me, but most of the interests started way, way earlier.
I had an Atari ST. It had a simple, elegant GUI desktop and there was no reason for me to ever stop playing Uninvited or drawing in DeluxePaint. I would have been about 9. I'd save up my pocket money and buy $20 imported ST Format magazines with headlines like 'ATARI VS AMIGA: WHO WILL INHERIT THE FUTURE OF COMPUTING', and read about MIDI and DTP.
Everything worked so I had nothing to fix.
Alas the ST broke. And it turned out neither Atari nor Amiga inherited the future of computing - nobody made games for Atari ST anymore. I got a 286 12 running DOS 3 from my mum, and was plunged into boot disk hell trying to free that precious 640K of RAM for my games. I started editing batch files and using 'errorlevel' to make little menus so I could use less floppies (they were expensive). Then I had a 386 where the video card slipped out all the time. So I opened the case and slipped it back in. I eventually got a feel for hardware.
The computer teachers at high school were terrible. I didn't like logo, as I couldn't see anything practical. We learnt Pascal later, but the teacher was always away, so we learnt from the internet and another kid who showed us.
I read a lot of computer magazines. I wanted to write for computer magazines.
I finished high school and did a certificate in business management the same year. I did an MCSE at 17, got into tweaking a lot, then found Linux, the tweakers dream. Tweaking lead to scripting, scripting leads to hacking.
I'm actually really glad I got into Linux then, and I'm glad I stuck with it. At that time, everybody was talking about Win32 and Visual Studio. It seemed like you had to have an MSDN subscription to make software that was considered desirable by the masses. Now the internet is considered the biggest part of computing, and more often or not it's based on OSS toolsets and languages.
PS. Atari rocks all over Amiga. :^P
It wasn't until around 1999, though, that I was really able to start becoming a hacker. That was when I finally got my own computer rather than sharing one with the family, and immediately put Linux on it.
I think he was fully aware how fascinated I was and anticipated what I'd do next. It was probably what every kid would have done in my shoes: I decompiled the game, made a few changes, recompiled it and was exremely pleased to see "Dark Castle - programmed by: John K" on the splash screen.
Then I became somewhat of a science geek...Westinghouse, ISEF, etc. At the science competitions, there was a large number of stereotypical nerds (socially awkward, overly interested in grades, suck-ups, etc.) and a small group of people that were into 'hacks.' The smaller group tried to outdo each other with 'applied science pranks.' They always had informal competitions and awards programs that ran alongside the actual competition events. I wanted to compete, so I started learning how to program and how to do some chemistry-oriented pranks. I was goal-oriented.
My first year at one of the international competitions, I won my event at the real awards program, and then I won the 'hacker' competition. (I programed all the hallway, elevator, and atrium lights in our hotel and convention center to strobe. It was the largest hotel in the city, so it was...noticeable. It made the evening news on all the local channels, and one of their national channels had a human interest piece about "What happens when you put a couple hundred science geeks in a single hotel.") I was hooked.
But my first real taste of hacking came in grade 7: understanding and implementing a 1-99 counter using seven segment LED displays, a 555, and some 7447 BCD->7 segment LED driver was lots of fun.
And then in high school, it was all about understanding the Amiga.
Looking over the Amiga schematics in the Hardware Reference Manual and figuring out how the low pass filter circuitry worked was fun.
Writing my first 68k asm program to do sine waves and programming the Amiga's coprocessor chip to do on the fly scanline colour changes was really cool too.
PS - for all you Atari ST lovers, here's 25 cents - buy yourself a real os :)
My introduction to hacking was in 1992 when my dad purchased a 486DX2 PC. I was writing batch file menus in DOS to load files, etc. It didn't take very long before I started trying to overclock it and stuff.
Looking back on it, I'm very surprised my dad trusted me to mess around with his computers like that, given how much they cost back then... Honestly, I dont think he had a clue as to what I was doing. But I'm grateful at the same time as I learned a lot. I think kids need that freedom to experiment when it comes to hacking.
I haven't done much in the way of code optimization lately -- I pretty much gave up once the P6 core came along and started aggressively pessimizing my code by executing instructions out-of-order -- but I'm still quite interested in all of the rest.
When I discovered programming, I saw it as the much the same thing, only better; being digital, you have fewer arbitrary constraints than the Real World. Imagination was the only real limit.
Software is opinionated reality, the ultimate playground and toy chest. I'm still surprised that more people don't find it intrinsically fascinating. Go figure. :)
What crushed my inner hacker? University computer science where everything was very strict and restraining, or perhaps it was my focus.
What re-sparked it? Lisp briefly for inspiring me to code in a better way. Then Python :)
It had to be one of these two:
the AOL Homepage maker(the wysiwyg) or
the homestead pages(ex:whateveryouwant.homestead.com).
I made a homestead page about the origin of mankind for my History class in the 7th grade. This made me think that almost anything could be done on the web, and it has become a reality since then.
Using the DOS command line with my Dad's Compaq luggable with dual 5-1/4" floppies, baby!
The first true coding that I did was making a graphics program in basic. I thought it looked like Star Wars hyperspace scene. No one else agreed with me, though.
I just love RPL! ;)