IT happens. #1-800
Шрифт:
Все кивают.
— В этот момент — смотрите! — вы перевели часы компьютера на месяц вперед, и в этом не виноват ни я, ни компьютер, ни вирусы.
Больше проблем с временными аномалиями в нашей компании не возникает.
#708: Большому кораблю — большие бэкапы
28 марта 2009, 09:00. рейтинг: 1968
Стоял в американском порту большой научный корабль, готовился к приемо-сдаточным испытаниям. Все на корабле было на совесть, с двойным запасом прочности: сервер телеметрии под управлением 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 секунд работы и бай-бай. Обнаруживаю, что монетка толстовата: одну «ногу» крепления радиатора заклинило, а другая не входит в материнскую плату. Полного контакта опять нет. Заклинившая нога при этом вылезать никак не хочет. Бубен, шило, плоскогубцы — @*%$#! — «нога» разлетается на пять-шесть кусков пластика.
Много матерюсь. Много думаю. Убираю злосчастный рубль с проца и обнаруживаю, что он горячий, да и часть основания кулера тоже прогрелась. Выходит, система работает, достаточно плотно и прочно закрепить радиатор.
Русские не сдаются! Я положил системник на пол и выдернул все оставшиеся крепления. На процессор поставил радиатор, запитал кулер. Осталось придавить сверху чем-нибудь тяжелым, но не слишком большим. Инструмент нашелся быстро — доставшаяся от отца консервная банка, наполненная какими-то болтами, транзисторами и другими деталями таинственного назначения.
Банка была торжественно водружена на радиатор. Компьютер включился и работает вот уже третьи сутки подряд — без сбоев.
#711: Беспроводной нумпад
28 марта 2009, 16:45. рейтинг: 3534
Работаю сисадмином. У одной из сотрудниц, скажем так, весьма натянутые отношения с компьютером. Чуть что, кричит: «Алёша, Алёша, у меня то и это не работает», — благо, сидит рядом.
В очередной раз зовёт она меня — не печатаются цифры в Экселе! Подхожу, многозначительно смотрю на сотрудницу и отбираю у неё калькулятор, который лежал справа от клавиатуры.