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

Мы посмотрели на портале «СССР» ТВ-передачу «Утренняя почта» 1985 года. Там есть сцена, где ведущие крутят велотренажёры, и один из них читает письмо зрителя с бумажного листа. Ребёнок восхищается:
— Какой тонкий и гибкий!
Закрыли все порты на оборудовании, забыв оставить себе SSH-лазейку, а потом пришлось к серверу-аутисту два часа лететь на вертолёте и три дня ехать на верблюдах? Поверьте, это ещё не самый плохой вариант.
На территории крупного завода стояло неприметное зданьице, в котором мирно трудились два компрессора производительностью во много десятков кубометров сжатого воздуха в минуту, масловлагоотделители, охладители, редукторы и другое приличествующее крупному заводу и новой компрессорной оборудование, которыми рулил умный управляющий комплекс. Комплекс был прекрасно отлажен, проверен, рулил оборудованием и в жару, и в стужу, и присутствие человека всему этому хозяйству требовалось только раз в полгода — на время плановой профилактики.
Одним жарким июльским утром, проверив планируемый расход сжатого воздуха, температуру внутри и снаружи и даже прогноз погоды на ближайшие сутки, управляющая система решила переконфигурировать воздухоотбор — вместо горячего наружного воздуха, который засасывался через один защищённый простым фильтром от мошек и пташек воздухозаборник снаружи, включить отбор через охладитель. Охладитель — по сути, мощный проточный абсорбционный холодильник: небольшая теплоизолированная камера с сотнями медных рёбер и трубочек, по которым прокачивается хладагент, охлаждая поступающий воздух. Обычно этот холодильник выключен и закрыт, воздух идёт напрямую, но в жару потеря тяги от завихрений воздуха в лабиринте трубочек предпочтительнее перегретого оборудования, в котором воздух при сжатии и так прилично нагревается.
Дальнейшую картину происшедшего удалось восстановить по логам системы и записям камер видеонаблюдения.
Умная управляющая программа даёт команду охладителю на включение, компрессорам на увеличение режима для компенсации возросшего сопротивления, а контроллеру воздухозаборников — на полное закрытие порта внешнего отбора и открытие порта охладителя. Все спешно начинают выполнять приказания начальства — компрессоры разгоняются, охладитель булькает аммиаком, контроллер воздухозаборников… Контроллер, простая глупая ПЛКшка, лениво шевелит актуатором створок-жалюзи внешнего порта, периодически проверяя показания датчиков о положении этих створок, и, выведя их в закрытое положение, начинает открывать створки порта охладителя. Не тут-то было: компрессоры уже вышли на режим и создали в теперь уже наглухо закрытой компрессорной разрежение, которое актуатору пересилить не хватает мощности. Контроллер удивляется сообщениям датчиков о неизменном угле поворота и замыкается в попытках открыть-таки створки, забыв сообщить о задержке «наверх».
Компрессоры продолжают втягивать и сжимать что есть мочи, воздух пытается просочиться через щели, но строители постарались на совесть — доступа воздуха практически нет. Здание из сэндвич-панелей под давлением атмосферы снаружи и неглубокого, но с каждой секундой углубляющегося вакуума внутри с хрустом и скрипом начинает всасываться само в себя.
Компрессорная построена была действительно на совесть — стены и крыша выдерживают. Не выдерживает массивная стальная дверь, точнее, её косяк. Увесистая железяка с диким треском вылетает из стены и, на приличной скорости разворотив один из влагоотделителей и отрикошетив от компрессора, углом врезается в стоящий в глубине помещения главный резервуар — стальную десятикубовую ёмкость с расходным запасом сжатого воздуха. Резервуар, не привыкший к такому обращению, лопается, как воздушный шарик, высвобождая все тридцать атмосфер наружу.
К счастью, оставшийся после вылетевшей двери зияющий проем был достаточно большим, чтобы «взрывной волной» здание не разнесло на тряпочки и шнурочки — оно просто ухнуло, прыгнуло и покосилось, напоминая уже не сверкающую на солнце обитель мощной и красивой техники, а неказистый домик дядюшки Тыквы. Логическим финалом технотриллера стало шипение испаряющегося аммиака из порванных осколками резервуара и развороченных ударом воздуха сотен медных трубочек охладителя.
Итог — менее десяти секунд секунд от подачи команды до катастрофы, четыре миллиона евро убытков из-за уничтоженного оборудования, искалеченного здания (будут сносить и строить заново — даже фундамент дал трещины) и простоя производства, колоссальные репутационные потери фирмы-проектировщика и небольшой опыт программистам, писавшим программу контроллера. А всё из-за одного не вовремя закрытого порта.
сегодня подстригся
коротко
ну как коротко
для себя — коротко
с 6 го класса не стригся т.к. тогда опыт был на столько неудачным, что я отказывался идти в школу
хех
а в этот раз все очень даже мне нравится
впервые нравится что-то за последнее время
весь триумф испортил один единстенный человек, который на удивление, как я сейчас выяснил, мне вроде даже дорог
забавно все это
фотки пришлю потом
такие пироги
время меняться!
Решил заняться спортом. Выбрал бег. Добежал до компьютера. Сижу. Бегаю глазами по монитору… И прямо чувствую: «Спорт — это моё!»
Понадобилось мне написать процедуру, которая делает нечто не в той области, где я себя уверенно чувствую. Нагуглил себе фрагмент кода, который по обещаниям делает то, что мне нужно. Смотрю на код и не понимаю, что это за операции, что за параметры он передаёт и вообще архитектуру всего процесса. Подумал: ну что я, индус какой-то, чтобы неведомый код себе лепить?
Почитал инструкцию об общем устройстве этих процессов, нашёл статью на Хабре о подводных камнях и недокументированных возможностях этой системы. Разобрал библиотеку, которая с ней взаимодействует, её процедуры и параметры…
И потом, как честный просвещённый индус, вставил себе этот неведомый кусок чужого кода.
Представьте себе кадр: пансион для благородных девиц, класс, полный учениц, все в одинаковых нарядных платьишках, причёсанные, с косичками, сидят за партами, держат правильно осанку и пишут сочинения по литературному произведению каллиграфическим почерком. Теперь на секунду закройте глаза и сразу откройте — парты перевёрнуты, тетрадки порваны, куча полуголых девок с растрёпанными волосами насилует связанного преподавателя на фоне упавшей со стены доски.
К чему я это всё? Взялся посмотреть фото удалённого объекта. На первом снимке образцово-показательная стойка, всё красиво расшито, уложено в органайзеры, даже патч-корды разных цветов для подсетей. Идиллия. Жму стрелочку влево — и открывается следующий снимок: та же стойка, витуха вперемешку с оптикой, всё торчит в разные стороны, патч-панелей вообще не видно, маршрутизатор свисает по диагонали, упираясь в UPS. На снимках ни даты, ни времени, и даже по названию и дате создания файла не понять, где актуальное состояние…