RailsConf 2008

The Pen is Mightier than the Keyboard

Nov 19, 2007 5 comments

Penis Mightier Sometimes it’s to my chagrin to admit to my Ruby on Rails colleagues that I actually bothered to get my computer science degree. Majoring in linguistics or dropping out halfway through is much more fashionable these days. That feeling isn’t completely unfounded, though. These days, the technologies and concepts that I’m using are things I’ve learned on my own.

That said, I recently stumbled upon a coding practice that I thought was a revelation until I remembered that it was something I was taught in CS101.

I give, what is it?

Write your program on paper first, using the terminal to only regurgitate what you’ve already written.

The computer is a huge distraction, something that should be avoided when you’re brainstorming over important code.

When I’m in front of the screen, I find myself too concerned with getting the program running, getting the feature built, having something pretty to look at, than actually bothering to think if what I’m writing is actually a good idea.

Here’s what happened

The Powerbook I’m currently using has terrible battery life, two hours on a good day. On a five hour flight, that leaves me with a fair amount of downtime. Two hours I could be reading a book, but I’ve always found flights to be incredibly productive because there are no distractions in the air.

On the last flight home, instead of immediately running the laptop’s battery dry, I whipped out my notepad and started jotting bits of code for solving some problems with FamSpam.

<plug>Go sign up for the launch annoucement if you’re terrible like I am with keeping in touch with your family, it’s launching just in time for the holidays!</plug>

A couple of hours later I had rewritten chunks of code three to four times until I was really happy with the solution, one that I know I wouldn’t have come up with had I just been banging away at the keys.

Once I had finally opened up my laptop, I needed only about 30 minutes to have my solution written and fully-tested.

Final thoughts

Again, what I really think it boils down to are those moments of reflection that not being in front of the screen provides you.

Sure, you can sit back and ponder while on the computer, but I find myself constantly saying, “well, what if I just try this.” Applying band-aids to a large gash instead of getting it stitched it up.

Next time you’re heading to the cafe, instead of bringing your laptop, bring your notepad and see what happens. Walking up to the computer with the solution already in hand is an awesome feeling.

See, that CS degree wasn’t complete bullshit.

5 comments


George Anderson said about 3 hours later:

The link to FamSpam redirects to login, with no launch announcement sign up in site (pun intended).

Noah Everett said about 5 hours later:

Its good to see this put into words. I have also found that I can write code much faster if I think/write it out first. I wrote/designed EchoPic (http://www.echopic.com) in about 4 hours because I charted the flow user interaction out first.

PJ Hyett said about 11 hours later:

Thanks for the heads up George, it should be fixed now.

Garry Dolley said about 11 hours later:

Nice tip. I’m also one of those guys that bothered to get his CS degree, you’re not alone. Thanks for the reminder that the computer is a huge distraction, I think you’re right. I used to use the notepad a lot more than I do now, but I think I’ll go back and give it another whirl!

Scott Walldren said 10 days later:

I really liked this post. While I am but a lowly HTML coder / Project Manager / Whatever-the-powers-that-be-need-today-guy, I agree with you that we often neglect to think of the computer as a tool, and really see it as more of a workplace environment (in which corner cutting is efficient).

When I do design or set to chop it up, I always print it out and start drawing on it, breaking it down into discrete tasks. That way, when I actually do write the code, it does exactly what it should, and I’m not using CSS short cuts “just ‘cause”. Ultimately more efficient.

Kudos.

Name
Url