Skip to content

Why We Code

July 19, 2016

I love my job. I love what I do. But sometimes, we need to remind ourselves of why we love what we do. It is often necessary to recall what made us fall in love in the first place and re-kindle that fire.
When you love what you do, it is inevitable that you will still burn out for reasons beyond your control. I have experienced this several times throughout my career. I want to share how I recovered:

I was going through some old stuff and stumbled across an old notebook and my old daily journal from 1993. I was 13 years old and my sister forced me to keep a journal. I opened it up and came across this gem:

I apologize for my lack of penmanship at that time. This is what it reads:

I got sunshine, on a cloudy [day]. When it’s cold outside, I[‘ve] got the month of May. I guess you’d say, what can make me feel this way[?] My compilers. My compilers. Talkin’ about my compilers. Yeah! I downloaded a shareware C compiler and pascal compiler. YES! It takes very little memory! Alright! I feel so good! I’m done with my programs at school and I’m done with my short story! Yeah yay! Good bye!

What a dork I was. I re-purposed the lyrics to the song “My Girl” and dedicated it to my C and Pascal compilers. When I read this, I remember everything. The pain of downloading something seemingly big (such as a compiler) over a 2400 baud modem. The joy of successfully downloading it from a BBS without your mom picking up the phone and ruining the download. The joy of being able to write C code on your personal computer at home without having to go to the nearby college and ask for time on a VAX/VMS dumb terminal just to get access to a C compiler. The sound of the loud clicks that the old ATX form factor keyboards used to make. The joy of seeing a successful compile without an error. I remember being so excited about the compilers that I rushed through this entry of my journal. I remember the joy.

I dug further. I looked through my old notebook and came across this:

I remember it clear as day. It was one hot summer day. My parents were too cheap to turn on the air conditioner and I was stuck at home, bored. Fortunately, I was able to convince my mother to buy me the books “Assembly Language for the PC” by Peter Norton and “The Waite Group’s Microsoft Macro Assembler Bible”. I was fascinated by Assembly and I wanted to learn it. I had to learn it. All the “elite” hackers and virus creators were using it. C was cool, but only “lamers” would make virii in C. So I spent a couple days reading and taking notes. It felt great to assemble software and gawk at its minimal size. 8 bytes of code was enough to write a program that outputted an asterisk. Just 8 bytes. (On a 16-bit OS & processor of course) I remember the excitement.

I dug further. I found these notes:

I used to do this for fun. I’d download trial software or copy protected games and I’d reverse-engineer or crack them. You see… I didn’t have a Nintendo. My parents limited my TV time. We never had cable. All I had were books, and fortunately a computer. I’d spend all day cracking software. I’d upload these cracks to BBSes and share them with other people. I found joy in doing this. When I cracked a game such as Leisure Suit Larry, I didn’t really care to play the game. I had more fun cracking the game than playing it. I remember the adventure.

I flip the pages of the notebook and stumbled across these:

I was mischievous too. I loved making trojan bombs, viruses (virii back then), ansi bombs. I didn’t want to test these out on my personal computer, so I’d write the code on small pieces of paper and take it to school. I would then proceed to exit to the DOS shell on each lab computer, run ‘debug win.exe’, jump to 100h, replace the first few bytes of the windows executable with my test malicious code. At lunch time, when the kids would come into the computer lab and start windows, I’d take notes on which of my evil executables were successful and which were not. Of course, they’d never know it was me because I wasn’t the one sitting on the computer when it crashed fabulously. I remember the thrill.

When I look through these old notes from my early pubescent years, I recall everything like it was yesterday. It wasn’t lucrative to be good at this. You couldn’t pay me enough to stop doing it. I remember the smell of the inside of my 286sx/12mhz and my 486sx/25mhz. I remember using the aluminum cover for each ISA slot as a book marker for my books. I remember hacking lame BBSes and bombing people with my ANSI image that would remap their keyboards or redirect their standard output to their dot matrix printer. I remember using the Hayes command set to send instructions to my modem. I remember discovering gold mine BBSes that had tons of good hacker stuff and downloading issues of Phrack magazine (before the 2600 days). I remember downloading and reading text file tutorials from Dark Avenger (the infamous creator of the virus mutating engine). I remember writing my own text file tutorials on cracking software, trojan bombs, ansi bombs, and simple virii. I remember the password to access the original VCL (Virus creation labs): “Chiba City”.

I remember the satisfaction. The butterflies. I remember. Everything…


From → Hacks

  1. I love it man, once a coder always a coder!

  2. Jim permalink

    Cranklin. You were OG before there was “OG”. Brother, please write more often. Your words are gold.

  3. I remember those books! I also spent a lot of time with Michael Abrash’s book “Zen of Assembly Language”. Writing COM programs by typing assembly into the DEBUG command on DOS was my first exposure to working with assembly; coding a TSR to beep on keypresses was so cool back then. Reading this was like reading a page from my own childhood.

    Anyhow, thank you for this great post! I’ve been feeling lately like everyone is so busy hacking stuff together in Node.JS and writing code for The Next Magical Framework ™ that nobody is taking the time to really enjoy what it means to be a programmer. Going back to our roots does seem to help rekindle the interest.

    • haha! Yes! My book walked me through my first COM program via DEBUG with the ‘e’ command as well. Oh “terminate stay resident” was very cool back then.

      I’m so happy to trigger that nostalgia in other engineers as well. I share your sentiment. The hacker culture used to be that of learning, discovery of new systems, and obtaining knowledge. It has somehow turned into a culture of rushing things out with minimal effort… built with frameworks on top of more frameworks.

  4. Cosme permalink

    Nice to see you back.

  5. Holy shit, Chiba City takes me back. As a kid I had no idea of the reference, looking back it was so fitting. Thank you so much for the memories!

  6. Hi bro.

    You write this article thats really very amazing!


  7. blood_hound permalink

    When I was 12 (2002) I asked my dad for a computer in my room. He laughed and told me I’d rot my brain playing Commander Keen all day…no chance.
    About a week later he had a change of heart. He came back and told me that I could have a computer on one condition: He would not buy it for me.
    So, twice a week, on garbage night, I would ride my bike around the neighborhood. I would come home each night with strange and unwanted computer components strapped to my bike via bungee cord.
    Eventually, I had a mountain of random, half broken computer parts in my bedroom. I went to the library and rented an equally large mountain of books. A short while later I had a very ugly but functioning Frankenstein’d beige box. My eyes nearly exploded from my head when I saw that grainy, green tinged Windows 95 logo pop up. The beige box lasted about 2 weeks before it nearly set fire to my room. The 12 year old in me really shined when I installed the fans backwards 🙂
    My dad saw how hard I was working and he decided to make a father son project out of building a state of the art box together. Went from an interest in hardware, to software and coding. The rest is history.
    I now run an independent company running freelance vulnerability and pen tests, and various specialized IT functions. No formal educational in computer science, ever. Entirely self taught.

    This post send me on a trip down memory lane. I used to keep digital journals of all of my programming feats. Re-reading them 15 years after I wrote them, I appreciate the journey so much more.
    Thanks for such an awesome post. And on a side note..the assembly virus post: I couldn’t agree with your philosophy more and your skill level is impressive. Keep up the great work. Great blog!

    Always stay grounded, always stay hungry, and of your own mind: always be root.

    • Thank you for sharing your wonderful story! I enjoyed it. It’s great that you followed your passion and ultimately molded your career… and thank you for your kind words.

Trackbacks & Pingbacks

  1. 1 – Why We Code

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: