/ Hathaway Weblog / Sometimes You Just Have to Walk

Shane :: Life, Zope :: July 12, 2005 # Sometimes You Just Have to Walk

I had to walk to school nearly every day for 13 years. Elementary school was a half mile away, junior high was 1.3 miles, and high school was 1.5 miles. I spent a lot of that time contemplating why I had to walk so much. I wanted to improve the situation, but I couldn't easily ride my bike with my big backpack, my mom couldn't drive me because she had to help the other kids get to school, and I never made enough money to afford a car until I was much older.

How exasperating this was for an imaginative mind. I considered building a vehicle that went so fast its particles could pass through any matter, enabling me to zoom to school--or China--in a stealthy half second. I wondered whether the magazine ads for a build-at-home hover craft were even slightly believable, and whether I could improve the design to make the craft work over long distances. I even mapped out the streets where I could start digging a tunnel system so I could at least walk in privacy. But lacking the options I invented in my daydreams, I trudged on using a primitive means of locomotion.

As the necessity of walking daily came to an end, I began to wonder if I might have learned something other than the expected life of an inexpensive pair of tennis shoes. I think maybe I did.

The folks building Python and Zope are smart. They plan an ideal, then follow a pragmatic path, building useful software while always working toward the long range vision. Even more important, their brilliant minds manage to work together somehow.

Dozens of times, I have considered building my own incarnation of Zope. A couple of times I've even begun doing it. I want something lighter, more manageable, and easier to use. What stops me is the recollection of the large community pushing Zope forward. They feel the pain too, and they are easing it slowly. I consider the undiscovered complexity of my invention and the necessity of typing every minute detail of every new algorithm. It turns out that the most malleable part of the problem is my own vision, and if I simply bend toward the Zope vision, I get to work on Zope and remain united with a great community.

Zope Jam is an effort to bend my vision. I now have a very good idea of what I want Zope Jam to do and how I want it to work. If it turns out as well as I hope, I will have proven to myself that ZCML is after all an excellent strategy and that Zope is on the right course for doing fantastic new things based on collaborative software development.

However, I don't know whether this is really the right path to take. I can't apply a cost/benefit calculation or precisely compare the progress of Zope with other projects. I can only proceed in faith along a dimly lit path, taking primitive steps.

One thing I'm sure of is that walking works, and when you don't know what else to do, try walking. It took me about 15 years to fully understand that.

I just reached a milestone of sorts in Zope Jam. On the visible side, there is now a sortable list of all configuration directives, and you can use it to find all views by a certain name, for example. Also, I expected to find some gem of wisdom in ZCML, and I found it today. The gem is that it's pretty easy to define your own configuration directives, and if your directives are repetitive, you can easily solve the repetition by writing your own directive type. Thus you can apply the DRY (don't repeat yourself) principle even in ZCML.

Comments

Max Greco (July 14, 2005 01:11)

Great ! Very inspiring for a newbie in the Python-Zope-Plone World

No further comments may be added.

Luke 24:36-39 (Click below to fill in the blanks.)
Your browser is not able to display the scripture fill-in program. To see it, enable Javascript or use Mozilla 1.0 or better.

Church: lds scriptures provident games pearls kzion shiblon film chancellor gateway cumorah byutv happiness nephi
Zope: freezope org com zen labs newbies zettai warnes
Python: home pyzine daily icanprogram
Genealogy: cyndi
Weblogs: jeffrey paul jon joel another-shane guido barry jeremy windley chrism zac
News: quakes lwn dc weather deseret zeitgeist softwarelivre
Zaurus: software developer
Tech: tango spintronics thin
Semantic: aaron sean
Reference: css rdf html4 javascript geckodom iecss emacs phrases acronyms
Reverse: advogato slashdot
Misc: gimp-savvy directory soda jokes shouldexist pdphoto