1154
Вот наглядный пример того, что различные области знаний порой не должны меж собой пересекаться — во благо человечеству.
В фармацевтической компании есть один интересный сотрудник двадцати шести лет, химик по специальности. В компах смыслит мало (в своём предмете, по-моему, тоже), что компенсируется огромным желанием сделать с ними что-то эдакое. Компьютер у него не очень «персональный» — за него по делу часто садятся другие люди. Так вот, пользователи этой машины внезапно начали жаловаться на проклятие: человек, просидев у экрана около двадцати минут, падал в кратковременный обморок. Пострадавших набралось человек шесть.
Причина проклятия была крайне нетривиальной — оказалось, химик где-то услышал про жидкостную систему охлаждения и решил организовать нечто подобное. Пока за компом никого не было, сотрудник ставил внутрь системника банку эфира с добавлением вещества, отбивавшего характерный запах. Попавший под «удар» смеси пользователь быстренько отправлялся на боковую. Химика поругали нехорошими и не очень цензурными словами и потребовали с него объяснений. Тот в своё оправдание заявил, что теплоёмкость и теплопроводность у эфира очень хорошая, поэтому пары эфира вполне сойдут для охлаждения деталей компа.
Мораль: любой человек, серьёзно связанный с компами, должен чувствовать себя частью Особой Секты, секреты которой должны хоть как-то охраняться. А не то глядишь, и кто-то вспомнит, что у синильной кислоты тоже очень неплохие физические показатели...
1150
Ошибки программирования, говорите? Автопогрузчик вывалил на машину гендиректора восемь тонн мусора? Фигня!
Склад-автомат в ближайшем Подмосковье, принадлежащий логистической фирме, арендуется кучей компаний для ответственного хранения продукции. Вдоль высоченных многоэтажных стеллажей с десятками тысяч паллет бодро носятся по направляющим каретки автоматических погрузчиков, хватают заказанную продукцию и доставляют её в нужное место.
Одна маленькая, но очень гордая каретка из-за ошибки в коде позиционирования, не сбавляя скорости, доходит до края стеллажа, слетает с направляющих и срезает несущую балку. Весь склад с дорогостоящей техникой и продукцией на миллионы долларов складывается за несколько минут, как карточный домик.
Вот это — ошибка программирования!
1146
Получили мы в 1996 году ужасно мощные рабочие станции Siemens Nixdorf на базе 486SX. Решили три оставить нам, а пару оставшихся установить в бухгалтерии. Все компы распаковали, включили, запустился процесс установки «Windows 3.11 for Workgroups». Когда ОС встала, мы вдвоём с товарищем по работе упаковали компы и понесли в заводоуправление. Пришли на место — в кабинете сидят две дамы и пыхтят над таблицами в SuperCalc. Мы распаковали машины, получили у женщин исчерпывающие инструкции, как их расставить на столах, все поставили, воткнули вилки в розетки. Мой напарник спрашивает: «Можно включать?» Дамы утвердительно кивают головами.
Щёлкаем тумблером — бах! Где-то в недрах щитовой вырубается автомат, и рабочие машины бухгалтеров тухнут. Дамы истошно вопят (в литературном изложении): «Полдня набора — коту под хвост!» Напарник невозмутимо отвечает: «Сохраняться надо было». Нам грозили всеми возможными карами, однако расследование по горячим следам выявило несанкционированное подключение к розеткам для вычислительной техники двух нагревателей типа «козёл».
1144
Было это зимой 2005–2006 года. Я только начинал админить «по-крупному» и устроился в фирму набираться опыта. Фирма небольшая: компов 150 и семь серверов. Обновляются сервера и рабочие станции по мере выделения финансов‚ которое обычно происходит в конце года. Посовещавшись, решили, что хватит уже использовать в качестве серверов всякую дрянь — надо плавно переходить на 19-дюймовую стойку. Выбрали, подсчитали, заказали 3 «Харитона Петровича» и стойку на 22 юнита, ждём.
Сначала привезли серваки, стойку обещали пригнать через неделю. Под вечер привозят коробку размером с большой холодильник (по правде сказать, нам ещё тогда показалось, что 22 юнита немного поменьше). Собрали парней покрепче и потащили на третий этаж. Доносим до границы царства ИТ — дальше никак, не проходит коробка в проём. До серверной ещё ого-го, а в коридоре на ночь дорогую стойку оставлять не хочется. На последнем дыхании тихо материмся — придётся разбирать тут. Вскрываем одну сторону коробки, минут пять лопаем пузырики транспортировочного уплотнителя, которого настолько много что не совсем понятно, что в него завернуто. Один из нас замечает какую-то книжечку — достаём, смотрим на обложку. Это инструкция по установке и настройке массажного стола.
Хорошо, что курьер тащил коробку с нами — и не так обидно, и есть, кому подзатыльник отвесить. Молодой парнишка что-то перепутал и стойку нашу отгрузил в массажный салон. Вот они, наверное, обрадовались новому слову в массаже!
1127
В девяносто-лохматом году сисадминил я в министерстве по развитию бурной деятельности в одной из очень центральноазиатских стран. Для админов были выделены две комнаты, выходившие в маленький тамбур, из которого вела дверь в коридор. Серверное хозяйство было небольшое, все железки располагались в одной комнате, вторая же была аскетично меблирована холодильником, диваном и столом — что еще нужно админу для медитации?..
Всё хорошее когда-нибудь заканчивается, и нашу комнатку отдали нехорошим людям из другого департамента. Небольшое лирическое отступление: у местного населения была (да и сейчас, наверное, есть) традиция, пришедшая из глубины веков, регулярно очищать помещения от злых духов. Ритуал довольно простой: в тарелке поджигается небольшое количество веточек особого местного растения. Веточки не горят, а тлеют, пуская клубы едкого вонючего дыма. Не знаю насчёт злых духов, но тараканы и мухи из окуренной комнаты эвакуируются незамедлительно.
Однажды один из серверов стал кричать о повышении температуры в помещении, я побежал проведать свои железки. Коридор встретил меня полумраком, а из дверей серверной лился желтовато-красный свет и валили клубы дыма. Пожар! Вспомнив недавние учения, я схватил огнетушитель (хорошо, что углекислотный), сорвал пломбу, дёрнул за рычаг и самоотверженно бросился со свистящим балоном наперевес в очаг пожара.
Серверная встретила меня вполне целой и плотно закрытой дверью, а вот соседняя дверь была распахнута настежь, из неё валил дым, подсвеченный лучами заходящего солнца. Когда дым и углекислый газ рассеялись, передо мной предстал совершенно дезориентированный новый хозяин комнатки, решивший перед заселением очистить помещение от пустых пивных бутылок и нехорошей ауры прошлых владельцев.
1113
У одного заказчика есть большая и суровая железка под названием Sun Fire E25K, крайне критичная для бизнеса. Управляют сервером два контроллера — встроенные в шасси мелкие серваки с Solaris на борту. Греется этот слон так, что от него можно прикуривать, а с охлаждением в датацентрах вечная проблема. Админы написали скриптик, который берет вывод команды showenvironment, выкусывает из него температуру и в случае достижения определенного значения шлёт почту, где жалуется на некомфортные погодные условия. Всё работает уже с полтора года и все счастливы.
В прошлые выходные между двумя этими контроллерами повис интерконнект — ни файловер не сделать, ни подключить консоль с одного на другой. В общем, отказоустойчивости ноль.
Запланировали работы по исправлению ситуации — сервер надо было выключать целиком. Опустили домены, выключили контроллеры, обесточили сам сервер. Покурили, идем включать. Загрузив контроллеры, даём команду poweron и начинаем медленно покрываться испариной — сервер долго висит на включении вентиляторов. Из опыта я знаю, что такого быть никак не может, ибо вентиляторы включены абсолютно всегда, а сервер пишет, что их включает, чисто для проформы. Сроки работ ограничены, все в панике.
Смотрим лист процессов и наблюдаем, как несчастный контроллер запрашивает состояние температур у выключенного шасси! В лучших традициях советских очередей «привратник» не даёт пролезть вперед другим процессам (например, poweron) даже по большому блату.
После ритуального уничтожения строки запуска скрипта в кроне дело пошло как подобает. Да, в инструкциях такого не пишут — верно утверждение, что «тонкости познаются через факапы»!
1086
Понедельник. Утро. UPS, стоящий рядом с сервером, начинает пронзительно стонать своим спикером. Стали искать причину. Перерыли все мануалы, пылившиеся на полке, но в конце концов нашли нужный. Внимательно прочли его всем отделом — ну нету описаний таких сигналов, не должен он так пищать! Кто-то замечает на бесперебойнике кнопочку, которой можно отключить звук, но не тут-то было — кнопка не помогает. Идём на крайние меры: тушим сервак, отключаем UPS, разбираем его и выдираем всем уже порядком поднадоевший спикер.
Что же было дальше? Включили UPS, запустили сервер. В кабинет заходит заместитель техдиректора: «Бездельничаете, парни?» Мы ему обрисовываем всю картину, на что он ехидно заявляет: «А прикиньте, если он и щас начнёт материться?» Опять раздаётся истошный писк. Все тихо офигевают. Заместитель подходит к злосчастному бесперебойнику, осматривает его и сокрушается: «Ну вы и звери... Кастрировали UPS ни за что ни про что!»
Оказывается, на серваке упал один из сказёвых винтов в рейде, и материнская плата громко жаловалась на мёртвую железку. Злосчастный винт мы в этот же день сплавили в сервис по гаринтии, а на покалеченный UPS прилепили наклеечку «Герасим».
1072
Я — 1С-программист. Однажды пришел к клиенту в крупную компанию. Дверь мне открыла тётка лет тридцати-сорока. Это был один из первых моих походов за пределы офиса; я очень волновался и прямо с порога начал докладывать: «Я тот-то из компании такой-то, мне сообщили, что у вас такая-то проблема, сейчас я посмотрю там и тут, возможно, всё получиться исправить» (на самом деле мой довольно бессодержательный монолог был раза в три длиннее). Всё это время женщина смотрела на меня непонимающими глазами; когда же я закончил, выяснилось, что она не в теме, но сейчас отведет меня к кому надо.
Дама удалилась вглубь офиса, где сидела добрая дюжина таких же бухгалтеров, похожих друг на друга. Немного помешкав от стеснения, я прошёл следом. Войдя в помещение, я сразу направился к одной даме, выжидательно на меня смотревшей — я сразу понял, что это и есть нужный мне человек, и слово в слово повторил предыдущий монолог.
Нет, меня не смутило, что женщина как-то странно на меня смотрела. Только по окончании моего представления до меня дошло, что это она и открыла мне дверь пару минут назад, а у меня отвратительная память на лица.
Когда я наконец оказался один в прохладной темной серверной, я кусал себя за пальцы и строил дикие рожи в мерцающий монитор.
1050
Наша компания занимается разработкой и сопровождением программ для заказчика — попросту говоря аутсорсингом). Филиалы разбросаны по всему миру, и для облегчения общения саппорта и конечных пользователей помимо прочих средств связи существует бесплатный международный номер вида 1-800-...
Однажды приходит к нам письмо от клиента: «Бла-бла-бла, программа не работает. И кстати, по вашему бесплатному номеру отвечает не техподдержка, а служба „секс по телефону“». Мы в ступоре. Перезваниваем по указанному номеру и слышим приятный женский голос, обещающий ласки и небывалые удовольствия.
Оказывается, в одном из шаблонов стандартных ответов была опечатка в одной цифре номера. Самое интересное заключалось в том, что шаблон у нас не менялся как минимум несколько месяцев и до этого ни одной жалобы не поступало. А что — звонишь в саппорт, а тут тебе откровенный разговор на любые темы! Клиенты сразу забывали о своих проблемах с программой и наслаждались беседой.
Теперь сидим и думаем: а стоит ли шаблон исправлять?