12566

Развал одного диска

Это было, когда основным каналом распространения пиратского ПО служили развалы с дисками. Я уже тогда был линуксоидом, и наличие такого развала в шаговой доступности от моего дома вызывало у меня эстетическое неудовольствие. Хорошо, знакомый гаишник есть! Визит к нему в гости, пара минут мозгового штурма, коварный план…

Инсценировка начинается. Подхожу к развалу, покупаю первый попавшийся диск. Через секунду подъезжает служебная машина друга, который, не говоря ни слова, выходит, запихивает меня в багажник вместе с диском, заворачивает за угол дома и там выпускает.

Когда я прогуливался там через час, развала уже не было.

12565

Контрольный вопрос о контролирующих контроллерах

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

— Ну как же! Из названия всё ясно: контроллер контролирует параметры схемы!

12564

В скальп мне ноги

Утро было хреновое.

Проснулся неизвестно где от звонка мрачно проигнорированного андроидного будильника. Не спеша встал, оделся. Ногой отпихнул от шкафа древний полудохлый сисблок, посмотрел на себя в зеркало, поморщился. Надел очки, посмотрел снова, снял со стола недопитую банку пива, снова вгляделся в отражение. Убедился в суровой действительности, порылся в карманах, достал старенький Pentium MMX, причесался им, допил банку и, на ходу закуривая, никуда не торопясь, неспешно поехал на работу.

И только в метро начал тихо хихикать.

12563

Икс одной, другой два икс

Когда-то в передаче «В нашу гавань заходили корабли» прозвучала переделка известной песни, адаптированная к телеэфиру заменой неблагозвучных слов на «икс»: «Косил сено старичок, икс повесил на сучок». Внезапно я понял её смысл.

Новый «старичок» — Наделла.

«Косил сено» — сократил 18 тысяч сотрудников, которых считает неодушевлёнными предметами.

«Икс повесил на сучок» — принял решение отказаться от линейки Nokia X.

«Буйный ветер» — недовольство целевой аудитории этим решением.

«Икс одной, другой два икс» — предполагаемое развитие событий в будущем: возможно, какие-нибудь две компании спасут линейку от забвения. Одна выкупит X, другая X2. Звучит невероятно, но полностью исключать нельзя. Vertu же кто-то выкупил!

12562

Выдыхай, ангар, выдыхай!

Закрыли все порты на оборудовании, забыв оставить себе SSH-лазейку, а потом пришлось к серверу-аутисту два часа лететь на вертолёте и три дня ехать на верблюдах? Поверьте, это ещё не самый плохой вариант.

На территории крупного завода стояло неприметное зданьице, в котором мирно трудились два компрессора производительностью во много десятков кубометров сжатого воздуха в минуту, масловлагоотделители, охладители, редукторы и другое приличествующее крупному заводу и новой компрессорной оборудование, которыми рулил умный управляющий комплекс. Комплекс был прекрасно отлажен, проверен, рулил оборудованием и в жару, и в стужу, и присутствие человека всему этому хозяйству требовалось только раз в полгода — на время плановой профилактики.

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

Дальнейшую картину происшедшего удалось восстановить по логам системы и записям камер видеонаблюдения.

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

Компрессоры продолжают втягивать и сжимать что есть мочи, воздух пытается просочиться через щели, но строители постарались на совесть — доступа воздуха практически нет. Здание из сэндвич-панелей под давлением атмосферы снаружи и неглубокого, но с каждой секундой углубляющегося вакуума внутри с хрустом и скрипом начинает всасываться само в себя.

Компрессорная построена была действительно на совесть — стены и крыша выдерживают. Не выдерживает массивная стальная дверь, точнее, её косяк. Увесистая железяка с диким треском вылетает из стены и, на приличной скорости разворотив один из влагоотделителей и отрикошетив от компрессора, углом врезается в стоящий в глубине помещения главный резервуар — стальную десятикубовую ёмкость с расходным запасом сжатого воздуха. Резервуар, не привыкший к такому обращению, лопается, как воздушный шарик, высвобождая все тридцать атмосфер наружу.

