this post was submitted on 18 Jan 2024
1136 points (99.5% liked)

196

16509 readers
2468 users here now

Be sure to follow the rule before you head out.

Rule: You must post before you leave.

^other^ ^rules^

founded 1 year ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 53 points 10 months ago (8 children)

Yes, but also from an implementation perspective: if I'm making code that might kill somebody if it fails, I want it to be as deterministic and simple as possible. Under no circumstances do I want it:

  1. checking an external authentication service.
  2. connected to the internet in any way.
  3. have multiple services which interact over an API. Hell, even FFIs would be in the "only if I have to" bucket.
[–] [email protected] 0 points 10 months ago (3 children)

It checks the service when booting up before a ride. After that it doesn’t connect to the internet. If you’ve gone past your grace period of 60 days it won’t boot up at all, and it will alert you that the device isn’t active.

Don’t get me wrong, I hate the idea of the subscription but it’s important to have accurate information. Did you even read the product page?

[–] [email protected] 2 points 10 months ago (2 children)

That information changes none of my issues; if you don't see the plethora of potential implementation bugs involved, either you don't code professionally or you shouldn't be.

[–] [email protected] 0 points 10 months ago (1 children)

I code professionally, specifically I develop very resilient medical software. From a software perspective, as long as the developers are competent I have no issues with the device. There are so many other things you could take issue with when it comes to the vest, but I’m telling you software just isn’t one of them.

[–] [email protected] 2 points 10 months ago

I'm sure the developers are competent, but the reason I care about the design decisions is the same reason the electric brakes on cars don't interface with its infotainment system; the interface inherently creates opportunities for out of spec behaviour and even if the introduced risk is tiny, the consequence is so bad that it's worth avoiding.

If you have to have an airbag be controlled by software (ideally the mechanism is physical, like a pull tab), it should be an isolated real time device with monitoring your accelerometer and triggering the airbag be it's only jobs. If it's also waiting to hear back from another device about whether your subscription ran out before it starts checking, the risk of failure also has to consider that triggering device.

It can be done perfectly, but it's software so of course it has bugs.

load more comments (4 replies)