10938

Железная коробка и плоский телевизор

Работаю в техподдержке по телефону. Настраиваю принтер. Всё идёт гладко… почти.

— А теперь закройте окно.

— Оно закрыто.

— Теперь откройте.

— Э-э-э… Холодно же!

* * *

Коллега рядом:

— Выключите компьютер. Жмите, не отпуская, на кнопку включения так долго, пока монитор не станет чёрным… Так быстро? Хм-м. А теперь включите компьютер. Нажмите на кнопку включения и ждите, пока компьютер загрузится. Как, уже загрузился? Что вы видите на мониторе?

На лице коллеги — изумление.

— Нет-нет, надо жать кнопку включения не на мониторе, а на компьютере.

Глаза коллеги округляются, лицо искажает гримаса.

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

Коллега смотрит с тоской в окно.

* * *

— Вызовите окно входа с помощью Alt, Control и Delete.

— А ничего не появляется.

— Вы нажали одновременно три кнопки, и окно не появилось?

— А-а-а, кнопки! А я думала, надо написать «альт, контрол и делит»… Хи-хи! Да, вот оно, окно, теперь вызвалось. А что теперь делать?

(Облегчённо.) Введите ваш логин и пароль в соответствующие поля.

— Не получается.

— Какую ошибку выдаёт компьютер?

— Говорит: «Не войдёшь».

(Обречённо.) Такой ошибки быть не может, давайте ещё раз. Alt, Control и Delete. Введите ваш логин и пароль в соответствующие поля…

Очень долгое клацанье клавиатуры.

— (Настораживаясь.): У вас такой длинный пароль? Вы его так долго вводите…

— Да нет, пароль у меня короткий.

— Что вы вводите в поле «Пароль»?

— Как что? Вы же сами сказали: «альт, контрол и делит».

И опять коллега смотрит с тоской в окно.

10937

Священная война сестёр

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

Не так давно я вернулся и уже с месяц живу как на пороховой бочке: старшая дочка — системный администратор UNIX-систем, младшая — наоборот, админит «форточки». Оба ребёнка эникеят вовсю и дома появляются довольно поздно. И каждый раз я наблюдаю вялое такое, бессильное переругивание на вечную тему холивара Linux vs Windows.

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

10936

Поколение Циско

Как же тяжело стало заказывать сайты…

Если юзер не хочет сайт на Вордпрессе — юзер дебил.

Если юзер не хочет готовый шаблон дизайна — юзер дебил.

Если юзер не хочет платить за сайт на Вордпрессе и готовый шаблон дизайна 500+ баксов, юзер — жмот и враг народа.

А самое смешное, что это не жадность. Это поколение Циско адекватно оценивает свой квалифицированный наукоёмкий труд.

10935

После конца света

Началось всё, как обычно, нежданно-негаданно; как говорят в этих ваших интернетах, внезапно. Представляется интересным заметить, что индейцы из племени майя ещё сотни лет назад разработали календарь, достаточно точно предсказавший эти события. Они ошиблись в малом: не учли действия Папы Григория XIII, который ввёл в католических странах свой собственный календарь. За прошедшие с 1582 года столетия набежало несколько дней разницы, и предсказанное майя событие грянуло не в тот день, в который его ожидали толпы безумного народонаселения, а в тихую и спокойную пятницу 4 января 2013 года, она же 22 декабря 2012 года по старому стилю.

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

Примерно в одиннадцать утра его сотовый телефон издал хрюк антивируса Касперского, наткнувшегося на вирус «Бластер». Сисадмин накапал корвалола жене, сменил штанишки детям и прочитал полученную эсемеску. Сообщение гласило (цитирую дословно): «Брат Митька помирает… Ухи просит…» Сисадмин опустил голову на грудь и глубоко задумался. Эта шифровка из головного офиса означала, что Самый Главный и Наиболее Центральный Сервер крупной международной компании прямо в данную секунду потребляет последние ватты электроэнергии и вот-вот сдохнет в жутких мучениях от голода. Делать нечего — сисадмин скорбно попрощался с женой и детьми, собрал котомку с бутербродами и отправился в рабочий кабинет, чтобы проверить, почему даже теоретически неубиваемый сервер жалуется на голод.

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

