849

Суперудар: вниз-вниз-Insert

Дело было в далёкие девяностые. 486DX66 в ту пору был ещё вполне приличной машинкой, Мортал Комбат был на пике популярности, а вот привода не было — зато была куча дискет!

Продавец в магазине за символическую сумму и большое спасибо записал мне этот шедевр игростроя на 36 дискет, брякнул какое-то заклинание вроде «скинешь в одну папку все файлы с дискет и запустишь».

В ту пору правил бал Norton Commander, вот только про выделение файлов для копирования я ничегошеньки не знал. Три десятка дискет, на каждой много-много небольших файлов — чтение этого списка после копирования по одному файлу занимало около минуты.

Через пять-шесть часов, скопировав половину дискет и прикинув, сколько ещё впереди, я в прямом смысле опустил руки. И крайне удачно — случайно попал не то на пробел, не то на Insert.

О чудо, имена файлов пожелтели! Спустя минуту было выяснено, что копирование всех файлов с дискеты занимало чуть больше минуты. В десять лет я впервые узнал, на что похож оргазм.

Начиная с того дня открыл для себя «метод научного тыка», который открыл мне глаза на существовании справки и многих других удивительных, полезных вещей.

Запуск же этого Мортал Комбата (чтение Фигурнова, освобождение 640 Кб, QEMM и прочие прелести того времени) — это уже совсем другая история.

848

Легендарная технология хрущёвского холодильника

Работаю системным администратором в автобусной транспортной компании. Занимаемся GPS-навигацией и постоянно модернизируем свой компьютерно-серверный парк.

Пришло время покупать хороший телематический сервер — другие рабочие станции под нагрузкой мрут. Заказали, забрали, пока шкафа нет, поставили на стол. Естественно, соседство с сервером, ревущим как «боинг», сотрудникам не понравилось. Через неделю не вытерпел я сам и пошел к директору:

— Нам нужны деньги на серверный шкаф.

— А зачем он?

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

Гениальный ответ не заставил себя долго ждать:

— Давайте мы вывесим его за окно в железном сейфе — пусть охлаждается!

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

847

Коротко и ясно

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

— Почему без бахилов?! Ну-ка покупай и надевай!

— А мне они не нужны, я системный администратор.

— Кто-кто?

Хорошо подумав, лучшего обьяснения я придумать не смог:

— Слесарь ЭВМ!

Старушка понимающе кивнула и села обратно на стул.

846

До основания разрушим, а затем...

Прислали мне текстовый документ на дискетке сомнительного вида. Повалялся флопик недельку в ящике стола, а потом содержимое внезапно понадобилось.

Сам файл с грехом пополам видно, но скопировать его на диск не выходит — вылезает ошибка чтения. Надо что-то делать — не факт, что у отправителя этот документ остался.

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

845

Корпус-самоиграйка

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

— Фигню вы мне продали! Только вчера купил, а уже звук не работает.

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

— Да нет, с колонками звук есть, без колонок нет!

Всё оказалось очень просто. Системник был собран в недорогом корпусе — передняя аудио-панель подключалась самым бесхитростным образом, при помощи выведенных сзади мини-джеков. Естественно, клиент, увидев знакомый штекер, подумал, что где-то в дебрях системного блока запрятаны стереодинамики.

844

От «контр-страйка» до страйкбола один шаг

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

— У вас матрицы для LCD-мониторов бывают?

— Нет, а что случилось с монитором?

— Пуля в экран попала.

Видимо, по нашим изменившимся лицам клиент понял, что сказал что-то не то, и, смутившись, добавил:

— Да нет, игрушечная...

843

Бабушкины рецепты на полях

Решил тут ради эксперимента сделать из своей машины «хакинтош» — благо, болванка с какой-то сборкой Леопарда уже давно валялась. Естественно, что Mac OS на чужом железе сразу работать не возжелала и периодически «радовала» меня kernel panic. Получилось, что переустанавливать всю систему приходилось много раз.

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

842

Ух ты, оно крутится!

Работаю в банке, в основном консультирую клиентов по работе с клиентским интернет-апплетом.

Конец рабочего дня. Звонит клиент, чуть не плачет — второй день не может отправить платежное поручение в иностранной валюте. Не отображается поле «адрес банка» и информация о банке-посреднике. Полчаса разбирались, и так крутили апплет, и эдак — поле не появлялось. С такой проблемой мы не сталкивались ни разу, поэтому я попросил клиента прислать скриншот ошибки.

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

841

Теперь твой экран покроется маленькими цветными точками!

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

Приходит ко мне как-то друг — компьютер купили, а играть-то не во что. Перебирает диски на моей полке и доходит до какого-то «набора юного хакера».

— А что это?

— Этот... весь в вирусах. (Такие вещи лучше новичку не давать, решил я).

Начинающий компьютерщик бросает диск, с глазами, полными отчаяния, смотрит на свои руки и трагически произносит:

— Что же мне теперь делать!

Друга успокоил, вручив свежих игр и посоветовав хорошо помыть руки.

840

Закрепляющее + слабительное

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

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

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

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

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