The house I'm living in has been around 30+ years, but in the last 5 years, I've witnessed several trees in the yard die.
I guess what I'm saying, is there is a trade off between easy to understand and fix (orderly) and resiliency(biological), and even then I see a lot of orderly things outlast the chaotic systems.
Not for any practical reason. The tolerances on some parts are tighter, but in general anyone who takes the same interest that the average man took in the '80s can repair the vast majority of a current vehicle, safely, as long as they're not deliberately impeded by a computer.
But I meant exactly that - at least from the stories I hear (I don't own a new enough car), half of the breakage in modern cars seems to require interfacing with the computer to at least clear an error flag. I once helped a guy with a software project, and learned that he's operating a workshop fixing a specific car brand. He showed me the device he uses to interface with the computer, and explained to me how the official software costs such ridiculous amounts of money that he instead hired some Chinese company that would remote-connect to his laptop and do some trickery to keep the software work without the license. Neither official nor the "unofficial" route seems to me to be accessible to a regular car owner.
Yes, you need an odbII tool. they are not expensive by the standards of decent '80s automotive tools (the cost of 'minimum viable analog tools' has dropped precipitously during my lifetime. )
The cheapest ODBII tools are bluetooth, and there is a cornucopia of apps to interface with them in the app store. You can get one that is easier to use that doesn't require a phone for $100 that will work for most problems on most cars.
(Of course, the more expensive ODBII tools are better, I'm given to understand, and allow you to do more, but you can do a lot with the cheap junk; and resetting the codes is generally the most basic functionality; unless you've got a fancy car, even the cheapest one that fits your brand should work for that. )
Having come of age at a time when I was driving and repairing (older) carberuated vehicles, I personally think that fixing a carb is like a thousand times harder than interfacing with the ODB system. Modern injection systems just solve so many problems without trying.
My experience of the modern diagnostic systems is that it's actually way easier. The scan tool saves you so much time and effort vs. the old manuals "go to page 5 if it doesn't X, 32 if it does" A lot of the time, the cheap scan tool gives you a code and description; you punch that into a search engine and you get a goddamn video of someone doing the repair. It's amazing compared to screwing around with an exploded parts diagram. (I mean, from the perspective of someone who isn't really a car guy) - I mean, there's always problems the scantool doesn't catch, but... I mean, I'm talking about all this from a shadetree perspective, there have always been a lot of automotive problems I couldn't fix, just 'cause I'm not an automotive specialist.
I think you're bother over estimating the complexity of modern vehicles and under estimating the simplicity of old ones. Back in the carburetor days people were complaining about vacuum line spaghetti to run the emissions system. People always complain about new stuff.
The reason new stuff is harder for DIYers to work on is because there isn't yet a body of knowledge on how to work on them without all the stuff a shop had.
No! Life is huge proof that efficiency lowers maintenance possibility.
> And yet the final result is incredibly resilient.
It depends on whether you consider a species or an individual. Evolution is great as having species adapting and surviving. But this also means that the individual is hopeless against major incidents.
What? Your body maintains itself daily in harsh environment and onslaught of other life that tries to eat you (mostly microscopic). Once it stops maintaining itself irreversible damage occurs in minutes and you physically fall apart in days.
Your body can keep maintaining itself for many decades. Any natural non living things that can exist that long are rocks. And that's only because they don't move. Show me a non-living solid thing that can move for 70 years at human pace.
A complaint that you can't swap liver the way you swap car battery completely neglects the fact that the liver can maintain itself without moving anywhere, gradually rebuild itself in place for decades despite being regularly poisoned.
I'm not complaining! I'm grateful to evolution for providing me such a wonderful mechanism called body.
But, I suppose you don't work in software development, do you? I say so because you, rightfully, took "maintenance" in its literal meaning, like "maintaining it the way it always was".
Unfortunately, in software development (and maybe other professions) maintenance mean simply that people changed their minds or discovered a new business case and your product must adapt, WITHOUT CHANGING ANY OTHER INTERACTION!!!
In real life, you can say: "he died because he drank poison", and it is a sad but accepted statement.
In software development, the same sentence will be rephrased like: "he died because the crappy developer left an unfixed bug in his Liver plugin".
Again, life is wonderful thing, and evolution clearly has to optimize for maximum efficiency. But in businness there are several times when you must give up some (or even much) efficiency for adaptability.
It looks like the author of the article does not understand the need for this tradeoff.
Rather "He died because dna replication wasn't perfect and caused his liver to develop cancer", but I don't fully agree with article author either.
Chaos is a result of optimising for efficiency but also by doing do very gradually in a piecemeal manner. This kind of process can lead to local optima that are hard to get out of if you don't stop occasionally to rethink things and clean up. The thing is that cleaning up must also be very thoughtfully driven by efficiency. When it's done for aesthetic reasons you end up loosing much of efficiency you worked so hard to discover by making a mess.
I think they meant the "unfixed bug" was that the liver can't process the lethal poison (as it does other toxins).
It would be less of a bug than a vulnerability though; imperfect DNA replication leading to cancer is spiritually closer to a bug, IMO.
The reason your metaphor doesn't work is actually the same reason the original author is wrong as well. Biology is a science that begins with reverse engineering and a lot of guess work, and the human body has no official documentation or handbook.
When developing a new software system it's extremely important to document the business rules implemented, and to use an organized architecture because the guys who built it will very likely not be the people maintaining or updating it.
The frequency of "Phoenix" projects is often the result of code becoming unmaintainable because of how chaotic the design and architecture has become. Even the best documentation and the best engineers cannot make poorly architected and disorganized code maintainable. This is because as a system's code base grows, if the complexity of the architecture also grows it becomes more difficult to make changes without causing defects. This inevitably results in a point where it's faster to completely re-develop the system from scratch than to maintain it in order to add a new feature or even resolve defects.
I've seen this exact scenario play out in every development project I've ever seen that didn't accept the very easy design principal of using and documenting a set of standard design patterns that follow a clear architectural framework.
Losing some efficiency in code is frequently necessary to make the application maintainable beyond the forseable future. Those last 5 words is where everyone seems to get it wrong. A chaotic design is maintainable for the forseable future, but the guys who will maintain the application for its intended life span are beyond the forseable future. They will likely have to work with insufficient design documentation, and a lack of subject matter expertise. Because of these factors, a design which is insufficiently legible is therefore unmaintainable.
(Whether that's ultimately a good approach, I don't know. I haven't thought about this too deeply yet.)
I think you need to provide citation for this because I do not accept this assertion at face value as there are 10x the number of single cellular organisms on your body than you have human cells. Biological evolution is proceeding on your own body faster than you can write software. And it's all happening in parallel and concurrently. In fact, every cell, even neurons, are providing feedback into the system of "biology" that includes the entire planet.
To assume that our own cognition is somehow superior to life itself feels full of hubris.
Man-made structures do have some redundancy, but in general we don't build like that. When we install brackets like the one in the picture, we don't install a few extra ones with the expectation that some will fail. We make them much stronger than necessary ("safety factor") so we're sure none will ever fail.
Mother nature can't afford to put all her eggs in one basket. Humans often can't afford not to.