Виртуоз клавиатуры и отвёртки почувствовал, что медленно сходит с ума. Сервера подключены к источнику бесперебойного питания, который поддерживается генератором. Кроме того, генератор защищён источником бесперебойного питания всего здания, и у здания есть собственный генератор. Это четырёхуровневая система защиты, которая не должна упасть ни при каких обстоятельствах, разве что если начался конец света. На сервере крутятся программы, на которые завязаны многие миллионы долларов США, причём не клиентов, нет, а самой фирмы, поэтому их жалко. Интересно, является ли конец света форс-мажорным обстоятельством?

Сисадмин немного поразмышлял о превратностях судьбы и о законе Мёрфи. Нет чтобы конец света начался с серверной банка, где хранятся данные о невыплаченной ипотеке; ему обязательно вздумалось начинаться именно с серверной этой компании, за бесперебойную работу которой оный сисадмин отвечает — не головой, а куда более важными частями тела. Сисадмин решил подойти к окну, чтобы бросить последний взгляд на мир, который он так любил. Кроме того, у окна было единственное место в офисе, где ловил сеть телефон, и сисадмин решил позвонить жене, чтобы попрощаться, передать последнее «прости» детям и сказать жене, что котлеты вчера были пересолены, — сейчас-то он уже ничем не рисковал.

Он сделал пару шагов наружу из тесной тёмной комнатки и расквасил себе нос о стену, потому что под правую ногу подвернулся здоровенный талмуд страниц в восемьсот. Заинтересовавшись, наш герой поднял книгу, открытую на сто сорок второй странице, и подставил её под свет. На огромном листе бумаги была отпечатана красным цветом только одна фраза: «Перед тем как приступать, убедитесь, что электричество отключено». Сисадмин закрыл книгу. На обложке красовалось страшное название ритуала, с помощью которой можно устроить конец света в отдельно взятой серверной: «Практическое руководство по ремонту и профилактическому обслуживанию промышленных кондиционеров».

Перед внутренним взором сисадмина развернулись картины из недавнего прошлого. Воспользовавшись тем, что в пятницу в офисе никого нет, обслуживающая служба здания вызвала ремонтника для профилактики кондиционера. Тот, действуя строго по инструкции, отключил питание. Включился бесперебойник. Ремонтник отключил бесперебойник. Взревел генератор. Ремонтник заглушил генератор. Включился бесперебойник всего здания. Ремонтник отрубил и его, и запустившийся следом генератор. В этот момент Самый Главный и Наиболее Центральный Сервер отправил злополучную эсемеску, вызвав сисадмина в юдоль скорби.

Картины недавнего прошлого сменились картинами ближайшего будущего. По экспрессивности они дали бы по сто очков вперёд Иерониму Босху и Гигеру, а по кровавости превосходили тексты Napalm Death и Cannibal Corpse. Главным героем в них был незадачливый ремонтник, прекращающий своё существование очень многими, очень яркими и не всегда быстрыми способами. Сисадмин захлопнул талмуд и убежал искать ремонтника. Затемнение.

Следующая сцена. То же здание, этажом ниже, примерно то же время. Лицо неопределённой национальности в спецовке неопределённого цвета, зажав в зубах сигарету неопределённой марки, нацелило в стену перфоратор неопределённого производителя. Следует отмашка рукой, ответственный за техническое состояние здания перебрасывает рубильник, потолочные лампы оживают; сисадмин, ослеплённый внезапно вспыхнувшим освещением, кубарем катится по лестнице. Перфоратор с рёвом вгрызается в стену, сверло легко проходит первые несколько сантиметров и высекает ослепительные бело-голубые искры. Электричество отключается; сверло, накрепко засевшее в перебитом кабеле, замирает. Лицо неопределённой сексуальной ориентации, почесав в затылке, сдвигает сверло в дыре так, чтобы оно касалось только одного провода. Свет включается снова. Лицо вывинчивает сверло из перфоратора, оставляя его торчать из стены и замыкать цепь, забрасывает перфоратор в сумку, и они вместе с ответственным уходят из кадра.

