I have been learning a bit of Ruby lately, and when you do that it is hard to avoid this figure who, a few years ago, went by the handle of _why. He did lots of stuff, but one of his projects, hackety hack, was a response to this problem: people are dependent on computers (of all kinds), but they know very little about how they work. He wrote some about this problem here.
In particular, we users are not able to read or write the languages that our computers understand. We are illiterates. Part of the problem is that operating systems (like, say, OSX) are designed so that you don’t ever need to see the actual code that makes your computer do things. Like on your ‘mac’ when you point at a picture and click it twice, and a window opens and you click a radio button to turn off, say, the pop-up messages, what that actually does is edit a configuration file that is full of code (in a language like JSON, XML, or Lua). Most of us would look at the contents of that file and have no idea what it says. But that’s what the computer actually reads to know whether or not to show you pop-up messages. The pictures and the window and the radio button are just ways to allow illiterates to change that file without knowing how to read or write the language it is written in.
An even bigger issue is that those configuration files are small potatoes compared to the kernel, the code that is the deep brain of your machine. For OSX, not only do you not speak that language, but even if you did Apple would never let you see it. It is a proprietary secret they guard feverishly. Like a holy text only the priests of the temple are allowed to see. No opening up the hood of your machine and tinkering with the engine. You don’t know how, and you are legally prohibited from doing so. You are dependent on the priests to write a graphical user interface program for you, so you can click on pictures to make things happen. I submit that this is a pretty pathetic condition to be in, and most of us are.
So the idea of hackety hack was to work at least on the first problem, the problem that we are illiterate and so we are unable to communicate directly with our machine. _why made something that helped people (especially kids) take code into their own hands, so they could open up a plain text file and edit it to tell their computer directly, in its own language, what to do. Or even better, they could write fairly sophisticated programs (e.g. in Ruby, or Python, or Javascript) that could get the computer to do all sorts of neat stuff, whatever the user wanted. A shopping list app or an app to follow Tom Waits’ tour schedule, or an email client, or a browser, or anything at all. Not such a bad idea, _why.
Hackety Hack is sort of not really maintained anymore, and _why disappeared for a bit and is now operating under a new name, but the example is worth paying attention to. We all need to become priests, and mechanics. Let’s open up the hood and tinker with the engine. Let’s learn to read and write. We will probably break something, but we will learn, and maybe also we will begin to recognize, refuse, and escape our current condition of utter dependence.