5 ms·
If our DNA were like clean code I wouldn't be so worried.
by RedBeetDeadpool 7y ago
If our DNA were like clean code I wouldn't be so worried.
- valiant55 7y agoComparing DNA to a really horrible code base sounds like the perfect analogy.
- wincy 7y agoNo dependency too old to be pulled in! If it doesn’t literally kill ya it ships!
- marcosdumay 7y agoHave you take a look at the building toolset? Javascript is nothing.
- MereInterest 7y agoRelevant XKCD: https://xkcd.com/1605/ https://xkcd.com/1605/
- hateful 7y agoI'm half Italian, so I've already got my share of spaghetti code.
- ken 7y agohttps://berthub.eu/amazing-dna/ https://berthub.eu/amazing-dna/
- speleding 7y agoFascinating read! I would love to read an HN discussion of that article with people more knowledgable than me to get a feeling of how accurate it is.
- ken 7y agoIt's been posted on here many times, e.g., https://news.ycombinator.com/item?id=6909711 https://news.ycombinator.com/item?id=6909711 and https://news.ycombinator.com/item?id=16233644 https://news.ycombinator.com/item?id=16233644.
- otikik 7y agoIt's at least a couple orders of magnitude more horrible than that. All we have is the binaries. There's no high-level language they can "decompile" into, because the binaries were not compiled from anything. They were literally "grown" from previous binaries by randomness and time. There was no mind guiding the changes so the only way to deduce some design lines is by looking at the system constraints. Nothing makes "sense" besides that. That's how you get, for example, the perception of time subroutine entangled with the vision routine [1] Oh and the hardware is the same deal: we can examine existing working "processors", but each one was "grown", not designed. [1] https://en.wikipedia.org/wiki/Time_perception#Eye_movements_and_%22Chronostasis%22 https://en.wikipedia.org/wiki/Time_perception#Eye_movements_...
- hateful 7y agoThat's not even taking into account epigenetics.
- K0SM0S 7y ago> epigenetics Hey, it's hard to refactor API's constantly because requirements keep changing. Commit more, or commit 'better': choose one for evolution. ;-) Joke aside, epigenetics in our funny imagery here stand out as "interface" to me —how a particular (DNA) codebase reacts and presents itself differently to different environments, different i/o and somehow manages to share this on-the-fly engineering with descendents. Biology truly is fascinating from an engineer's standpoint.
- DoreenMichele 7y agoThe fact that it's not is a feature not a bug. If it were easy to rewrite the code, we would create winged babies for shits and grins.
- aSplash0fDerp 7y agoI'm still digesting this recent finding on how DNA works. https://phys.org/news/2019-09-dna-held-hydrophobic.html https://phys.org/news/2019-09-dna-held-hydrophobic.html I'm using golf theory here, but if you're off a half a degree, the further it goes, the more errant the shot. With so much missing/incomplete/invalid information about DNA, writing junk code sounds about right.
- ImaCake 7y agoAs far as clean code goes, I tend to think of DNA as the opposite. It is worth noting, especially in bacteria, that DNA is a scarce and expensive resource. So evolution tends to prioritise efficent use of DNA, rather than clean and orderly use. The result is that the same bit of DNA will often do several things. This gets extreme in viruses where the short genome will have 2 genes literally on top of the each other and simply use different compilers to generate their respective proteins. It only gets messier from there (in all organisms). It's worth remembering that some genes are not on your side and like to copy themselves (transposons), your immune system will adapt itself (bacterial CRISPr does this too), things sometimes just break randomly. Finally, unlike code, none of this has any meaningful process control, its all random things influenced by random fluctations in the environment!