Под слепящим светом потолочного освещения с другой стороны в кадр входит сисадмин. Его одежда выглядит слегка помятой после падения на лестнице, капли крови из разбитого носа и прилипшие окурки придают ей определённый шарм. Его внимание привлекает одиноко торчащее из развороченной стены сверло. Сисадмин, воспылав праведным желанием навести, наконец, в этом аду хоть какое-то подобие порядка, хватается за сверло, чтобы его вытянуть. Бело-голубые искры под меркнущим светом ламп. В темноте раздаётся фраза сисадмина, переводящая этот сценарий сразу в категорию «только для взрослых».

Сцена последняя. То же здание, получасом позже. Вскрытая серверная компании, заполненная гулом вентиляторов; сервера задорно перемигиваются друг с другом светодиодами. Сисадмин с блаженным видом поглаживает Самый Главный Сервер, вновь занявшийся тасованием миллионов долларов, дует на костяшки кулаков и обожжённые сверлом пальцы. Ответственный за техническое состояние здания стоит в дверях, прижимая к разбитой физиомордии холодный компресс. Лицо неопределённой сексуальной ориентации, слегка помятое и покрывшееся синяками, примеривается болгаркой к навесному гипсовому потолку, чтобы выпилить отверстие для ещё одного выхода кондиционера. Щелчок выключателя. Ничего не происходит. Лицо осматривает болгарку и замечает валяющийся на полу хвост питания. Лицо берет вилку в руку, оглядывается вокруг, выдёргивает какую-то другую вилку из розетки и вставляет в неё вилку болгарки. Раздаётся мощный хрюк, словно от Касперского при виде «Бластера». Лицо сисадмина вытягивается, пока вентиляторы Самого Главного Сервера затихают…

Ремарка в сторону: в результате описанных событий ни один человек в неопределённого цвета спецовке не пострадал. А тот, кто пострадал, — да разве ж это человек?..

10934

Мозгом и прямой рукой

Те, кто на полном серьёзе считает, что нужно таскать с собой 20-килограммовый рюкзак с оборудованием эникейщика на все случаи жизни, безусловно, правы. Только при таком подходе вам, пожалуй, для выхода в ближайшую булочную, которая в 50 метрах от вашего дома, стоит надевать водолазный костюм. А то вдруг вы вышли за хлебушком — а тут потоп! Ещё вам обязательно нужен пистолет (не травматический, а настоящий, боевой), непромокаемый вещмешок с питанием, сменой белья и всякими полезными мелочами на месяц жизни — а то мало ли что, ведь поход в булочную — это квест с такими непредсказуемыми вариантами…

У классного эникейщика (да и не только) главное оружие — это голова и руки, а вовсе не флешки, диски и ещё чёрт знает что из того набора в 100-литровом рюкзаке, под которым вы сгибаетесь, бегая от клиента к клиенту. Основная задача такого специалиста — быстро определить причину проблем у клиента. Именно для этого ему необходимо и достаточно головы, рук, отвёртки и упомянутой ранее пары флешек. После того как проблема определена, она предъявляется клиенту, и дальше уже происходит совместное принятие решения на основе характера выявленной проблемы и пожеланий клиента.

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

