There are ways to make such "organic" structures more resillient. Life is one huge proof of that. One of the reason biologists and medical researchers have so much trouble figuring how anything works in living organisms is because in biology, there are very few clear boundaries; every process is mixed up with a lot of other ones. And yet the final result is incredibly resilient.
Sure, but there's some downsides to that. If a part in my car fails, the mechanic pulls it out and bolts in a new one without much consideration for the rest of the system. If a part of my body fails, there's a slim chance I might be able to get a replacement from another person, and I'll have to be on immuno-supressents for life, and very expensive people will be needed to perform the installation, and things often go wrong even so.
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.
A good point, and cars are a perfect example. Older cars tend to be less efficient than new ones, but there was a point in time not too long ago when you could repair anything in your car with a welder, some elbow grease, and a free afternoon. New cars of today tend to require expensive somewhat expensive specialists to fix, and I've been hearing that the future is in cars that refuse to start unless the ECU can cryptographically verify that each and every part is authentic - that's like an immune system of sorts, except one that isn't protecting your car, but the manufacturer's ability to take your money. Unfortunately, it seems that more and more complex products are heading this way.
> New cars of today tend to require expensive somewhat expensive specialists to fix
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.
> 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.
>half of the breakage in modern cars seems to require interfacing with the computer to at least clear an error flag.
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.
An ODBII is helpful for basic stuff but it doesn't get you very far with modern cars. Most manufacturers now have specialized proprietary scanners which are needed for any complex repairs, especially for anything electronic. Those scanners are extremely expensive and sometimes only sold to authorized service centers.
Are these manufacturers called BMW, by any chance? They sell this authorized "computer module" replacement part for $400. But if you take it apart, there's a 50 cent fuse inside that was blown. Replacing the fuse does no good without access to the proprietor BMW software, because the module will refuse to work after the fuse is replaced until it is reset using their software. Which means you have to pay for a whole new module. However not all manufacturers are like that. After I change the oil on my Honda, there's a silly little dance to reset the oil life indicator, but nothing too crazy. The Toyota Corolla is a favorite for self-driving car enthusiasts due to the hackability of its lane-guidance system into something fuller. I'm also disappointed in some of the directions the future has taken us (it's frustrating to me how hard it is the replace user-servicable parts inside a lot of laptops, eg Apple), but not all manufacturers are the same and talking about the situation as if they are is too abstract to be useful, say, when looking for your next car.
If you don't want to do complex diagnostics that kind of stuff is unnecessary for the overwhelming majority of repairs on the overwhelming majority of vehicles.
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.
As someone who had only ever done oil/battery change level auto work this was surprisingly exactly my experience replacing a bad knock sensor in my truck. OBD tells you the problem (a sensor is out of voltage range) and youtube tells you how to fix it step by step. At one point my family saw the intake manifold on the floor and thought the car was never going to run again, but its really just plugging or unplugging things from a big computer now. If you can write software you can do (most) auto work.
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.
> No! Life is huge proof that efficiency lowers maintenance possibility.
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.
> "he died because he drank poison"
> "he died because the crappy developer left an unfixed bug in his Liver plugin"
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.
The original author is attempting to make a point about software development. It is tempting to use examples like what you just have, but the problem is you've over-extended the metaphor when you do.
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.
Sure, but that’s the result of almost 4 billion years of trial and error. I don’t think comparing that to a couple years of engineering trial and error is quite the same :p
But our chief technical innovation was factoring problems into smaller ones. This is such a vital innovation that it's practically synonymous with engineering. So even superficially complex, organic-looking, highly optimized solutions will need to somehow factor nicely in order for us to be able to keep iterating on them. So in the end, it will have to just be a more clever or elegant factoring of the problem (unless we augment our intelligence in some way that lets us solve much more complex systems without factoring).
I think they do factor nicely, in the design space. Those highly optimized solutions don't appear out of the blue, but from the set of more or less explicit constraints encoded in optimizing software. We can move forward with treating a complex part as an atomic unit, something just fabricated to computer-generated design, and iterate on the set of properties we're interested in.
(Whether that's ultimately a good approach, I don't know. I haven't thought about this too deeply yet.)
> Our brains let us iterate orders of magnitude faster than biological evolution can.
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.
There's a lot of hubris in imagining that we can develop adequate models of reality. It's relatively simple in an enclosed space, less so "in a truck bed" as my fellow commenter puts it.
"Adequate" is in the eye of the beholder. We've been developing "adequate" models of reality ever since humans gained sentience; it's our needs and desires that grow, changing the criteria of adequacy with them.
Or as Frank Vertosick pointed out in his book, mother nature wants life in general to continue, but doesn't give a shit whether any one individual lives or not.
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.
Many things are made with finite durability. Perhaps most. Paint chips, air filters clog, lubrication is scratched away, wood rots, tires and brakes wear away.