Отдали мне знакомые полумёртвый жёсткий диск фирмы Seagate. Разумеется, решил попробовать его восстановить. G-list ("растущий" список дефектов, появляющихся во время эксплуатации, вместо которых контроллер начинает использовать логические блоки из резервной области) оказался полностью заполнен, переназначать их было некуда, и после попытки добавить в этот список очередной блок диск перезапускался. Перенёс их в P ("первичный") список дефектов, P-область гораздо больше. Решил проанализировать на оставшиеся дефекты: если их меньше, чем P и G- области, дефектные блоки можно переназначить, и если нет дальнейшей деградации поверхности, использовать диск дальше. Подключился к диагностическому порту, открыл терминал, ввёл команду на выявление дефектных блоков с занесением их в P-list (посредством ПО самого диска), и стал ждать. Процесс это совсем не быстрый. И был несколько в результате обескуражен результатом: сначала всё шло хорошо, 1% complete (завершено), Pass (проход) 00.2%, 3% и т. д. Но потом, на некоторой процентовке случился "затык": контроллер не удовлетворился результатами, и начал повторять тесты одной и той-же области, возвращаясь на пару процентов назад: Pass (проход) 00, 02,.... 07 (учитывая нумерацию с 00, 8-ой). Затем после неудачной восьмой попытки исключить из используемой области дефектные логические блоки, в терминале вместо слова "Pass" стало вдруг выписалось слово "ass" (жопа, задница). Ещё через несколько логических блоков "Failure" (неудача, сбой). Что-то мне подсказывает, что литера "P" явно потерялась по воле кого-то из программистов из "Seagate"! Не литературно, но по факту. Рассказанное — чистая правда. Вот на такое иногда можно наткнуться, работая с "внутрянкой" некоторых устройств. Придётся разобрать этот диск на детали.
* * *
Жительница США, энтузиаст компьютерных игр утверждает, что её компьютер, возможно, спас ей жизнь, отразив пулю, выпущенную соседкой сквозь стену дома. Согласно сообщению, соседка утверждает, что выстрел был произведен случайно ее собакой. Сама девушка говорит, что, по данным полиции, компьютер изменил траекторию пули, которую она нашла у себя под подушкой, и что в противном случае она бы попала в нее, пока она спала. В качестве позитивного момента, игроманка теперь планирует потратить полученные по страховке 3500 долларов на сборку нового игрового ПК.
* * *
Это был конец 2010-х. Я тогда работал сисадмином в офисной техподдержке. Сидели мы в опенспейсе, между столами были перегородки сантиметров 40 высотой.
Заявка от программистов: системный блок, на котором они подняли стенд-"песочницу", при перезагрузке требует нажатия клавиши F1, после этого работает штатно. Прихожу, перезагружаю, вижу на
экране надпись "System Fan warning", вижу, что корпус в районе блока питания нагрет настолько, что больно прикасаться. Все понятно: кулер в блоке питания накрылся. Уношу комп к себе на рабочее место.
Компания была богатой и покупала оригинальные системники HP и к ним Care-pack’и на три года. При любом аппаратном сбое мы сливали данные с компа, передавали его в авторизованный сервисный центр, там его чинили или выдавали замену.
Но я же тварь ленивая. Сливать данные — часа полтора. Потом еще с полчаса возиться с оформлением. И ради чего? Ради вышедшего из строя БП, который за 10-15 минут меняется?
Подходящих системных блоков, ожидавших отправки в ремонт, не было. Снять с уже неработающего системника работающий БП не получалось. Решил посмотреть — почему не крутится кулер? Ставлю системник на стол, включаю, свечу в решетку кулера фонариком. Кулер при этом чуть выше, чем перегородка между столами, и смотрит прямо в лицо моему коллеге и другу, сидящему напротив.
У системников HP очень хорошо спроектировано охлаждение. Я после проверял: даже если отключить кулер у процессора и корпусной вентилятор, на кулере блока питания системник будет работать. Только шуметь будет сильно.
Системник у программистов стоял под столом и работал без перерыва. В результате блок питания забился пылью. Большой комок её заблокировал пропеллер кулера. Сжатого воздуха у меня под рукой не оказалось, пылесоса тоже и я ничего умнее не нашел, кроме как протолкнуть пропеллер лезвием ножа. Благо тогда носил Leatherman Charge TTi, у которого узкое и тонкое лезвие.
Пропеллер провернулся, вытолкнул застрявший комок, почти мгновенно вышел на максимальные обороты и с сильным гулом выдул всю пыль, забившуюся в блок питания за все время. Прямо в лицо моему другу.
Тот снимает очки, поворачивается ко мне и спрашивает:
— Ну и зачем ты так, нормально же общались?
Смеялись все присутствовавшие, припоминали мне это еще долго.
* * *
Ставил как-то вайфай-сетку на квартире. Жилище просторное, комнат до фига, восемь членов семьи, два десктопа, четыре ноута и два недобука. Для полного счастья у всех мобильники умеют и любят вайфай. Установил роутер, приучил его к интернетам, объяснил, что к чему, и ушёл. На прощание у меня спросили:
— Как же это так: без проводов?
— Радиосигнал, как у ваших сотовых, только другой немножко.
Жаль, тогда я не разглядел испуга в глазах отца семейства.
Через два дня звонят с типичным: "Ничего не работает, сети нет". Приезжаю. Все компы действительно видят какую угодно сеть, только не домашнюю. Ищу глазами роутер...
Да-да, вы угадали, он был там же, где я его оставил, только укутанный в фольгу и накрытый неизвестно откуда взявшейся здесь просвинцованной xpенью из арсенала рентген-кабинетов.
* * *
Управление рисками
В нашей конторе ПМ решил вспомнить молодость. Насмотрелся на разработчиков, поймал ностальгию и на выходных под кофеёк запилил пет-проект. Приходит в понедельник, глаза горят. Рассказывает, что написал шахматный движок с уникальной бизнес-архитектурой, которому в принципе невозможно поставить мат.
Народ у кофемашины,
понятное дело, заулыбался. Наш сеньор деликатно заметил, что шахматные движки — это вообще-то высшая математика и нейросети. Но когда ПМ на голубом глазу добавил, что лучшие алгоритмы мира его не одолеют, даже если дать им фору в ладью, сеньор принял вызов. Заспорили на большую пиццу.
Условились так: сеньор играет Стокфишем на максималках, а ПМ запускает свое чудо без ладьи. Игра, прямо скажем, не поражала глубиной замысла. ПМ сидел расслабленно, потягивал чаёк, пока бездушная машина уверенно отжимала у его движка фигуру за фигурой. Минут через десять Стокфиш позиционно зажал черных в угол и выстроил неизбежный мат.
Сеньор ухмыльнулся:
— Ну всё, Михалыч, приплыли. Следующим ходом мат. С тебя пепперони.
ПМ, сохраняя абсолютное спокойствие, поправил очки:
— Не торопись. Мата на доске нет? Нет. Ходи.
Сеньор берет ферзя, тянет на решающую клетку... И в ту же секунду окно программы мгновенно и абсолютно чисто закрывается. Без зависаний и ошибок. На экране на долю секунды вспыхивает холодное системное уведомление: "Проект успешно завершен. Целевые показатели достигнуты". И всё. На рабочем столе тишина.
ПМ удовлетворенно кивает:
— Ну? Я же говорил. Мат поставить невозможно.
Сеньор на секунду завис, а потом с ухмылкой полез в консоль и логи — думал поймать на банальном краше. Но там всё было стерильно, а в конце кода красовался легальный, явно заложенный туда метод. Сеньор расхохотался:
— Михалыч, ну ты жук! Ты просто влепил триггер: если до мата один ход — тупо гасить процесс через System. exit(0)! Какой это, к чёрту, алгоритм?!
ПМ снисходительно посмотрел на команду и поднял палец вверх:
— Ребята, вы опять мыслите как джуны, сугубо кодом. А надо мыслить процессами. Какое было ТЗ? "Программа, которой невозможно поставить мат". Мат зафиксирован? Нет. Критический риск вовремя купирован? Да. Продукт закрыл отчетный период до наступления ущерба. Это не баг, это оптимизация убытков! Критерии приёмки соблюдены, задача закрыта. Заказывай пиццу. С сырными бортиками, мы это зафондировали.
Айтишные истории ещё..