718

Хорошо, что не Автокад

Работал я в прошлом году в одной фирме по продаже компьютеров, комплектующих и Висты. Естественно, на некоторых компах был и Линукс, на одном — ХР, но большей частью именно Она.

Приходит к нам мамаша с сыном. Я понял, что мальчику мощный компьютер особо и не нужен, и меня передёрнуло, когда мать заявила: «Что угодно в пределах 45 тысяч».

Сынок протянул мне бумажку с каракулями. 4 гига оперативки, хард на полтерабайта, трёхгигагерцовый процессор и видеокарта с 512 МБ памяти. Куда такой монстр, да ещё и с ХР?!

— Мальчик, зачем тебе ХР? Это же такое старьё, — начал было я.

Мальчик честно посмотрел на меня добрыми глазами и отрезал:

— Под Вистой Макс не тянет.

Я подавился. Парню лет тринадцать. Если это тот Макс, про который я думаю, то что будет дальше?

Компьютер подобрали достаточно быстро. Меня толкает под рёбра товарищ Сеня и подмигивает. Да, у него в запасниках есть ещё пара дисков с ХР, но просто так он их не отдаст.

— Давай так, мой юный друг. Если докажешь, что тебе действительно нужна ХР, то поставлю бесплатно. Окей? — спрашивает его Сеня, тот кивает. — Пойдём-ка.

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

Когда закончился рендер, Сеня вздохнул и молча приволок диск с ХР.

— Откуда умеешь так? — удивился я.

— Моды для игрушек с друзьями делаем, — парень пожал плечами.

717

Третья улица Строителей, дом 25, квартира 12

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

IP-адреса — динамические. Подключение по сети на последний известный адрес прошло успешно, модем отозвался на стандартные «admin/admin».

Настроил всё как надо, сменил пароль. Только пользователь устранение проблемы не подтвердил — это был не его модем.

716

IT-шалуны

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

Сначала мы стали хихикать над надписями вроде «перезагрузка на %названиемашины% — 15 минут». Сегодняшнее сообщение повеселило куда сильнее:

«Авария или работы на сервере. Причины, последствия: мы балуемся!»

714

Круглое, но не бубен

Прежде чем поступать, учился я при нашем ВУЗе на компьютерных курсах. Изучали мы сначала С, затем C++. А учителем у нас был молодой парень-аспирант. Классический компьютерщик (он там ещё админом подрабатывал по совместительству) — худощавый такой, среднего роста, длинноволосый, обычно слегка небритый. Дело своё он знал крепко и, естественно, ошибки в нашем детском коде находил легко — даже там, где самые толковые ребята застревали надолго.

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

— Знаете почему она не работает? Потому что плеер должен лежать не так, а вот так! — поворачивает лежащий перед клавиатурой CD-MP3 плеер на 90 градусов по часовой стрелке, нажимает F9, и всё собирается без ошибок.

Хороший специалист, ребята, и в плеер постучит так, что все заработает.

713

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

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

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

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

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

712

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

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

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

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

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

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

711

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

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

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

710

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

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

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

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

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

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

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

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

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

709

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

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

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

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

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

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

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

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

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

708

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

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

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

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

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

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

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