#706: Вот я и смотрю: слева диск C и справа диск C
27 марта 2009, 09:00. рейтинг: 1315
Совмещал я на своей прежней работе все возможные IT-должности от сисадмина до программера. В какой-то счастливый день мне пришла идея провести профилактику компьютерного парка. Я составил график работ и оповестил сотрудников, попросив почистить машины и оставить только нужное.
Одна из сотрудниц, хохотушка-веселушка, на следующий день в крик: «У меня комп не грузится!»
Я к ней, на экране ошибка: «NTLDR is missing or corrupt». Недолго думая, снимаю винт с соседней машины, гружусь с него, открываю старый и наблюдаю в корне диска C папочку «Что это» с потерявшимся загрузчиком винды внутри.
#707: Дело о временной аномалии
27 марта 2009, 12:45. рейтинг: 1963
Вызывает шеф: в одном из магазинов фирмы что-то странное, продажи приходят из будущего. Пришел, вижу — дата сбилась на две недели. Исправил время, исправил даты текущих продаж, сменил батарейку, уехал.
Проходит ровно две недели — снова здорово: шеф жалуется на продажи из буду щего, я рассказываю ему про часы и батарейку, объясняю, что кто-то баловался с часами. Шеф устраивает персоналу торговой точки разнос по телефону и объясняет, как переставить время обратно. Персонал, по словам шефа, недоумевает и не пони мает своей вины — продавщицы клянутся, что часов не переводили!
Проходит неделя, и история повторяется, только теперь время ушло на месяц назад. Злой как собака, отправляюсь в магазин, выставляю часы, правлю даты текущих продаж, проверяю батарейку, запускаю антивирус и пытаюсь представить себя на месте пользователя.
Что вообще можно сделать с часами в Windows? Посмотреть на них, узнать время. Навести курсор — узнать дату. Кликнуть два раза. Что будет в появившемся окне? Перевести часы? Не было. Часовой пояс? Не менялся. Год, месяц? Календарь? Календарь!
Зову девушек, спрашиваю, кто последний работал на кассе. Марина. Зову Марину, подзываю всех остальных поближе, ласково, но строго гляжу в глаза, расс казываю:
— Смотрите, вот часики. А если их дважды нажать, появляется календарик. Видите? Отлично. Это очень удобно, посмотрели, какой день недели 4 число следу ющего месяца, и что мы теперь делаем? Какую кнопку нажимаем? ОК, да?
Все кивают.
— В этот момент — смотрите! — вы перевели часы компьютера на месяц вперед, и в этом не виноват ни я, ни компьютер, ни вирусы.
Больше проблем с временными аномалиями в нашей компании не возникает.
#708: Большому кораблю — большие бэкапы
28 марта 2009, 09:00. рейтинг: 1968
Стоял в американском порту большой научный корабль, готовился к приемо- сдаточным испытаниям. Все на корабле было на совесть, с двойным запасом проч ности: сервер телеметрии под управлением HPUX, еще один такой же в горячем резерве, плюс ленточка с полным бэкапом на всякий пожарный. Для пущей сохран ности оборудования на борту постоянно дежурили два админа из русской команды – смена три недели, потом на берег. Дошла очередь дежурить и до меня. Узнав, что за сервера будет отвечать мой старший и более опытный напарник, я тихо порадо вался — опыт работы с HPUX у меня был небольшой.
И вот мы поднимаемся на борт и заступаем на дежурство. Через некоторое время я вижу, как ложится основной сервер телеметрии. Выяснив, что система не поддер живает кириллицу, мой коллега решил исправить недостаток, что-то напутал, система продержалась 20 минут и легла.
Коллега, как я уже говорил, был старше и опытнее меня, поэтому я решил, что не вправе делать ему замечания. Зря он так, конечно, ну ничего, ситуация под контролем! Сейчас мой старший товарищ поднимет резервный сервер, восстановит из бэкапа основной, и все будет хорошо. Пока я успокаивал себя, напарник поднял резервный сервер и продолжил свои эксперименты.
Главное, что дает нам жизненный опыт – это умение предвидеть последсвия соб ственных ошибок. В ходе второй части эксперимента коллегу что-то насторожило, и он решил забэкапить уже надломленную систему (лучше поздно, чем никогда). К сожалению, для бэкапа он выбрал ту самую резервную ленточку.
Зачем нужна поддержка кириллицы на сервере телеметрии, работающем только и исключительно с потоками двоичных данных, напарник мне так и не объяснил. Сер вера мы всё-таки починили, но для этого нам потребовалось несколько часов перего воров с Москвой по спутниковой связи (от пяти долларов за минуту и выше). Веру в безоговорочный авторитет старших коллег я потерял навсегда.
С возрастом, знаете ли, приходит не только опыт, но и маразм.
#709: Кто кого обманет
28 марта 2009, 09:00. рейтинг: 1629
Задача: протестировать оптимизирующий компилятор С++ (gcc, естественно) для встраиваемого PowerPC-процессора.
Тестовый стенд: отладочная плата, на ней проц, основной способ взаимодейс твия с которым – интерфейс RS-232. Чтобы не заморачиваться с передачей данных по COM-порту, я решил смухлевать — сделал все тестовые данные константными.
Скомпилировал программу с несколькими уровнями оптимизации, открыл ассемб лерный исходник в отладчике и стал сравнивать результаты оптимизации. Вот что получилось.
Уровень оптимизации 0. Код толстый и красивый, все вычисления выполняются самым прямолинейным, тупым и очевидным способом. Предсказуемо...
Уровень оптимизации 1. Код стал компактнее, откровенно тупые действия выре заны, но некоторая рыхлость всё ещё есть. Не впечатляет.
Уровень оптимизации 2. Объекты пропали. Память больше не задействована, вместо нее работают 32 регистра процессора. Так держать!
Уровень оптимизации 3. Загрузка вычисленного значения в регистр как константы. Всё. Объём кода – 8 байт, или две инструкции (две, потому что загрузка константы на этой архитектуре идёт по полуслову).
Домухлевался. Один-ноль в пользу компилятора!
#710: Охлаждение в стиле хэви-метал
28 марта 2009, 16:45. рейтинг: 1735
Компьютер достался мне от сестры: старый, капризный и с тараканами. Машинка, надо признать, работала стабильно, несмотря на все болячки.
Однажды началось страшное — компьютер начал гудеть, визжать и хрипеть. Беглый осмотр показал, что случай тяжелый: требуется прямое хирургическое вмеша тельство. Я снял и разобрал блок питания. К слову, если не знаете, сколько там болтов и как крепко они сидят, вы сильно удивитесь. Продул, протёр, собрал, вставил монетку между основанием и верхней крышкой (от дребезжания), включил. Гудение и хрип прекратились, визжание осталось. Стало понятно, что причина не в блоке питания и требуется кардиохирургия.
Снимаю радиатор, отсоединяю кулер, оба продуваю феном, а затем ртом — на всякий случай. Через две минуты комната покрыта пылью. Смазываю подсолнечным маслом — готово!
После трёх неудачных попыток загрузить ОС я осознал, в чем дело. Термопаста рассохлась и разлетелась в пыль, и контакта между камнем и радиатором фактически нет. Обновленная система охлаждения работает вхолостую. Надо что-то делать — машинка нужна срочно! Денег нет, да и где я найду ночью термопасту?
Кладу на процессор рублевую монетку, закрепляю радиатор, включаю. Эффекта нет: 30–40 секунд работы и бай-бай. Обнаруживаю, что монетка толстовата: одну «ногу» крепления радиатора заклинило, а другая не входит в материнскую плату. Полного контакта опять нет. Заклинившая нога при этом вылезать никак не хочет. Бубен, шило, плоскогубцы — @*%$#! — «нога» разлетается на пять-шесть кусков пластика.