Learning From Masters

Perhaps the best advice I ever got from Dad: "Find people who ski better than you and try to keep up with them. Follow them down a run and turn where they turn. Ride the lift with 'em and ask how they do it. People love to share what they're good at." I generalized that advice and became a professional student of everything, seeking experts everywhere.

Sufficiently advanced technique is indistinguishable from magic. Unless you have an expert guide who's also closely studying what makes it work.

I have been studying Ward's work for almost 20 years, by way of Extreme Programming, Object Oriented Design, and Design Patterns. I've only worked with his code by way of federated wiki for about five. I've had the great privilege to program with him in person (or by screenshare) for the past two.

I describe my collaboration with Ward on the graphviz plugin as a surprise. But I think that's my own fluency talking. I'm an expert student with deep experience learning from masters in many domains. Programming is both recreation and livelihood. I was paying attention when wandering the federation. Ward includes Graphviz among the tools he has returned to throughout his career.

I've been reflecting recently as to how well the unix shell has held up over time. What else have I used over and over?

Work goes quickly when steps are small, informative, and readily available. We set out to observe, record and organize the best techniques of our everyday developers.

I've mostly used the dot component of the suite of graph rendering programs.