top
Home
Bio
Revolution!
Classes
What I do in my Free Time
Links
 
 

 

McGee's Manifesto

Rough Draft, for comments only. Please do not distribute in any form.

Manifesto

1) Never delete anything created by a human being.

2) Never change anything created by a human being.

3) Never paste anything created by a human being.

4) Never forget the origin of anything created by a human being.

5) Never forget the uses of anything created by a human being.

Commentary:

Motivation

Human beings, when considered as information processors, can output up to 100 bits per second. Any representation of human information output that consumes more bits than that can be encoded and compressed. This is left as an exercise to the reader.

(Please note the weasel words: "considered as information processors". I fully acknowledge that humans also output artistic information, which cannot be so concisely encoded. But, I have faith that people will eventually figure out how to encode this into smaller spaces, possibly as little as 1000 bits per second. At that time, the temporary exemptions for artistic output will expire. In the meantime, tape record everything. We'll figure out later how to deal with it.)

At 100 bits per second, the maximum output of a human being is less than a megabype per day. (This assumes the person sleeps for only 4 hours per night.) At that rate, a human could fill a 60 Gb disk drive in 182 years. We already have ample storage space for everything that every human on the planet could produce for the next 10 years. So, we already have the storage resources necessary to accomplish this manifesto. What remains is a business decision; it is worth it?

I take it as an article of faith that everything any human being does is worth saving.

No doubt there is much that almost everyone will say is not worth saving. But, I believe that we will change those decisions over time, and what we decide today to throw away, in 10 years we'll wish we had kept. Or 100 years. Look at how little archeologists have to work with now, and how much they learn from it.

Rules

OK, now that we know it is worth doing, why these specific rules? Mostly, they are the result of accumulated frustrations I have encountered over the past many years. If I had appliances around me that that obeyed this manifesto, I would be much happier today.

Rule 1: Never delete anything.

Why not delete anything? Mostly because, sometime, somehow, I'll want it later. I may want it only as a bad example. I may want it because I suddenly found a use for it. I may have decided that I was ashamed of it when I wrote it, but that sometime later, it was instrumental in creating something good. Or, I was convinced that it could have, if only I could remember it.

Instead of deleting something, add a tag that says it is obsolete, and why.

Rule 2: Never change anything.

There is no reality in a computer. Nothing stored on a computer has a one-to-one correspondence with any physical reality. What we store is models. Like every model, it is our best guess - at that specific instant in time - of what is true in reality.

As we learn more, our view of reality changes. So, our models should change. But that doesn't mean we should throw out the old models. We might decide later that there was more truth to them. We might also learn a lot from looking at the changes in our models.


Why not change anything? If something is wrong, why not delete the old and leave the new? Because, at one time, I believed the old to be true. I may have been wrong then. Or, I may have been wrong when I decided it was wrong. I may have even accidentally changed something that I didn't mean to change.

Instead of changing something, add a new version of the thing. Timestamp it with the time you made the change. Then, you can ask for various versions of the thing.

Any document is a model of something else. It might be an essay, in which case what I'm modeling is the idea behind the essay. It might be an accounting report, in which case what I'm modeling is the business transactions. It might be a sound recording, in which case what I'm trying to model is the emotional enjoyment of experiencing those sounds.

Any model I make has elements of truth in it. But, it is only my best guess at that time of what I was trying to model. Human beings are fallible. It is not given to us to know the absolute truth. So, if I keep everything in the model, I can look at various versions of the truth and try to gain a better understanding.

For a more mundane example, I use QuickBooks to do bookkeeping for a non-profit. I might write a check to Colleen Spence in 1998, then a check to Colleen Reed in 1999, There is no way to tell QuickBooks that these are different names for the same person. Or, say I enter that the deposit of $180 on 22 February 1999 was for membership. Then, later I find that it was really for selling CDs, and correct the transaction. But, I've printed a report in between those times. After I correct the transaction, someone asked me why membership income was so high. Well, now when I run that same report, I get a different number. I can't answer the question. (All of these are real examples.)

If I had an appliance that kept all the changes, I find out when I changed things, and why I changed them. I can't do that if the appliance forgets that I made a change.

Rule 3: Don't paste anything.

Copy and paste has caused more grief than anything else. Once I paste something to another place, I have a maintenance nightmare. If I change the original that I copied, should the appliance change the places where I pasted it? Sometimes, the right answer is yes, sometimes it is no.

I'm convinced that copy-and-paste is a crude attempt to implement something I call pattern-and-variation. Copy-and-paste wasn't too bad when computers were small and we couldn't do big projects with them. But, now our scales have expanded, and we do larger projects. And, we can't keep track in our heads of when we apply patterns.

Instead of pasting, define a pattern, then define a use of that pattern. When you define a use, you can define any variations on the pattern. Say you want to create <make up a better example than the test program>.

Rule 4: Never forget the origin.

Rule 5: Never forget the uses.

Notes:

When a programmer types "make" to create a 200 Mb executable, don't save the entire executable. All you need to save is the invocation of the make command, because that's all that the human created. Everything else is 'just' a configuration management problem.

If we do save everything, we will create a new profession: data archeologist. Given this massive amount of data, we'll have to spend a lot more effort developing tools to search for it, to find interesting correlations.

(This notion comes from Vernor Vinge's book <insert title here>.)

(The idea of extreme compression came to me from <insert name here>, who pointed out that, in theory, any image could be compressed to 80 bits. Of course, the compression method was completely impractical, but that didn't keep us from disucssing it as an interesting theoretical idea. And, see where it led me!)

Exceptions:

Because of current economics of technology, artists who work in audio media are granted a temporary exemption on practice sessions until 2005. This exemption does not apply to studio work or to public performances.

Because of current economics of technology, artists who work in performance arts are granted a temporary exemption on practice sessions until 2010. This exemption does not apply to studio work or to public performances.

Until such time as we have developed much better haptic and tactile input devices, artists who work in various other media (e.g., paint, sculpture.) are considered to work in performance art. In other words, videotape everything.

Manifesto.doc 5 12/1/00

 

 

 

Ryan Knowles wrote the first version of this website. Thanks, Ryan.