Tuesday, July 1, 2008

The Bootstrap Problem

The first computers were hardwired, that is, the program was built into the computer. Turn it on, and the program just runs. Reprogramming required turning it off, and rearranging lots of cables and switches.

The development of fully programmable computers introduced a new problem - the "bootstrap" problem (from an old story about lifting yourself up by pulling on your shoelaces [boostraps]).

The problem:
  • A fully programmable computer has no set program.
  • When the computer turns on, it needs to find the program to run
  • The computer needs a program to tell it what program to run
There is a similar problem in biology:
  • DNA is the "program" for organisms (it directs their construction, including reproduction)
  • DNA breaks down outside of the cell environment (primarily the cell wall)
  • The cell wall is constructed by instructions in DNA (it will not form naturally)
When Darwin formulated his theory, there was no understanding of cell biology. He even lacked an understanding of heredity (the ground breaking research was occurring about the same time, but there was no communication).



During my time developing computers, I was part of a small team which uncovered a problem in the boot process of a new computer system.
  • The boot code lived in a chip called the "BIOS"
  • This chip was connected off another chip called the "Southbridge" (through a "bus")
  • The Southbridge powered up in a state which required a certain bit to be set in order to enable that bus
  • The code to set that bit was in the BIOS code
This one minor problem survived the inspection of dozens of smart people over scores of hours of review. And it would have stopped the system dead.

The simplest DNA code (a bacterium) is 150,000 bits long - human DNA is 7,500,000,000 bits. The most complex computer programs are about 1/10 of that (and DNA codes proteins which are far more powerful than the instructions in a computer).

16 comments:

lynch-patrick said...

The two aren't analogous in the way you think.

