On Tue, 2005-10-11 at 22:19 -0700, Fred Cisin wrote:
On Tue, 11 Oct 2005, John R. Hogerhuis wrote:
Has anyone suggested stone tablets yet?
Yes, but nobody remembers how to read Stonehenge.
One snafu is that for it to work you would want
the error correcting
code to also be applied to the self-replicating software. Otherwise you
could end up with a payload and no (easy, and the key here is easy)way
to unlock it. Have to look into bootable CDs and see how that works...
self replicating data storage,... DNA perhaps?
Sort of. AFAIK DNA does not self replicate, that is if there is some DNA
laying around it won't just start making copies of itself. There is a
lot of supporting machinery in a cell that needs to be in place. Some
things in the cell aren't even coded for in the main DNA like
mitochondria.
So maybe the more accurate analogy would be a cell, with the DNA as
payload but with the payload containing information and description for
making all necessary machinery to decode the data and make copies.
Cell/DNA analogy only goes so far, since although it is data, bit errors
are tolerated and the organism deals with it or dies. In an engineered
system no data loss is permitted (though error correction is OK).
The issue I was seeing was that there seems to be a requirement for some
bootstrap code that is never corrupted. This bad since the whole point
of this is that we trying to tolerate errors by adding error correcting
codes.
Is it possible to make executable code which is resistant to bit errors?
Say just assume X86... is it possible to write some minimal bootstrap
code that can tolerate errors in itself, but run long enough w/out
crashing the machine to decode a secondary boot loader that is padded
with error correcting code? That initial bootstrap code can be
inefficient as hell...
-- John.