К счастью, оставшийся после вылетевшей двери зияющий проем был достаточно большим, чтобы «взрывной волной» здание не разнесло на тряпочки и шнурочки — оно просто ухнуло, прыгнуло и покосилось, напоминая уже не сверкающую на солнце обитель мощной и красивой техники, а неказистый домик дядюшки Тыквы. Логическим финалом технотриллера стало шипение испаряющегося аммиака из порванных осколками резервуара и развороченных ударом воздуха сотен медных трубочек охладителя.

Итог — менее десяти секунд секунд от подачи команды до катастрофы, четыре миллиона евро убытков из-за уничтоженного оборудования, искалеченного здания (будут сносить и строить заново — даже фундамент дал трещины) и простоя производства, колоссальные репутационные потери фирмы-проектировщика и небольшой опыт программистам, писавшим программу контроллера. А всё из-за одного не вовремя закрытого порта.

12561

Retina остаётся позади

Мы посмотрели на портале «СССР» ТВ-передачу «Утренняя почта» 1985 года. Там есть сцена, где ведущие крутят велотренажёры, и один из них читает письмо зрителя с бумажного листа. Ребёнок восхищается:

— Какой тонкий и гибкий!

12560

Было, стало, будет

Представьте себе кадр: пансион для благородных девиц, класс, полный учениц, все в одинаковых нарядных платьишках, причёсанные, с косичками, сидят за партами, держат правильно осанку и пишут сочинения по литературному произведению каллиграфическим почерком. Теперь на секунду закройте глаза и сразу откройте — парты перевёрнуты, тетрадки порваны, куча полуголых девок с растрёпанными волосами насилует связанного преподавателя на фоне упавшей со стены доски.

К чему я это всё? Взялся посмотреть фото удалённого объекта. На первом снимке образцово-показательная стойка, всё красиво расшито, уложено в органайзеры, даже патч-корды разных цветов для подсетей. Идиллия. Жму стрелочку влево — и открывается следующий снимок: та же стойка, витуха вперемешку с оптикой, всё торчит в разные стороны, патч-панелей вообще не видно, маршрутизатор свисает по диагонали, упираясь в UPS. На снимках ни даты, ни времени, и даже по названию и дате создания файла не понять, где актуальное состояние…

12559

Честный просвещённый индус

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

Почитал инструкцию об общем устройстве этих процессов, нашёл статью на Хабре о подводных камнях и недокументированных возможностях этой системы. Разобрал библиотеку, которая с ней взаимодействует, её процедуры и параметры…

И потом, как честный просвещённый индус, вставил себе этот неведомый кусок чужого кода.

12558

Робот, пингвин и дефолт

Опять провайдер повеселил.

Вечером с полной тарелкой сажусь за комп с намерением посмотреть видеолекцию, про которую узнал днём. Вместо Ютуба вижу страницу: «Уважаемый пользователь, с целью повышения вашего удобства мы отказались от PPPoE. Теперь вам достаточно только включить DHCP по нижеприведённым инструкциям». Здоровенная кнопка «Я всё понял, продолжаем» и ссылки на инструкции для XP, 7 и 8. Конечно, ни линукса, ни макоси нет, но разберусь. Открываю инструкции — получаю ещё три экземпляра той же страницы. Ладно, жму на кнопку «понял». Возвращает к той же странице. Знакомо. Включаю джаваскрипт. Не помогает. Смотрю в код страницы. При нажатии на кнопку вызывается какой-то скрипт с mc.yandex.ru. Но пока я не подтвержу, что ознакомился, вместо него скачивается та же страница-заглушка.

Ладно, год назад они делали то же самое со страницей «Вы уверены, что не хотите перейти на тарифный план вчетверо дороже?». Тогда хватило одного звонка в техподдержку. Звоню. Мгновенно (что редкость) отвечает жутко картавая девушка. Настолько, что и «л» тоже не произносит. Объясняю ей свою проблему. Догадываюсь, что она спрашивает логин, ФИО и адрес. Называю. Она говорит что-то неразборчивое. С третьей попытки понимаю, что она хочет переключить меня на инженера. Радостно соглашаюсь.

Десять минут слушаю музыку, и на том конце кладут трубку. Звоню снова. После пары минут музыки отвечает жутко шепелявая девушка. Объясняю ей свою проблему и страстно прошу не рвать соединение. Догадываюсь, что ей нужны логин, ФИО и адрес, называю. Она говорит что-то неразборчивое. С третьей попытки понимаю, что она просит разрешения, если что, перезвонить мне на указанный в контракте телефон. Радостно соглашаюсь.

