Fortunately that's my preferred genre (prog). You'll have to pry Devin Townsend and Haken albums out of my cold dead hands (or just log me out of my Spotify account).
Volume control is a very commonly used feature in cars. That should definitely should be a physical button. I drive a Lynk & Co (reskinned Volvo XC40) and it has a rotary knob on the center terminal for fan speed, temperature, and volume. Which are all within reach without me having to look or lean over. There's also a volume button on the steering wheel next to my thumb, which is great.
The only annoying part is that the left button pad on the wheel is the absolute worst. It's essentially a d-pad with a center press, but it's one single button cover. Which leads to a lot of wrong clicks.
But you are not legally required to use the volume control regularly in order to drive safely. You are not even legally required to have any kind of volume control in your car.
You are legally required to have and use the turn signals. You are legally required to have and use the windshield wipers (because you need to be able to see the road when it's raining). Same is true for the horn and hazard lights - those are safety-critical features, with their use at least partially regulated by law.
While I agree that volume control should be a physical button due to my personal taste, I would not go so far as to mandate it legally to be a physical button, with the reason being that it is not a safety-critical feature. The market can figure this out by itself. But for safety-critical features whose swift and correct use is mandated and regulated by law, I would absolutely mandate them to be provided to the user in a way that supports the swift and uninterrupting use expected from the driver, and that means: physical controls, placed reasonably reachable.
Volume control is pretty damn safety critical when the driver takes their eyes off the road to jab at the f&^king miserable touchscreen and accidentally wipes out your family.
Sir Issac Newton wrote down the laws about piloting a couple of ton of steel some time ago. Very unlikely to be repealed.
Every control that will be used by the driver for any purpose whilst the vehicle is in motion is safety critical.
That is true, but in that mind your kid in the back seat is safety-critical, so maybe we mandate no kids in the back? Or your wife next to you in the passenger seat, she could also make you remove your eyes from the road (happens quite a lot actually) - mandate no wifes in the passenger seat anymore?
You need to draw a line, otherwise really anything in your car can be safety-critical, you just need to imagine the right circumstances.
I would draw the line at the controls that are mandated by law. Every control mandated by law should not only be mandated to exist, but also be mandated to exist as a physical, easily reachable button.
> Every control that will be used by the driver for any purpose whilst the vehicle is in motion is safety critical.
Okay, that's at least limiting it somewhat. However, what about the setting for Bluetooth connectivity of the radio? It technically can be used while driving, and there's probably a non-zero count of people who have already used such a setting while driving to pair their phone or whatever. What about the time/date setting of the clock in your car? Same thing. Physical buttons for all of that?
> That is true, but in that mind your kid in the back seat is safety-critical, so maybe we mandate no kids in the back? Or your wife next to you in the passenger seat, she could also make you remove your eyes from the road (happens quite a lot actually) - mandate no wifes in the passenger seat anymore?
You're being intentionally obtuse. Like everything else, this is a question of what options we have to make things safer. "Not allowing children in cars" isn't reasonable, because there isn't a simple alternative. Using controls that require less attention focus is reasonable.
I think you are doing a strawman here. Nobody but you is talking about "mandates", and then you go ridiculing imaginary mandates that nobody is defending.
Case: seat belts. First introduced in 1949, three-point seat belt invented in 1955, Saab made them standard in all their cars in 1958, Volvo in 1959 after being shown studies with fatalities. The first compulsory seat belt law was in 1970 (Victoria, Australia), and only began in the US in the 1980's (with great opposition).
Case: ABS. Patented anti-locks in 1930-ish, the modern ABS in 1971, the system was slowly introduced first in high-end models, soon in every model. The US only mandates ABS in cars since 2012, Europe since 2004 (for new cars). Read: all cars were already being sold with ABS in those dates, except for the cheaper and shittiest ones.
Case: Airbags. I skip the history there, because airbags are still not mandated anywhere. They are subject to some regulations, but you can technically build and sell a car without a single airbag in it.
My conclusion: we should not wait or even hope mandates do anything. In the car market we should do our own research and trust (to a point) car brand safety records and voluntary tests like NCAP, IIHS or NHTSA. If a brand doesn't give a shit about safety unless under a government mandate, don't buy that brand, because they are decades behind safety standards.
Mandates are not the bare minimum in safety, they are well below that. Take for example one of the lowest scores in the current NCAP: Lancia Ypsilon 2015, two stars. Still, they have (not mandated): two front airbags, two side head airbag, belt pretensioner, belt load limiter, belt reminder and ESC. Fear no more, even if we find today that kids in the back raises the death rate in a collision by 20%, we won't see it mandated until 2080 if ever, way after car makers figure out a solution by themselves.
Your first link doesn't prove nothing, it has nothing to do with airbags being mandatory. According to this: https://autoily.com/when-did-airbags-become-mandatory/ , they are only mandatory in the US (my fault, sorry). Some countries, like India, are requiring ONE front airbag since 2019. The core of my message stands: car makers go way ahead the mandates. I don't recall any safety technology that ever banned or delayed a car model from the market, unlike for example emission regulations, that are announced with a deadline in a "by 2030 no car can emit more than X CO2 g/km, so you better comply or be banned" fashion. In Europe that kind of regulation is causing diesel cars to vanish from the market. Safety regulations are always after the fact: "it seems than 100% of the new cars already have seat belts. Lets make it mandatory", and are usually announced with "the UE would like all cars to have anti-collision alert mechanisms before 2025", signaling that maybe in 2030 they make it mandatory for the remaining 20% that still don't have it today.
About the NCAP, I don't understand your message. Maybe you understood that brands send their cars to NCAP voluntarely? What I meant was that NCAP is a voluntary non-profit organization, and they can't do much even if your car is a cofin with wheels other than giving it zero stars. It's not like they can ban your car from the market under safety motives, like a government could do if they want.
What happens with these non-mandatory programmes is that a manufacturer can give the programme money to buy their standard equipment vehicle and then the programme will buy the appropriate car from a dealer. The vast majority of vehicles are purchased this way.
This way they can't manipulate the vehicles being tested. The easiest way for your new 4954 model to get excellent NCAP scores is to make the actual 4954's people can buy from a dealer all good enough for excellent NCAP scores, the NCAP will just buy one and test it and it should score well because it's a 4954.
If only there was some way to move cars from one place to another :D
A fellow passenger on a train one day was in that line of work. Customer dispatches him to pick up a car, he gets a train to the nearest station, gets a taxi to the car, picks the car up, drives it to the desired destination, another taxi and another train ride. Pay is reasonable if you like driving and can fill your time on a train (e.g. you like to read or listen to stuff, not great if you're an outdoors person or you need to be at home looking after the kids). Obviously most customers are moving valuable cars they can't get to, classics, high end luxury or sports cars where there might only be two dealers in the country, that sort of thing, but he doesn't care if you want him to drive a mid-market hatchback bought new off the lot yesterday afternoon, pay is the same.
You're looking at this from the wrong angle. We don't really want to mandate physical volume controls, because they're necessary. We want to ban touchscreen volume controls, because they're unsafe. If Tesla want to deal with this by having no volume control, that's fine! Good luck to them.
Touchscreens are not exactly the only way to construct a control in a way that's problematic to use when driving. You can just as well place a physical control in a hideous spot in the car, which you can't reach easily, hence making you as the driver bend over and search for the control. Also, physical controls don't necessarily mean that you can recognize them safely without looking at them - buttons can be physical, but still blend into their surroundings in a way that provides no real tactile feedback to your fingers when they find the button. I've seen crazy physical controls in cars that aren't much different from touchscreens with regard to their usability when driving, but still they were technically physical controls and would thus pass your "touchscreen ban".
If you want physical controls that actually are significantly safer to use than touchscreens, you need to lay down some ground rules for them as well (reachability, size of buttons, tactile difference from surroundings,...). And that rules out a "blacklist" approach (banning some particular undesired solution) and instead requires a "whitelist" approach (requiring a solution within a defined set of guidelines that constitute what's considered an acceptable solution).
Just make it like 90-second rule for aircraft escape chutes. The manufacturer has to prove the stock interface is reasonably safe.
It'll be exploited a lot, so the standards must be high enough, and implementations also must be continually scrutinized by independent neutral bodies.
And we know what comes of it; the industry consortium implementations pass the test with flying colors and it'll look like hugely unpalatable dinosaurs, while new entrants like Tesla struggle to even interpret the spec to follow. The consortium may also explicitly or implicitly ban Chromium based everything.
Being able to use your phone to talk to people is not safety critical either. And yet, we make laws to lower the amount of physical interactions required with the phone while driving. Because people _do_ use them in ways that negatively impacts safety, both for themselves and other people on the road.
The question isn't whether or not the interface needs to be interacted with at times when it would be a safety issue. The question is whether or not the interface _will_ be interacted with in a way that would be a safety issue. And how much of a safety issue that is to _other_ people. And what better options there are to prevent those issues.
"People can use it responsibly" is not a viable strategy here, when the (many) bad actors injure and kill 3rd parties.
Having music in a car isn't safety-critical. But we should have unflinching acceptance of reality that a lot of people WILL have music in the car, and so if music adjustments are unsafe then the car is more unsafe.
A while ago I worked on a military vehicle intercom system (communication between different station in tanks and armored vehicles). It had a number of pragmatic requirements, learned through experience. One of them was that each station had a 3.5mm jack that mixed its signal into what the headset was hearing. They had learned that whatever you did, soldiers were going to listen to music when they got bored. If you gave them a jack then at least they'd still have their headset on, and would hear instructions (and you could override the music if necessary...). Without the jack they'd just take their headset off.
You have to accept the reality of the world you're designing for not the world you'd LIKE to be designing for.
[Another pragmatic requirements anecdote from the same system: the comms bus had to be able to cope with random disconnects. Why? Because on a tank, the comms bus went to the commander in the turret via a contact ring and when the main gun fired, sometimes that contact ring would disconnect. But then we were allowed 1.5s to reconnect. That's a surprisingly long time - how come? Because that's how long it takes the tank commander's hearing to recover after firing!]
Is there a car without a physical volume control? Teslas have it on the steering wheel.
What really kills me is my wife's Civic has no pause button at all, physical or otherwise. And it autoplays media on your phone when you get in. Don't want your phone to play whatever random YouTube video you happened to click on hours ago? Gotta pick up your phone to pause it there. And this doesn't happen right away, oh no, it takes at least a minute into your drive for the Bluetooth to wake up.
A Mercedes C-Class, 2023 model, also has no way to pause the music with physical buttons. It has a volume switch, and that clicks in, but doing the Airpod double click doesn't do anything. It just mutes the music.
Instead you have to either use a weird capacitive DPad to navigate the Android Auto interface, or click the screen. It's terrible for UX.
Most MEB cars with the VW ID style center screen have a touch strip under the center screen to adjust volume. On earlier models this isn't even illuminated at night.
The reason why we use Bash on Linux is because it’s ubiquitous. Even though my terminal is ZSH, all my scripts will be Bash because I can trust it to run on any system.
Same goes for Windows, I want to make sure those scripts can be run without having to install anything. Powershell is there, and it’s powerful.
Python is better for anything complicated. Even though Bash is ubiquitous, it's kind of a pain in the ass, and it's actually not that portable since there is no real "standard library", and everything basically depends on system tools being installed and/or configured in a particular way.
python is also extremely fragile compared to something compiled
just setting up the python env to run the "script" requires a ton of bash (or simpler python)
of course it's true in all cases that if you know what's your supported/required/target environment is, then just a few lines of bash/python is enough. but the wider the spectrum of complexity one must handle the more it pays off to front load said managing, and distribute a compact and powerful program with few dependencies and as minimal complicated bootstrap steps as possible.
Amusingly for projects of medium complexity, Powershell is probably comparable or better than Python, on Windows, especially for sysadmin type stuff.
Powershell actually had optional typing from day 1 but unlike mypy & co, it's actually checked. As in, types were optional, you didn't have to write the down in the code, but if you did add them, using the wrong types would error out.
Powershell also has great integration with .NET so almost every .NET library is available if you need it and the deployment story is ok - Powershell needs to be installed and you can bundle everything else you need.
Has a MacOS dev, I'd prefer config like this in my home directory so I can easily access it between MacOS and Linux. My expectation for CLI tools is that config is in $HOME/.config/.