The fact people tolerate such abhorrent software is bizarre. Some how we’ve come to accept that software needs updates and it comes flawed and thus updates are necessary.
If a mechanical or electrical device needed this much fixing and delivered so flawed people wouldn’t stand for it. Especially an expensive car.
Software can be delivered working and properly quality controlled. Aircraft, space and defence industries are all able to achieve it.
Obviously we can’t trust the companies to properly maintain our vehicles in good faith, and we cant trust captured regulatory departments to keep the auto companies in line.
We’re watching in the whole Tesla affair that companies are glad to endanger families by the hundreds of thousands to preserve a rising profit. Corporations have no interest in our safety, whereas we do.
So yes, its up to the end-user to aftermarket the Hell out of any stock vehicle to assure it will run in emergencies, and fail to brick when the company shows incompetence or malice.
You accuse me of endorsing wildly irresponsible and dangerous action while ignoring the manufacturers have already engaged in wildly irresponsible and dangerous action.
This tells me you’re not interested in solutions but the interests of the car makers.
So in the interests of protecting others from your further attempts to deceive and disseminate false propaganda, maybe I should keep an eye on you for a while.
Some people maintain their own vehicles. Some people even build them from scratch. Is the OS unique or are you against any vehicle work outside of a dealership?
I can trust a user to install a part or an application, to maintain their car and update software. I don’t trust them to make their own engine and drive it on public roads. Software that’s responsible for the life and death of others on the road should be certified and you shouldn’t touch it except in the ways that have been certified safe to do so.
That seems consistent with your opinion on the OS but I’m not sure it’s consistent with your opinion on public safety. People currently rebuild engines from junk, they replace their own brakes, convert their cars to run on different fuel sources. I would feel that tinkering with firmware poses, at worse, a similar risk. It doesn’t strike me as especially new or threatening. How do you feel about the right to repair?
Do you draw the line at creating something new? Because with hobby cars, they build them from kits or gather parts from a bunch of junkyards and reassemble them into working, often customized machines. No dealership or assembly line involved. And it is not uncommon to build sleeper cars by swapping in an engine the car was never meant to have. This can involve modifying the frame and rearranging other components to accommodate it. I’m not sure where the line for making their own engine is - is it a new configuration of existing components or do you mean like milling a new engine block? Either one has software analogies.
I’ve been skeptical of cars having OSs advanced enough to need updates, and I’d personally air gap them from both the Internet and the onboard entertainment system. But a glitchy OS doesn’t strike me as being far worse than the stuff I mentioned above done badly. States might have to figure out how to inspect them the way they do with the rest of the car (in states that actually do vehicle inspections at least).
With space, they literally write more multiple lines of specs for each line of code, test the crap out of it, build a ton of redundancy, and have many people go over every line with a fine toothed comb. It’s a very long and painful process, and they still have bugs
The defense industry and aviation isn’t that amazing - they just have insane budgets, iterate for a long time, and (usually) have someone there ready to take control. It takes them years to perfect anything too
I do agree software is sucking way too much these days though. I think it comes down to a) most projects don’t get the years of maturation you need to make something rock solid b) developers have to frequently change jobs because they’re rarely given raises for some reason… And one dev isn’t as good as another and c) you don’t make money by making good software. You make money by making it fast, and finding a way to monetize it heavily
There’s also the fact that modern software is built with endless layers of open source libraries, and there’s basically no money there. They get abandoned or replaced all the time, and changing/upgrading them is an ongoing process.
I also have a theory that COVID has made the whole situation much worse, and the economics of it have recently gotten much worse
Defence and aviation do have larger budgets. But they also have much stricter standards, less volume and less options for hardware. They do verify and validate all their requirements and deliver functional tested code, buggy software in these industries is not the norm. The recent issues with Boeing was due to insufficient redundancy in hardware and manipulating regulators and testing procedures.
They also (mostly) avoid these agile approaches that have people shipping junk code. They also do software engineering (designing software not just programming it).
It is possible to write bug free code. It’s just more difficult and more costly. But it is completely feasible. Embedded systems only using well validated libraries are able to achieve this. Especially when you simplify the functionality. Software for critical systems should always be well tested and fault free. If software developers can’t achieve that then they should be reducing the functionality till the system is simple enough that they can achieve that. Your car should never need an update, just like it shouldn’t need a recall for a faulty part.
Our current system for developing software is reliant on mountains of buggy code, which is in part due to how library’s are built and maintained like you said. The answer is to simplify these systems. But that doesn’t sell products, bells and whistles do even if they’re haphazardly stuck on.
Bug free code really isn’t possible, at least not practically. Can you write a few hundred, maybe even a few thousand lines of elegant and robust code? Absolutely. Can your logic be without flaw perfectly describing what you want the code to do? Sure.
Now run it. Hardware is a kind of code too - it’s where code and physics meet, and it’s where the term “bug” comes from… It was susceptible to literal bugs.
Now either you’re writing in assembly, and your perfect little chunk of code does one fairly simple thing, or you’re relying on a language, which itself is going to have bugs.
And maybe you’re a savant, but humans cannot reliably review and critique such low level language at scale, let alone maintain flawlessness as it grows in scale.
And if you’re using a modern language, you’re probably using some layer of virtualization. This interface layer makes code run more predictably by creating strictly defined expectations for hardware. That itself can introduce bugs, but mostly has massively reduced them.
There’s no perfect code. There’s always bugs, because we have no idea what we don’t know. It’s foolish to not account for that… That’s no excuse for the half-finished crap that’s being shoved out the door these days, but there’s no bug free code
This isn’t just pedantics, there’s bugs all the time in space programs. They do about as much that is possible to reduce and mitigate them, but planning many redundant methods to recover from failure is why we lose so few of them despite that.
It just happened with Voyager, they made a mistake with an update while trying to fix another bug, and introduced a bug had it flip away from Earth… Their first plan was to send a stronger signal from Earth and hope they could command it back, the backup was a pre scheduled command to rotate back towards Earth, using older code.
Humans can’t write perfect code, but we can write good code. And good code recovers gracefully from failure
The fact people tolerate such abhorrent software is bizarre. Some how we’ve come to accept that software needs updates and it comes flawed and thus updates are necessary.
If a mechanical or electrical device needed this much fixing and delivered so flawed people wouldn’t stand for it. Especially an expensive car.
Software can be delivered working and properly quality controlled. Aircraft, space and defence industries are all able to achieve it.
I’m with you, but we have seen software bugs in aircraft and space. Probably defense too.
A bug that completely bricks your vehicle is unacceptable.
Yes, this is spooky. Even in Windows, when your OS is bricked by an update, there are resources to get it into safe mode and roll it back.
It’s corporate neglegence to make the car operate on critical software that doesn’t have safe modes or a means to roll back to stable operation.
But people will have to die from it before regulations are enforced to assure this is the case.
All software dependent devices should have jailbreak alternatives.
You shouldn’t trust a customer to fuck with the OS of a vehicle. Vehicles aren’t computers, breaking them can endanger yourself and others.
Obviously we can’t trust the companies to properly maintain our vehicles in good faith, and we cant trust captured regulatory departments to keep the auto companies in line.
We’re watching in the whole Tesla affair that companies are glad to endanger families by the hundreds of thousands to preserve a rising profit. Corporations have no interest in our safety, whereas we do.
So yes, its up to the end-user to aftermarket the Hell out of any stock vehicle to assure it will run in emergencies, and fail to brick when the company shows incompetence or malice.
No, the solution is not to deregulate automobiles.
I never said that it was. I said that regulation of automobiles isn’t doing any good to keep companies in check or serve the public.
I’m beginning to suspect whether you are engaging this dialog in good faith.
“Regulation isn’t working, so it’s up to us to do something wildly irresponsible and dangerous instead of working towards better regulation”
Go away
Nah, you can block me if you like.
You accuse me of endorsing wildly irresponsible and dangerous action while ignoring the manufacturers have already engaged in wildly irresponsible and dangerous action.
This tells me you’re not interested in solutions but the interests of the car makers.
So in the interests of protecting others from your further attempts to deceive and disseminate false propaganda, maybe I should keep an eye on you for a while.
Some people maintain their own vehicles. Some people even build them from scratch. Is the OS unique or are you against any vehicle work outside of a dealership?
I can trust a user to install a part or an application, to maintain their car and update software. I don’t trust them to make their own engine and drive it on public roads. Software that’s responsible for the life and death of others on the road should be certified and you shouldn’t touch it except in the ways that have been certified safe to do so.
That seems consistent with your opinion on the OS but I’m not sure it’s consistent with your opinion on public safety. People currently rebuild engines from junk, they replace their own brakes, convert their cars to run on different fuel sources. I would feel that tinkering with firmware poses, at worse, a similar risk. It doesn’t strike me as especially new or threatening. How do you feel about the right to repair?
Do you draw the line at creating something new? Because with hobby cars, they build them from kits or gather parts from a bunch of junkyards and reassemble them into working, often customized machines. No dealership or assembly line involved. And it is not uncommon to build sleeper cars by swapping in an engine the car was never meant to have. This can involve modifying the frame and rearranging other components to accommodate it. I’m not sure where the line for making their own engine is - is it a new configuration of existing components or do you mean like milling a new engine block? Either one has software analogies.
I’ve been skeptical of cars having OSs advanced enough to need updates, and I’d personally air gap them from both the Internet and the onboard entertainment system. But a glitchy OS doesn’t strike me as being far worse than the stuff I mentioned above done badly. States might have to figure out how to inspect them the way they do with the rest of the car (in states that actually do vehicle inspections at least).
There was a GPS enabled range finder, sometimes it displayed the coordinates of what you were looking at, sometimes it gave your coordinates.
Humans can’t write bug-free code, it’s beyond us.
With space, they literally write more multiple lines of specs for each line of code, test the crap out of it, build a ton of redundancy, and have many people go over every line with a fine toothed comb. It’s a very long and painful process, and they still have bugs
The defense industry and aviation isn’t that amazing - they just have insane budgets, iterate for a long time, and (usually) have someone there ready to take control. It takes them years to perfect anything too
I do agree software is sucking way too much these days though. I think it comes down to a) most projects don’t get the years of maturation you need to make something rock solid b) developers have to frequently change jobs because they’re rarely given raises for some reason… And one dev isn’t as good as another and c) you don’t make money by making good software. You make money by making it fast, and finding a way to monetize it heavily
There’s also the fact that modern software is built with endless layers of open source libraries, and there’s basically no money there. They get abandoned or replaced all the time, and changing/upgrading them is an ongoing process.
I also have a theory that COVID has made the whole situation much worse, and the economics of it have recently gotten much worse
Hey, my CS professor said my Hello World was perfect!
Defence and aviation do have larger budgets. But they also have much stricter standards, less volume and less options for hardware. They do verify and validate all their requirements and deliver functional tested code, buggy software in these industries is not the norm. The recent issues with Boeing was due to insufficient redundancy in hardware and manipulating regulators and testing procedures.
They also (mostly) avoid these agile approaches that have people shipping junk code. They also do software engineering (designing software not just programming it).
It is possible to write bug free code. It’s just more difficult and more costly. But it is completely feasible. Embedded systems only using well validated libraries are able to achieve this. Especially when you simplify the functionality. Software for critical systems should always be well tested and fault free. If software developers can’t achieve that then they should be reducing the functionality till the system is simple enough that they can achieve that. Your car should never need an update, just like it shouldn’t need a recall for a faulty part.
Our current system for developing software is reliant on mountains of buggy code, which is in part due to how library’s are built and maintained like you said. The answer is to simplify these systems. But that doesn’t sell products, bells and whistles do even if they’re haphazardly stuck on.
Bug free code really isn’t possible, at least not practically. Can you write a few hundred, maybe even a few thousand lines of elegant and robust code? Absolutely. Can your logic be without flaw perfectly describing what you want the code to do? Sure.
Now run it. Hardware is a kind of code too - it’s where code and physics meet, and it’s where the term “bug” comes from… It was susceptible to literal bugs.
Now either you’re writing in assembly, and your perfect little chunk of code does one fairly simple thing, or you’re relying on a language, which itself is going to have bugs.
And maybe you’re a savant, but humans cannot reliably review and critique such low level language at scale, let alone maintain flawlessness as it grows in scale.
And if you’re using a modern language, you’re probably using some layer of virtualization. This interface layer makes code run more predictably by creating strictly defined expectations for hardware. That itself can introduce bugs, but mostly has massively reduced them.
There’s no perfect code. There’s always bugs, because we have no idea what we don’t know. It’s foolish to not account for that… That’s no excuse for the half-finished crap that’s being shoved out the door these days, but there’s no bug free code
This isn’t just pedantics, there’s bugs all the time in space programs. They do about as much that is possible to reduce and mitigate them, but planning many redundant methods to recover from failure is why we lose so few of them despite that.
It just happened with Voyager, they made a mistake with an update while trying to fix another bug, and introduced a bug had it flip away from Earth… Their first plan was to send a stronger signal from Earth and hope they could command it back, the backup was a pre scheduled command to rotate back towards Earth, using older code.
Humans can’t write perfect code, but we can write good code. And good code recovers gracefully from failure
You think aircraft, space, and defence industries don’t update their software…?
They need to keep doing updates so they can get better data on you to sell.
https://youtu.be/2JlUnOAiMm4?si=VUE1aOk6M0l8HZZ2
At least one moon lander has crashed due to a software bug. It’s also been a factor in aircraft crashes, such as air France I believe losing a bird.