O'Reilly Network    
 Published on O'Reilly Network (http://www.oreillynet.com/)
 See this if you're having trouble printing code examples


Hackers and Trackers: CP4E

by Stephen Figgins
01/31/2000

Hackers and trackers share a highly tuned sense of their environments, as well as an ability to move easily around and manipulate that environment. But just as few people share the skills of a natural tracker, most people also lack the ability a hacker has to control the online environment. In this column series, O'Reilly Network editor Stephen Figgins explores the similarities and discusses an effort to boost programming literacy

Sometimes seemingly unrelated interests in my life overlap. This happened to me recently when I read Guido van Rossum's proposal to teach computer programming for everybody (CP4E). At the time, I had been listening to some insights Jon Young had into how tribal people teach their children the vast amount of knowledge they have about their environment. Jon Young is one of the founders of the Wilderness Awareness School in Duvall, Washington. He was the first student of Tom Brown, Jr., the author of The Tracker.

Young's special area of study is how tribal cultures teach tracking, a very complex art that engages all the senses. Tracking is the ultimate expression of the naturalist. It is a demanding skill that involves mental acuteness, craft, and concentration. It is extremely difficult to master and requires lots of time in the field, or "dirt time."

Some cultures are more successful than others at teaching their children. Young wanted to know why, and he wanted to take those teaching techniques and apply them within his own school. So he made this the focus of his studies in college and continues this study today. Young wants to teach basic ecology for everybody. He is on a scouting expedition for future trackers.

Hacking is also a very complex art. Let me clarify that when I use the term hacker, I do not mean a computer criminal. I use the term in the same sense used in The Jargon File or New Hacker's Dictionary. Hackers in this sense are programming artists who stretch their abilities and explore computing enthusiastically. Hacking is the ultimate expression of the programmer—a skill that involves mental acuteness, craft, and concentration.

For the most part, hackers have not been trained to be hackers. Most have just taken to the medium enthusiastically, and over time were recognized by other hackers. Schools have taught computing as a science, but not as an art. Van Rossum suggests we teach basic programming for everybody. He is on a scouting expedition for future hackers.

Van Rossum's CP4E

Van Rossum's proposal was made to the Corporation for National Research Initiatives (CNRI) in July 1999. His proposal has three components:

  1. To develop a high school and college curriculum
  2. To create better tools for program development
  3. To build a user community around these tools to help with their development
It is not suprising that Van Rossum, the author of the programming language Python, decided to base these tools around that language.

When CP4E was first announced on Slashdot, the overwhelming topic of discussion was how appropriate the Python language was in teaching programming. But buried amid the advocacy messages were a few that really addressed the proposal. One message read, "Everybody? Really teach Everybody? Why?" Someone else compared the proposal to teaching everyone to be a car mechanic: You don't need to know how to fix a car to drive one, and most people will never care. What is the point of teaching one more thing most children will not care to learn?

The opacity of paradigms

Van Rossum's own analogy is not to cars, but to literacy. The goal of literacy was not to make everyone a professional writer, but to allow people to understand the writings of others and enable them to write simple documents of their own.
The goal of literacy was not to make everyone a professional writer, but to allow people to understand the writings of others and enable them to write simple documents of their own.
You may never write a novel, or even a short story, but with basic literacy, you can communicate your thoughts. The rise in literacy helped make the Renaissance possible. It changed how we view the world so much that people in the Middle Ages could not have predicted the Renaissance; they had no idea what the future would hold.

We don't yet know what the result of general programming literacy would be, but Van Rossum believes that it could be just as big of a change as was brought about by general literacy. Now that there's a computer on every desk, can we now make everyone literate in how to write simple programs? It will very likely change the way we think about computers and how we use them. Is his proposal, Van Rossum suggests our programs will become more flexible, and more easily tailored to match individual needs. But we are as much in the dark about what might happen in the future as the people of the Middle Ages.