Слушаю музыку. Минут через десять инженер с голосом школьника просит повторно изложить проблему и назвать логин-ФИО-адрес, так как до него ничего не дошло. Повторяю. Он спрашивает, есть ли у меня роутер. Отвечаю, что нет. Тогда он просит меня перезагрузить роутер. Отвечаю, что роутера нет, а кабель воткнут в системный блок. Тогда он просит перзапустить браузер. Объясняю, что это займет много времени, так как у меня открыто много вкладок. Логинюсь под другим пользователем, запускаю вторые иксы и Файрфокс в них, естественно, вижу ту же страницу. Инженер говорит подождать, пока он удалённо перезагрузит роутер. Через минуту просит перезапустить браузер, чтобы очистить кеш. Отвечаю, что кеш уже чистил, не помогло, но перезапускаю. Естественно, вижу ту же страницу. Тогда он спрашивает, что за страницу я вижу. Отвечаю, что с самого начала говорил про эту страницу, и зачитываю её повторно (быстро и без выражения). Он говорит, что в этом не разбирается и переключит меня на специалиста.

Слушаю музыку. Через несколько минут отвечает ещё один молодой парень. До него тоже не дошло. Диктую логин, ФИО, адрес. Зачитываю страницу, говорю, что инструкции недоступны и ничего даже не пингуется. Он просит открыть «Панель управления». Отвечаю, что у меня нет такой папки, потому что у меня Gentoo Linux с OpenRC. Не понимает. Раза четыре повторяю это на разные лады — не понимает. Говорю: «Пингвин». Понимает.

Я свои конфиги скопировал с сайта провайдера и не трогал года четыре. Специалист с конфигами в текстовых файлах не знаком. Он просит «отключить высокоскоростное соединение». Совместными усилиями делаем вывод, что нужно убить демона net.ppp0, убрать из /etc/conf.d/net все упоминания PPP и IP-адресов и перезапустить net.lo и net.eth0. Пробую. IP правильный, маршрут правильный, но связи нет.

Начинаю искать документацию. Вспоминаю, что когда половина пакетов повадилась выкачивать гигабайтный TeX для рисования красивых PDF, а я ещё сидел на 35-гигабайтном диске, я глобально прописал USE=-doc. За четыре года и два новых винчестера поменять не собрался. Но какие-то примеры конфигов нахожу. Пробую убирать и возвращать разные команды и перезапускать net.eth0. Не помогает. Дело осложняется тем, что для быстрой работы с клавиатурой нужны две руки, и ещё одна — держать трубку, в которой специалист поминутно спрашивает о результатах.

Через полчаса специалист предлагает выслать мне на дом мастера. Я спрашиваю, сколько это будет стоить. Он долго уходит от ответа, но наконец признаётся, что у него такой информации нет. Кладу трубку. Вызвать мастера успею, ещё вся ночь впереди.

Ещё раз просматриваю конфиг. Ничего подозрительного не осталось. Убираю сам файл, перезапускаю net.eth0. Сеть появляется.

12557

Свидетель Битрикса

На этом сайте стало мемом обсуждение темы взаимоотношений айтишников с окружением в виде кошек, пива, кофе, бухгалтеров, уборщиц, детей и так далее, а теперь ещё и «Свидетелей Иеговы». Держите мой пятак.

Разместили вакансию. Требования: коммуникабельность, трудолюбие, умение работать с такими-то CMS, всё как обычно, и отдельным пунктом — знание иностранных языков, хотя из описания вакансии ясно, что оно никогда не понадобится.

На собеседование приходит соискатель, у которого из пакета небрежно торчат какие-то брошюры на нескольких иностранных языках. И так ясно, что полиглот, поэтому об этом спрашивать его не стали. О CMS кратко расспросили, поняли, что знает. Приняли.

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

Год успешной работы. Наконец догадались посмотреть повнимательнее. Брошюры на иностранных языках оказались от «Свидетелей Иеговы» — они постоянно раздают свои материалы у метро на нескольких языках. Знания иностранных языков у сотрудника не было совсем — он делал вид, что читает, но оно за год так ни разу и не понадобилось. CMS’ит он хорошо, а большего от него и не требуется.

Мы его оставили.