Preferences

kenjackson parent
I really didn't like his 1GB example in the beginning. You can't compare humans to computer programs in terms of capability. Computer programs do very different things. Sure we can spot the missing triangle faster, but we can't sort 1M names very quickly.

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.


swannodette
I think you're missing the point. Computer programs are processes. There's a whole lot of amazing biological processes out there. Why are current human formulations about the nature of process (programs) so brittle compared to these other processes we observe? It's a humbling talk. Our notions of computation are somewhere at the primordial soup phase.
kenjackson OP
They're more brittle because they can be. For example, in computers loading and execution of a program generally occur w/o transcription error.

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.

He's also saying our programs can't be un-brittled yet, and we want to solve more dynamic problems.
onemoreact
There are plenty of programs written based on the assumption that there will be tuns of memory errors. Where systems can not only detect problems automatically but try a range of solutions to fix the HW problems without intervention. But it's more a question of cost to develop vs deploy. If your sending a probe to Saturn or sending 100 million devices in the field to monitor power transmission without interruption for years you build a vary different system vs severs that can be monitored by people.

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.

bdonlan
> Transplants are still non-trivial in humans.

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.

contextfree
Swapping out libraries still isn't entirely trivial in programs either (DLL/dependency hell, etc.)
lukeschlather
The OS is analogous to electrical impulses in the animal brain. The real thing that separates animal brains from computers is the lack of persistent storage media that retain information when you remove power or other operating components.

This item has no comments currently.