Лучшие ошибки софта, часть IV

Скрытые файлы. Все знают о том, что файлы, чьё имя начинается с точки, считаются “скрытыми”. Можно поспорить о том, насколько это удобно и полезно, но есть такое. А на самом деле это бага, с которой мы можем поздравить Кена Томпсона или Денниса Ритчи. Кратко: наш мир изменила вот эта строка — “if (name[0] == ‘.’) continue;”


Казалось, после Therac-25 любой софт, облучающий людей радиацией, должен проходить многослойный контроль с гарантией годности в 100%, но нет. В 2000 году в Panama’s National Institute of Oncology умудрились знатно перегаммаоблучить 28 пациентов, от чего 5 потом умерли.

Фишка в том, что ошибка заключается в отсутствии защиты от дурака. Пациента перед облучением обкладывали щитами. Софт оперировал максимум четырьмя, а вот медикам нравилась конфигурация из пяти. Потому медики научились обманывать софт, рисуя на схеме один (!) щит с отверстием посередине. Не учли только то, что результат формул, считающих дозы облучения, тоже менялся. Такая вот глупость.


В 2004 году в Великобритании произошло… как бы так ловчее… Сначала Department for Work and Pensions заплатил £152M за создание софта для автоматизации работы Child Support Agency. Понятная трата, понятные цели. Софт был создан. И в этот нежный момент DWP решил реформировать CSA. Спасибо им за великолепный пример того, как одна огромная административная бага привела к сотням (в СМИ туда-сюда носят число в 500+) технических “багов”, а также к утроению суммарных трат на компенсацию такого фейла.


Високосный год заслуживает отдельного поста, но пусть так. Все программисты знают, что его (год) следует учитывать, но всегда находятся те, кто не смог.

В Новом 1997 году алюминиевый завод Tiwai Point схлопотал убыток в почти миллион долларов потому, что софт был озадачен 366-м днём (решил, что такого не бывает) и отправил в даун 660 компьютеров, заодно и плавильни остудились. Спустя два часа та же фигня произошла с заводом Comalco’s Bell Bay в Тасмании.

Что характерно, подобного рода ошибки правятся обычно в пару строк, но вреда могут нанести не хуже какой-нибудь стратегической ракеты.


Завершаем выпуск такой же классикой ошибок. Почему в 1997 году Social Security Administration в San Bernadino не смогли осилить свыше 100К отчётов о заработной плате? Потому, что софт был написан для няшного мира белых американцев с их нормальными именами. А вот всякие азиатские, латиноамериканские, индейские и прочие ФИО в этот мир не умещаются. Потому de la Rosa и Park Chong Kyu остались за бортом. Также софт сломался на женщинах, поменявших фамилию после замужества.

Затрудняюсь оценить прямой убыток, но в систему не поместилось отчётов на общую сумму в $234 миллиарда.

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.