Box or Not

July 21, 2008

how i became a programmer

Filed under: Not a Box, Programming — Tags: — noah

You have chosen wisely.

I also found some adventure books that had a curious twist: in place of a written ending, each story instead concluded with a sequence of characters — code! — that you could feed into a computer. If you figured out how to run it, the secrets of the story were revealed to you. This was sort of the nerd equivalent of showing 100 minutes of the Sixth Sense (before the big reveal), cutting to black and then flashing some code on the screen. Why does the kid see dead people? Better get coding!

clues = %w[seesdeadpeople, wifegetscold, wifesetstableforone]
factory = MNightShyamalanTwistFactory.new(clues)
factory.make_box_office_magic do
    include StarPower
    include Kids
end

This would have been somewhat infuriating if the stories were any good (they weren’t). Instead these stories became really my first exercise in using a computer. I learned at a basic level what computer input was. Witnessing the creation of output was magical and unexpectedly beautiful. The input corresponded directly to the output, and yet, looking at the input, it appeared nothing like the output! I have proceeded to write cryptic programs ever since. I blame my parents for this.

While real programming work did not come until many years later, I can see now the seeds of a programmer being sown. The process, while not intellectually demanding, demonstrated that I had a certain kind of temperament well-suited for computers: a tolerance for details. The kind of tolerance that forgiving people call “patience” or “focus” (read: teachers and parents) but most people refer to as “crazy” or “bordering on autistic” (blame: parents). The basic feedback loop (input that drives output) still satisfies me at a primitive level; I write code to produce something beautiful.

This was followed not long after with more programming-like tasks: we upgraded to an actual Mac*, and I wrote a couple small Hypercard programs.

* Franklin was later successfully sued for its clone of the Apple II, the blame for which I’m sure lies with my parents, though I haven’t quite connected the dots yet.

What was your first language?

I suppose it was BASIC or LOGO. I can’t recall what those programs were written in. Probably LOGO.

What was the first real program you wrote?

categorized and forgotten

categorized and forgotten

Being the cutting edge family that we were, we owned a sizeable collection of LaserDiscs (picked the wrong horse there didn’t we). Thinking that maybe someday the collection would be worth cataloging, my dad asked me to build a searchable database of our library, which I did, using Filemaker Pro (because, well, we owned it). It was sufficiently complicated enough (had some primitive MVC concepts) that I consider this my first “real” program. It, like LaserDiscs, is lost to history.

What languages have you used since you started programming?

C and LISP in college

perl, php, VBScript, javascript, Java, and ruby after college.

What was your first professional programming gig?

I worked for alloy.com out of college, though I had worked as an intern for McCann-Erickson in college where I found myself doing some computer work that I wasn’t hired for.

If there is one thing you learned along the way that you would tell new developers, what would it be?

Don’t get involved in too much code cleverness or one-upsmanship. Code is beautiful when it presents obvious and simple solutions to potentially hairy problems.

What’s the most fun you’ve ever had programming?

My current job of course! (love how future-proof that line is…)

I also enjoyed collaborating with Stolen Bases to build wywh.mobi, a service that lets you send out a physical postcard using your mobile phone (yes, an actual postcard, not an e-card). It’s always interesting to work on projects that live at the intersection of the virtual and physical world.

Research Notes

Thought it worth mentioning that while researching and reminiscing about War Games for this entry, I had a good laugh visiting the link below. Click on it and behold the mastery of website usability that unfolds. And then, never do that on your own site.

http://www.fast-rewind.com/wargames.htm

I also found it interesting to see that Apple redirects http://apple.com/hypercard to its entry at wikipedia.

Edit
* corrected the war games link (404 was my fault, the rest is theirs)

2 Comments »

  1. Welcome to the internet. It’s a series of tubes. I like your truck.

    Comment by Luke — July 21, 2008 @ 11:34 pm

  2. Your blog is interesting!

    Keep up the good work!

    Comment by Alex — August 16, 2008 @ 2:23 am

RSS feed for comments on this post. TrackBack URL

Leave a comment

Powered by WordPress