Live data from Hacker News

My insulin pump controller has a bug

twitter.com

131–140 of 172 posts

Re: My insulin pump controller has a bug

#131

Cue the "you wouldn't steal a car" music. ♫ "You wouldn't demand open-source software for life-critical contexts instead of the industry-perfected closed software" ♫

Eh. The bug is in the Android app. It is probably roughly as easy to identify this bug by staring at the dalvik bytecode as it is to identify this bug by staring at the source (though it is odd that this appears to be nondeterministic - hard to know why that would be the case). This is a really really bad bug, but I don't think this is especially related to open vs closed source products.

The fact that it is non-deterministic is the scary bit. It could be the symptom of something much worse than just a display issue.

Re: My insulin pump controller has a bug

#132
post #24

I can't comprehend how that kind of bug even happens. Not that insulin pumps should have any bugs, but it doesn't even sound like an integer overflow or use after free which is "understandable". Are they doing some kind of scuffed string parsing?

They probably wrote the controller in JavaScript

I once worked on software that interfaced with Omnipods just to read and display its data and it was an unholy assemblage of Java applets, Pascal, and out of date C#. (The software that is, I think the Omnipod DLL was just C)

Re: My insulin pump controller has a bug

#133
post #78

Earlier quoted context omitted.

Judges have the benefit of experts spoon feeding them information, and no deadlines other than the ones they impose on themselves. The judge I worked for wrote the panel decision throwing out the Communications Decency Act, at age 64. In addition to covering packet routing and caching, it did a pretty good job of capturing the decentralized ethos of the Internet: https://archive.nytimes.com/www.nytimes.com/library/cy…

That's the opposite of the conventional wisdom on the strengths of the judiciary, so much so that there's a norm that courts defer to legislatures on findings of fact, since they're so comparatively hamstrung at generating facts.

Legislatures and not juries?

Re: My insulin pump controller has a bug

#134
post #20

I know the department of defense used to use Ada because it was a “safety critical” language. I feel like when it comes to this devices there should be more stringent guidelines around coding practices. Is that not the case?

there are, that's why insulin pump firmware is developed using obsolete and error-prone methods by substandard engineers and why you can't get the source for your insulin pump firmware and reflash it with a bug-fixed version

I will say that my company did have an engineer that could write proper lock-free algorithms. Unfortunately, they were completely unable to retain him and he didn’t help matters.

Re: My insulin pump controller has a bug

#135
post #78

Earlier quoted context omitted.

Judges have the benefit of experts spoon feeding them information, and no deadlines other than the ones they impose on themselves. The judge I worked for wrote the panel decision throwing out the Communications Decency Act, at age 64. In addition to covering packet routing and caching, it did a pretty good job of capturing the decentralized ethos of the Internet: https://archive.nytimes.com/www.nytimes.com/library/cy…

That's the opposite of the conventional wisdom on the strengths of the judiciary, so much so that there's a norm that courts defer to legislatures on findings of fact, since they're so comparatively hamstrung at generating facts.

> That's the opposite of the conventional wisdom on the strengths of the judiciary, so much so that there's a norm that courts defer to legislatures on findings of fact

There... isn't such a norm (at least not in the American system) courts defer to legislatures on matters of policy, not fact. There's a norm that appellate courts in most cases have some deference to lower courts on findings of fact, reviewing them only for unreasonableness, but nothing about courts deferring to legislatures about matters of fact.

Re: My insulin pump controller has a bug

#136
post #90

Earlier quoted context omitted.

Obviously I mean an ML-like type system with automatic inference. Otherwise it is just general logic, and you definitely don't need types for that. And Curry-Howard is the most overrated isomorphism in history. It may make computer scientists head explode, but mathematicians can live without it. And yes, I know that Lean is based on it, and Tao is using it, and he just doesn't know better. Sorry.

Type inference is largely orthogonal to the question. The point is, any formal proof you could do outside a type system you can also do within a type system, so yes the right type system would help you avoid such bugs.

No, that's not the point. There is no point to a general type system without automatic type inference. Because otherwise, it's just a kind of cumbersome and cobbled together logic.

Re: My insulin pump controller has a bug

#137

"We understand this may impact your experience and are here to support you." I love this - I've never heard the euphemism impact your experience used to mean that your life may end . What a wild PR assignment (language off the company's safety notice https://www.omnipod.com/en-gb/fsn-11-2023 )

Why do so many people / companies insist on using grossly euphemistic managerspeak like this?

They are 100% mitigating risk. If someone suffers, or dies, the company is seriously at risk, and any communication needs to be as foolproof as possible from litigation. They have an obligation to release a statement (and greater legal risk if they didn’t) but want to avoid whatever litigation they can.

Re: My insulin pump controller has a bug

#138
post #2

Non-twitter link: https://nitter.net/morganherlocker/status/173045572181552742... (edit: I'm not the author) "Notified today that my insulin pump controller has a bug where the leading decimal point will be dropped, ie: changing a dose of .21 units to 21 units. I can reproduce randomly ~1 in 5 times so probably a race condition. Easily one of the worst software bugs I have ever heard of."

For software like that, not sure how anything other than formally proven correct software is acceptable. And note, no type system is gonna help you with a bug like that.

Theory meets practice. An automated theorem proves that knows about Android view hierarchy, Parcelables, Android kernel well really entirety of SELinux not to mention whatever Bluetooth firmware drivers seems quite a bit of boiling the ocean.

The actual device (not the app) does seem poorly engineered and not at all fail safe / provided with ‘might kill the patient’ error handling.

Seems like double whammy where an app and hardware conspire against its user.

Re: My insulin pump controller has a bug

#139
post #99

Earlier quoted context omitted.

That linked description is very interesting. They list 3 steps that need to happen to get an incorrect dose. The 3rd step is that YOU confirm the dose. The next section emphasizes the importance of confirming it. That's all great, and yeah, the user basically hit OK but that does not change the fact that they have a software bug. Also, since it happens intermittently with that kind of input I have to seriously questi…

Also it would be very possible to misread the confirmation. If I've just entered "0.21" then when the confirmation screen reads "21" it's not immediately obvious that it's wrong.

It doesn't happen when you put in ".21". It happens when you put in ".21". Little less obvious.

Re: My insulin pump controller has a bug

#140
post #33

A clearer description of the bug is here: https://twitter.com/Tims_Pants/status/1730515134731182490 It's wild that this sort of bug got through testing. As a diabetic it feels like our insulin pump software is very conservative and lacking in features especially compared to what some of the "closed loop" things would like to do. That seems reasonable if the manufacturers are having to do lots of safety testing. But i…

This reads like a form validation gone wrong. Like it's set up to parse "0.21" correctly but not ".21".
Post reply on HN