Bash.org.ru IT Happens Истории ## 1001 – 1100
Шрифт:
За что я благодарен своему знакомому до сих пор, так это за то, что во время установки подарочного винчестера он выдернул шлейф из моего основного и забыл вставить обратно. Думаю, в противном случае данные на этом винте постигла бы самая печальная участь!
#1005: Момент истины
00:30 25.06.2009, IT happens
Недавно с сервером произошла неприятность. В безопасном режиме загрузка не шла, а в обычном на долю секунды выскакивал синий экран, после чего сервер, весело
Полчаса проверки реакции путем фотографирования экрана монитора на телефон ничем не закончились, а нормального фотоаппарата в соседних кабинетах тоже не нашлось. Инженерная мысль вспомнила про веб-камеру, хотя, конечно 0,3 мегапиксела не вселяли доверия.
Компьютер, на котором были установлены драйвера для камеры, стоял через стенку от сервака. Чудом найденный пятиметровый USB-удлинитель я просунул через дырку в стене рядом с батареей отопления. Был найден и штатив для камеры по имени Максим, настройка которого производилась криками «Выше! Левее!» под дружный гул серверов.
Процесс загрузки после нескольких неудачных попыток всё-таки был заснят на видео. Путем покадрового просмотра был найден момент с появлением «экрана смерти» — минута фотошопа, и из горстки мутных пикселов проступила печально известная надпись «IRQL_NOT_LESS_OR_EQUAL».
#1006: Это ж бубль-гум!
00:30 25.06.2009, IT happens
Принтер перестал жрать бумагу — начальство затопало ногами и отправило меня разбираться. Сел копаться, через пару часов проблема была локализована, и стало ясно, что сам я с ней справиться не смогу. Вызвали мастера, он за пару часов добился примерно тех же результатов. Принтер был старенький и давно просился на покой. Начальство дало добро, и я притаранил новый — правда, подключить не успел, отложив торжественный запуск на завтра.
С утра прихожу и вижу, как блондиночка-секретуточка, которой в день трагедии в офисе не было, лихо что-то печатает на уже списанном принтере!
Начальство движется ко мне, насвистывая марш Шопена. Все, думаю, кирдык. Подходим к девочке. 18 лет, приехала поступать и не поступила — милое создание, никем и никогда не уличённое в интеллектуальной активности. Как?
Оказалось, что для того, чтобы осознать, что бумага из лотка не уходит, потому что стёрлись подающие валики, ей понадобилось пять минут и небольшая серия экспериментов со стаканом воды — мокрый валик бумагу держит великолепно. Для решения же проблемы ей понадобилось ещё меньше времени и немного жевательной резинки.
Я попробовал реабилитироваться перед начальством, предложив усовершенствовать систему с использованием двустороннего скотча, но инициатива была отвергнута. Меня, конечно, не уволили, но урок был усвоен — теперь над тупыми юзверями глумиться я себе не позволяю. Кстати, обмотанные жвачкой валики уже месяц исправно работают.
#1007: Секретный правительственный инкремент
00:30 26.06.2009, IT happens
Как-то раз в советские времена довелось мне посетить «машинный зал» оборонного завода N. Прихожу рано утром, набираю на цифровом замке код — дверь не открывается. Набираю другой код, вхожу, включаю ЕС, иду ставить магнитные ленты на лентопротяжки.
Слышу сзади: «Стой, соколик, где стоишь, и руки вверх!» Оборачиваюсь. Бабушка — божий одуванчик с «макаровым». «Пошли, — говорит, — к начальнику охраны, будем разбираться, кто ты такой и как оказался на территории режимного ВЦ во внеурочное время». А мне-то что — допуск и предписание у меня есть. «Пойдёмте, — отвечаю, — раз такое дело».
Начальник охраны оказался бдительным соколом сталинского разлива. Пролистал мои документы, скривился и говорит: «В принципе, ты имеешь право здесь находиться, но есть одна большая неувязка. Я с утра код на двери в машинный зал сменил, но никому его не сообщал и не сообщу до завтрашней утренней планёрки. Ты его уже знаешь. Что это значит? У нас утечка информации!» И смотрит на меня исподлобья с хитрым прищуром.
Битых два часа пришлось мне ему доказывать, что я, недавний выпускник мехмата, страшным усилием мозга чисто случайно догадался, какой будет код на двери 2 января 1985 года, если предыдущий код был «1984».
#1008: Если б мишки были пчёлами
00:30 26.06.2009, IT happens
Забавная всё-таки штука — программирование!
Лет пятнадцать назад разработчик пишет красивую, изящную и компактную программу. Последователи добавляют ещё один режим вызова, изменяющий соглашение о передаче параметров. Ещё через пяток лет добавляется третий режим с обходной точкой входа и взятием необходимых данных из файла.
Программа умеет работать как в интерактивном, так и в пакетном режиме, при этом может оставаться реентерабельной, не выполняя реинициализацию при повторном входе, и вызывается в разных режимах из нескольких прикладных пакетов.
И вот модифицированный код составляет уже 40% текста программы.
Настаёт момент, когда авторский алгоритм перестаёт работать для определённой комбинации параметров. Причём определяется это не тестированием, а эмпирически — по жалобам клиентов. Изрядно поломав голову и отладчик, приходится в очередной раз крушить остатки стройной концепции и дописывать условную принудительную реинициализацию переменных посреди красивого авторского кода.
Что делает программа? Фигню — печатает PIN-конверты для банковских карточек. Обычная такая банковская программа, написанная не самыми бездарными программерами. У нас тут ещё миллион таких.
Как там у классиков? «Если бы строители строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию».
Верю!
#1009: Автоматическая очистка, сменные шарики