Читаем Клиент и саппорт. Разработчик и заказчик. Программист и программа. Вести с фронтов. полностью

Приехал. Включаю. Наметанный взгляд замечает кратковременное включение всех трех индикаторов на клавиатуре. Система не грузится, монитор пустой. Краткое нажатие на Power выключает компьютер. Подключаю монитор с соседнего места - работает! Но система почему-то грузится из сети, а не с винта. Порядок загрузки верный.

Разгадка оказалась проста - объем HDD определился как 0 МБ. Какова вероятность того, что во всем отделении, где около 30 рабочих мест, в одно и то же время умрут винт (SATA, более-менее устойчивый к слабым скачкам напряжения) и монитор, оба стоящие на одном рабочем месте?…

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

#1381: Потоковый эксплойт

12:00 28.10.2009, IT happens

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

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

cin» SumString;

cout «"Сумма строк: " «SumString;

На экране же это выглядело так:

» Это полов «Enter»

» ина строки «Enter»

» Сумма строк: Это половина строки

» Press any key to continue…

Пока препод в ведомости не расписался, нажимать на Any Key я не давал.

#1382: Опилки пяти микрофарад

14:00 28.10.2009, IT happens

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

В легком офигении спрашиваю:

- Пап, ты что вообще делаешь?

- Там конденсатор я один впаял, у него характеристики близкие, но мне надо меньше - я его объем уменьшаю, пока не получится то, что надо.

И что вы думаете? Получил он нужную характеристику с заданной точностью, маминым маникюрным лаком капнул на место спила - все заработало. Представляю, сколько возни было бы в западной лаборатории - я с ними работал, насмотрелся.

Горжусь отцом! Старая гвардия не сдается.

#1383: Счастливой отладки!

12:00 29.10.2009, IT happens

Однажды мне довелось «подхватывать» проект на C++, оставшийся от одного программиста, уволенного несправедливо (по его личному мнению). Впрочем, проект был почти завершен, и мне оставалось лишь немного дописать интерфейс, провести тестирование, отладку и сдать все заказчику.

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

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

Дома первым делом в надежде на чудо запускаю экзешник - вылетает, сволочь. Ладно, запускаю полную компиляцию и иду чистить картошку. Возвращаюсь - ошибка!

В конце одного из основных хэдеров проекта, заботливо спрятанная за правый край экрана нужным количеством табуляторов, красуется неприметная строка:

#include «cfdc.h»

Гугление результата не дает; просто комментирую эту строку и компилирую заново - успешно! Запускаю - программа работает как часы.

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

#ifndef CFDC_H

#define CFDC_H

#include «cstdlib»

#include «exceptio.h»

#define return if (std::random(1000) «2) throw std::exception(); else return

//Счастливой отладки!

#endif

Надо ли говорить, что наш проект использовал в одном незначительном месте стандартный генератор случайных чисел, а вызываемый при инициализации std::randomize() успешно заметал любые следы?…

#1384: Укротитель сверхзвуковых грызунов

12:00 29.10.2009, IT happens

Перейти на страницу:

Похожие книги

Анекдоты для Никулина
Анекдоты для Никулина

Много лет назад я попросил Юрия Владимировича Никулина прочитать мою повесть о зооцирке. Его отзыв был напечатан в первом издании этой повести. А мы подружились; как-то завелось, что приезжая к нему в гости, я всегда привозил подборку свежих анекдотов в его коллекцию.Так что, в некоторой степени Юрий Владимирович дал мне одобрение на пути к писательской деятельности.Всякий раз, приезжая в Москву, я привозил Никулину свежие анекдоты и тосты. Очень хотелось поймать его на незнании некоторых из них. Но большая часть уже была в его коллекции.Привез я несколько сот анекдотов и в ту печальную осень. Эти анекдоты ему уже не понадобились…И решил я издать эту коллекцию невостребованных тостов и анекдотов, как память о великом человеке. Не сейчас, когда-нибудь потом, когда время немного сгладит горечь от потери!Думаю, что если бы Юрий Владимирович был жив, он одобрил бы это издание.В. Круковер,писательсентябрь 1997 года

Владимир Исаевич Круковер

Юмор / Юмор
Мастер Гравитации
Мастер Гравитации

Вы знаете, каково это быть человеком с уникальным даром? Нет? Очень сложно…Ведь в прошлом мире меня звали Атилла Гравдас, и это имя было у всех на слуху.А как не знать человека, который может, не напрягаясь, целую армию превратить в мясной клубок или планету в пыльный шарик.Я был чертовски силен и очень не любил тех, кто влезал в мои дела. Славные были деньки, но это все в прошлом, ведь одно из сражений стало последним для меня. Правда, я оказался слишком упрямым, чтобы вот так легко сдаться, и переродился в новом мире, в котором мне нужно прожить всего лишь каких-то сто лет и вернуть свою силу.И тогда я смогу… А фиг его знает, что смогу, но, как минимум, доказать себе, что Атиллу даже смерть не может победить. Ведь он Величайший Маг Гравитации во всей Многомерной Вселенной! Правда, всего лишь единственный здесь, но это уже мелочи…

Дмитрий Ангор , Олег Сапфир

Самиздат, сетевая литература / Фэнтези / Юмор