Восьмидесятые: «Не выделывайся со своим РК-86, делай как все — вручную».
Девяностые: «Не выделывайся со своим Windows 3.11, делай как все — под DOS».
Нулевые: «Не выделывайся со своим Linux, делай как все — под Windows XP».
Десятые: «Не выделывайся со своим Windows Phone, делай как все — под Android».
Двадцатые: «Надоели эти гонки вооружений, давай сделаем под эмулятором РК-86, DOS или вручную».
Любители
конструирования бритв сподвигли высказать свои пять копеек. Собственно, чем отличается ПО от материального мира? Отсутствием износа, лёгкостью копирования и большой сложностью создания. Разработать что-то сложно, тиражировать не стоит практически ничего. Как бы в таких условиях происходила разработка автомобиля?
У нас задание: сделать автомобиль. Так, когда-то мы делали лодку, возьмём за основу.
Говорят, у автомобиля должна быть крыша. Так… Ага — вот есть опенсорсный профнастил. Плевать, что для сарая. Если его заточить, сойдёт за крышу авто.
Мотор? У Петровича есть старый авиамодельный движок. Копии ничего не стоят. Берём 150 копий и ставим вокруг дифференциала. Дифференциал и задний мост придётся купить, убив на него половину бюджета. Мы же можем только водопроводные трубы гнуть и стеклопластик клеить.
Говорят, у машины должны быть амортизаторы. Бюджета нет. Варим раму из водопроводных труб и подвешиваем лодку внутри рамы на резинках от трусов. Одну резинку я из собственных трусов пожертвовал, а копирование нам ничего не стоит.
Колёса? У нас есть ролик от коньков. Если сделать обруч из водопроводной трубы и прикрутить к нему ролики — думаю, покатит. С крепежом проблема: есть болты М8 и гайки М20. Искать другое долго и дорого. Надо сделать пробку в гайку М20 и нарезать внутри этой пробки М8. Кажется, это называется «враппер».
Поворотники для сигнализации светом? О, для сигнализации светом есть списанный автомат отстрела тепловых ракет от СУ-27. Если положить в порох добавки для цвета, будем сигнализировать так, что мало не покажется.
Теперь найдём опенсорсные тормоза…
Ножовка по металлу (а также по пластику и всему чему угодно) — великая вещь. Сделать из МФУ
принтер? Пожалуйста!
Совершенно с той же лёгкостью получилось преобразовать громоздкий музыкальный центр с уже не работающим CD-чейнджером на много дисков во вполне компактный микроаудиоцентрик. Ввиду того, что CD-чейнджер умер от удара чьей-то ноги, «ампутация» нерабочей и совершенно неприглядно смотрящейся «части тела» пошла не только на пользу, но ещё и восстановила утраченную эстетику.
Ну, а нижняя часть дисплея, отвечающая за показ информации о дисках, была просто заклеена широкой чёрной изолентой с обратной стороны защитного стекла. Выглядит музыкальный центр — как только что с завода!
Довелось мне как-то общаться с товарищем. Узнав, что я сторонник открытого ПО, он начал всячески его поносить. Пересказывал содержание дорабатывавшего тогда последние месяцы Get the Facts, приправляя страшилками, которых нет даже там: «опенсорс используют хакеры-террористы», «опенсорс портит железо» и прочее в этом духе. Я пропускал мимо ушей, с трудом сдерживая смех: не первый раз подобное слышал, только в более мягкой форме.
Потом я обнаружил его в одном чате. Там он много говорил об опенсорсе в положительном ключе: консультировал других, сам получал консультации, воодушевлённо делился новостями. Но как-то странно: количество его собеседников не превышало и десятка, обращения остальных он игнорировал.
При первой же встрече я прямо в лицо сказал ему:
— Видел тебя в таком-то чате, ты, оказывается, сам опенсорсник.
— Да, у меня всё ПО опенсорсное, недавно даже BIOS перепрошил.
— А почему ж ты тогда мне проприетарщину пропагандировал?
— Потому что опепнсорс — для элиты, и я делаю всё, чтобы отвадить от него быдло.
Во амбиции! Целая масонская мини-ложа, из него одного и состоящая. Я колебался, куда это запостить, сюда или в «Задолба! ли». Решил сюда: и об IT, и сказать ему тогда хотелось не «задолбал», а «такие, как ты, позорят республику». Но не сказал и этого: такие, как он, существовали в единственном экземпляре. Или ошибаюсь — вы тоже сталкивались? А «существовали» в прошедшем времени — потому что он и сам от этой точки зрения потом отказался.
А мечтам его сбыться было не суждено. Трудно сегодня найти вычислительное устройство, где не было бы хотя бы одного опенсорсного байта.
Прочитала тут уже несколько историй про переводы фильмов, которые всех задолбали. Знаете, меня они тоже задолбали. Дублированные фильмы давно уже не смотрю (там и перевод хромает, и голоса актёров странные); фанатские субтитры в сети часто удивляют ляпами, которые даже пятиклассник заметит. На первом курсе при виде таких ошибок я страшно кривила нос и спрашивала, как так можно. Если такое попадалось у профессионалов, тут даже говорить не о чем — ужас-ужас, больше этот фильм не смотреть.
А сейчас я переводчик, и я прекрасно понимаю, как так можно.
Во-первых, очень часто заказ приходит к тебе ночью, а дедлайн был вчера, но «наш штатный переводчик заболел, вы, пожалуйста, побыстрее». И ещё звонить будут каждый час, чтобы легче переводилось. При таком раскладе все сверки названий, имён, цитат и т. д. идут лесом, потому что некогда. В студии тоже никто ничего не сверяет, потому что им тоже некогда. В итоге получаем Джона Лэкленда вместо Иоанна Безземельного, зрители не врубаются, любители истории плюются, переводчик посыпает голову пеплом.
Во-вторых, тайм-коды и диалоговые листы почему-то я получаю только при переводе фильмов для фестивалей. Это часто волонтёрская работа, но люди находят способы облегчить друг другу жизнь и повысить качество перевода, хотя им за это не платят. А вполне профессиональные студии, которые получают деньги за эти субтитры, почему-то не могут прислать диалоговый лист и советуют искать готовые титры на другом языке в интернете (в них время может быть проставлено совсем по-другому, но это никого не волнует). Раскладчики субтитров корректируют время по первой реплике, потому что некогда. В итоге тайм-код не совпадает с репликами оригинала, зрители плюются, переводчик посыпает голову пеплом.
В-третьих, люди не понимают, что нельзя просто взять и перевести готовые субтитры, не пересматривая при этом фильм (отсюда, кстати, ляпы в любительских титрах — переводчик просто не проверяет контекст). Иначе брутальному мужику в кадре скажут: «Ты красивая, но немного грубая», а учительница физики будет кричать: «Я учитель науки!» На то, чтобы перевести несколько страниц титров, нужно Х часов. На то, чтобы перевести это же, просматривая фильм, нужно в среднем 6Х часов. Если приходится переводить со слуха, то и 10Х. Не видела ещё ни одной студии, которая бы думала про эту разницу (поэтому дедлайн всегда «вчера»). Переводчик посыпает голову пеплом в процессе перевода, но дедлайн не передвинешь, поэтому либо не просматривается фильм, либо сверки чего бы то ни было идут лесом.
И наконец — моя любимая категория заказчиков. Никто не хочет тратить в три раза больше денег на перевод тех же двух часов экранного времени, правда? Поэтому, если у нас фильм на экзотическом языке, мы дадим переводчику английские титры и заплатим как за перевод субтитров с английского!
Знаете, даже при переводе качественных титров смысл теряется, если не можешь сравнить с оригиналом. Но английские субтитры сейчас делают все, кому не лень, и часто вписывают в них то, что персонажи не произносят. Например, один из таких «экзотических» фильмов был на языке, который я знаю, и 50% титров там были совершенно не о том, о чём говорили персонажи. Этот перевод я до сих пор храню в двух вариантах: перевод самого фильма и перевод английских субтитров. 50% разницы.
Поэтому теперь я не беру на перевод фильмы с «вторичными» английскими субтитрами, если не понимаю, что говорят на экране. Переводчик задолбался посыпать голову чем попало…
Что важнее для пользователя — мышь или клавиатура? Детский вопрос; должно быть и то и другое. Но всё-таки, исчезновение чего будет раздражать пользователя больше?
Во времена DOS один программист написал shareware-программу для специфических расчётов. Время её работы в бесплатной режиме было неограниченным, но пользоваться можно было только виртуальной клавиатурой. Чтобы избежать этого неудобства, нужно было купить у автора специальную клавиатуру калькуляторного типа, подключаемую вместо принтера. Взломать программу, чтобы работала с обычной клавиатурой, было, конечно, можно, но пришлось бы переписать половину программы, в которой соответствующий метод ввода не был предусмотрен вообще, и этого никто не стал делать. Специальная же клавиатура состояла из одних резисторов и кнопок, автор из её схемы секрета не делал, но честно предупреждал: поскольку он покупает эти детали оптом, а пользователю пришлось бы в розницу — дешевле купить у него. А в виде набора — ещё дешевле. И, намучившись с виртуальными клавиатурами, люди покупали, тем более что программ для этого вида расчётов тогда больше не было.
А говорите, GUI против консоли…
Спрашиваете,
в каком масштабе мир существует в головах у людей? Отвечаем: в логарифмическом. С центрами в точках, которые человеку хорошо известны. Его город, его район, его дом. Его место работы или учёбы и ежедневная дорога из пункта А в пункт Б. Дом его родителей. Дом его любимой. Друга. Любимое кафе, клуб или библиотека. Дача. Место, куда он каждый год выезжает на шашлыки. Дороги, их соединяющие.
Чем дальше от этих знакомых мест, тем больше искажения. Человеку вообще проще запомнить относительное направление и удаление, чем точку на карте. Так что да, для жителя северной столицы что Владивосток, что Петропавловск-Камчатский — это «на восток и очень далеко». И наоборот, для жителя Якутска Мурманск и Архангельск — близнецы-братья, находящиеся «где-то там на северо-западе».
Находящийся «на Дальнем Востоке» Владивосток будет казаться жителям европейской части России соседом всем другим городам Дальнего Востока, включая Анадырь — до них обоих «два лаптя по карте».
Скажите честно, геогра-наци: вы сами вспомните с первой попытки, что между Лос-Анджелесом и Нью-Йорком расстояние — как от Москвы до Байкала? Что «маленькая» страна Чили по длине укладывается ровно в те же границы?
Человеческое сознание лениво — именно это позволяет ему специализироваться. Принцип экономии мышления заставляет заменять точную информацию о маловажных вещах приблизительной, позволяющей делать грубые оценки. Эти оценки иногда оказываются сильно неточными, зато скорость их построения с лихвой компенсирует вероятность ошибки.
В памяти человека для большинства мест хранится приблизительный указатель «где-то там». «Там» — это место на карте мира, куда нужно посмотреть, чтобы хотя бы краем глаза увидеть нужный топоним. Вся Америка — в районе Канзас-сити. Вся Европа — где-то рядом с Веной, весь Дальний Восток — недалеко от Якутска.
Эта история будет вечной. И даже когда человечество выйдет в космос, отдельные земляне будут по-прежнему восклицать: «Гиады? Знаю, знаю, это же недалеко от Альдебарана!», и только гиадяне будут ругаться на задолбавших их гелиоцентристов.
На крупном производстве пластиковых предметов народного потребления установлена очень умная и дорогая система обеспечения станков всем необходимым: своя подстанция, резервный дизель-генератор, пара компрессоров, пара насосов для воды. Всё контролируется специальным компьютером, данные идут на пульт охраны и отображаются красивой схемой на большом телевизоре перед дежурным.
Стоит отдельно отметить, что помещение, в котором располагался генератор, подстанция, компрессоры и насосы, было общим и заглублённым: траншея с бетонированными стенами и дном, перекрытая сверху металлической съёмной крышей и не изолированными друг от друга отсеками с оборудованием.
А теперь картина по минутам, как её увидел дежурный у себя на пульте.
12:00:00. Датчик температуры трансформаторной подстанции скачкообразно перескакивает с +60 °С на +176 °C. Видимо, был бракованный. Но в систему не закладывался алгоритм контроля неисправности оборудования, и, громко пискнув в колонки и подсветив на схеме красным, компьютер вырубает трансформаторную подстанцию, написав крупными буквами: «ПЕРЕГРЕВ». Дежурный немного напрягается.
12:00:02. Система видит катастрофическое падение напряжения в сети и, следуя заложенному в него алгоритму, запускает дизель-генератор. Дежурный звонит энергетикам, чтобы посмотрели, что с подстанцией. У генератора прогорает выхлопная труба, выхлоп идёт в помещение.
12:00:30. На пульте раздаётся тревожный писк, помещение с оборудованием отмечается значком и значком «пожар». Сообщение дублируется большими буквами под словом «ПЕРЕГРЕВ». Дежурный напрягается ещё сильнее.
12:00:35. Система, спасая корпоративное имущество, включает умную пожарную систему, переключая насосы в трубы пожаротушения, повышает их производительность и открывает вентили в помещение с огнём, то есть в траншею с оборудованием.
12:00:50. На пульте с тревожным писком отображается иконка о затоплении помещения с оборудованием. Под надписями «ПОЖАР» и «ПЕРЕГРЕВ» появляется ещё одна, соответствующая ситуации. Дежурный уже очень напряжён: в его инструкции ничего не написано о действиях в ситуации, когда одно и то же помещение перегрето, горит и тонет. Всё это время в траншею закачивается вода, приблизительно 10 кубометров в минуту.
12:01:10. В помещении дежурного с грустным писком на пульте появляется сообщение о неисправности пневматической системы и падении давления в воздухопроводе. Местом неисправности предательски обозначается всё то же помещение.
12:01:15. Отрубается второй компрессор. Критически падает давление воздуха. Перекрываются заслонки ресивера. Система отмечает надписью «УТЕЧКА» злосчастное помещение с оборудованием. Дежурный в панике: он не успевает обзвонить всех ответственных за выходящие из строя узлы.
12:01:42. Локальный апокалипсис продолжается. Генератор сообщает на пульт о неисправности системы забора воздуха и отрубается. К этому моменту вода достигает уровня крыши траншеи и начинает переливаться во двор. Аварийная система переходит на UPS.
12:01:45. Насосы сообщают на пульт, что без основного и аварийного питания они работать не будут, и отключаются.
12:01:46. Пожарная система сообщает на пульт, что насосы пали смертью храбрых в бою с пожаром, и врубает системы с СО. Видимо, замечательная германская программа контроля не воспринимает типы аварийных отключений других систем.
12:01:48. Из-под крыши помещения начинается бурление параллельно с резким охлаждением воды.
12:02:00. Оживает датчик температуры, видимо, окрылённый общим охлаждением помещения, и радостно заявляет на пульт: «Ща напруга будет, начальника! Подавать?» — и заискивающе мигает окошечком подтверждения оператору. Дежурный, впав в транс, давит на большую красную кнопку: отключить всё, аварийно остановить производство.
Тестируйте системы даже на гипотетическую возможность самых идиотских и невозможных ситуаций, вплоть до прилёта инопланетян.
Я не айтишник: не сисадмин, не программист, не инженер. Я занимаюсь наружной рекламой — вывески и всё такое. К компу я и близко не подходил уже года два, но во время о́но довелось мне работать скромным наборщиком объявлений в известной в нашем городе редакции.
Там был IT-отдел, имевший три самописные БД для разных изданий, отдельную БД под клиентов и никак не связанную с ними БД (1С? Не, не слышали) для бухов. Естественно, стыковалось всё это добро такими окольными путями, что и представить сложно.
Для начала меня жутко задолбало отсутствие табуляции в форме набора объявления — на каждое следующее поле приходилось тыкать мышью. Попросил айтишных бойцов сделать. Через неделю получил искомое и научил весь отдел наборщиков пользоваться табом. Потом меня достало то, что наиболее часто встречающиеся слова приходилось вбивать полностью. Была придумана система автозамены сокращений на полные слова, причём автозамена срабатывала на пробел — не надо было жать какие-то комбинации клавиш. Снова поход к айтишникам, удивлённые лица (парень, ты откуда такой умник свалился?!), через неделю реализовано. Опять обучил отдел, включая начальницу, повесил список сокращений на стенку. Всем стало хорошо, а через месяц выяснилось, что производительность отдела набора выросла втрое.
Потом был корпоратив, на котором я перезнакомился с нашими менеджерами по продажам, нажрался и узнал много нового и нелестного об их работе. Снова пошёл к айтишникам. Действия менеджера по продаже в случае возникновения нового клиента: открыть базу, залогиниться, нажать кнопку «Новый клиент», вбить в окошечко ФИО, нажать «Далее», вбить телефон в следующее окошечко и так до бесконечности. Потом перекинуть эту инфу бухам в корпоративный чат: пусть они тоже мазохизмом занимаются.
У меня началась война с айтишниками: какого ты, всего лишь наборщик, лезешь к менеджерам, стоящим на две ступеньки выше в иерархии компании? Война продолжалась месяц и закончилась коллективным заявлением менеджеров об апгрейде баз данных.
Решением отца всея издательства я буквально поселился в отделе кодеров, по-прежнему получая жалкую зарплату наборщика, забыв вообще про объявления.
Итогом стало: объединение всех трёх БД изданий в одну и связка с бухами, интеграция клиентской БД в остальные базы, кардинальный рестайлинг интерфейса под менеджеров, бухов, наборщиков и дизайнеров, несколько скриптов, автоматом прикручивающих обработанные в Фотошопе фото к объявлениям, и множество других фишек, включая замену железа на более мощное и кучу всего другого.
Я просто сидел в отделе, пялясь в мониторы с сотнями строчек кода и ничего в этом не понимая, приставая с вопросами: «Как это будет выглядеть?» Новые сборки БД компилировались ежедневно по десятку раз. Я буквально задолбал айтишников.
Наконец был достигнут приемлемый результат. Спустя два месяца мне случайно попался на глаза финотчёт: доходы компании увеличились более чем в два раза. Я по-прежнему получал зарплату наборщика.
Я уволился, заявив, что сделал для компании больше, чем кто бы то ни было (а разве нет?), и попал в чёрный список работодателей. А через две недели меня разыскал начальник IT-отдела, вручил тысячу долларов и ящик пива со словами:
— Хорошо, что ты не айтишник!
Мораль сей басни такова: не стесняйтесь требовать чего-то у айтишников, если понимаете, что вам нужно для того, чтобы работать с большей эффективностью. Если ваши требования логичны и практичны, вам пойдут навстречу.
Прочитав историю «
Говорит глас Гугла», где автор приятно удивил меня своей находчивостью, я вспомнил похожую историю общения с клиентом по скайпу.
Я всегда общаюсь в текстовом режиме, так как клиентов много и нужно параллельно отвечать всем. Кроме того, можно одновременно делать свою работу. Но клиент был важный и срочный, писал очень медленно, и я сам предложил ему сделать видеозвонок, дабы ускорить общение. Только когда я подсоединял наушники, я вспомнил, что микрофона у меня нет. Уже звонок от клиента, я принимаю, слышу: «Здравствуйте!» — и не могу ответить.
Признаюсь, было неловко, но в голову сразу пришла идея. Втыкаю штекер наушников в микрофонный вход на передней панели и отвечаю клиенту в снятые наушники: «Здравствуйте, извините, нет микрофона, я буду переключаться. Расскажите подробнее, как это произошло?» Сразу переключаю штекер обратно и жду минуту, пока клиент начнёт говорить, наблюдая, как медленно расширяются его глаза и переосмысливается мировоззрение.
Проблема решилась быстро, а глаза клиента во время нашего забавного общения я помню до сих пор.