This is really about freedom. Just as the rise in general literacy brought about an emancipation of ideas in the Renaissance, a rise in programming literacy might also free us to explore a world where computers are becoming ubiquitous—embedded in many of the tools that surround us daily. Literacy in the Information Age will mean computing literacy, and knowing how to program.

These are exciting reasons for CP4E, but there is a more immediate possiblity hidden in the subtitle of the proposal. This is not just an intiative for general programming literacy. It is a "Scouting Expedition for the Programmers of Tomorrow." But maybe not just the programmers of tomorrow, but the hackers of tomorrow. The closest example of this kind of general literacy in an art that I can think of is the ecological literacy of tribal peoples and the art of tracking.

The ecological literacy of tribal peoples

Depending on their knowledge of the environment for survival, tribal people have a huge incentive to teach their children as much as they can about the plants and animals that surround them, how they interact, and how they can learn from them. The more successful a tribe is at these things, the more likely it will survive. The ecological education of some tribal children is incredible. A 12-year-old Warli girl from India was described by Winin Pereira and Jeremy Seabrook in Asking the Earth (Earthscan Publications, 1990).

She posesses a vast, complete knowledge system, which includes such orthodox divisions as animal husbandry, agriculture, meteorology, herbal medicine, botany, zoology, house construction, ecology, geology, economics, religion, and psychology. And more important, she is also part of a remarkably successful educational system: Because her father has died, she taught all this to Krishna and her other younger brothers and sisters. In this system, there are no dropouts or failures, and the educated live contentedly without relying on a multinational company to give them a job. Moreover, Raji is not unique. Most Warli children of her age have the same or even more knowledge.

Tribal people live immersed in the natural world, and their awareness is stretched out as far as they can see or hear. They are native to their environment in a way that has been mostly lost in modern culture. This same level of awareness of nature is almost unheard of in more civilized societies. We live more isolated from the natural world. We are not going to be eaten by tigers if we fail to detect them. We don't go hungry if we are not able to track deer. It is extremely rare for a Westerner to be lost in the wilderness. Somewhere back in the history of civilization, probably many thousands of years ago, we lost this level of natural awareness.

The ecology of the programmer

For the most part, the area of our brain dedicated to understanding the natural environment has stopped working. Some of this awareness is applied to other tasks, such as surviving in the political landscape (the art of politics) or surviving in battle (martial arts). But this has not become a general literacy of the people. The compelling survival need is not there.

A long unused area of our brains is beginning to come alive. It is the art of the tracker that is reemerging in the art of the hacker.
With the rise of the Internet, there is a new wilderness—a new ecology made from the interactions of billions of communications from billions of devices. They are being woven together in a web that is just as complicated as the web of life. And our success as individuals, as a culture, is going to depend on our ability to understand and manipulate that environment.

Perhaps those who question the need for programming for everybody are still thinking of computers as boxes that sit on top of a desk, not connected to the rest of reality. But the network is a reality—a change we just began to grasp in fear of Y2K and what would happen if all computers suddenly failed. The network is the computer, and the success of our children will depend partly on how well they understand and can interact with the network environment. It will depend on their programming literacy. Will they have what it takes to survive in the computing wilderness, the untamed areas of the Internet?

What hackers can learn from trackers

Away from the tame, the known, the village, the city, hackers and trackers understand what makes things tick. They know how to read the environment, manipulate it, and stretch this awareness as far as they can, to adapt and use whatever is presented to them. It is the uncharted and unknown that thrills them, that draws them deep into their work, turning over endless possibilities, and making what they imagine become real.

A long unused area of our brains is beginning to come alive. It is the art of the tracker that is reemerging in the art of the hacker. In the network we once again have a rich medium for this art. And we have a compelling reason to learn, because those most successful at manipulating the medium will be the most successful at survival.


Stephen Figgins is an editor with the O'Reilly Network.


Copyright © 2009 O'Reilly Media, Inc.