10948

Держите меня двое

Ближе к концу девяностых. Работаю в Сбере сисадмином, устанавливаю не очень продвинутым клиентам интернет-банк.

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

Та же контора. Принтер Epson DFX-8000 формата А3, здоровенная зверюга. Собрались «девушки» печатать какой-то отчёт. Одна сидит за компом, а две держат принтер с двух сторон. «Запускай!» Стол-то хлипенький, а принтер — тяжёлый и скоростной. Боже, как этих тёток мотало! Сдержался.

10947

Это какое-то зверство

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

Пишу тебе, дорогой эникейщик Павел, с искренним сочувствием к твоему пожираемому паразитами мозгу. Знаешь ли ты, чего стоит поднять на своём компе Слакварь, 64-битный, с KDE4 для души и LXDE для иксов от суперпользователя, со всеми прогами, которые могут понадобиться для работы и отдыха? Знаешь ли ты, как я бился над p7zip, тщетно пытаясь припаять к нему графический интерфейс, как ставил Плимут, тянущий за собой энвидиевские дрова наперекор атишной карте, как прикручивал к Wine, который тоже не сразу любит 64-битную систему, одному Ктулху известные библиотеки? Известно ли тебе, мутант ты с PS/2 разъёмом вместо полового органа, как сложно настроить всё так, чтобы не было ни единой ошибки, как трудно править конфиги до посинения пальцев человеку, до этого работавшему только с простенькой Федорой? Каким вообще из мозгоотростков тебе, хромой выкидыш орангутанга, вздумалось на всю эту идеально работающую красоту поставить третьей пяткой собранный «Экспи Зверь», слив в одно целое все заботливо созданные разделы жёсткого диска двукратным полным форматированием в NTFS?

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

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

Сейчас моя мама в состоянии раскатать на Дебийца именно ей удобный клиент ICQ, установить именно ей нужный медиаплеер. Это стоит тех 500 рублей, но никак не того шока, который я испытал.

10946

Рюшечки и геморрой в подарок

Непонятно, с какого перепугу ругают индусов и называют по-идиотски написанный код индусятиной. В конце концов, 80% кода в мире написано индусами, и этот код худо-бедно работает. Индус прост: что заказали, то и написал. Не понравилось — объяснил почему, и индус свой код переписал. Тупо и просто. А вот обратный пример.

В эпоху перехода с Win98 на WinXP пришло задание — прикрутить к нашей программе скины. Бантики-рюшечки, определяемые пользователем цвета рамочки окна и нестандартные кнопки вместо стандартных. Умный индус взял бы какой-нибудь WMShell и прикрутил к программе, глупый написал бы с нуля, но за дело взялись два гениальных и суровых русских программиста, которые регулярно тусовались на RSDN и поражали всех своей крутизной.

Рассказывать всю хронологию долго, поэтому перейдём к результату. Помимо основной программы получилось два COM-сервера. Я первый раз видел, чтоб для отрисовки кнопки надо было ходить в соседний процесс. При этом к СОМ-серверу обращались не от имени кнопки, а от имени родительского окна, формировалась некая структура, для передачи которой был написан собственный маршалинг. Рисовать через стандартные средства было в лом, поэтому перехватывались непосредственно вызовы WinAPI с помощью хакерских приблуд типа Detours. За всем этим делом следил другой СОМ-сервер, который отслеживал изменения в конфиг-файле и принудительно перерисовывал в случае чего окно приложения. Конфигурация (несколько циферок для цветов и имена файлов десятка битмапок), естественно, не могла храниться ни в текстовом, ни в INI-файле: религия не позволяла. Только XML! При этом зашитый в ОС MSXML 2.0 тоже не мог использоваться по религиозным соображениям. Только XML последней версии мог хранить сакральные цифры RGB. В результате в дистрибутив запихнули инсталлятор XML, а когда Микрософт перешёл на формат MSI, то ещё два инсталлятора Microsoft Installer — для 98 и XP. Инсталлер оброс скриптом, который определял, что и куда ставить, в зависимости от ОС и её конфигурации. Итого +30 мегов к дистрибутиву. Что показательно, кроме дефолтных скинов, ничего другого не появилось. Ценность программы определялась не рюшечками, а её прикладными свойствами.

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

10945

Кофе или GTFO

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

Уговоры, шаманские танцы с бубнами, предложения вместе выпить, слёзы и упрашивания эффекта не давали. Через какое-то время мне всё же удалось зафиксировать определённую закономерность. Знакомый работал, но когда его сильно нагружали, он просто посылал всех на @#$, обижался и минут пять ни с кем не разговаривал. Потом, правда, начинал опять, но заново, и опять не доходил до нужного результата.

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

В отчаянии я пошёл на крайнюю меру: решил дать ему задачу старым, проверенным, дедовским способом. В момент, когда я уже почти обрадовался, когда он почти превзошёл себя, он опять встал со словами: «Идите на @#$!»

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

И что говорить про домашних питомцев, если даже скрипты похожи на своих хозяев?

10944

NaN километров в час

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

И вот подцепляю блок, инвертер, ноут, прошивальщик… Сигнал тахометра получил без проблем, обороты подсчитал. А сигнал скорости? Фигня: задираю колесо, передача — поехали. И вот никак не выходит. С полчаса сижу. И тут в окно — тук-тук. Опускаю стекло. Стоит мужик.

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

— Э-э-э, ну да. Вот, скорость снять не удаётся.

— AVR?

— Э-э-э… Да.

— Дай глянуть.

Открываю дверь, мужичок смотрит код процедуры обработки прерывания и процедуры вычисления.

— Вроде правильно. Хм… А переменную через volatile объявил?

— Точно…

В спешке по оборотам объявку-то повесил, а по скорости забыл. Вешаю — хоп, вот и скорость!

— Работает, спасибо!

— Да не за что, пока!

И уходит. Это что — нормально, да?

10943

Аура гуманитария

Мама моя — педагог высшей категории, русский язык и литература.

Ладно, когда была у неё админская учётка, и неизвестным образом мама убила загрузочную область винта.

Ладно, когда она села за мой комп, и через 10 минут i7 3770 дичайше затормозил на презентации, а когда я вернулся, с привычным гулом крутил Nuendo с частотой проекта 192 кГц.

Но вчера она на собственном компе под «семёркой» x64 второй раз удалила WinRAR, причём только EXE-файл, через учётку гостя, потому что админская запаролена на девять символов. При этом говорит, что ничего не делала, а архивы открыла в Ворде.

Админы, простите гнев мой на вас! Я с одним-то не управляюсь, а у нас их около пяти сотен…

10942

Пакет, у которого не было друзей

Уважаемые пользователи VPN типа PPTP, а также сисадмины и хелпдеск!

Запомните, пожалуйста, одну вещь: PPTP использует GRE-пакеты. Вы же слышали про TCP и UDP? Ну так вот, есть ещё и GRE — они используются как раз в PPTP (и, похоже, больше нигде).

Если вы пользователь VPN PPTP и соединение через этого провайдера не устанавливается — поинтересуйтесь у саппорта, не закрыты ли GRE на оборудовании? Неважно, что вы сами не знаете.

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

Если вы сисадмин и не знаете, что такое GRE, — не беда. Просто разрешите их. А лучше почитайте литературу по TCP/IP.

А вот если вы — разработчик протокола PPTP, то вам пламенный привет и поздравления за выбор самого малоизвестного и неочевидного типа пакетов данных, о которых практически никто ничего не знает до сих пор.

10941

Весточки со дна эволюции

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

Запомните, пожалуйста, два полезных лайфхака.

1. Говорите, что у вас есть роутер и нет возможности проверить без него (перед этим убедитесь в наличии/отсутствии линка и сообщите об этом на первую линию). В таком случае вам не будут делать голову со всеми этими ошибками.

2. Сразу говорите волшебную фразу: «У меня линукс, не работает интернет, переключите, пожалуйста, на вторую линию поддержки», — и никто вас насильно держать на первой линии не будет. Не нужно щуриться и лицемерить на тему того, что уже на первой линии вам должны оказывать качественную поддержку. На первой линии всегда оказывалась именно количественная поддержка, ведь большинство проблем до сих пор решается фразой: «А вы пробовали выключить, а потом включить?»

Как говорится, можно сделать из буханки хлеба троллейбус, но зачем?

10940

С глаз долой, из ушек вон

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

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

10939

Под цвет платьица

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

— Да блин, ну тут же всё просто! Я просто стринги поменяю — и всех делов!

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