— У меня принтер наконец заработал, — делится радостью дизайнерша, вернувшись от админов. — Раньше мне его ставил мальчик без бороды, а сейчас другой, с бородой, и принтер заработал!
Даже юзеры признают силу бороды.
12:00 03.02.2011, IT happens
К сожалению, если при установке Убунту с Alternate CD выбрать русский язык системы и только русскую раскладку, то в ходе инсталляции английский будет, а при первой же загрузке никакого варианта, кроме русского языка, не останется, и войти в систему будет невозможно.
Именно в таком «абсолютно русифицированном» состоянии я застал больше пятнадцати машин в родной конторе в один прекрасный день прошлого года. Рядом в состоянии, близком к помешательству, сидел свеженанятый помощник админа. Парень решил показать, какой он хороший и легкообучаемый, и вечерком накануне установил Убунту на технику для 20 новых рабочих мест. Надо заметить, что это был его первый опыт установки линукса вообще. Записал он 20 копий Alt-CD, почти синхронно поставил систему на все машины и решил проверить. Обнаружил «глюк», переустановил начисто — и ещё раз, и, наверное, ещё… Каждый раз он, ориентируясь на опыт инсталляции винды, упорно выбирал русские язык и раскладку. Поскольку пользователей с русскими именами создавать было строго запрещено, выхода «герой» не видел.
Нервы сдавали, в инете буквы путались, воображение рисовало, очевидно, суд Линча грядущим утром. Идея убивать Иксы была рождена воспалённым сознанием уже утром, минут за двадцать до прихода «старших». Поскольку на первых машинах ничего плохого не приключилось, а кроме системы, угробить было нечего, в рамках эксперимента горе-установщику было позволено применить рецепт повсюду.
Парень, вероятно, будет помнить эту особенность Убунту до конца жизни, а остальные из техотдела запомнили надолго: над чужой бедой смеяться нехорошо. Минут пятнадцать сдерживаться, равно как и работать, не было ни малейшей возможности.
14:00 03.02.2011, IT happens
Губная помада[5]? Масло из «Доширака»[6]? Бывали такие случаи, бывали.
Выезд на объект к заказчику, решение проблем насущных. В том числе выясняется, что на серваке встал кулер на одном из процессоров. Время близится к ночи, объект стоит практически в чистом поле. Магазинов нет, растительности нет, полезных ископаемых нет. Грусть-печаль наваливается… Неожиданно товарищ делает просветлённое лицо и вынимает из кармана гелевую ручку. Всё правильно — чернила в стержне закупорены прослойкой прозрачного геля! Разбираем, отрезаем, намазываем — пошла работа.
Теперь я знаю: безвыходных ситуаций не бывает. Надо только головой немножко подумать.
14:00 03.02.2011, IT happens
Привет! Я тот самый быдлокодер. Судя по всему, я разбудил нехилый флейм со стороны обиженных тру-программеров, и все бросились поучать, как надо писать код. Смешно. Во-первых, это одна из основных отличительных черт тру-программеров: с пафосом учить других. Заметьте, я не учил, а констатировал факты. Ну, а во-вторых… Поехали по пунктам.
Человек — девайс аналоговый. При обработке информации оным девайсом часть информации замещается белым шумом. То есть косяки и баги будут всегда, пока нам не вставят чипы вместо мозгов, и никуда от этого не денешься. Поэтому рассказы о том, что 25-летний программер нашёл 40-летнюю багу, ничего удивительного не содержат. За каждым программистом остаётся след, как за сбитым самолётом, только из багов.
Специальная математическая подготовка не спасает. Скажите, какого хрена учить рекурсии на примере факториала? Это красиво только математически. После такого обучения любая тривиальная задача решается рекурсивно с переполнением стека и прочими прелестями.
Если быдлокод — это непонятный, слабо логичный, замусоренный лишним и ненадёжный код, то любая программа рано или поздно переходит в эту категорию. Меняются требования, задачи, программисты, дописываются костыли и так далее. Нет кода, кроме быдлокода, а быдлокодер — отец его.
Через полгода любая оптимизация вызывает вопрос «на хрена?», а «красивое решение» превращается в «какой идиот это писал?». В красивых и оригинальных решениях живут красивые и оригинальные грабли, которые сразу хрен найдёшь. Тут как у ассенизаторов: возле выгребной ямы оказывается тот, кто может дольше всех терпеть вонь, то бишь сидеть в отладчике. Довольно часто это я.
Наконец, вопрос «как писать код?» лишён смысла: программер, как правило, имеет дело с уже написанным кодом. Солдат в бою живёт три минуты, а на марше — несколько часов, поэтому в уставе армии США маршам уделено в несколько раз больше места. Прагматично.
Вот и выходит, что (по крайней мере для меня) единственный способ не писать фигню — не писать вообще. А если писать — то по минимуму, тупо до дебилизма и исключая «творческую и эстетическую составляющую». То есть писать как автомат, ремесленник, чернорабочий. Быдлокодер.