Pycon Day 3: The Zen Nudge

Last night, I was sitting around the conference lobby and overheard some people talking. One person was saying the conference was ok, though he’d heard nothing remarkable so far.

Going to a techie conference can be a hit-or-miss thing. You never know what’s going to strike you, what’s going to be relevant. I’m reminded of a story of a Buddhist monk at a monastery who holds up a single finger during a talk, which mystified all the monks listening to him except for one, who immediately attained enlightenment. (Yes, Zen Buddhism is replete with these loony kinds of parables, something you don’t find so much in Christian scripture).

I sat on several different sessions, none of which seemed to lift a finger for me. Actually during one of the plone tutorial sessions, the instructor  answered a question of mine with an explanation that only somewhat satisfied me, and then he mentioned a key phrase, “XML-RPC” which totally made me understand. Rather, I didn’t totally understand, but I understood what I needed to do to learn to craft a solution to the problem I was dealing with.

Sometimes when working on a technical problem, sometimes all you need is a  nudge to  a solution. When asking a question in a forum or newsgroup, you don’t need a complete explanation, just something to look up. Often the problem is one of terminology. You want to do X. What is the technical term for this functionality so I know how to look it up in the documentation?  Sometimes you have an idea about how to do something, but then an experienced pro may have a different view of what the problem actually is. Also, in the open source world, chances are someone already has done a similar kind of project, so all you really need to know is that it exists somewhere, so you can search for it.

Yesterday, I talked to one of the coauthors of Python Cookbook, a great book of recipes submitted by the python community that illustrate how to write in python. Programming books, typically are too abstract or deal with one example application that is discussed and extended throughout every chapter. (By the last chapter, you are sure to be sick of this movie database, online bookstore that was invented by the author. Recipes are smaller and more task-specific; plus you can see how problems can be solved in different domains (not only the ones of interest to you). When using a mature language like python, chances are you’re relying on standard libraries which provide domain-specific functions, so maybe you may never need to use the networking modules if you don’t touch this for example. But algorithms, tricks, shortcuts, organizational methods, all these things can be gleaned whatever type of problem you are trying to solve.

I type this as I listen to Guido Van Rossum give his keynote address. Guido is the elder preist/benevolent dictator/code pope  of the Python language (now he works at google apparently).  Disciples listen and nod approvingly, but few understand the ultimate truth of it.