Читаем Bash.org.ru IT Happens Истории ## 10001 – 11000 полностью

Однажды флешка у него заигралась на неделю. По возвращении я не столько удивился сильной помятости устройства (брат хоть и младший, но будет покрупнее меня и повспыльчивей), сколько обнаруженной в корне диска одной папки «Съёмный диск (J:)», а в ней — «Съёмный диск (Q:)», а в ней — «Съёмный диск (K:)», а в ней — «Съёмный диск (G:)», а в ней… Рандом по английскому алфавиту большой вложенности, а на каком-то этапе появлялись файлы.

Как так человек измудрился сделать, как этим пользовался, почему в приступе ярости покалечил ни в чём не повинный корпус и какого Гейтса никто не подсказал и не помог, умалчивает и история, и сам человек. Робкие объяснения сводились к идее: «Хотел скопировать содержимое на ряд компьютеров в институте. В общем, вроде что-то получилось, но вышло не то, а вот так».

Вроде мелочь. И лечится за минуту. И брат, строго говоря, не дурак. Но какой-то счётчик внутри набросил ещё единичку. Удивляться миру становится всё сложнее.

<p>#10775: Пора начинать думать</p>

12:15 31.03.2013, IT happens

У меня очень интересная работа: я консультирую по вопросам безопасности в широком смысле этого слова.

Например, вы закрыли чёрный ход в ваш офис модной железной дверью с магнитным замком, подключённым к навороченной СКУД. Вот только эту дверь можно открыть умелым рывком. И не надо мне показывать спецификацию замка с усилием на разрыв в полтонны — если не верите, можем пройти и открыть. А если даже я и не смогу со своими 70 килограммами, то вон тот дядя в центнер с гаком сможет.

Зато ваш начсклада сидит в каморке в подвале за дверью с электроприводом и ригельными замками. Не дай бог в каморке случится пожар, а электричество не сработает — начсклада зажарится заживо, а вы сядете. Хотите? Тогда меняйте замки местами.

Подобных рисков повсюду полно: плохо защищённые вайфай-сетки, неудачно разведённая сигнализация, непродуманная логика работы СРМ и так далее. Косяки в электрике, механике, программах, поведении людей и организации процессов.

И что я вижу? Я вижу упоминание знаменитой истории с самолётом, летевшим ниже уровня моря, и совершенно неправильными выводами, которые из этого делаются.

«Очевидно, что самолёт летит выше уровня моря» — для кого очевидно? Для меня вот совсем не очевидно. Во-первых, ещё в школе на уроках географии говорилось про Прикаспийскую низменность, где высота поверхности ниже уровня океана. Во-вторых, само понятие «уровень океана» — синтетическое, усреднённое, и оно не обязательно точно совпадает с измеренным в конкретной точке. Вполне очевидно, что высота может быть отрицательной, это допустимый случай. Вот если бы речь шла о показаниях радара — там да, там физика не позволяет получить отражённый сигнал раньше излучённого, и там задержка, а следовательно, и расстояние до поверхности не могут быть отрицательными. При программировании надо было всего лишь не ориентироваться на свой так называемый «здравый смысл», а вспомнить, что это за величина и откуда она берётся. Не бояться неведомых «глюков софта», не надеяться на высшие силы, а просто заранее подумать как следует. О чём вам и говорили.

В качестве примера можно ещё вспомнить автонавигаторы. Казалось бы, несложно сделать машину, которая будет ехать по навигатору. Да, несложно. Почему не делают? Боятся глюков софта, ответственности за жизнь людей? Те, кто так считают, просто ничего не понимают в проблеме. Дело всего лишь в том, что карта в навигаторе — тоже «синтетическая величина», не отражающая текущей реальной обстановки на дороге: сегодня там проезд, а завтра — встречное движение. Поэтому без дополнительного оборудования контроля за обстановкой сделать такую машину нельзя. А вот с ним можно: Гугл уже сделал. А то, что сейчас всё ещё требуется водитель, — не из-за возможных глюков, а из-за того, что имеющегося оборудования пока может быть недостаточно.

Прекращайте бояться. Начинайте думать.

<p>#10776: Тем дальше бежать за трактором</p>

12:15 31.03.2013, IT happens

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

О проверке дискриминанта вспоминают практически все. О том, что есть комплексные числа, и этот случай надо тоже обрабатывать, — примерно каждый пятый.

О том, что надо обрабатывать вырожденный случай — линейное уравнение, — каждый двадцатый.

О потере точности не вспоминает практически никто. После моих намёков код переписывается и распухает раза в три.

О потере точности в комплексных числах никто сам так и не вспомнил.

Перейти на страницу:

Все книги серии Bash.org.ru IT Happens

Похожие книги

Адриан Моул: Годы прострации
Адриан Моул: Годы прострации

Адриан Моул возвращается! Годы идут, но время не властно над любимым героем Британии. Он все так же скрупулезно ведет дневник своей необыкновенно заурядной жизни, и все так же беды обступают его со всех сторон. Но Адриан Моул — твердый орешек, и судьбе не расколоть его ударами, сколько бы она ни старалась. Уже пятый год (после событий, описанных в предыдущем томе дневниковой саги — «Адриан Моул и оружие массового поражения») Адриан живет со своей женой Георгиной в Свинарне — экологически безупречном доме, возведенном из руин бывших свинарников. Он все так же работает в респектабельном книжном магазине и все так же осуждает своих сумасшедших родителей. А жизнь вокруг бьет ключом: борьба с глобализмом обостряется, гаджеты отвоевывают у людей жизненное пространство, вовсю бушует экономический кризис. И Адриан фиксирует течение времени в своих дневниках, которые уже стали литературной классикой. Адриан разбирается со своими женщинами и детьми, пишет великую пьесу, отважно сражается с медицинскими проблемами, заново влюбляется в любовь своего детства. Новый том «Дневников Адриана Моула» — чудесный подарок всем, кто давно полюбил этого обаятельного и нелепого героя.

Сью Таунсенд

Юмор / Юмористическая проза