Если же клиент требует решения «здесь и сейчас» или же по каким-то причинам не желает отдавать свой драгоценный компьютер для ремонта в сервисный центр, стоит действовать по обстоятельствам. Можно определить перечень необходимого оборудования, позвонить коллегам и попросить их подбросить (взаимовыручка — это тоже наше всё). Можно попытаться обойтись тем минимумом, который захвачен с собой в пятикилограммовой сумочке. Наконец — сейчас я скажу страшное! — всегда можно отказаться от выполнения работы, грамотно объяснив свой отказ клиенту. Иногда можно даже деньги за вызов не брать! Да, вы потратили два часа своего драгоценного времени, летели на метро и маршрутках через весь город с 20-килограммовым рюкзаком на плечах — и в итоге откажетесь даже от минимальных денег? «Как же так?» — спросите вы. «А вот так!» — отвечу я вам. Можно и отказаться, приехать в офис и занести клиента в чёрный список как неуравновешенного фантазёра (это я мягко так). В конце концов, вспомните историю про надпись зелёнкой «Бабка врёт!», и вам многое станет понятно.

Безусловно, труд эникейщика важен и нужен. Безусловно, иногда (хотя и не всегда) решение вопроса требует максимальной скорости и максимально возможного инструмента, принесённого с собой. Но ведь в абсолютном большинстве случаев вы сначала принимаете заявку по телефону, беседуете с заказчиком, выясняете характер проблемы, сужаете и уточняете список возможностей и, как следствие, вариантов её решения. И вот уже 20-килограммовый рюкзак лёгким движением руки превращается в пятикилограммовую сумочку.

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

10933

Доктор Рошаль рекомендует

Уже полгода по дороге на работу проезжаю мимо баннера «Лечение геморроя по методу HAL RAR». Каждый раз минут на пять задумываюсь, как Hardware Abstraction Layer и Roshal Archive помогают исцелить страдающих от деликатной проблемы.

10932

Смерть неверным пакетам

Приезжаю я как-то домой на выходные и радуюсь нормальному интернету (у самого в Екатеринбурге только 3G, так что 11 мегабит по оптике — в радость). Но внезапно возникает необходимость сделать кое-что по работе. Запускаю подключение к VPN. Network Manager делает пару попыток и вываливается в неизвестную ошибку. Погрешил на отпавший сервер и забил на полчасика. Но тут зачем-то решил подключиться через телефон, раздав с него инет. Всё заработало. Очевидно, что проблема либо в провайдере, либо в их же роутере (достался по акции). Набираю их телефон, жду минут десять.

— ***телеком, стажёр Никита, здравствуйте!

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

— Да, всё верно.

— Ну что ж. Меня интересует, балуется ли ваша компания тем, что вырезает PPTP-пакеты?

— Нет, у нас нет подключения по PPTP, у нас PPPoE.

— Эмм, вы ставите меня в тупик. Давайте с начала. Мне сейчас надо подключиться к VPN по PPTP, но подключение не устанавливается, когда я подключён через вашего провайдера, однако при подключении поверх 3G другого оператора проблем нет. Трассировку я проверил, она одинакова и там, и там за исключением начальных узлов.

— Давайте я переключу вас на специалиста.

— То-то же.

— Системный инженер Игорь, здравствуйте.

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

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

— Стоять, какой телефон? Если вы про симку ***, то да, подключаюсь через телефон, но они-то тут при чём? Не работает у вас при подключении по оптике!

— Значит, вы подключаетесь через телефон, а мы не занимаемся настройкой телефонов, поэтому до свидания!

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

10931

Проблема 2004

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

Разработчик провёл потрясающее по своей глубине исследование и выяснил, что шестнадцатибитное значение времени ожидания ответа сервера (server timeout) в секундах рассчитывается по хитрой формуле, включающей в себя нынешнюю дату. В какой-то момент результат расчётов становится равным или большим, чем 0x8000. Но число с ненулевым старшим битом по компьютерным правилам считается отрицательным. Отрицательное же время ожидания невозможно, поэтому программа легко и незатейливо обрубает его до нуля. Ноль — вполне легитимное время ожидания отклика, и дальше программа работает с ним. Выглядит это примерно так:

