User:KrnlHckr
Hello! My name is Sean and I go by KrnlHckr on the OSDev.org board and wiki. My blog can be found at blogspot.
Early Days
TRS-80 Model III
Like so many people in my age bracket, my experience with computers came at an early age when computers in the home were an exceedingly rare thing. I was 10 when my Dad brought home a TRS-80 Model III from the local Radio Shack. He and I spent countless hours on that machine, entering code from Byte magazine, taking it apart and examining its insides and upgrading from 16k to 32k of RAM, and basically having a grand time with the new contraption. While Dad spent his time, when we weren't under the hood, using applications and other tools, I was pouring over the BASIC manual learning how to write programs.
My first coding attempt was some improvements to the TRS-80's "Cannon" program. It was a silly little graphics program that had a cannon on a castle wall that shot a cannonball every 5 seconds or so. My modifications allowed the cannoneer to adjust the "power" of the shot which allowed the ball to land closer or farther than the pre-programmed constant distance. It wasn't anything scientific and surely violated established laws of physics, but who cared! After I cut my teeth on BASIC I switched over to Z-80 assembly. Dad had brought home the editor/assembler cassettes and I took to it like a duck to water. I did all sorts of wonderfully silly things like video manipulation, bouncing characters of the "walls" of the display, and memory dumping (where I learned where the ROM OS was for the TRS-80).
C-64
I graduated to the god-like Commodore 64 a few years later and my 6502 manual took a massive beating as I learned that chip. I loved disk editors and sector nibblers and took great pains to steal as many C-64 games as I (and my friends) could lay our hands on. At age 12 or so money was not easy to come by and there was no way I was going to be able to pay $25 for a video game. All my software was pirated and I didn't pay it any mind because ethics of hacking didn't extend to dollars and sense. I used my C-64 with a cassette drive since I couldn't afford the 1541 floppy drive. When I was finally able to buy one, though, it was GAME ON!
I wrote sprite routines, did collision detection, wrote a (really nasty) hex editor for disks, and generally had myself glued to this thing 24x7.
Tandy 1000EX
The day the Tandy 1000EX showed up at our house was a memorable moment. Although I had my C-64 (we sold the TRS-80 tragically) I still spent a good deal of time on this new machine. I realized that GW-BASIC was similar to the other BASICs I already knew, but I would also get to learn Pascal and LOGO. This box would eventually become mine when I went off to college.
A Career
PC Support
Because of my exposure to PC hardware, I didn't have any trouble getting a job in college. I joined the PC support team on campus and ran around fixing broken machines, programming jobs, and doing some telecom work. Biggest time wasters were MUDding and IRC. I began learning C and assembly on the 8088.
UNIX and Linux
I got my first exposure to UNIX in 1991 while in high school. My AP Pascal course was done remotely and our assignments came to us over a UNIX hosted BBS system. When I got to college, however, the plethora of UNIX systems was mind boggling and I had (in addition to my mainframe account) accounts on four UNIX systems. AIX, SunOS, Digital UNIX (before they porked with Tru64), and some weird thing called Xenix. My UNIX reference was a huge SVR4 textbook and it allowed me to make sense of all the fun things that UNIX did that DOS and Windows just didn't bring to the table.
When I got my first Linux book in 1992, I was in the Army and bought a 486 machine just for it. I played around with it and that is what brought me into my UNIX sysadmin job that I have now.
Who Cares?
Nobody but me perhaps, but this is the OS Dev community and we all love to talk about "the old days" even if the only person listening (or reading) is ourself. I've never liked applications programming. I have always prefered being in the trenches close to the hardware. I like the power that the OS, the kernel in particular, give you. As an OS developer you literally hold the stability of the system in your hands. As an applications freak, your poorly written code might crash the app. As a kernel junkie, your poorly written code will likely crash the system and bring down everything and everyone who uses it.
Rock on, then!
Screenshot
One thing we love about this community is how much we all adore our screenshots. Below is my gratuitous contribution, in all its lack-luster glory.