Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I wrote a piece of code controlling an assembly line machine. These machines require manual operation, and would come with a light curtain, which detects when someone places their hand near the moving parts, and should temporarily stop the machine.

A relatively minor bug in the software that I wrote caused the safety curtain to stop triggering when a certain condition was met. We discovered this bug after an operator was injured by one of these machines. Her hand needed something like 14 stitches.

Lessons learnt:

1. Event-driven code is hard.

2. There's no difference between a 'relatively minor' bug and a major one. The damage is still the same.



Couldn't read your comment without a shudder and my brain going straight to the Therac 25 incident(s).


I hadn't heard about this so I looked it up. Chilling.

http://en.wikipedia.org/wiki/Therac-25


We just recently reviewed the Therac-25 case study as my organization is working towards ISO 13485 certification. I wonder whether the OP's organization was using ISO development practices.


Another lesson your company should have learned is that a safety-critical system like this should not be left to software. Sure, monitor the curtain by software and send errors, but hardware should immediately stop the machine when the light curtain is broken.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: