Дело было в середине девяностых. Учились в универе в нашей группе три товарища. Нещадно прогуливали пары, особенно по непрофильным предметам. Мотивировали тем, что работают программистами в одной крупной софтверной фирме, и мы все им немного завидовали.
В локальной сети универа было много всякого разного, натасканного студентами, в том числе и популярные в то время игры. И вот эти товарищи навострились играть на парах одного из спецпредметов в режиме мультиплей. Благо преподаватель этого предмета слова поперёк не говорил и вообще никак не реагировал на столь вопиющую наглость, тогда как все остальные преподы напрочь запрещали игры на парах, и при них играть можно было только украдкой.
Дошло до того, что эти три друга, приходя на пару, сразу запускали свои любимые игрушки и в открытую отчаянно резались до звонка, даже не сдерживая своих эмоций. Преподаватель этот был вовсе и не преподаватель, а профессиональный программист, подрабатывающий в нашем универе. Внешностью был похож на Вассермана, только худой. Давал несложные задания и не требовал полного их выполнения, больше дискутировал за жизнь, нежели по тематике предмета, и мы все понимали, что с экзаменом проблем не будет.
Так оно и случилось. На экзамене он вызывал студентов по очереди, задавал всего один вопрос, если студент отвечал, то получал пятёрку, если ответа не знал, то преподаватель сам отвечал на этот вопрос и ставил четвёрку, если, конечно, студент был согласен не на высший балл, иначе добро пожаловать на пересдачу, но таких не находилось.
И вот прошли все, остались только те три геймера. Взглянул на них «Вассерман» с улыбкой и сказал: «Ну что ж, для вас у меня особый экзамен, чем весь семестр занимались, то и будете сдавать». И дал он им три задания — завалить его в Quake в мультиплее трое против одного, побить его рекорды на всех трассах в NFS II и пройти созданный им уровень в Warcraft II (если уровень не проходится с первого раза, то на пересдаче даётся новый уровень). Сдавали они этот экзамен всю сессию долго и упорно, и однажды кто-то из студентов или преподавателей не выдержал и спросил его, зачем он их так мучает, они же ведь работают. «Знаю я, как они работают, — ответил „Вассерман“. — Я генеральный директор той фирмы, в которой они якобы работают».
Уж и не помнится, чем там дело закончилось, но к компьютерным играм те товарищи стали абсолютно равнодушными.
Индусы, индусы, индусы… Пару часов назад столкнулся с тем, что коренные американцы способны накосячить не хуже индусов.
Вставляем в программу проверку входных бинарных данных (_fpclass) — вдруг нам NaN пришёл (или ещё какой мусор). И неожиданно для себя получаем три жирных бага в совсем других местах: зависание, некорректное отображение данных, движение времени «большими рывками».
Пара часов отладки — и становится понятно, что дело в том, что _fpclass портит режим сопроцессора. И вместо long double у нас сопроцессор считает всё как float.
Открываем сорцы. Ну странно же, когда стандартная подпрограмма из системной библиотеки не восстанавливает регистры оборудования. Гм, она восстанавливает. Угу, восстанавливает. Но с перепутанным порядком параметров в вызове _control87.
Непрекращающийся фейспалм? Вон из профессии? Плавали, знаем. В карьере каждого айтишника есть такое чудо, которое, не пройдя обычный испытательный срок, лезет напрямую к директору: «Они там всё делают не так, неправильно делают, один я знаю, как надо!»
Не дай боже директор поддастся на харизму этого фейспалмщика или просто окажется внушаемым. Как минимум фирма потратит дополнительные ресурсы, чтобы запустить параллельно «как правильно», и не факт, что нововведения окупят что-либо.
В большинстве случаев фейспалмщик будет пытаться перекинуть внедрение новой «как правильно» технологии на старый персонал. Сам же будет бегать вокруг, лезть под руки и театрально стонать: «Ну кто вас учил так делать?! У вас же руки из жопы, вы ничего не умеете! Как вас только в профессию взяли?!» Если старые сотрудники достаточно умны и не позволят повесить на себя внедрение «как правильно» технологий, фейспалмщик будет обвинять их в саботаже: «Они мне не дали чего-то там, куда-то там не пустили, не предупредили, что оборудование старое».
К сожалению, если гадалка вытащила карту таро «Чувак с фейспалмом», от айтишника зависит очень мало. Всё решает компетентность руководства. Начальник адекватный — максимум поручит харизматичному новичку автоматизацию нового отдела или магазина, чтобы не рисковать работой всей фирмы, а там уже по результатам. Босс является иллюстрацией эффекта Даннинга — Крюгера — надо постараться уйти, пока всё не развалилось.
Конечно, есть случаи, когда человек, орущий «ну кто вас учил так делать, у вас же руки из жопы, вы ничего не умеете, как вас только в профессию взяли?!» является специалистом высокого класса. Тогда уход старого специалиста пройдёт безболезненно — ему не будут названивать домой с вопросами:
— Почему вдруг ничего не работает?
— Где ещё могут быть резервные копии. Не, там мы удалили случайно, где ещё?
— Не будет ли любезен многоуважаемый джин за премию починить всё обратно? А вернуться на прежнее место с повышением?
Вот человек жалуется, что у него все компьютеры на работе начали скачивать Win10. А про WSUS не слышал, да? А хотя бы про настройку времени работы Windows Update? Хотя рядовые пользователи вообще не должны иметь прав на скачивание и установку любых апдейтов и приложений. Это основы.
Другой бегает по кабинетам бухгалтеров, чтобы посмотреть на текст на экране. Подключение по rdp или vnc? Мы не ищем лёгких путей!
Третий не смог нормально передать дела и написать подробную документацию по самописной системе, после чего «стряс» полугодовую зарплату за решение им же созданных проблем и горд собой. В своё время за подобное можно было познакомиться с очень интересными людьми, находящими весьма нестандартное применение для обжимных клещей.
Четвертый после ремонта в серверной не только не удосужился зайти проверить, что там как, но и даже на график температуры не посмотрел ни разу за три месяца! Я даже не знаю, что тут вообще можно сказать кроме «вон из профессии» и LMD.
Пятый называет себя инженером-программистом и с готовностью берётся настраивать сеть с хлипким каналом, но про шейпинг трафика и настройку фаервола не в курсе. А на его собственный ноутбук кто попало может поставить торрент-клиент. Хотя бы запаролить биос и административный аккаунт, затем включить UAC? Делов-то на пять минут.
Я медленно покрываюсь фейспалмами и не понимаю, зачем все эти люди присылают истории, основанные на вопиющей некомпетентности, небрежности и раздолбайстве.
Неужели они не понимают, что именно они — позор IT?
Хоть история и про IT, но выругаться и выплакаться хочется совершенно по-обычному. Итак. Товарищи линуксоиды (вернее, примерно 90%), как же вы задолбали!
Давно ли операционные системы на базе ядра Linux были маргинальными? Давно ли пользователи ОС Windows и компьютеров Macintosh смеялись над убогим графическим интерфейсом, в котором вечно что-то недоделано, неудобно или просто недоступно? Давно ли взрослые дяди даже не смотрели в сторону «студенческой поделки», а поднимали корпоративные системы на Solaris, AIX или, на худой конец, *BSD? Времена те прошли, и (простите, простите за этот штамп!) пингвин по имени Тукс уверенно шагает по планете. Он раздаёт вам интернет в квартире, он помогает вам сказать «алло, привет!» любимым людям, он помогает учёным исследовать глубины космоса и строение материи. Это здорово? Конечно, здорово!
Но как же сильно достали линуксоиды! Которые пользуются такой замечательной системой на базе Linux по имени Убунту, или Арч, или Дженту, или Дебиан, или какой там ещё. Они видят, что линукс успешен, и теперь считают себя богами. Они считают, что все открытые системы должны быть на Linux, а иначе это бяка.
Что характерно, многие из этих линуксоидов — как раз те, кто лет десять назад хаял Linux почём зря… Они это знают и гордятся этим — мол, я выбираю инструмент под свою задачу. Слова крутого профи. Остальные люди, конечно, не выбирают никогда инструменты под свои задачи. Только линуксоиды-профи.
Эти линуксоиды ещё смутно подозревают, что до линукса тоже что-то было, но отказывают ему в существовании — точно так же, как отказывали в существовании Linux и сопутствующему ПО ещё двадцать и даже десять лет назад.
Эти линуксоиды постоянно гордятся достижениями Linux, хотя сами мало что сделали для него (в большинстве случаев размер заслуг не превышает пары сообщений об ошибках).
Эти линуксоиды накидываются на любую новость об операционных системах семейства BSD или, скажем, ReactOS — потому что, по мнению этих авторитетных специалистов (многие из которых стесняются даже своего имени), разработчики сих систем имеют наглость что-то делать не так, как завещал великий Р. М. Столман.
Если кто-то говорит, что в ядре Linux исправлена старая ошибка, то они радуются исправлению ошибки. Но если проскакивает новость, что ошибка исправлена в ядре Solaris — всё, туши свет: как вообще можно пользоваться Solaris, когда есть Linux?!
Если какой-то дистрибутив Linux получает какую-то поддержку от известной фирмы — это признание заслуг. Если какая-нибудь OpenBSD — это, конечно, атака корпорастов на open source.
Если где собирается конференция разработчиков Gentoo — это круто. Если же речь идёт о ReactOS — это «делать им больше нечего», «пилят чужие деньги» и так далее.
Энтузиазм, бескорыстность, талант, предусмотрительность — все эти качества, по мнению таких вот линуксоидов, могут существовать только в мире Linux. Остальные же — в лучшем случае, заблудшие овцы, на которых снисходительно смотрят как на недолюдей.
При этом те же самые линуксоиды спокойно кушают абсолютно противоречащие их философии драйвера для игровых видеокарт (правильно, какие там принципы, когда играть охота!).
И совсем шизофрения: линуксоиды умудряются одновременно хвалить разработчиков OpenNTPD и хаять разработчиков операционной системы OpenBSD, хотя это одни и те же люди. Даже прямая отсылка к басне про свинью под дубом доходит не до всех.
Из-за линуксоидов немало людей, живущих в миру открытых систем, поуходили со многих интернет-ресурсов вроде OpenNet. Потому что просто невозможно общаться, когда любой технический вопрос, если он не о Linux, моментально превращается во флейм. Тролли торжествуют — они выживают своих «оппонентов».
У меня только один вопрос к вам, горе-линуксоиды. Вот, допустим, остался в мире только Linux. Кого вы тогда будете поливать грязью? Друг другу пойдёте глотки грызть ведь.
А что делать мне — не знаю. Где найти русскоязычную тусовку об открытых системах, чтобы и Linux там был, и все остальные, и чтобы друг к другу относились с уважением, радовались достижениям разработчиков «чужих» систем и учились у них? Не видно таких.
Остаётся только интернационально кучковаться и грустно шутить про самих себя.
Да, не все линуксоиды такие. Среди моих знакомых и даже друзей есть адекватные линуксоиды. Но то в реальной жизни. А в сети, где волей-неволей проводишь значительную часть жизни, податься, как ни смешно, некуда. Даже радоваться за достижения Linux приходится про себя и с опаской — всё равно докопаются, испортят настроение и напрочь отобьют желание что-либо делать вообще, включая мытьё посуды.
Устал и задолбался. Искренне ваш, разработчик «ненужной» OpenBSD.
Прихожу я на работу после трудных выходных, а это был переезд трёх отделов (тот ещё маразм), ну и в надежде, что смогу побездельничать и душевно отдохнуть, включаю любимые сайты с юмором и уже собираюсь приступить к чтению, как вдруг поступает сообщение от колл-центра — мол, у них всё плохо, интернет почти не шевелится, и общаться с клиентами невозможно.
Проверяю скорость соединения и очень сильно удивляюсь — скорость вместо положенных 100 мегабит зависла между 5−10, и это в начале рабочего дня! Дальнейшее исследование и звонки провайдеру позволили выяснить, что это всего лишь Windows догадался на все компы махом скачать обновление до десятки, при этом ресурсы сети решил не учитывать… Опять звонки провайдеру и слёзная просьба выделить побольше скорости.
Короче говоря, скорость они увеличили, сеть завертелась, и все счастливы, а Майкрософт за такое стоило бы прибить.
Иногда я пилю сайты. Вообще, в последнее время я делаю это всё чаще. На моей практике уже почти семнадцать собственноручно выполненных проектов. Вы знаете, сколько из них я мог бы продемонстрировать в своём портфолио, если бы это было нужно? Два. Что не так с остальными? Правки.
Моим первым заданием, после которого я не отчаялся и захотел освоить это ремесло, был сайт о путешествиях, который нужно было «поправить». Простая визиточка плюс информация о ключевых странах. Что же мне пришлось «править»?
Сначала они хотели «3D глобус, чтобы вращался мышкой, а на нём выбираешь на страну — и тебя перекидывает на страницу с информацией о ней и фоточками». Узнав цену на это дело, заказчик передумал. Захотел всего лишь сине-желтую гамму (чистые цвета, как попугай ара). Потом добавили кучу виджетов авиалиний, поездов, погоды и прочего. Потом — фоновую песню «Nosa, nosa». Я не признаюсь, что это моих рук дело, даже под пытками.
Затем был один из городских ресторанов. Но они отказались фотографировать блюда отдельно — настаивали исключительно на шакальном скане меню. И чтобы на каждой странице шторочки раздвигались. Ладно хоть без музыки.
Была местная консалтинговая контора. Их устраивал онли дизайн «web 1.0», если вы понимаете, о чём я.
Сайт риэлтора хотел, чтобы всё на странице сверкало, блестело, свистело и далее по списку. Знаете, как в старых играх — персонаж не может стоять спокойно в ожидании. Он словно под веществами.
Цветочный магазин хотел поиск по сайту. Но не тот, что корректно работает по артикулу и наименованию, а тот, что сперва выдает кучу продвигаемых товаров, пусть и не соответствующих запросу.
Мне пришлось и с дизайнерами поработать. Знаете, у нас в городе нет дизайнеров, которые работают с вебом. Я предупреждаю об этом. Но «да не, он крутой, он нам офигенные буклеты сбацал». Ладно, кто платит — тот танцует.
Один сделал сайт, похожий на рекламный буклет или меню суши-бара. Знаете, светлый фон из паттернов с мелкими суши-ролло-палочко-мисочко-бутылками, кремовые цвета, красные акценты… Всю информацию попытались вместить в экран 1024x768. Получилась теснота, хаос и неразбериха. Как ни странно, именно его я теперь могу показать, не стыдясь — до владельца дошли мои увещевания и демонстрация стильных, аккуратных сайтов в этом бизнесе. Мы сделали адаптивный дизайн, крупные карточки товаров, хорошие фото и прочее. Вышло неплохо.
Теперь есть сайт магазина аксессуаров. Его я сдал ещё месяц назад. Но они взяли дизайнера. Был довольно лаконичный дизайн в стиле современных мобильных приложений типа viber или хотя бы gmail. Строгий фон, цветовые акценты в нужных местах, ничто не отвлекает от главного — красивых фото товаров. Сказали мне, что «да-да, мы ж всё согласовали, ничего не поменяется радикально, просто цвета-шрифты-логотип да пара свежих баннеров». Ок, это вполне входит в стоимость, мне ничего не надо сверху.
Знаете, что я вижу вчера в макете? Совершенно другое меню (от полностью раскрытого вертикального к разворачивающемуся двухуровневому горизонтальному), переколбашенные функциональные блоки, фон из красной змеиной кожи, фон подвала и кнопок меню из золотой змеиной кожи, вообще всё бордово-золотое. Выглядит даже не как современная полиграфия — как «бохатая» цыганская полиграфия старых времен.
Мне плевать, что опять выйдет то, что стыдно показать. Мне не плевать, что опять придётся доказывать, что уговор про «ноль рублей, если только шрифты-цвета-сменить картинку» — это не про то, что тут наколбасилось.
Знаете что? Я хочу чинить чайники в отделе гарантийного ремонта в каком-нибудь «Дорадо» или «Видео».
Пользователи — это обезьянки. Они замечательно могут выучить простую последовательность действий: «Нажми на эту кнопочку, потом на эту, теперь проведи здесь курсором. Молодчинка, получи банан!»
Но если в эту последовательность вкралась какая-нибудь мелочь (например, после нажатия второй кнопочки курсор нужно вести в другую сторону), обезьянка сначала пытается выполнить то, что делала всегда, потом повторяет то же самое ещё несколько раз, но уже на нервах, потом начинает в остервенении нажимать, что попало, и тыкать, где придётся, после чего начинает бросаться какашками.
Одна барышня неверно ввела пароль n-дцать раз, учётка заблокировалась. Разблокирую. Опять куча попыток неверного ввода, просьба сбросить пароль. Несколько уточняющих звонков, выяснение, что это на самом деле она виновата, сброс пароля с требованием сменить оный после первого входа, конец разговора. Через полминуты звонок: «Я ввожу, а оно не пускает!» Повторяю ещё раз, что нужно будет ввести новый пароль, и объясняю, как выглядит кнопка «Oк». «У меня ничего такого нет, — говорит. — Сделайте уже что-нибудь, мне нужно работать».
Объясняю, как можно посмотреть имя компьютера, но обезьянка уже ничего не хочет слушать, ей нужно, чтобы всё было прямо сейчас и у неё. Ну хрен с тобой, поднимаюсь на шесть этажей, врываюсь в кабинет, не сгоняя с места эту макаку, ввожу пароль и показываю, куда вводить новый. Смотрит на меня волком на вегетарианской диете. На вопрос, почему не смогла увидеть единственную надпись в центре экрана, брюзгливо поджала губы и выдала: «Вот только не надо грубить и истерить». Ухожу из кабинета молча и быстро: новый пароль она ещё не ввела, вдруг что-то у обезьянки не получится, и она начнёт кидаться какашками?
С праздником, коллеги. И терпения вам с вашим зоопарком.
Работал в одной фирме человек. Сидел тихонечко, тыкал в свои кнопочки, в монитор пялился. Иногда в Dwarf Fortress играл, не без этого. Позвал его к себе директор и говорит: «У нас сейчас в стране кризис, всем зарплаты урезают, вот и я решил, что ты там ничего не делаешь, поэтому зарплата у тебя станет, как у грузчика Васи».
И уволился тот человек. Просто он за трендами следил и знал, сколько зарабатывает человек, который может в одно целое 1С, веб и C# связать. И единственная причина, по которой не уходил раньше — жалко было своё детище бросать.
А детищем его был монстр, позволяющий заказчикам выбрать на сайте или терминале в любом из отделений фирмы одежду, примерить на неё принты разные и автоматически отправить заказ на выполнение. Ну и в качестве бонуса позволял клиенту на вебкамеру себя сфоткать и принты сразу на фотографию положить, чтобы посмотреть, какой больше подходит.
Но написал он этого монстра давно, потом оставалось только старые баги исправлять да следить, чтобы всё не посыпалось, когда аутсорсеры в 1С чего добавят. Так как программа была создана давно, многие старые сотрудники про это забыли, а новые и не знали.
В общем — пытался человек объяснить директору, что следит за работой системы приёма и пересылки заказов, что сам написал.
— Врёшь ты, — сказал директор. — В 1С всё аутсорсеры делают, а заказы электронной почтой отправляются. Бездельник ты.
Плюнул человек на пол и ушёл. Ничего при этом не сломал, так как в законы кармы верил и грех на душу брать не хотел. Даже слов непечатных ни одного не сказал. Устроился в новом месте на зарплату, трёхкратную прежней, а если с грузчиком Васей сравнивать, то вообще без счёту будет. Устроился, новую почту завёл, старые симки выбросил, наслаждается уважением заслуженным.
Не прошло и месяца, как со старой работы звонок:
— У нас терминалы выбора принтов перестали работать, мы сейчас новому парню трубку дадим, объясни ему, что да как.
Ну и объяснил. Говорит:
— Cтояло у меня в комнате два компьютера. Что вы с ними сделали?
А новый парень отвечает:
— На одном я винду переставил да секретарше отдал, так как на свой ноут она фреш апельсиновый вылила. А второй — на нём я работаю, винду не переставлял, просто старый хлам поудалял к чертям собачьим. А что, не надо было?
— А папку «system backup dont delete» на файловом сервере хоть не вытерли?
— Вытерли, — отвечает новый парень. — Она сильно большая была. Директор сам вытер, чтобы новый винт не покупать. Триста гиг места освободилось!
— Поздравляю, — сказал тогда человек. — Нет у вас теперь заказов через терминалы. И через веб-сайт заказов тоже нету. Ну и веб-интерфейс отосланных в цех заказов тоже нае#нуться должен был.
Мораль сразу ясна — незаметные кажутся заменимыми, но это не всегда так. Ну и бэкапы перед удалением надо в трёх экземплярах делать, это да.
А счастливый конец — позвонил потом человеку директор лично. За старую резервную копию (в закромах нашлась) и доводку её до ума полугодовую зарплату заплатил. Такой вот он, закон кармы — хорошим людям обиды баблом компенсирует.
Опасайтесь низких помещений… Особенно если вы ростом более 180 см. Сегодня по роду работы занесло на техэтаж одного из жилых домов областного центра. Задача стояла такая: смонтажить IP-камеру на парапете крыши, чтоб можно было смотреть на объект. Связь и статический IP-шник согласился дать один провайдер из присутствовавших в доме. Естественно, с кровли через вентиляцию кинули витую на техэтаж и далее — до шкафа провайдера.
Одно то, что на техэтаж вместе с вытяжкой квартир выходят также и стояки канализации — уже супер. Та непередаваемая гамма ароматов, когда кто-то готовит еду, а кто-то уже от неё избавляется в отхожем месте — за гранью фантастики. Но речь не об этом.
В помещении техэтажа высота потолков была где-то 190 см, что при моём росте в 188 заставляло ходить слегка пригнувшись. И вот настал тот момент, когда я, увлечённый процессом протяжки кабеля, вспоминаю, что оставил у входа пластмассовые стяжки, чтоб прицепить витуху к жгуту уже тянущихся кабелей. Возвращаюсь, забираю стяжки и уверенной походкой топаю к месту монтажа. И внезапно получаю нехилый такой удар по башке, оседаю на коленки, мозг перезагружается, башка, естественно, болит.
Оказалось, что я на полном ходу вписался в бетонную перемычку над проёмом прохода. Работали в уличной одежде, на голове была кепка. Она-то козырьком и ограничила мне обзор. Но она же и спасла — отделался шишкой и кровоподтёком. Без неё наверняка разбил бы черепушку серьёзнее.