Post ArMuM050roeBlXcKGG by Archivist@social.linux.pizza
(DIR) More posts by Archivist@social.linux.pizza
(DIR) Post #ArMV8vdFawDJLvIlVY by bea@glitch.social
2025-02-21T22:04:00Z
1 likes, 0 repeats
ended up saying "bro PLEASE tell me you know about the Therac-25" out loud at work so i think i experienced at least one new emotion today
(DIR) Post #ArMV93ffhou6HkUoOO by bea@glitch.social
2025-02-22T01:53:15Z
1 likes, 0 repeats
can't believe my most boosted post is about software development of all things and i now regret my words and deedsso help me fix this situation by boosting this post instead:send me your favorite lesbian erotica! and don't hold back on the dank stuff! dm me if you don't want to post it publicly! i don't give a fuck! let's go!
(DIR) Post #ArMVDp67JiLEXC8b4K by Sylvhem@eldritch.cafe
2025-02-21T23:04:43Z
0 likes, 0 repeats
@bea I may surprise you, bud I don’t think I know about the Therac-25.
(DIR) Post #ArMVDqBTHIDbu5eO3M by bob_zim@infosec.exchange
2025-02-21T23:20:48Z
0 likes, 0 repeats
@Sylvhem @bea the THERAC-25 was a radiation therapy machine. Sloppy concurrency programming led to race conditions which allowed operator error to put the machine into a dangerous state. On earlier versions, hardware interlocks prevented it from firing in this state, but the hardware safeties were replaced with software to save money. Several people got massive overdoses, and a few died.
(DIR) Post #ArMVDqnkywqLopYxjE by bea@glitch.social
2025-02-21T23:34:43Z
1 likes, 0 repeats
@bob_zim @Sylvhem yeah it is used as a case study when teaching about professional ethics in software development, maybe especially in Canada, since it was a Canadian machine? i actually have no idea how well known it is elsewhere.
(DIR) Post #ArMuLyxB3SmkGwwYPQ by bob_zim@infosec.exchange
2025-02-22T00:16:51Z
0 likes, 0 repeats
@bea @Sylvhem It’s in ethics courses all over, both general ethics and specifically engineering ethics. Also used as a case study in concurrent programming classes because even outside the ethical concerns of software interlocks and AECL’s awful development practices, it’s a really good example of the kind of bugs you get in concurrent code if you aren’t extremely careful.
(DIR) Post #ArMuM050roeBlXcKGG by Archivist@social.linux.pizza
2025-02-22T06:39:10Z
0 likes, 0 repeats
@bob_zim @bea @SylvhemThe most interesting part is that it was a race condition between software and hardware. No concurrent programming here. And it could only be triggered by the operator filling the data faster than it took the device's reflector to turn, so the bug only appeared when the operators got very used to filling the data in.No amount of using Rust would have saved these lives here
(DIR) Post #ArVRJsnA0JPiQ6Ls0m by goku12@fosstodon.org
2025-02-26T09:26:11Z
0 likes, 0 repeats
@Archivist @bob_zim @bea @Sylvhem Yet, we seem to have missed the lessons. Cars with only electric or on-screen switches for opening doors, phones with no way to reliably disconnect camera, mic or radio, drive-by-wire controls without redundancy, hidden flight control systems like MCAS without sensor redundancy, pacemakers with over-the-air updates whose source code only a handful of people have ever seen, solarwinds, crowdstrike.... What could possibly go wrong?