bash.im ithappens.me zadolba.li

Мысли о вечном

12630

Кесарю — кесарево

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

Я буду рад выставить тайминги зажигания на каждой свече (это называется «угол опережения зажигания»), отрегулировать состав горючей смеси при разных оборотах двигателя и провести это всё один раз при точной настройке моего автомобиля. Далее — уж пускай автомобиль как-нибудь постарается запомнить мои волшебные настройки.

Я буду рад иметь доступ в инженерное меню телефона, чтобы узнать, какие базы сотовой связи есть вокруг — может, нужно переключиться на соседнюю (иногда механизм «передачи» сотика от базы к базе даёт сбой). Я буду рад на досуге почитать описание сетей GSM — вдруг я смогу поймать сеть, где её никогда не было, а мне надо срочно отправить SMS (в тайге, например, заблудился)?

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

Я сисадмин. И я делаю свою работу хорошо. Я ставлю системы и программы на компьютеры, я настраиваю различные технические системы, я разгребаю дерьмо других юзеров. Это моя работа.

Я не заставляю пользователя знать, за сколько тактов процессора обрабатывается команда JMP — у него свои проблемы. Я не кричу «оужаснах!», когда они называют ящик под столом процессором. Я понимаю, что заявлением «у меня не проходит проводка Д44.01К60» меня может поставить в тупик самый тупой (в компьютерном мире) бухгалтер. У каждого своя область знаний.

Не спрашивайте юзера, почему у него не обновляется антивирус. Не спрашивайте, откуда духи на системной плате или засохший трупик мыши в принтере. Не спрашивайте, почему они компьютер выключают красной кнопочкой на удлинителе, а не через кнопку «Пуск». (Сначала «Пуск», потом «Завершение работы» — нету логики, у нормального человека сносит крышу.) Если они не знают элементарных вещей — объясните им. Если они чего-то не знают — это ваше упущение. И никогда не удивляйтесь, «как можно было вытворить такое». Я собственноручно по ошибке отформатировал основной винт (палец спросонья попал не по той кнопке), а вы хотите внятности от человека, не являющегося спецом в вашей области!

Я понимаю, что сейчас минимальные знания компьютера нужны даже грузчику, но не всем дано. Будьте снисходительны. Цезарю — цезарево, Богу… Ну, вы поняли.

12627

Гроб на колёсах с сердцем гепарда

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

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

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

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

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

12617

Сложно, но можно, но не нужно

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

Итак, некий айтишник заболел, и ему понадобился врач. Денег на телефоне нет. Что делать? Разумеется, лезть в инет пополнять счёт, попутно дежурно ругаясь на криворуких интерфейсников, переусложнивших платёжный сайт. Разумеется, не замечая, что сам же выбрал самое сложное решение.

В XXI веке, знаете ли, есть волшебная диспетчерская служба 112, которая работает при любом балансе — и даже вовсе без сим-карты! Один звонок — и «неотложка» уже в пути. Она же и передаст дело участковому врачу, если не найдёт показаний для госпитализации (а лично я их тут вижу).

Печально, что этот случай носит системный характер.

В контору на десять компов купить управляемый свитч на 24 порта с поддержкой виланов? Легко!

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


Господа, не будьте анекдотичными «айтишниками». Не позорьте профессию. Именно по таким маньякам судят обо всех тех, кто выбрал для себя стезю работы в области высоких технологий.

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

Коллеги! Мы инженеры, управленцы от IT. Мы профессионалы. Мы работаем за деньги, а не за идею.

Идейных же маньяков — вон из профессии! Штрейкбрехеры от IT, готовые работать за еду, лишь бы копаться с любимой железкой, готовые парализовать работу компании на неделю, только чтобы провести интересный лишь им эксперимент на боевом сервере, должны иметь волчий билет!

Энтузиазм хорош в эпоху коммунистических строек. В условиях капитализма он вреден.

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

Давайте вместе приближать это светлый день. Право слово — надоело руководить стадом дикобразов с пересаженными мозгами сумрачных гениев!

12614

The Sims в планетарном масштабе

Есть мнение, что «искусственный разум будет подслушивать людей всюду и в качестве пасхалок иметь некоторые интересные голосовые команды».

Я скажу вам страшную правду: сей искусственный разум будет глючить и тормозить по принципу:

Сделать хотел грозу,
А получил козу,
Розовую козу
С жёлтою полосой.

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

12611

You’re an admin, Harry

Сижу на работе, «примус починяю», а в голове мысли крутятся.

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

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

12603

Наше дело маленькое

Хочу поделиться своим мнением по поводу свежего холивара «разработчик-менеджер-потребитель» — кто главный, а кто лишний?

Безусловно, бывают клинические случаи, когда, например, представитель заказчика по каким-то причинам имеет карт-бланш на принятие идиотских решений. Крайним может оказаться представитель любой стороны, но это самое простое: «Мой дядюшка собрался сайтик своей компании запилить…»

