Работаю в НИИ, выпускающем газоанализаторы. Один подшефный нам институт для какой-то новой лаборатории заказал пару анализаторов содержания кислорода. С завода мы их выписали, настроили и отправили.
Через две недели мирно пью чай на работе. Рано утром раздаётся звонок. Голос озабоченной тётеньки на другом конце провода:
— Добрый день, вы нам отправляли газоанализатор содержания кислорода в воздухе? — Да, мы. — Мы не понимаем, в чём дело, но на улице никак не можем найти ноль. Он все время показывает 20 с копейками…
Что и говорить, качество нынешнего образования — просто супер!
Появились небольшие лишние деньги в организации перед Новым годом, а что с ними делать, не знали. Организация маленькая, оказывает услуги населению. Летом пара происшествий в зале была, да таких, что до полиции доходило. Руководство постановило: «Приобрести очи всевидящие для решения вопросов спорных».
Купили две IP-камеры, настроили. Сисадмин, изучив софт, идущий с камерами, проболтался про запись по движению и оповещение с помощью SMS, чем его немедленно и озадачили. Решено было, что с 7:00 до 21:00 камеры пишут постоянно, а в остальное время — только по движению, при этом оповещая эсемеской человек пять ответственных. Камеры пришли 29 декабря, установили их 30-го.
31 декабря. Всё настроено, после обеда народу нет, зал пустой. Выключается постоянная запись и включается ночной режим. Всё прекрасно работает: выходишь в зал — сразу камера включается и эсемеска приходит.
После 21:00 все пять ответственных начали получать по 20 SMS каждую минуту о движении в зале. Помещение пустое, сигнализация не срабатывала, а в зале движение!
Когда тестировали, зал был пустой и тёмный, а перед уходом и закрытием включили новогодние бегущие огоньки — праздники всё-таки… Теперь из админа информацию о функциях программ нужно вытаскивать клещами, да и проверяет он всё сначала на себе в течение нескольких дней.
Зашёл сегодня в Сбербанк оплатить квитанцию. Народу много, в воздухе витают фразы дня: «Дурдом!», «Ничего себе!», «Не буду стоять». Взял номерок, стою рядом с раздавалкой, жду очереди. Заходят люди, грустно берут бумажные выкидыши. Автомат работает исправно, электронная тётенька говорит красиво, девушка-консультант в жизнерадостном зелёном галстучке-платочке помогает оробевшим бабушкам взять заветный пропуск к сберкнижке.
Проходит минут пять. С шумным выдохом вваливается здоровенный мужик. Весь в сером разных тонов — шапка, куртка, брюки. Глаза скрыты под тёмными очками. С разбегу втыкает кулак в сенсор ничего не подозревающей и потому расслабившейся раздатки. Аппарат от удара раскачивается с дециметровой амплитудой и зависает. Девушка-конс успевает сделать только: «А-акх…»
— У-у… Не работает! — буднично говорит дядька.
Судорожно производя лёгкие многократные тычки-поглаживания по сенсору, девушка пытается привести нокаутированный аппарат в чувство, приговаривая с лёгким возмущением:
— Зачем же вы так? Не надо так тыкать… Всё работает.
Мужик, невозмутимо:
— Да это у них часто. Вон и на улице терминал для оплаты телефонов тоже зависает. Я щас подходил…
Гляжу на мужика с улыбкой и уважением. Прирождённый тестировщик! И не подозревает ведь о своем талантище.
Был у нас заказ на автоматизацию реконструкции цементного завода. А пока шла разработка софта, заводчане решили без автоматики запуститься. Запустились. А через пару месяцев авария: цементный фильтр упал. Цементный фильтр — это такая огромная дура на ножках высотой метра три. Его нужно периодически от цементной пыли прочищать, за чем и следит автоматика. А ежели без автоматики, должны следить люди. Да вот не уследили. Фильтр отяжелел и упал. Под фильтром — рабочие места четырёх человек. Один в курилку отошёл, один в туалет. А двое… Двоим удалось удрать из-под падающего фильтра.
Повезло: ни одной нашей подписи под решением запускаться без автоматики не было. Но программная ошибка такого рода в промышленной автоматике — вещь частая. Бывало и хуже: у меня в одном проекте печь на водороде. Причём такой мощности, что при взрыве полцеха снесёт. И рабочее место для отладки прямо над печкой. Как результат — треть стоимости проекта была потрачена на обеспечение надёжности. Ни минуты простоя за три года ни по вине нашей системы, ни по вине службы автоматики в целом.
Помнится, в Чернобыле после взрыва операторы первым делом укрывали SCADA. Честное слово, после знакомства с заводскими реалиями не удивляет.
Есть такой синдром нищеброда: «Всё, на что у меня не хватает денег, не нужно». И неважно, что у других они есть.
GPS-навигатор — это действительно круто. И неважно, что для моего города нет нормальной карты, а в незнакомом месте навигатор порой прокладывает самые удручающие маршруты. Просто неважно. Это будущее, сынок. Лет 20-30 назад толстые тётечки в бухгалтериях и на складах так же плевались на калькуляторы и только появляющиеся компьютеры. А сейчас выдай им счёты или обруби доступ в Интернет — тут же узнаешь о себе много нового.
Самый распоследний смартфон — вообще отличный рабочий инструмент. С его помощью мои сервера никогда не останутся без пристального надзора (благо SSH уже и на телефоны портировали); смартфон позволяет мне пользоваться видеовызовами и вкушать все блага 3G-интернета.
И плевать, что пока многое из этого сделано кривенько и корявенько, а стоимость оставляет грустный смайл на лице. Технологии идут вперёд, а деньги позволяют их использовать и в работе, и в своё удовольствие. Век больших возможностей, бро!
Из далёкой-далёкой страны продвинутой автоматизации привезли (читай: увели) десяток принтеров двухбуквенного производителя последнего поколения. Цветная печать, замечательная скорость, куча настроек. Все плюсы налицо, цена — копейки.
Не успели маркетологи с дизайнерами порадоваться новым девайсам, как пришёл счёт на четыре килограмма зелени. Спустя неделю — ещё на восемь. Отправитель — неизвестная фирма из штата Вашингтон. В счёте значились наборы для ремонта картриджей и печки. Естественно, для новых принтеров, о происхождении которых известно было немногим.
Выяснилось, что умная техника, подключившись к сети, сама полезла к себе на сайт и через проверенного партнёра согласно заложенному расписанию заказала себе запчасти. Продвинутые люди наверняка удивятся: почему мы получали эти счета по новому адресу? Хех… Принтеры оказались настолько высокоинтеллектуальными, что определили наш шлюз, резолвили айпишник и отправляли счета на admin@компания.ru.
Торговая сеть, принимая кредитки через Сбербанк, решила принимать ещё и локальные карты банка «X». Конфигурация: кассовое ПО — DOS; ПО Сбера и банка «X» — DOS-модуль на кассе и Windows-сервер в ЛВС.
Для исключения случайностей были устроены тесты. Диалог кассового ПО с программным комплексом банка «X» во время крэш-теста изрядно повеселил. Восстановлено по логам ККМ и процессинга.
Кассовое ПО — DOS-модулю: «Провести покупку на сумму 50000 руб. по карте N!»
DOS-модуль — Windows-серверу: «Провести покупку на сумму 50000 руб. по карте N!»
Windows-сервер — процессингу: «Провести покупку на сумму 50000 руб. по карте N!»
Транзакция идёт около трёх секунд, и у нас есть время вытащить RJ-45 из кассы.
Процессинг — Windows-серверу: «ОК!»
Windows-сервер, поместив в свой буфер «ОК», DOS-модулю: «ОК!.. Эй, кассовый модуль! ОК, я тебе говорю!»
Касса молчит.
Windows-сервер — процессингу: «Отменить покупку на сумму 50000 руб по карте N!»
Процессинг — Windows-серверу: «ОК!»
И тут мы втыкаем RJ-45 обратно в кассу.
DOS-модуль (читает из буфера Windows-сервера): «Оплата — ОК!»
DOS-модуль — кассовой программе: «Оплата — ОК!»
Кассовая программа печатает чеки и слипы. Покупательница уходит с товаром и при своих деньгах.
DOS-модуль (читает из буфера Windows-сервера): «Отмена предыдущей операции — ОК!»
DOS-модуль — Windows-серверу: «Какая ещё операция? Что-то с буфером у тебя не то. Очистить буфер!»
Три раза проверили (главное в результате — воспроизводимость). Хорошо, что сервисы, висящие на тестовых портах, снимают с карты лишь тестовые рублики…
Стою у клавитуры охранного прибора. Мозги кипят, нервы заканчиваются: очень древняя система слегка глючит и никак не поддаётся настройке. В руке телефон, на том конце консультирует коллега, хорошо знающий эту панель. В две головы не можем победить. За спиной три тётушки из категории «Я работаю тут уже шесть лет и лучше вас знаю эту систему» негодуют: их ожидание длится вот уже двадцать секунд.
— Если вы не знаете, что делать, отойдите и не мешайте. Нам надо сдать на охрану! — Секундочку. — Молодой человек, вы не поняли: нам надо сдать на охрану. Отойдите! — Подождите немного, мы заканчиваем. — Зачем вы вообще трогаете? Не трогайте эти кнопки, они не нужны. — Подождите полминуты, я закончу работу, и вы сдадите на охрану. — Как вы закончите, если вы не те кнопки нажимаете? Лучше давайте я вам покажу, по телефону вам не объяснят.
Включаются две другие тётушки и начинают поддакивать. Извиняюсь перед коллегой, кладу трубку, выхожу из режима программирования и отступаю. Тётя подбирается к клавиатуре, победно ворча:
— Я тут давно работаю, надо меня сразу пустить было, стоят тут…
Остальные вторят:
— Да-да, а то тут так до утра простоим… — Автобус скоро, мы не можем стоять…
Наблюдаю. Тётя набирает размашистыми и чёткими движениями пароль (так, что все окружающие его видят), игнорирует надпись «[*] To Arm», означающую, что нужно нажать звёздочку для постановки под охрану, и жмёт стрелку вправо. Меню переходит с нужного пункта на пункт «[1] For Other Options». Тётя жмёт звёздочку. С чувством собственной важности, ощущая себя победителем в схватке со всем мировым невежеством и необразованностью, она поднимает глаза к ящику, висящему над клавиатурой, и ждёт, когда загорится лампочка напротив названия её бокса. И-и-и… ничего. Точнее, прибор пищит на отказ (нет доступа у неё к этому пункту меню) и вываливается обратно к «Enter code to arm system».
Секунда ожидания, ещё одна, третья, четвёртая. Просто феноменальная выдержка — обычно их хватает секунды на три.
Тётя нервно возвращается обратно к клаве — и снова 1-2-8-7-вправо-звёздочка. И снова ничего.
Минус одна секунда от времени ожидания — и всё повторяется.
Затем снова, но уже с комментариями и поддакиваниями на тему идиотов охранников.
Не дожидаясь эмоциональной разрядки, преграждаю ей путь к клавиатуре и предлагаю сделать ещё раз вместе:
— Позвольте, я вам помогу. Здесь нужно делать немного по-другому. — Я знаю, как надо делать! Я делаю всё правильно, система просто не работает. — Просто наберите код, я дальше подскажу.
1-2-8-7-вправо-звёздочка. Отказ.
— Я же говорю, что не работает! — Просто код и ничего больше.
1-2-8-7-вправо-звёздочка. Отказ.
— Наберите, пожалуйста, только код, ничего больше не нажимайте. Код — это первые четыре цифры. — Да знаю я!
1-2-8-7-вправо… Перехватываю руку.
— Вот смотрите: у вас написано «To Arm». Когда написано «To Arm», нажимаете звёздочку, а если не написано, тогда нажимаете стрелочку, пока не появится «To Arm», и тогда нажимаете.
Возвращаю к нужному пункту, нажимаю звёздочку. Система встаёт на охрану.
Тётушки по одной подходят, медленно повторяют весь алгоритм, но без стрелочки, и удаляются на автобус, бормоча в три голоса: «Какого чёрта снова всё переделали? Сколько можно, почему нельзя просто сделать и не трогать?»
Я ударяюсь пару раз головой об гипрочную стенку возле клавиатуры и зависаю на мгновение, уперевшись лбом в стену. Я устал. На плечо ложится рука охранника, подошедшего где-то в середине действия:
Тенденция нынешнего века — как можно больше функций того или иного агрегата перекладывать на плечи электроники. Это на руку производителю, но вот тем, кому с этой техникой приходится работать, и тем, кому её нужно ремонтировать, тенденция мешает, причём проблемы уходят далеко за рамки IT.
На BMW 525i 1997 года выпуска, доставшемся брату от отца, не горят обе фары дальнего света. Лампы вполне исправны — нет напряжения на разъёмах. Разумеется, как любой нормальный человек с опытом ремонта автомобилей, предполагаю, что виноват предохранитель. Поиски вылились в настоящий многоэтапный квест. Сначала мы не могли найти главный блок предохранителей. Ни под капотом, ни в салоне (как оказалось, лишь на первый взгляд) его не оказалось. Гугл, великий и могучий, ради которого пришлось сбегать наверх в квартиру, сообщил, что искомый блок расположен в нише бардачка.
Далее последовало глубокомысленное изучение списка предохранителей на немецком языке. Так и не найдя ничего, хотя бы отдалённо похожего на искомое, я снова пошёл к компьютеру, быстро отыскав в интернете этот списочек на английском, что, впрочем, также не помогло внести ясности: ничего подобного нужному, кроме таинственного «Light Control Module», защищаемого двумя предохранителями по пять ампер, там не было, поэтому пришлось идти в квартиру в третий раз.
В итоге выяснилось, что в этой машине нет ни одного предохранителя фар или вообще каких-либо внешних огней: всем заведует тот самый Light Control Module, управляющий фарами через силовые транзисторы, и сам определяющий замыкания и прочие неисправности. В рекомендациях к устранению проблем со светом одним из первых пунктов значилось до боли знакомое: «Try rebooting your car». Закройте все окна и высадите ненужных на данный момент пассажиров, блин — и это в машине четырнадцатилетней давности! Что уж тут говорить о современниках, у которых уже даже педаль тормоза физически с тормозным цилиндром не связана, а скоро и руль туда же последует…
Фары, кстати, в процессе ковыряния с предохранителями мистическим образом загорелись. Чую бесовское, но обосновать пока не могу.