— Эй, сервер, дай-ка мне список твоих фай… Ай, ладно, некогда мне тебя ждать, тебя только за смертью посылать! Вот, пользователь, смотри: нету никаких файлов на сервере!

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

Сам факт того, что время ожидания отклика не постоянно, а рассчитывается, да ещё зависит от текущей даты на компьютере, многое говорит о предыдущих архитекторах и разработчиках программы. Разработчик посмеялся над забавным решением, исправил ошибку путём увеличения места для расчётов с 16 бит до 32 бит и без знака, прогнал тесты, забросил свой код в репозиторий и забыл об этой проблеме. Но что-то его по-прежнему грызло. И вот однажды он в конце рабочего дня сидел, читал анекдоты и смотрел котиков, и вдруг его осенило.

Часы на компьютере того пользователя были случайно переведены вперёд. Но у всех остальных они рано или поздно сами доберутся до часа «Ж», в который время ожидания отклика, согласно формуле, станет отрицательным. И тогда все пользователи во всём мире, хранящие данные на серверах (а это абсолютное большинство клиентов фирмы), не смогут открыть ни единого своего файла. Программист быстро провёл расчёт: момент, когда фирма неминуемо обанкротится, наступал через два месяца. А начальство-то и не знает…

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

Фирма распространила бесплатное обновление для всех своих клиентов за все годы своего существования буквально за две недели до своего потенциального банкротства. Ни один другой клиент с этой ошибкой так и не столкнулся. С тех пор стандартной процедурой в отделе контроля качества является полное тестирование программы с датой, передвинутой на год вперёд, и ещё раз — на год назад.

А вы говорите — «проблема 2000»…

10930

Камни не трогать

Как быстро люди забывают прошлое! «Разве тяжело купить тройку флешек по четыре гига? — вопрошает человек. — Они ж в тыщу рублей выйдут».

Открываю прайс не таких давних времён (и десяти лет не прошло) и пытаюсь скалькулировать требования к эникейщику от «мастера на все руки».

Появившиеся лет шесть назад четырёхгиговые флешки стоили по сто баксов за штуку. Про 32 ГБ скромно помолчим. Клещи, тестер и коннекторы — соточка. Винт — 250 за двести. Остальное даже считать не буду. 600 баксов по ценам 2006–2007 годов. А в эникейщики, наверное, тогда шли разуверившиеся в будущем бизнесмены.

Ну да бог с ними, с деньгами, — не в них, поговаривают, счастье. Давай прикинем: а что эникейщик должен носить с собой? Вот что человек вспомнил: флешки, винт, клещи, кабель-тестер, коннекторы, набор путевых отвёрток, термопаста, 3G-модем, насос, пара кистей, туба влажных салфеток, солидол и шприц масла. Может быть, это и весит килограммов пять, но я расскажу, что не упомянуто.

1. Набор CD и DVD с системами — загрузка с USB массово появилась в 2006 году, и до сих пор компы без неё встречаются достаточно массово.

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

3. Плоскогубцы, нож, ещё некоторые инструменты.

4. Клавиатура и мышь USB, но с переходниками под PS/2 — не все материнки позволяют войти в биос с USB-клавиатур.

5. Наборы разных кабелей (питание, VGA, DVI, USB и т. д.) и переходников.

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

7. Весьма не помешают переходники SATA/IDE в USB для вытягивания инфы с винтов.

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

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

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

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

В общем, как в какой-то фантастике было: «Пусть бросит в меня камень тот… Ай… Ой… Да я же ещё даже не договорил!»

Вспомните свои молодые годы и не нудите.

10929

Sleep Processing Language

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

В итоге проснулся я злой, уставший, с головной болью и чётким пониманием того, что Emacs Lisp — очень неудобный для отладки язык, хотя кода на нём я до этого в глаза не видел.