What sparked your inner hacker?

23 points by nextmovetwo ↗ HN
I was wondering what first interested you all in programming.

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?

47 comments

[ 2.8 ms ] story [ 106 ms ] thread
I wanted to make video games.
I remember in my 4th grade class trying to convince my teacher that I would be able to deliver a shooting game by the end of the week for an oral presentation on how to construct things. Though I had no idea what to do, I did it.
I wanted to draw the Mandelbrot set -- as fast as possible. This led to an interest in code optimization, which led to an interest in numerical algorithms, which led to an interest in parallel computing, which led to an interest in computer security, which led to an interest in string matching and data compression algorithms.

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.

Shortly after my parents bought a new Macintosh, I found a program on it called Hypercard. It was a RAD tool that included a scripting language with flexible, English-like (verbose!) syntax. I starting digging around in the source code of the demo apps, and it kind of snowballed from there.

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.

I wanted to break security. I never wound up learning much about it because I got too interested in other things.
A big influence on me was the hacker culture on AOL. This was around the time AOL 2.6 or 2.7 was current, and there were many ways to modify the AOL software to do very cool things.

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.

It's interesting that the style of searching you're talking about has remanifested 12 years later in the form of Firefox 3's smart bookmarks. http://ptaff.ca/smart/

What was the name of your program? Does it still work?

When I was two years old my dad bought an 8086 and installed ChessBase on it. I loved pushing the arrows keys and watching the pieces move. Then the summer after kindergarten my mom bought me a QBASIC book. I had only recently learned to read so it had to be read aloud to me at first, but I understood it. I pretty much didn't get up from my terminal all summer. By the time I started first grade I was comfortable with nested loops. I still have a friend whom I met in fourth grade who started programming as early as I did, but in REXX. I don't put much stock in Piaget :-)

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.

Commodore PET and Commodore 64. I don't remember exactly why I wanted to program them... just that it was fun.
I was six years old and sitting in my father's lap reading while my mother video-taped. At some point I playfully smacked my dad, he playfully smacked back and I began to cry. Afterwards, my mom said something about editing the video. In my mind, I understood her to mean she could somehow alter the video... you know, change my crying into smiles, laughs and lollipops. I still can't get over how much influence that single misconception has had on my life.

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.

It's Bill Gates' fault.

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

I wanted to resolve the 'Einstein' or 'Cabins' puzzle so I got an Aim65. I went through Pet, CPM, bubble memory, Forth, Dr Jobs, Turbo C, Smalltalk and was very near to a solution with microProlog (it came as an 8"floppy). Then Winston and Mellish ruined it for me. It's done even better now with amb and monads but life has never been quite the same.
I object to the overuse of the word "hacker". You're all like a bunch of freshman coeds in English class talking about the day they became poets.
How would you define it? My definition of a hacker is someone who creatively and safely overcomes or circumvents limitations and enjoys the challenge.
Roughly, someone who is unquestionably a hacker has to identify you as such. It's clearly a cultural thing, and that defies objective measurement.

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.

Why qualify it with "safely"?
to disqualify malicious hackers, probably
Agree. You guys seem to be mistaking a hacker with the technical guy behind a start up. They are not necessarily the same.
Geocities...God rest their souls...
I always thought about hacking as breaking into other peoples computers.

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.

Wow, do I feel old.

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 read a lot of science-fiction as a kid. For me and my brother computers were just as fascinating (and unattainable) as space travel and aliens. When it actually became possible for ordinary people to buy a computer (the ZX81!), of course we saved up for it. When we got the computer, of course we had to learn how to program it, since it didn't have any software.
Initially? Learning Basic from a really motivated teacher who said in 20 years that everyone would need to know at least basic programming since everyone would be working on a computer for their job. He wasn't that far off.

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 :)

I always liked taking things apart, putting things together, and putting things together to make them do things they weren't originally intended to do. I liked to draw, paint, make stuff.

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. :)

Writing calculator games on a ti83 during freshman math courses. I still remember that my programs all used single letter variable names -- I think there was a technical reason, but maybe I was just incompetent -- and I had a piece of paper for each program that tracked which meant what :)
I was playing with my dads IBM 5150 PC back in 1988 when I was 6 yrs old, I remember that. I was too young to do much though, mainly just play a spelling game.

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.

Being given a Sharp PC-1500 pocket computer at age 6, and messing with it enough to learn BASIC via "brute force". A few months later being given a manual that filled in some of the blanks.
Having access to a computer (a DEC Rainbow). It's strange, but as a kid it's quite difficult _not_ to be drawn to hacking if you've got the environment and tools for experimenting. By the time I was 15 I've already done some Logo, Prolog, Basic and Pascal .. from there it was impossible to stop.
When the physics department got their own computer, a DEC VAX/VMS. I was a post-graduate with more-or-less unlimited access. It was love at first sight.
I have to thank my HP 48GX calculator.

I just love RPL! ;)

Legos.
Funny! Me too. Build what I want with limited types of tiles. Assembly was the most fun and the closest to playing lego. I built a 2x1.5m city in legos.
I voted you up because of this. Ditto on Legos!
I have had a long history with LEGO as well. And from LEGO I went on to C64, and programming in BASIC.

Thus I really enjoyed my summertime assistant job building this at our University:

http://web.abo.fi/fak/tkf/rt/robot/

Having done relatively well in a robotics competition that used Lego Technic, I got really annoyed using Legos to build something mechanically complex because of what I dubbed the "Lego Design Flaw." Legos have a 5:4 ratio of width to height (or height to width?) which makes it much more difficult than it should be to build in the full 3 dimensions.
I started on computers since before my earliest memory -- my parents got me SimCity and I played it every chance that I could. My inner hacker spawned in stages, though, I'm not sure there was a specific event. There were more general things, like loving to read, but there were also situations where I had to figure out how to let the library let me have an adult card. It's these that make the better anecdotes.

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.