Клиент и саппорт. Разработчик и заказчик. Программист и программа. Вести с фронтов.
Шрифт:
Вечер пятницы. В понедельник начальство обещало спустить с меня шкуру, если что-то еще не будет работать. Скидываю все исходники себе на флешку, хоть это и запрещено (к счастью, лишь на уровне инструкций), и несу домой в надежде разобраться, что к чему, за чашечкой кофе.
Дома первым делом в надежде на чудо запускаю экзешник - вылетает, сволочь. Ладно, запускаю полную компиляцию и иду чистить картошку. Возвращаюсь - ошибка!
В конце одного из основных хэдеров проекта, заботливо спрятанная за правый край экрана нужным количеством табуляторов, красуется неприметная строка:
#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
Стоят у меня в фирме тонкие клиенты - грузятся с сетевухи, получая параметры загрузки из конфигурационного файла на сервере. У каждой сетевухи есть собственный конфиг, в котором помимо имени пользователя, IP-адреса и прочей лабудени есть параметр mouse_acceleration, управляющий скоростью движения курсора. Параметр этот по умолчанию равен 1. Чем больше число, тем быстрее двигается маус - при значении 5 мышка при минимальном движении прыгает из одного угла экрана в другой по диагонали.
Был один надоедливый манагер, который всю душу мне выел, пока я настроил все параметры под него. Два дня меня он мучил. Все настроил - вроде как успокоился. Звонит он опять на следующий день и говорит: «Иван, мышка медленно ездит, можно побыстрее?» Я в сердцах выставляю ему запредельное на мой взгляд ускорение - 22. Думал, он поглядит, как мышка шустро от него убегает, и попросит «вернуть все, как было». Но он не попросил, а я потом и забыл об этом.
Манагер тот все-таки уволился; посадили на его место другого. Тот мне сразу звонит: «Мышка - не алле. Почините». Прихожу чинить - глазок светится; пробую покатать грызуна - курсор мечется по экрану так, что его едва видно. Вспомнил я про злосчастную шутку над предыдущим менеджером и вернул параметр к нормальному виду.
Вернувшись на свое рабочее место, я три дня пробовал научиться пользоваться «сверхзвуковой» мышкой и смог добиться точности лишь в половину экрана. А ведь человек так полгода смог проработать! Мне кажется, он без проблем смог бы уничтожить Звезду Смерти, попав в выхлопное отверстие реактора диаметром 2 метра.
#1385: Померяемся FPS?
12:00 29.10.2009, IT happens
В процессе борьбы с шумом домашнего компьютера я решил сменить видеокарту, поставив модель с пассивным охлаждением. У друга-админа такая оказалась, и он согласился поменять ее на мою с доплатой.
Встретились сразу после работы. Друг зашел и с порога разрушил мои планы на вечер: «Давай прогоним 3DMark,
Это фраза оказалась роковой. Только ближе к полуночи удалось восстановить работоспособность компьютера, поставив с приключениями заново систему и выбросив сгоревший винт. Видимо, в корпусе устоялась хрупкая экосистема, и исключение из нее вентилятора видеокарты привело к перегреву чипсета, который стал «терять» винты, довел самый слабый из них до смерти и испортил до стадии невосстановления систему на другом. Получилось, может, и интересно, но грустно. Да и тише дома не особо стало…
#1386: Попал в участок - собрал жизнь
12:00 30.10.2009, IT happens
Приятель мой обладает довольно мощной машинкой, которую я собирал и апгрейдил в течение трех лет. Недавно его тачка наконец обзавелась четырехядерной бомбой и GTX 285 - игрухи любые хавает не глядя. Внезапно приятель просит у меня Half-Life 2. Я в недоумении: обычно он любил или футбол по сети, или что-то вроде Dead Space. Говорю, мол, опомнись - игра старенькая, сюжет линейный. Приятель был неумолим: «Ставим „Халфу“, и точка!»
Нахожу игру у другого товарища и планирую закинуть его вечером. Хрен там! На работе день рождения самой главной сотрудницы. И вот, я, порядочно подшофе, поздним вечером иду к приятелю. По дороге меня останавливают доблестные люди в серой форме: «Молодой человек, проедемте с нами!» Я, хотя и старше их раза в два, соглашаюсь, ибо сопротивление смерти подобно.
Приезжаем, а в участке целая очередь очередь. Меня просят подождать на скамейке, но рюкзачок изымают. Через некоторое время выходит старлей-участковый и спрашивает, что я здесь делаю. Я честно отвечаю, и он просит дежурного по вытрезвителю, чтобы меня отпустили.
Визит в отделение аукнулся мне неслабо - пришлось помогать милиционерам сдавать высшую математику, физику, и химию в политехе, где они учились, хоть и не бесплатно. Зато диск, который они у меня сперли, вернулся мне в расширенном варианте - первый и второй Half-Life!
#1387: Саунд-протезирование
12:00 30.10.2009, IT happens
Всему всегда приходит конец. Вот сдох и мой комп - завис посреди рабочего процесса. Ресет привел только к черному экрану и горящей лампочке питания. Выключил, разобрал - начинает загружаться, после ввода пароля виснет снова.
Выяснилось, что при включении холодного компьютера он работает секунд 20 и виснет. Значит, что то перегревается. Потрогал все радиаторы - все в пределах нормы. Методом исключения определил, что дело в материнке. Вычистил все от пыли, заменил пасту на процессоре, добавил ее под те радиаторы где ее никогда и не было - безрезультатно.
Настроение испортилось, я начал морально готовить себя к походу в магазин за новой и с горя принял стакан коньяка. Тут меня понесло - терять ведь уже нечего! Мысль начала работать: раз что-то перегревается, значит, должно быть что-то горячее. Я начал ощупывать все подряд, вплоть до разъемов. Когда дотронулся до маленькой микросхемки, чуть не упал со стула - наверное, если выключить свет, то было бы видно красное свечение.