Clean Hacking Stations

Fun Fact About Eugene #322: I’m obsessed with cooking shows. There’s nothing I like better on a Saturday morning than rolling out of bed, turning on PBS, and watching Jacques Pepin work his magic. What’s amazing about these chefs is that they always have a clean cooking station. Always. It’s apparently a principle they teach at cooking school, and it makes a lot of sense. It also seems to apply to other areas of life. Getting Things Done. Project Management. And of course, hacking.    (K95)

Ingy dot Net (The Hacker Formerly Known as Brian Ingerson) was in town this past week, and we hacked a little bit on Wednesday night. “Hacking” with Ingy for me so far has mostly consisted of me watching him in action, catching a typo here or there and occasionally pursuing some philosophical disagreement. But it’s cool, because I enjoy watching other folks code, especially folks who are better than me.    (K96)

(Earlier this month, while working on the Ruby YADIS library with Brian Ellin, I learned for the first time about command completion in Emacs using meta-backslash. Emacs has been my primary programming environment for about 15 years, and yet, I never knew about this. Very embarrassing.)    (K97)

One thing that surprised me about Ingy is that he doesn’t code very fast. On the other hand, one thing he does incredibly well is that he always has a “clean hacking station.” Even when he creates temporary directories or inserts debug statements in his code, he does it in a very clean way. It’s a practice I’d like to do a better job of emulating.    (K98)

The Pete Paradox

Peter Kaminski has a great maxim, which those of us who know and love him commonly call The Pete Rule:    (K8N)

“Time together in person is too important to spend working.”  T    (K8O)

I think it’s a great rule, but there’s a corollary, which I’ll call The Pete Paradox:    (K8P)

Time together in person is the best time to work.    (K8Q)

I actually had a specific experience with Peter last October that led me to think about this paradox.    (K8R)

At RecentChangesCamp earlier this month, I faced this paradox first-hand. On the one hand, I didn’t want to waste the opportunity to really get to know some of the excellent folks in the Wiki community who aren’t local to the Bay Area. On the other hand, I had some specific things I wanted to work on — namely SisterSites with Ward Cunningham and other Wiki developers and a YADIS implementation with the good folks at JanRain. Working on these projects meant breaking away from the larger group, popping open the laptop, and focusing on the work at hand.    (K8S)

The paradox resolved itself to my satisfaction. I got both projects done. We implemented SisterSites in PurpleWiki and a bunch of other Wikis, and Brian Ellin and I wrote a YADIS library in Ruby. I met several interesting and cool people for the first time, including Brian, and, I got to know folks like Bayle Shanks a lot better. On the second night, after the conference party, I decided to go to the main ballroom to check my email, even though I was exhausted. The ballroom was empty at first, but about half an hour later, Bayle showed up. We had met at WikiSym, but this was the first time we had a chance to sit down and really talk, and we stayed up past 3am. That was excellent. I had already known that Bayle had done some cool stuff, but it was great to dig deeper into his ideas as well as to talk about non-Wiki stuff.    (K8T)

I even got to discuss The Pete Paradox with Pete in person. (How’s that for meta?!) And here’s how I finally resolved it in my head. Both The Pete Rule and The Pete Paradox are about maximizing engagement. When you are working closely together, you are engaging in a way that is not only more productive, but more meaningful. Face-to-face time spent working can be a waste, but face-to-face time spent truly working together usually isn’t.    (K8U)