Ножовка по металлу (а также по пластику и всему чему угодно) — великая вещь. Сделать из МФУ принтер? Пожалуйста!
Совершенно с той же лёгкостью получилось преобразовать громоздкий музыкальный центр с уже не работающим CD-чейнджером на много дисков во вполне компактный микроаудиоцентрик. Ввиду того, что CD-чейнджер умер от удара чьей-то ноги, «ампутация» нерабочей и совершенно неприглядно смотрящейся «части тела» пошла не только на пользу, но ещё и восстановила утраченную эстетику.
Ну, а нижняя часть дисплея, отвечающая за показ информации о дисках, была просто заклеена широкой чёрной изолентой с обратной стороны защитного стекла. Выглядит музыкальный центр — как только что с завода!
Что важнее для пользователя — мышь или клавиатура? Детский вопрос; должно быть и то и другое. Но всё-таки, исчезновение чего будет раздражать пользователя больше?
Во времена DOS один программист написал shareware-программу для специфических расчётов. Время её работы в бесплатной режиме было неограниченным, но пользоваться можно было только виртуальной клавиатурой. Чтобы избежать этого неудобства, нужно было купить у автора специальную клавиатуру калькуляторного типа, подключаемую вместо принтера. Взломать программу, чтобы работала с обычной клавиатурой, было, конечно, можно, но пришлось бы переписать половину программы, в которой соответствующий метод ввода не был предусмотрен вообще, и этого никто не стал делать. Специальная же клавиатура состояла из одних резисторов и кнопок, автор из её схемы секрета не делал, но честно предупреждал: поскольку он покупает эти детали оптом, а пользователю пришлось бы в розницу — дешевле купить у него. А в виде набора — ещё дешевле. И, намучившись с виртуальными клавиатурами, люди покупали, тем более что программ для этого вида расчётов тогда больше не было.
На крупном производстве пластиковых предметов народного потребления установлена очень умная и дорогая система обеспечения станков всем необходимым: своя подстанция, резервный дизель-генератор, пара компрессоров, пара насосов для воды. Всё контролируется специальным компьютером, данные идут на пульт охраны и отображаются красивой схемой на большом телевизоре перед дежурным.
Стоит отдельно отметить, что помещение, в котором располагался генератор, подстанция, компрессоры и насосы, было общим и заглублённым: траншея с бетонированными стенами и дном, перекрытая сверху металлической съёмной крышей и не изолированными друг от друга отсеками с оборудованием.
А теперь картина по минутам, как её увидел дежурный у себя на пульте.
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-отдела, вручил тысячу долларов и ящик пива со словами:
— Хорошо, что ты не айтишник!
Мораль сей басни такова: не стесняйтесь требовать чего-то у айтишников, если понимаете, что вам нужно для того, чтобы работать с большей эффективностью. Если ваши требования логичны и практичны, вам пойдут навстречу.
Неделька смешных покупателей выдалась. Один спросил, где гнездо для кабеля у MindWave Mobile, другой — прилагается ли дискета с драйверами к 3Doodler. Настоящие ли это ламеры или один тролль, прикидывающийся разными людьми — а шут его знает. Номера разные, голоса тоже.
Автор истории «Безбород 3.7.1» интересуется, почему сделанный программистом бритвенный станок был бы с лазерной указкой и тепловизором? Всё просто.
Вначале программист делает опасную бритву — консольную программу, которая быстро и качественно справляется с задачей, но вешает систему, если в исходных данных есть ошибка. Появляются багрепорты. Отдел юзабилити, стремясь показать свою нужность (отсутствующую, если консольная программа станет популярной), несётся к начальнику. Багрепорты временно аннулируются, программиста вызывают к начальнику:
— Твоя опасная бритва опасна! Надо сделать так, чтобы она была безопасной. Затупи её!
Программист с плохо скрываемой улыбкой тупит бритву. Она больше не бреет. Приказ начальника выполнен дословно, отдел юзабилити готовит вазелин.
Через день из отдела юзабилити приходит список рекомендаций, как сделать бритву менее опасной, но оставить при этом бреющей. На списке резюме начальника: «Сделать до среды!»
Программист вздыхает и по списку добавляет к бритве:
лазерную указку (чтобы бреющийся видел, где себя бреет);
термодатчик (чтобы чей-то ребёнок случайно не побрил ковёр);
телевизор (чтобы не было скучно бриться);
защиту от дураков (надо ткнуть в серию кнопок, чтобы бритва поняла, что бреющийся трезв и старше 18 лет);
Так как в процессе тестирования люди будут пытаться отрезать себе разные части тела, программист немного меняет конструкцию, превратив опасную бритву в бритвенный станок. Едва он всё это заканчивает, как приходят новые требования:
отдел дизайна требует дерево (это сейчас модно);
отдел маркетинговых исследований требует запах канифоли и ручку, перемотанную синей изолентой (это улучшит продажи бритвы среди представителей старшего поколения).
Наступает черёд тестирования.
ребёнок шефа пробует побрить кошку, но не справляется с кодом, и бритва разваливается. Отдел юзабилити ликует;
начальник пытается отрезать палец главе отдела юзабилити. Конструкция станка не позволяет это сделать, отдел юзабилити приписывает достижение себе;
телевизор работает;
термодатчик не дал побрить ковёр;
дерево присутствует — отдел дизайна сурово кивает;
синяя изолента и запах канифоли есть, отдел продаж радостно катается по полу.
А потом какой-то пользователь сравнит этот продукт с другим, над разработчиком которого не стояли идиоты-начальники...
Случилось в нашем офисе масштабное расширение — переезд в новый корпус офисного здания. Под эту лавочку в новом корпусе (да и в текущих) решили запустить новую схему печати: очередь в облаке висит, а печатаешь ты, приложив NFC-метку к любому принтеру. Плюсов это решение сулит немерено, но с метками возникла проблема.
Так как переезд был запланирован на май, то по состоянию на него же под всех переезжающих и попадающих под действие нововведения были заготовлены метки и распределены по конвертам с именами счастливчиков (а это, на секунду, около 2000 человек). Как мы все понимаем, план планом, а реальность сурова и беспощадна. На дворе почти сентябрь, а переезда всё нет. За лето состав людей пообновился: кто пришёл, кто ушёл. Итого около 200 изменений. Тот, кто занимался этом вопросом, уволился и список людей никому не передал.
Итог: чтобы внедрить столь прекрасную технологию, кому-то из нас придётся руками перебрать 2000 конвертов, найти невалидные и добавить новичков. Прогресс!
Всем привет, в эфире снова носитель мании изобретательства. Чем я сегодня вас порадую? Как обычно, изобретением, вытащенным из детства. Но если первые два (механический аналог «Фроггера» и герконовое электропианино) так и остались концептами, то третье довольно долго в прямом смысле скрашивало мои вечера.
У многих советских детей был прибор для просмотра стереодиапозитивов «Стереоскоп-3», и почти все знали о его обратимости: если без слайда повернуть окулярами к объекту, матовыми стёклами к себе, получатся две камеры-обскуры. Но немногие пробовали направлять окуляры на чёрно-белый телевизор и очень удивляться.
У однолинзовых окуляров, которые в этом режиме работали объективами, хроматическая аберрация огромна (только я тогда таких слов не знал и объяснить получающийся эффект не мог). Обычно её стремятся подавить, но тут она пригодилась. Это как динатронный эффект: в пентоде его подавляют, а в ФЭУ считают полезным и используют. Да много таких примеров.
В общем, направляешь на чёрно-белый телевизор эту камеру-обскуру и видишь вокруг тёмных объектов на светлом фоне красивые цветные ореолы: с одной стороны из длинноволновой части спектра, с другой — из коротковолновой. Если же объект светлый на тёмном фоне, наблюдается то же самое, только расположение ореолов меняется на противоположное. Ясно дело, это никак не соответствовало реальной окраске объектов перед камерой.
Принципиально нового тут ничего, конечно, нет. И ChromaDepth (но это уже не восьмидесятые, а девяностые), и очки с дифракционными решётками для просмотра салютов. И то и другое можно использовать не по назначению — получать цветные ореолы вокруг контуров на чёрно-белых изображениях.
Но сегодня, когда цветной дисплей стоит дешевле чёрно-белого, такой эффект может потребоваться разве что при просмотре киноклассики, да и то понравится не всем. А вот тогда, на безрыбье…
Как-то раз на работе известный антивирус выдал мне сообщение о том, что вирус пойман и успешно обезврежен. После этого система начала периодически выдавать синие экраны. Проанализировав причины появления неприятных падений, я пришёл к выводу, что вместе с вирусом было «успешно вылечено» несколько системных файлов.
Безуспешно перепробовав все известные мне и прочитанные в интернете способы, я решил отложить полную переустановку системы на светлое будущее. Главное, что эти падения не особо мешали работе и большинство из них удавалось обходить стороной.
Спустя пару месяцев, так ничего и не сделав, я обратил внимание на то, что компьютер вдруг стал работать нормально и стабильно. Это показалось странным, так как за последнее время я никаких обновлений или программ не ставил, не считая апдейтов антивируса, а больше это делать некому. Мысль по поводу саморегенерации винды показалась мне слабой. А ещё через какое-то время антивирус сообщил об очередном пойманном незваном госте… и Виндоус выдал синий экран. Во время перезагрузки я в первый раз желал, чтобы мой компьютер опять заразился этим вирусом, ибо работать с ним намного приятнее. И моё желание сбылось.
Следующая неделя прошла в игре «кошки-мышки». Утром, пока неповоротливый страж порядка грузился, вирус успевал себя перепрятать в несколько мест, и я работал нормально. Ближе к вечеру антивирус начинал добивать остатки заразы и доводить своим лечением систему до клинической смерти.
К концу недели я уже было окончательно запутался, что из них добро, а что зло, но, к счастью, этот зоопарк смог найти правильное решение проблемы. Вирус пропал, а система заработала без сбоев. Естественно, что если лучше разобраться в этой истории с технической точки зрения, то многое станет понятным, но хочется верить в существование полезных бактерий в сети.
На досуге приключился квест: кончились деньги на счёте мобильного телефона. Хотел было лёгким движением руки, не выходя из дома, пополнить баланс через интернет-банк, но оказалось, что пароль забыт. А чтобы сбросить пароль — нужно позвонить в техподдержку! Рекурсия, однако. И из дома выходить по-прежнему лень… Замечаю на страничке входа кнопочку «позвонить из любой точки мира», тычусь. Флеш просит разрешить сайту использовать средства связи — и вуаля, в колонках голос девушки-оператора!
На этом проблема бы решилась, будь у меня микрофон… Но его нет. Зато есть Гугл-транслейт. Выставляю в качестве устройства записи системный микшер, открываю страничку, ввожу «Здравствуйте» и тычу кнопку вызова техподдержки.
Даже не представляю, о чём подумал оператор и были ли у них инструкции, что делать, когда синтезированный нечеловеческий голос стал просить сбросить пароль от входа. Отдаю должное техподдержке — они дослушали и устроили, вероятно, только что составленную проверку на искусственный интеллект. Стандартное кодовое слово — ФИО — номер карты, дополнили домашним адресом, местом работы, сроком действия карты, датой рождения и кодом подтверждения на телефонный номер по SMS. Сложнее всего было с датами, так как их нужно было зачитать словами, а не цифрами.
Когда я уже сам перестал верить в успех задумки, проверку после некоторой паузы сочли пройденной. Пароль был сброшен, телефон оплачен, а для оператора первой линии, возможно, жизнь уже никогда не будет прежней: так ведь недолго и в восстание машин с Матрицей поверить…