Клиент и саппорт. Разработчик и заказчик. Программист и программа. Вести с фронтов.
Шрифт:
– Что это с вами?
– спрашивает препод.
– Связный взвешенный граф! Мы вершины, он - ребро, а это (взмах руками) - петли!
– Ага, я ребро весом 55, - соглашается одногруппник. Препод смеется.
– А недавно мы были массивом и хотели покьюсортиться, но тренер нам не разрешил, - заявляет одна из вершин.
#1379: Гравитационное списание матценностей
14:00 27.10.2009, IT happens
Помнится, когда я только начал работать, был молод, глуп и неопытен, довелось
Был в коллективе Сергей - парень колоритный, вечно растрепанный «после вчерашнего», принципиально не соблюдающий трудовой дисциплины, но спец, как говорится, от бога. Начальство Серегу терпело, но периодически все же читало мораль.
Как- то решили все же разгрести мертвый хлам, отправив все ненужное в утиль. Лето, жара, мозг плавится. Бьющееся и тяжелое мы снесли вниз, а пластиковые корпуса от матричных принтеров притащили в основную комнату, свалили на Серегин стол, а затем стали на меткость кидать их в электрокар прямо из окна.
Остался последний остов от принтера, и мы стали кидать жребий, кому достанется утилизационное право.
В кабинет вошел замначальника отдела и начал свое привычное: «Сергей, ну сколько раз тебе говорить…» Серега, помятый после ночных возлияний, с красными от недостатка сна глазами, вскочил, схватил корпус и с криком «Как меня тут все достало!» вышвырнул его в окно.
Лицо руководителя описать не представлялось возможным. Брякнув «я позже зайду», он спешно ускакал из кабинета.
#1380: Я не нарочно, просто совпало
12:00 28.10.2009, IT happens
Работаю в хелпдеске крупного банка. На нас свалилась заявка, как позже выяснилось, вполне достойная какой-нибудь айтишной версии Хауса: «Ночью выключили компьютер, сейчас не включается». Звоню. Выглядит все так:
Пользователь нажимает кнопку включения.
Загорается индикатор питания на системнике.
Загорается зеленая лампочка на мониторе (вроде пошел сигнал), но изображения нет.
Индикатор HDD не мигает - ОС явно не грузится. Писка нет.
Какие могут быть диагнозы? Первое, что пришло в голову - сбой монитора, но тогда система продолжала бы грузиться. Еще вариант - поломался интегрированный видеочип. Но не пищит же! Память, БП - вряд ли, опять же был бы писк. Пищалка поломаться не могла. На этом идеи закончились - надо ехать.
Приехал. Включаю. Наметанный взгляд замечает кратковременное включение всех трех индикаторов на клавиатуре. Система не грузится, монитор пустой. Краткое нажатие на 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, но отследить, откуда оно бралось, у меня никак не получалось: казалось, что таинственная ошибка присутствует буквально всюду, при этом появляясь далеко не при каждом запуске.