Plant cell walls (animal cells don't have 'walls') are made out of organic compounds. Organic compounds are simple and common molecular compounds (a few bonds between a wide variety of different elements and simple carbon). Be they organic or inorganic, compounds form because elements freely bond with one another (in a freely observable manner which chemists and biochemists make use of all the time, and which incidentally gives rise to the 'groups' and 'periods' structure of the periodic table). Elements are all the simplest atomic structures we observe in nature, including metals, which are not alive.

A living thing, at it's most basic possible definition based on our observation of these physical facts, forces us to philosophize: a living thing includes the simplest, most basic arrangements of organic compounds that can grow, reproduce themselves, and die... and, we think, nothing more.

The 'bootstrap' problem regarding biochemistry doesn't exist because the computer BIOS metaphor doesn't describe biology.

DNA/RNA isn't 'information' in the same manner that organized, magnetized bits of data requiring electricity, hardware, etc. is information. In fact, some extremely primitive (simple) organisms that we know of don't seem to have DNA, or use it in the way that our bodies do: to guide in the replication of cells.

Incidentally, DNA doesn't 'code' proteins at all: what it does is, it provides the freshly divided cell's immature cellular environment with a blueprint with which to build more complex cellular structures, i.e. to grow. Early in complex animal life, cells that aren't cancerous respond to chemical instructions from older cells and "specialize" by following certain genetic instructions and not others, thus creating, via their replication, the various tissues and organs that make us up.

There is no point at which elements and the molecules and compounds they make up everything are not 'on'; it's their organization (or lack thereof) that tells scientists how they will react to one another and the environment around them. Unlike your computer having a null state, or an 'off' setting, which renders the various components of the machine inoperable and uncommunicative, elements are real objects - they're matter. They exist: always. They're made of subatomic energies and don't 'cease' to operate (or change their properties) without electricity, as a computer does.

DNA means something different and in the scope of biological life than the BIOS does to computers, despite a few superficial similarities.

The comparison between the relative 'size' of a genetic instruction and a man-made program is flawed: the size and length of an instruction in a gene has little obvious relationship to it's effect on the life of the cells it is inside - large swaths of DNA in genes seem to do nothing, while tiny portions of them orchestrate and regulate a variety of cellular mechanisms. Nobody writes chunks of useless computer code and leaves them inserted into a program, never to be called and with no active function. Our bodies, on a genetic level, evidently aren't subject to our brain's ideas of logical ergonomy, however.

Death, a chemical / energetic process in the body as much as a spiritual happening, superficially appears to be like having the power turned off on your computer, but the reality is more nuanced and more complicated. In the end, life, and the chemical processes that instantiate and sustain it, aren't really 'like' anything.

I'm not a chemist (or an atheist) but I think I remember all that right from high school science. Wikipedia knows better than I do, though I think this explanation is at least halfway accurate.

nedbrek said...

You're correct that DNA is not like computer code: it is much more complicated, and better designed!

DNA codes proteins, but not in the same way bits encode instructions.

In a computer, the bits 0010010 might mean "Add the value in register 1 into register 2 (r2 += r1)".

In DNA, the sequence AGCATTA would create some protein. This protein will then have some effect in the body.

If an error changes the bits to 1010010, now the instruction is "subtract r1 from r2", and things will go horribly wrong. If the DNA changes to GACATTA, then you may get a similar enough protein, or no protein (which some other cell can make up), or an "evil" protein - which then may cause some nasty diseases.

Computers mostly assume errors won't happen. Finding and fixing all the sorts of errors is costly, and requires tremendous amounts of engineering.

Our bodies contain vast systems of error detection and correction. Each complicated in itself (not to mention their interactions).

Re "large swaths of DNA in genes seem to do nothing": you'rwe probably referring to so called "junk DNA". This region is being intensely studied, and early results are that it is actually the key difference between species. These regions are like "data" (versus "code") in a computer. They control when and where the protein coding regions are used.

You describe yourself as not an atheist, may I ask what is your theology?

lynch-patrick said...

Simple errors do cause great problems in bodies though, despite the body's capacity to survive harmful mutations. In fact, a rather large percentage of developing lives are spontaneously aborted and reabsorbed by the mother's body because of replication errors in the early phases of life - blastocysts, implanted embryos and even developing fetuses die this way. The body is a wonderful thing - but we understand so little of why it is the way it is as of yet.

And I don't know that I could tell you what my 'theology' is; I'm not a professional theologian after all, so I don't really do theology. I don't know that my beliefs are very sophisticated...

nedbrek said...

Everyone has a theology, at the most basic level, it is just what you think about God.

lynch-patrick said...

I don't think any of my expressions would do my thoughts justice. I'm no Aquinas or Luther.

nedbrek said...

Start simple. Are you a good person?

lynch-patrick said...

Is that simple?

nedbrek said...

Yea, I mean, are you good enough to go to heaven? When you meet God, what will you say to Him to let you in?

lynch-patrick said...
This comment has been removed by the author.
lynch-patrick said...

I'll ask for His mercy. I've tried to live a good life so far, but I'm nobody special.

nedbrek said...

Consider that our goodness is nothing compared to God (who is perfect).

Our sin is a grave offense against God (who deserves only good).

And God is just, He will not let the guilty go free (which would be unjust). And He cannot be bribed by our good deeds (which are what is required of us anyway).

There must be some payment for our wrong doing.

Does that make sense?

lynch-patrick said...

It sounds to me like you're saying that God, who is good, made us, who are bad, and expects us to be give Him goodness as He is due, which we don't have in us to give - and when we invariably fail, he makes us pay for our wrongdoings, and no action we could make with one another could possibly make him punish us less harshly.

And you find hope in this theology?

nedbrek said...

In a word, yes. The key, here, is that all the glory goes to God. God is shown to be good, just, merciful, etc.

All the credit goes to God for our salvation. No credit for us.

It also shows God's love for us. That God, in Jesus, is willing to die for evil people, us.

lynch-patrick said...

I don't know if the idea that we can't do anything to make God change His demeanor towards us is consistent with the Bible, for one thing.

I'm no theologian, but I looked it up, because I know I read it somewhere that God changes his mind about people based on their actions.

Jeremiah 18:7 [At what] instant I shall speak concerning a nation, and concerning a kingdom, to pluck up, and to pull down, and to destroy [it];

18:8 If that nation, against whom I have pronounced, turn from their evil, I will repent of the evil that I thought to do unto them.

18:9 And [at what] instant I shall speak concerning a nation, and concerning a kingdom, to build and to plant [it];

18:10 If it do evil in my sight, that it obey not my voice, then I will repent of the good, wherewith I said I would benefit them.

Again, no theologian, so I can't say that those verses apply to everybody; for all I know, they may just apply to the Jews, and maybe God decided to stop changing his mind about people after Jesus died.

But if God says (at least that some of us, sometime) can avoid being punished by doing less evil, maybe we're not totally damned and totally worthless after all.

Anyways, bad things still happen to good people all the time - people who pray, turn away from their evil, love God, and love Jesus get sick and die every day. It seems unjust to me that no amount of good a person does or tries to do is respected by God; I'm not very good, but whenever I see someone try to do good things, I find myself thinking better of them. I always thought that was a good quality, and was a little gift God gave us to make our lives more bearable and make Him easier to find when we're looking for him.

But you're telling me that God doesn't care why we do bad things, or what we try to do instead, he just holds us responsible for being evil, even when we don't have any indication to ourselves that we hate God or are out to hurt anybody?

Is that good quality of mine just a delusion? Should I really be looking at the people around me and feeling that they are hopeless and deserve their misfortune? I suppose I do that often enough, too.

We blame computer programmers when they write bad code. Does God blame some of us all the more for having bad genes? Are some spirits more corrupt for living in bodies that don't work very well? Most of us don't blame God for making us the way we are.

(Though very simple) logic in a computer program might be perfect on paper (perform its function, produce no errors and quit), but in it's implementation it's subject to all kinds of physical corruption and runtime screwups that come with reality. Genes are subject to the same eventualities, and to draw a parallel between computers and natural selection, we can see how some perfectly good programs become obsolete as others proliferate due to changes in the social environment they exist in (where innovation in code is driven by people's needs and means [and I guess architecture stands in for 'resources'..]).

We've gone from the simplest (thoroughly analog) adding machines to 'Hello World' to, using some of the same basic methods, producing all types of complex (and now apparently, quantum?) programs - to me anyways, that looks like a more apt description of the relationship between genetics and programming than the one you've made - a setback-laden all-day march towards increasing scope and complexity.

God doesn't save us from the things that go wrong with us, in all our genetic complexity. He doesn't make good people better, or bad people good - which, if I understand you correctly, wouldn't be just, anyways. He doesn't fix our messed-up code, or prevent threats from outside our bodies. It doesn't seem to me that he's interested in that side of us at all, because he doesn't do anything about it. If, according to you, he calls us sinners - because of nothing we do but everything we are all at the same time - what's he really doing?

nedbrek said...

You've hit the nail on the head, we must "turn from [our] evil" (verse 8). This is "repentance".

Repentance means "to turn" or "to change one's mind". This is not a work. If we humble ourselves, and cry out to God, He will grant this to us.

Bad things don't happen to "good" people (except Jesus). Bad things happen to bad people.

God permits these things, in order for us to know the world is broken (it needs Him, and we have rejected God). It also allows us to help each other (act in a Godly way).

Does that make sense?

lynch-patrick said...

No; it seems to me that the clause "turning from evil" means that people were doing evil things, and have ceased doing them in favor of doing things that are not evil - and everything that isn't evil is, I suppose, good, and people can't do nothing, so "turning from evil" and "turning towards good" is saying basically the same thing, right? It also seems to mean that people don't have en "evil" nature, if they're so flexible.

And it seems to me that God's not 'permitting' anything, regarding human suffering or the way the world is; the world either is or isn't broken, and He either is or isn't (fixing it, able to fix it, interested in fixing it). Maybe it's supposed to work this way, or maybe he's already fixed it, and this is how it is, or maybe it isn't fixable, so he's not doing anything with it.