Gerald Sussman: "We Really Don't Know How To Compute"
infoq.com
infoq.com
Combining a good UI to the propagators as explained by Sussman in this video, would make a disruptive product on any field where decision making is needed. (Not like such tools didn't exist already in the hands of some, of course.)
[edit] fix typo
(because I'm not alone, not because he's afraid)
[edit] clarification
The 1GB for a human thing, whether or not it's off by a factor of 10, is the cost to build an infant and dismisses the real complexity of a human. The cost to build a high functioning adult is vastly higher. I don't know what it would cost to build me now (complete with screwed up kidney!), but I'm sure that it's quite a bit higher than 1GB: I've learned English, Spanish, love (or so my wife would say), loveV2 (or so my kids would say), basically every computer language, how to catch a football, how to WALK, how to have sex, how to have a conversation over cocktails, etc.
The magic of computers is that once N programs have run through the process of learning to do something, we can clone it. Getting to "how to speak English" is going to be hard; building 1e9 machines to do it will be relatively easy.
And on flexibility of the human source code -- sure a small change results in a cow. But a small change in Windows (default registry settings) can make Windows start in its standard shell, command line, safe mode, Media Center mode, etc...
While I can be in awe of the complexity and power of living organisms, I don't think its all that useful to compare them to programs -- at least not based on our current understanding of biology.
With that said there are things about computer programs that are hard problems in human biology (and note the analog is really more of an OS to an animal -- the animal is a set of processes, not just one process). I can easily use libraries in my current program. Transplants are still non-trivial in humans. I can kill my shell and it will come back. I can even hit an unrecoverable error, reboot and things will usually still work fine. I can probably remove half of the files on my compuer and it will still work fine. I can hibernate my computer, store the state and send it to different piece of hardware. I can take an image of my machine and clone it to 100 other machines. I can add new features and upgrade my OS -- generally can't do that to my body -- at least not in any satisfactory way.
Sure there are some animals for which there are non-necessary components, just like in operating systems. But if you remove a heart or the lungs or the brain from most animals -- they'll die. Cancers can kill most animals -- there's no real equivalent to operating systems. There is generally nothing that will flat out kill an OS.
PS: Don't forget your DNA is a single program that's been running continually for over 3 BILLION years because at no point did any of your ancestors die before having offspring.
The biggest problem behind human transplants is that our defense mechanisms (which is a hard problem in computing!) will kill the foreign material. So it's a trade-off, not a hard problem.
In any case, the real difference between biological DNA and programs is the latter is designed to be modified in a _directed_ way. You could think of DNA as a highly compressed program which is modified _in its compressed form_. In evolution, changes are made randomly, so this isn't really a problem - if anything, the magnification effect is a good thing. But in computer programs, we know what we want to change, and don't want to have to make several million random changes to try to find one that brings us closer to the goal. And so computer programs are more brittle - small changes have small, predictable effects - while human DNA is more flexible, but at the expense of predictability.
Well, yes, but the genome has a ~4,000,000,000 year head start.
You can get it with Chrome by launching with the iPad user agent and looking at source. Here's a gist with an alias for launching chrome on OSX with the iPad user agent.