Earlier quoted context omitted.
> I've always wondered how such a relatively small amount of data could describe the massive complexity of a full-size organism I'm not convinced it fully does. Remember that DNA is never in isolation; there's always a cell that's been replicated and passed down to offspring, so there's interplay between the hardware cell and software DNA. I also don't know much about biology and only took a high school class, so don…
I think what you’re describing here is called “epigenetics,” or how different genes are expressed or not expressed due to environmental and other outside factors such as stress, etc...
"Gödel, Escher, Bach" goes into a detailed discussion about this.
On top of that, GP is talking about hardware that builds its own copies, possibly imperfect copies. That implies a lot of information relevant to the organism may not be directly visible in the DNA - it may sit within the replication machinery, and evolve there. It's kind of similar to the difference between machine code and microcode + actual traces in silicon.
A famous Turing Award Lecture by Ken Thompson, "Reflections on Trusting Trust", provides another example[0]. Consider a C compiler. How do you build one? From its C source code, using a different C compiler. Now imagine a malicious C compiler that a) injects a trojan into the compiled binary whenever it compiles, say, "login" program, and b) injects a trojan into the binary whenever it compiles another C compiler; that second trojan contains the code for injecting a) and b). You use that compiler to recompile the original C compiler, install it in a system - and from now on, not only "login" will be bugged, but you can't get a non-malicious compiler by recompiling the original one from source; the source contains no traces of the trojans, but they are there, in the binary of the compiler you're using, and they self-replicate.
This is what I believe happens with life.
--
[0] - https://www.cs.cmu.edu/~rdriley/487/papers/Thompson_1984_Ref...