bash.im ithappens.me zadolba.li
713

Есть контакт!

29 марта 2009, 08:00

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

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

Звонит мне приятель и говорит: «Ты же электронщик и админ, может, сами посмотрим?» Захватив осциллограф, отправляюсь в гараж, ищу провод, по которому идет сигнал с датчика оборотов колеса — сигнал слабый и «плавает». Напильником подтачиваю площадку под датчиком, собираю — аллилуйя, все работает!

Каким бы технически оснащенным ты ни был, светлую голову и напильник никто не отменял!

712

Как накрутили, так и держится

Работаю в техподдержке. Звонит пользователь — не включается монитор. «Работал, работал, потом бах — и всё! Я ничего не делала, он сам».

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

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

Какой-то изощренный умник намотал все провода на ножку стула! Минут тридцать я, матерясь, разматывал клубок. Оказалось, что девушка на рабочем месте первый день, а затейники, работавшие тут до этого, не объяснили, что двигать стул не стоит. Естественно, самый короткий из оказавшихся на ножке стула проводов был зверски выдернут из разъёма.

Когда я уже собирался уходить, девушка заметила: «Теперь ясно, почему, когда к я принтеру ехала на стуле, у меня телефон со стола падал».

711

Беспроводной нумпад

Работаю сисадмином. У одной из сотрудниц, скажем так, весьма натянутые отношения с компьютером. Чуть что, кричит: «Алёша, Алёша, у меня то и это не работает», — благо, сидит рядом.

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

710

Охлаждение в стиле хэви-метал

28 марта 2009, 16:45

Компьютер достался мне от сестры: старый, капризный и с тараканами. Машинка, надо признать, работала стабильно, несмотря на все болячки.

Однажды началось страшное — компьютер начал гудеть, визжать и хрипеть. Беглый осмотр показал, что случай тяжелый: требуется прямое хирургическое вмешательство. Я снял и разобрал блок питания. К слову, если не знаете, сколько там болтов и как крепко они сидят, вы сильно удивитесь. Продул, протёр, собрал, вставил монетку между основанием и верхней крышкой (от дребезжания), включил. Гудение и хрип прекратились, визжание осталось. Стало понятно, что причина не в блоке питания и требуется кардиохирургия.

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

После трёх неудачных попыток загрузить ОС я осознал, в чем дело. Термопаста рассохлась и разлетелась в пыль, и контакта между камнем и радиатором фактически нет. Обновленная система охлаждения работает вхолостую. Надо что-то делать — машинка нужна срочно! Денег нет, да и где я найду ночью термопасту?

Кладу на процессор рублевую монетку, закрепляю радиатор, включаю. Эффекта нет: 30–40 секунд работы и бай-бай. Обнаруживаю, что монетка толстовата: одну «ногу» крепления радиатора заклинило, а другая не входит в материнскую плату. Полного контакта опять нет. Заклинившая нога при этом вылезать никак не хочет. Бубен, шило, плоскогубцы — @*%$#! — «нога» разлетается на пять-шесть кусков пластика.

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

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

Банка была торжественно водружена на радиатор. Компьютер включился и работает вот уже третьи сутки подряд — без сбоев.

709

Кто кого обманет

Задача: протестировать оптимизирующий компилятор С++ (gcc, естественно) для встраиваемого PowerPC-процессора.

Тестовый стенд: отладочная плата, на ней проц, основной способ взаимодействия с которым - интерфейс RS-232. Чтобы не заморачиваться с передачей данных по COM-порту, я решил смухлевать — сделал все тестовые данные константными.

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

Уровень оптимизации 0. Код толстый и красивый, все вычисления выполняются самым прямолинейным, тупым и очевидным способом. Предсказуемо...

Уровень оптимизации 1. Код стал компактнее, откровенно тупые действия вырезаны, но некоторая рыхлость всё ещё есть. Не впечатляет.

Уровень оптимизации 2. Объекты пропали. Память больше не задействована, вместо нее работают 32 регистра процессора. Так держать!

Уровень оптимизации 3. Загрузка вычисленного значения в регистр как константы. Всё. Объём кода - 8 байт, или две инструкции (две, потому что загрузка константы на этой архитектуре идёт по полуслову).

Домухлевался. Один-ноль в пользу компилятора!

708

Большому кораблю — большие бэкапы

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

И вот мы поднимаемся на борт и заступаем на дежурство. Через некоторое время я вижу, как ложится основной сервер телеметрии. Выяснив, что система не поддерживает кириллицу, мой коллега решил исправить недостаток, что-то напутал, система продержалась 20 минут и легла.

Коллега, как я уже говорил, был старше и опытнее меня, поэтому я решил, что не вправе делать ему замечания. Зря он так, конечно, ну ничего, ситуация под контролем! Сейчас мой старший товарищ поднимет резервный сервер, восстановит из бэкапа основной, и все будет хорошо. Пока я успокаивал себя, напарник поднял резервный сервер и продолжил свои эксперименты.

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

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

С возрастом, знаете ли, приходит не только опыт, но и маразм.

707

Дело о временной аномалии

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

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

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

Что вообще можно сделать с часами в Windows? Посмотреть на них, узнать время. Навести курсор — узнать дату. Кликнуть два раза. Что будет в появившемся окне? Перевести часы? Не было. Часовой пояс? Не менялся. Год, месяц? Календарь? Календарь!

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

— Смотрите, вот часики. А если их дважды нажать, появляется календарик. Видите? Отлично. Это очень удобно, посмотрели, какой день недели 4 число следующего месяца, и что мы теперь делаем? Какую кнопку нажимаем? ОК, да?

Все кивают.

— В этот момент — смотрите! — вы перевели часы компьютера на месяц вперед, и в этом не виноват ни я, ни компьютер, ни вирусы.

Больше проблем с временными аномалиями в нашей компании не возникает.

706

Вот я и смотрю: слева диск C и справа диск C

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

Одна из сотрудниц, хохотушка-веселушка, на следующий день в крик: «У меня комп не грузится!»

Я к ней, на экране ошибка: «NTLDR is missing or corrupt». Недолго думая, снимаю винт с соседней машины, гружусь с него, открываю старый и наблюдаю в корне диска C папочку «Что это» с потерявшимся загрузчиком винды внутри.

705

Пять шагов на северо-восток от чёрного свитча

Год назад устроился сисадмином в довольно крупную компанию — обслуживаю 23 сервера и около 700 компов, есть помощники.

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

Всех паролей никто из помощников не знал — у них были просто учётки с расширенными правами. Обычно ребята эникеили на объектах, а админ выезжал за пределы головного офиса крайне редко и в основном занимался серверами. Ходили слухи, что у прежнего админа была традиция хранить пароли в труднодоступном месте, но мы так ничего и не нашли. Кое-какие пароли удалось подобрать или сбросить, кое-что — переустановить заново.

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

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

На всякий случай традицию соблюдать не стал.