Knowing how to hack

A few weeks ago, Dennis Crowley and I were hanging at ITP. Dennis was kind enough to show me around. I saw students creating and building some really interesting things including a foosball table dennis hacked to a display and student id card scanner so players could keep track of scoring and games. Very cool stuff.

For those of you that aren’t familiar, before co-founding Foursquare, Dennis created Dodgeball along with Alex Rainert while students at ITP.

While we were in George Agudow’s office at ITP, Dennis told me that he essentially built Dogeball with ~1200 if-then-else commands. He was completely self taught and here’s some random Dodgeball code that Dennis sent me. I love the comments the best.

The Dodgeball story & code is a perfect example of what Paul Graham was getting at in his recent post, “How To Get Startup Ideas”.

Knowing how to hack also means that when you have ideas, you’ll be able to implement them. That’s not absolutely necessary (Jeff Bezos couldn’t) but it’s an advantage. It’s a big advantage, when you’re considering an idea like putting a college facebook online, if instead of merely thinking “That’s an interesting idea,” you can think instead “That’s an interesting idea. I’ll try building an initial version tonight.” It’s even better when you’re both a programmer and the target user, because then the cycle of generating new versions and testing them on users can happen inside one head.

Scratching your own itch by building your own stuff is ideal. We saw it with David at Tumblr. Jack/Ev/Biz at Twitter. Dennis at Foursquare. Joel/Jeff at Stack Overflow. Charles at OMGPOP. Brian at Admeld. And many others that I’ve left off this incomplete list.

It’s not possible for every founder but we continue to see more of this and I believe it’s the best way to get going.