Red Squirrel's Nuts

I constantly forget where I bury my nuts, but at least they sometimes grow trees.

Jan 3 2012

Ward and the Empty Cup

Writing a book for aspiring software developers means I end up having a lot of interactions with all kinds of newbies. Some are just unbelievably good, and I was just talking to one of these high potential newbs a couple weeks ago about what sounded like an epic, though embarrassing, experience.

This newb was at the 2011 Ruby on Ales conference in Bend, Orgeon, and being a Ward Cunningham fan, he asked me to make an introduction. (Ward wrote the foreword to my book, and lives in Oregon, so the newb figured I could make it happen.) This dedicated newb wanted to go on a sort of pilgrimage to meet the inventor of the wiki and the father of extreme programming in the hope that he could learn a few things.

So I made the introduction, and the newb and Ward ended up meeting at a pub. The newb got there a little late but Ward was waiting patiently. As he walked up to Ward, it struck him how perfectly Ward poured a glass of what turned out to be Ward’s favorite local beer. It seemed like a strange little ritual. Anyway, after the newb was a little ways into his PBR, the conversation turned to test-driven development, so the newb yanked out his laptop to show Ward a test framework he’d been developing, excitedly pointing out that he was using the framework itself to test-drive the framework!

The conversation eventually turned to wikis. The newb was a huge Julian Assange fan, and couldn’t resist interrupting Ward to start extolling the awesome power of WikiLeaks, and how he believed it was behind several of the recent revolutions in the Middle East. Ward’s into WikiLeaks too, so he listened patiently while the newb told him all about the other ways that technology could be used to force government transparency.

Finally, the newb asked Ward about design patterns. Ward told him a story of the days when he and Kent Beck were mining Smalltalk-80 for patterns at Tektronix. The newb listened for a bit, but once Ward mentioned Java, the noob jumped all over how the popular patterns in Java are totally unnecessary in Ruby. He ranted about the power of Ruby, which frees up developers to think about the problem domain, rather than focusing on the escape from the Java straightjacket.

When the newb’s rant was over, Ward asked the newb if he’d ever tried the local beer that Ward was drinking. Being from Boston, the noob hadn’t, so Ward graciously bought the next round. The bartender brought out new glasses and set the bottles beside them. Ward picked up the newb’s bottle and performed one of his signature perfect pours. But this time he kept pouring. And pouring. Until that excellent beer spilled over, and onto the bar. The newb stood up surprised, staring at Ward in shock. “Dude! Stop pouring! Can’t you see the glass is full and overflowing?”

And with those words, Ward gently handed the bottle back to the bartender, smiled at the newb and said, “If you meet me with a glass that is already full, how can you expect me to give you something to drink?”

[I made up this story for my Scottish Ruby Conference keynote. I’m riffing off of a story I used in my book. I was doing some end-of-year cleaning and figured I should write it down somewhere before I threw away my notes.]


Comments (View)
blog comments powered by Disqus
Page 1 of 1