Хоть история и про 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 заставляло ходить слегка пригнувшись. И вот настал тот момент, когда я, увлечённый процессом протяжки кабеля, вспоминаю, что оставил у входа пластмассовые стяжки, чтоб прицепить витуху к жгуту уже тянущихся кабелей. Возвращаюсь, забираю стяжки и уверенной походкой топаю к месту монтажа. И внезапно получаю нехилый такой удар по башке, оседаю на коленки, мозг перезагружается, башка, естественно, болит.
Оказалось, что я на полном ходу вписался в бетонную перемычку над проёмом прохода. Работали в уличной одежде, на голове была кепка. Она-то козырьком и ограничила мне обзор. Но она же и спасла — отделался шишкой и кровоподтёком. Без неё наверняка разбил бы черепушку серьёзнее.
В нашей конторе на столах стоят древние компы, такие узкие, боком поставлены — вертикально. Чуть больше приложений открыл, и можно курить в перерывах после нажатия кнопки Enter.
Народ уже приуныл и как-то не ждал радости от этих компов. Но тут случился жуткий ливень — тот, который мочит даже тех, кто под зонтом.
Я, залетевши на работу из-под такого ливня, чувствую в комнате нашей гул. Огляделся, смотрю на системниках у кого стельки, у кого носки лежат как на батарее.
— Что за акция? — спрашиваю.
— Носки винраром сушим!
Оказалось, что архивация папки Program Files дала достаточную нагрузку на процессор, чтобы тёплый воздух от кулера высушил нам всем носки за 15 минут.
Прихожу на сайт. Смотрю — висит объявление: «Требуется java-разработчик». А внутри чёрным по белому написано: «Требуется писатель руками на java для разработки проекта на Unity3D». Народ! Когда вы научитесь отличать Java от JavaScript? Unity3D — это популярный игровой движок с возможностью писать скрипты на C#, JavaScript и Boo (никому не нужном).
Почти что никого, никого из новичков не волнует, что написано JavaScript. И они начинают в описании проектов писать: «Язык программирования: Java». Начинают набор именно Java-программистов в команду. И самое страшное — начинают спорить, что Java и JavaScript отличаются как С++ от С, в ответ на справедливое замечание, что, мол, а название ЯП неправильное висит. Ну спорщиков-то не очень много, и они быстро сливаются под напором аргументов.
Менеджеры — это отдельный разговор. На эту тему много было сказано и ещё многое скажут, только намекну, что студии, где манагеры ищут Java-разработчиков на проект в Unity3D, можно посочувствовать.
Особое умиление вызывают «правильные» парни, которые в резюме, указывая свои знания, помимо разных языков, на которых писали хелловорлд в пятом классе, пишут также JavaScript (подразумевая, что использовали его в Unity3D). Чувак! Ты можешь сколь много времени писать на «JavaScript» в юнити, но в реальном вебе подели свои знания на ноль, поскольку, честно говоря, яваскрипт в юнити обладает рядом специфичных свойств, которых в тру JavaScript никогда не было и нет.
Даже на Bitbucket’е при указании языка программирования можно выбрать UnityScript, что означает JavaScript в Unity3D.
Возможно, это самая важная причина, почему народ, пишущий на UnityScript, потом бросает его в пользу куда более мощного С#.
Суть этой истории в том, что яваскрипт в юнити суть кака или, «выражаясь», неудачное решение.
Покупаю много разной электроники. И через меня электронику часто покупают знакомые. Электроника иногда выходит из строя, и мне приходится часто общаться с техподдержкой, т. к. я единственный способен внятно объяснить, что не так с чудом техники, а также способен выполнить любые инструкции, которые мне даёт техподдежка.
Я заметил, что надёжность девайсов у компании обратно пропорционально качеству её техподдержки (по крайней мере, в США).
Ноут от HP из серии Mobile Workstation ломался ровно пять раз: дважды контроллер клавиатуры на материнке, дважды блок питания и один раз звуковая карта. Я бы уже решил никогда с HP дело не иметь, если бы не их техподдержка. Техник выезжал ко мне на дом в течение 2−3 дней и бесплатно всё чинил. Ноут, кстати, работает до сих пор и всё ещё на гарантии (3 года).
HTC EVO 4 был кошмарным телефоном. Глюки, тормоза, зависания, убогое время автономной работы. Рандомное отключение звука у будильника — раз 8 опоздал на работу. Рандомная разблокировка в кармане и отправка СМС, посты во «Вконтакт» из значков доллара и восклицательных знаков из того же кармана — всё было. Но опять же, техподдержка просто потрясающая. Ответы за полдня, ссылки на патчи, все письма с юмором и огоньком. Одно удовольствие. Телефон я всё равно ненавидел, но, благодаря техподдержке, с ним проходил ещё почти год.
Мою историю с гуглофоном Nexus 5 про то, как техподдержка Гугла разрешила мне взломать их телефон — вы, наверное, здесь уже читали.
Но вот компании, известные надёжностью своих устройств — их техподдержки прописаны в аду и пахнут серой. Мрак и ужас.
Samsung, когда я обратился к ним с проблемным планшетом, лишил меня гарантии за то, что моя версия андроида не совпала с той, что у них указана на сайте. Они меня обвинили во взломе и заявили, мол, сам виноват, что у тебя видео глючит, нефиг было ломать. Мои заверения, что планшет обновился сам, на них не подействовали. Честно, так мне не хамили ещё никогда. Это было за 2 года до истории с Nexus 5, я не имел ни малейшего понятия, как что-либо ломать. Nexus 5 был моим первым опытом «хакерства», и я боялся его трогать как раз из-за истории с Samsung. Кстати, я сделал техподдержке Samsung ход конём — сдал девайс назад в магазин. У них как раз была гарантия возврата без вопросов в течение 30 дней. И с тех пор их продукцию обхожу стороной.
Но хуже всех были ребята из ASUS. Вот уж от кого не ожидал — мы все знаем, насколько хороша их продукция. Nexus 7 (первое поколение), у которого расшатался micro usb порт, они хотели мне починить за почти 90% стоимости планшета и с обязательной платной диагностикой. На кой чёрт мне диагностика, если у меня просто порт кабель не держит (но заряжает в определённом положении) — фиг его знает. Чинил потом в неофициальной мастерской.
Но окончательно поклясться никогда не прикасаться к продукции ASUS меня вынудила недавняя история с их роутером. Модем приехал, проводная сеть работала, Wi-Fi нет. Звоню в техподдержку. Они говорят: «Бери булавку и ребутай». Я ребутнул, и модем погас совсем. Даже проводная сеть не пашет. Только горит огонёк «Power» и всё. Техподдержка сказала слать роутер назад в Amazon. Второй роутер приехал… с той же проблемой.
Первая девушка оператор заставляла меня упорно ломиться в неправильный айпишник (в мануале совершенно другой был написан) со всех девайсов, от компьютера до тостера, а потом просто бросила трубку. Второй оператор сказал ребутать. Я ребутнул. Всё погасло, кроме лампочки «Power». День сурка, фильм второй. Когда я в отчаянии спросил, можно ли ещё что-нибудь сделать, оператор сказал, что на ребуте их арсенал исчерпан. Я вот сейчас вообще не шучу, так и сказал. Второй роутер уехал на Amazon с требованием вернуть деньги — я в ASUS платным нажимателем кнопки «Reset» не записывался.
Вот и думай после этого, то ли качественную продукцию покупать, то ли некачественную.
Расскажите про «никакой разницы» тому самому Семёну Ёлкину, если его имя или фамилию один из таких вот «специалистов» внёс в документ без точек над буквой «Ё». Проблемы с этим документом будут исключительно во всех государственных и коммерческих учреждениях.
Код буквы «Ё» в русской кодировке был уже доступен с появлением кодировки CP866, которая уже в середине 90-х годов массово и повсеместно шагала по стране. За 20 лет, прошедшие с тех пор, можно было уже или переписать старые программы или написать новые, для нормальной обработки слов и имён собственных русского языка с буквой «Ё».
Чтобы было понятней, какая это «мелочь», расскажу небольшую историю про своё обучение программированию. Классе эдак в 10-м я осваивал Паскаль в популярной тогда среде Turbo Pascal 7. И была у меня привычка давать индексным переменным имена i, j, k… и далее по алфавиту. Однажды мне пришлось часа эдак полтора отлаживать программу на несчастные 70 строк из-за того, что я перепутал местами i и j. Это для меня буквы похожи и «мелочь же, ничего страшного». А у компьютера это разные буквы, и его не колышут проблемы школьника, не сразу заметившего графическую разницу похожих символов.
В общем и целом, пожелаю всем тем «программистам», которые считают, что буква «Ё» не нужна, и вполне заменяется буквой «Е», чтобы однажды во всех вхождениях их имён и фамилий в базах данных официальных учреждений возникла неопределимая по контрольной сумме ошибка. Например, при простом XOR-сложении и хранении в однобайтовой кодировке, простая фамилия Сидоров с точки зрения контрольной суммы будет вполне эквивалентна чему-то странному Тздоров.
Ну, а что? Для компьютера это же «мелочь» — главное, что суммы совпали.