Но как же получается, что порой встречаются компании, которые долгие годы успешно работают на рынке, и вдруг выясняется, что «кругом одни идиоты»?

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

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

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

Не задалбывайтесь по мелочам, уважайте коллег (да, и её тоже). Всем бобра!

12589

Moron-driven development

Каждый раз читаю в сети (как здесь, так и на других IT-ресурсах) про негодование разработчиков от менеджеров — чего стоят все эти истории про создание бритвы! — и каждый раз задумываюсь: уж не в параллельной вселенной ли я живу? Или, может, всё куда проще, и людям, как обычно, свойственно валить свои косяки и проблемы на кого-то другого, а также делиться по принципу «мы vs они» и «свой vs чужой»?

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

О проектах, ведомых разработчиками, можно долго рассказывать, но чаще всего там всё довольно-таки прозаично и упирается в неадекватные шапкозакидательские оценки сроков исполнения, абсолютно ублюдочную проработку интерфейсов, логики работы и юзабилити (ведь это всё «не нужно», «тут всё ясно и дебилу» и т. д.), посредственную поддержку и производительность на устройствах конечных клиентов (когда каждый раз «внезапно» оказывается, что средний домашний и офисный компьютер — это не десктоп с i7, 32 ГБ ОЗУ, 27-дюймовым монитором и последними версиями всего ПО). Впрочем, это всё банальные проблемы, которые так или иначе потом можно решить, хотя они и бесят, когда одни и те же люди умудряются регулярно попадать в них раз за разом и не делать выводов.

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

Свистелки и перделки? Господи, да ведь именно заказчики в первую очередь и просят весь этот бред! Дурной вкус, желание выделиться, понты — объясняйте как хотите, но именно заказчики в первую очередь тянут подобное в проект. Нестандартные, выдуманные ими сами и абсолютно неинтуитивные/нелогичные элементы управления, меню, схемы поведения — шедевры креатива заказчиков. Рахитичные дизайны, кривые схемы вёрстки, цветовые схемы для инопланетян, несочетаемые шрифты, дикие пиктограммы, переусложнённые формы, бессмысленные анимации и прочее «добро» — это как раз результаты прямого доступа заказчика к руководству проектом. Про постоянные смены настроений, идей и многократные переделки уже сделанного я вообще молчу — да, кому-то такое нравится, вот только сроки сдачи проекта таким образом могут сдвигаться почти вечность. В итоге то, что можно было сделать, протестировать и сдать за три-шесть месяцев, делается более двух лет. Я не знаю, каким надо быть мазохистом, чтобы разработчику нравилось участвовать в этом балагане, даже получая за это приличные деньги.

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

12584

И повторится всё, как встарь

Восьмидесятые: «Не выделывайся со своим РК-86, делай как все — вручную».

Девяностые: «Не выделывайся со своим Windows 3.11, делай как все — под DOS».

Нулевые: «Не выделывайся со своим Linux, делай как все — под Windows XP».

Десятые: «Не выделывайся со своим Windows Phone, делай как все — под Android».

Двадцатые: «Надоели эти гонки вооружений, давай сделаем под эмулятором РК-86, DOS или вручную».

12573

Бреющий полёт фантазии

Автор истории «Безбород 3.7.1» интересуется, почему сделанный программистом бритвенный станок был бы с лазерной указкой и тепловизором? Всё просто.

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

— Твоя опасная бритва опасна! Надо сделать так, чтобы она была безопасной. Затупи её!

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

Через день из отдела юзабилити приходит список рекомендаций, как сделать бритву менее опасной, но оставить при этом бреющей. На списке резюме начальника: «Сделать до среды!»

Программист вздыхает и по списку добавляет к бритве:

  • лазерную указку (чтобы бреющийся видел, где себя бреет);

  • термодатчик (чтобы чей-то ребёнок случайно не побрил ковёр);

  • телевизор (чтобы не было скучно бриться);

  • защиту от дураков (надо ткнуть в серию кнопок, чтобы бритва поняла, что бреющийся трезв и старше 18 лет);

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

  • отдел дизайна требует дерево (это сейчас модно);

  • отдел маркетинговых исследований требует запах канифоли и ручку, перемотанную синей изолентой (это улучшит продажи бритвы среди представителей старшего поколения).

Наступает черёд тестирования.

  • ребёнок шефа пробует побрить кошку, но не справляется с кодом, и бритва разваливается. Отдел юзабилити ликует;

  • начальник пытается отрезать палец главе отдела юзабилити. Конструкция станка не позволяет это сделать, отдел юзабилити приписывает достижение себе;

  • телевизор работает;

  • термодатчик не дал побрить ковёр;

  • дерево присутствует — отдел дизайна сурово кивает;

  • синяя изолента и запах канифоли есть, отдел продаж радостно катается по полу.

А потом какой-то пользователь сравнит этот продукт с другим, над разработчиком которого не стояли идиоты-начальники...