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