Пришла и к нам проверка на лицензионную чистоту софта. После непродолжительных, но горячих разговоров (вся бухгалтерия ведётся дистанционно) из кабинета начальства вышла гневная группа проверяющих со словами «выключайте компьютеры — изымаем для анализа». Через несколько минут, когда все немного успокоились, мы с главным проверяющим вышли покурить.
Я начал ненавязчиво рассказывать, что политика у нас в этом плане простая: ничего пиратского, везде виндовые наклейки, Office 2007 там, где нужен, на остальных компах — OpenOffice. «Вот, — говорю, — присылают иногда нам макеты в „Кореле“, страдаем, но не ставим — лицензия дороговата. Приходится бесплатным вьюером пользоваться».
Послушал проверяющий меня и, немного помрачнев, сказал: «Если бы я хоть что-нибудь понимал в этих ваших программах...»
В одной софтине, которую делал мой коллега, при разработке понадобился «чёрный ход». Оформил товарищ его соответственно — в диалоге «О программе» под строкой копирайта был тайный пиксел. Shift-Ctrl-Alt-правым щелчком по нему можно было вызвать некую тестировочную функцию, которая, проверив что-то, выдавала окошко с результатом, изложенным на великоанглийскои нецензурном.
Потестили и забыли. А на третий день после релиза пришел вопрос из забугорья, почему это программа говорит про «мазафаку», со всеми вытекающими оргвыводами в адрес несчастного программера.
Нажать 73 раза за три дня на кнопку без картинки просто. А вам слабо, зажав хитрый аккорд на клавиатуре, прокликать каждый пиксел в about-боксе?
Работаю я админом в небольшой конторе. Как водится, смешных, комичных и идиотских случаев бывает много, но достойных публикации до этого момента не было.
Заходит как-то ко мне в серверную товарищ, известный на всю фирму любитель поразгадывать кроссворды. Тут, дескать, всё по твоей части — блесни-ка знаниями предмета! Отчего ж, думаю, не блеснуть-то? Беру вырезку из газеты и плотно зависаю; через некоторое время зависают все друзья и знакомые, хоть как-то связанные с IT. Всю неделю присылались предположительные ответы. Мозги кипят; все программисты, железячники и прочие труженики компьютерного фронта поставили на себе крест как на специалистах и принялись ждать пятницы, когда, наконец, выйдет следующий номер с ответами.
Итак, великолепная восьмёрка вопросов и ответов, отсортированная по возрастанию идиотизма:
8. Электрическая плата, вмонтированная в компьютер и увеличивающая его возможности, 7 букв.
Ну что тут скажешь — вариантов немного, но ничего не подошло. Как оказалось, «адаптер». Запутанно, конечно, но всё же по существу. Дальше — больше!
7. Временный перерыв в работе программы или устройства, 8 букв.
Не поверите — «заедание»! Кто и кого пожирает, непонятно. Верно, это связано с перерывом на обед.
6. Сервисная программа, облегчающая пользование другими программами, работу с компьютером, 7 букв.
Тут было много ответов. И «система», и «виндоуз», и даже «враппер». Кто-то даже решил думать, как составитель кроссворда, и предположил, что это «менюшка». Оказалось, что ответ — «утилита»! Что же ещё прогам, компу, нам и всей обозримой вселенной настолько облегчает существование?
5. Специальное устройство, являющееся местом постоянного хранения информации во внешней памяти ЭВМ, 4 буквы.
Опять закипели мозги и зашевелились извилины. Чего только не предполагали: «флеш», «НЖМД», «НФТС», «хард», «сеть», «байт», кто-то даже предложил ответ «мозг» — ага, у составителя он точно больной. Оказалось, «файл».
4. Графическое изображение события, сделанное с помощью компьютера, 4 буквы.
Ступор. Мольбы компьютерным богам. Безуспешные попытки понять логику составителя. В голове крутится «флеш» и почему-то «окно». Фигушки — «плот»! Видать, вспомнило чудо кроссвордическое школьные уроки бейсика и блеснуло познаниями.
3. Отмена команды компьютеру, 6 букв.
«Кансел»? Не-а. «Отмена»? Чёрта с два! Это «снятие». Выяснять, кто, с кого и что снимал, мы не стали, опасаясь за нарушении хрупкой внутренней гармонии и чувства прекрасного.
2. Часть компьютерной системы, выполняющая определенный набор операций, 4 буквы.
Ну это должно быть очень просто. «Биос»? Не подходит. «Ворд» (почему бы и нет?) — не он. Возможно это, «мышь»? Часть? Часть. Выполняет? Ещё как выполняет. Даже не «проц» — составитель имел в виду «блок»! Спасибо тебе, открыл глаза на правду. Запомнили. Записали.
Итак, первое место нашего хит-парада. Держитесь.
1. Клавиатура компьютера, 6 букв.
Тут мы все зависли… нет, правильно же говорить, заели. Даже предположений не было. «Киборд»! Именно так.
С чувством выполненного долга я вырезал ответы, приклеил к листу с самим кроссвордом и положил в ящик. Может, заламинировать и в рамочку? Сохранить, так сказать, для потомства...
Устроился админом в проектную контору. Первое задание — поставить новый компьютер дизайнерше. Залил винду, софт, всё летает — по тем временам железо было весьма приличным.
Через пару дней дама жалуется, что фотошоп притормаживает при использовании инструмента Clone Stamp. Действительно, при попытке клонировать область изображения машина задумывается на секунду, после чего на картинке появляется странное пятно, как будто во время операции кто-то судорожно щёлкал кнопкой мыши.
Переставил фотошоп, проверил на вирусы, поменял видеокарточку и память — не помогло. Пришлось переустанавливать операционку. Заново установил фотошоп — работает отлично. Ну, думаю, бывает. Ставлю оставшийся софт, несу пользователю. Через десять минут звонит — опять то же самое! Крыша немного едет. Ставлю этот фотошоп себе — тормозит точно так же! У шефа, впрочем, работает нормально. Начинаю вспоминать весь процесс настройки компьютера по пунктам, и тут до меня доходит.
Дизайнерша просила установить ей какой-нибудь переводчик. Я тогда пользовался небольшой резидентной программкой, висевшей в трее и показывающей окошко с переводом, когда при зажатой клавише Alt курсор наводили на слово. При попытке задания в фотошопе образца для клонирования программка старательно пыталась перевести пиксели, чем повергала графический редактор в ступор.
Мы разрабатываем софт для одной крупной компании. Однажды, решив проверить «бдительность» пользователей, в очередном релизе на панели инстументов главного окна мы разместили малоприметную кнопку без каких-либо подписей. При нажатии никаких видимых действий не происходило, но в базу данных заносилось имя пользователя и дата щелчка. Через неделю базу мы «расконсервировали» и были весьма удивлены: один пользователь в течении трёх дней нажал на эту самую кнопку 73 раза.
Работаю начальником отдела автоматизации в госконторе: головная организация с серверами и куча филиалов, где сидят тётушки от 45 лет. Дошло дело до установки компов в филиалы. Закупили мониторы, компы со встроенным видео, принтеры, развезли, поставили, подключили, настроили... Всё работает, только с софтом не очень гладко — он самописный, создан в лохматых девяностых и с большущим трудом портирован на винду. Поскольку связь с филиалами не всегда доступна, на каждую машинку накидали кучи мануалов для самостоятельного изучения.
Проходит дня три-четыре без связи — телефонную линию порвало. Сначала получили мыло, а потом и звонок: «Монитор сломался, одинаковый цвет по-разному отображает». Сильно расстроившись, так как финансирование было урезано в связи с кризисом, находим в отделе старый монитор и едем в филиал.
ЖК-монитор был исчерчен разноцветными маркерами-выделителями. Как оказалось, тётушки выделили важные поля интерфейса, чтобы лишний раз не распечатывать и не открывать толстые руководства.
Я биолог и от математики предельно далёк. Довольно часто мне приходится решать сложные задачи — обычно за меня всё делают умные программы, но иногда нужно что-то посчитать вручную. В этом случае я обращаюсь за помощью к своему другу-программисту, который, несмотря на всю свою занятость, частенько меня выручает, ведь мои задачи не только полезны для «народного хозяйства», но и довольно интересны.
Постучался я как-то ему в аську: «Слушай, есть новое дельце!» Друг заинтересовался и согласился подумать. Даю вводную: есть поле 5х5, в ячейках нужно разместить цифры от единицы до четвёрки При этом единичку можно ставить везде, двойку — только рядом с единицей, тройку так, чтобы рядом с ней были одновременно 1 и 2, а четвёрку в окружении 1, 2 и 3. Цифры нужно расставить так, чтобы общая сумма была максимальной.
«Окей, — говорит друг, — сейчас всё будет!» Через пару минут брутфорса он сообщил, что всё отлично, программа выдала уже пятьдесят миллионов комбинаций, и, если никто не будет отключать машину на ночь, нужный результат мы получим не позднее, чем через два года. Почесав репу, он написал более умную прогу, которая сходу выдала с десяток роскошных результатов. Одна беда: иногда программа ставила цифры куда попало без оглядки на расположенные рядом. Пофиксив баг, друг прислал мне несколько впечатляющих (поначалу) схем расстановки цифр, но не прошло и пяти минут, как мы оба вручную решили задачу более подходящим способом.
Теперь друг взялся за дело всерьёз. Он менял строчку за строчкой, постепенно оптимизируя способы вычислений. Я не без его помощи находил ошибки, одновременно проверяя полученные результаты. Всё это было довольно занятно, и часа через два мы, наконец, с удовлетворением созерцали конечный результат — совершенство численных технологий. Минут через пять он спросил меня:
— Слушай, а на фига тебе всё это надо было? Это расчет конформации каких-то белков? — Понимаешь, — отвечаю я ему, помедлив, — есть у меня на телефоне игрушка такая...
Хорошо, что дело происходило в аське. Друг еще полгода вспоминал мне об этом — час его работы стоит двадцать баксов...
В 2007 году я разрабатывал небольшую самописную ГИС с картами Москвы для мелкого завода. Бесплатных данных не было, и я кое-как за месяц расковырял одну систему с картами, успешно «спиратив» исходники. Немного позже потребовались геоданные для Московской области. В той программе их не было, зато нашлась другая в виде отсканированного атласа, на который были нанесены векторные метки. Сами данные хранились в каком-то невероятном формате; времени на разбор не было, система была нужна «здесь и сейчас».
Идея пришла моментально. Из-под моих плящущих по клавиатуре пальцев вылетали куски кода: — отправляющего сообщения вида «нажата кнопка „вправо“», «нажата кнопка „влево“», «нажата кнопка „Page Down“» окну; — распознающего серые окружности, изображающие города; — получающего название города из текстового поля; — двигающего мышь в нужную позицию.
Всё было собрано в программу-потрошитель. Она искала окно «жертвы», переводила карту в левый верхний угол, распознавала города на текущем сдвиге, запоминая их координаты, получала названия и сдвигала экран вправо. Процесс повторялся — если был достигнут край карты, экран опускался вниз.
Запуск невероятно порадовал — по экрану как угорелый скакал курсор мыши, кликал в окружности-города, названия которых сменяли друг друга с невероятной скоростью. Всё моргало и двигалось, производя самое фантастическое впечатление. Через десять минут вся карта была сграблена.
С тех пор я верю: как бы ни была сложна программа, рассчитанная на взаимодействие с человеком, можно написать робота, который решит задачу не хуже.
Мои родители занимаются видеомонтажом в Adobe Premiere и Adobe After Effects. Контора, на которую они работают, подарила им лицензионный пакет этих программ. Все как положено — красивая коробка, серийный номер, защита и так далее. Всё было хорошо до тех пор, пока софт не полез обновляться в интернет и при запуске потребовал повторной активации.
Казалось бы, все просто: телефон для России указан, нужно только продиктовать серийный номер, код активации и получить код авторизации. Но мама у меня, хоть и продвинута в компьютерах, жутко консервативна и всего нового боится. Естественно, кроме лицензионного пакета от Adobe, всё остальное на компе было пиратским, поэтому папочка Crack была гораздо понятнее для нее, чем звонок в саппорт (да еще и в Москву!) Она бы, наверное, всё-таки позвонила, если бы не папа, который решил облегчить задачу — он нашел в интернете кейген и, не вняв моим предупреждениям, крякнул Premiere, после чего тот отказался запускаться вовсе.
Да, поменять ситуацию будет непросто — русский человек ещё слабо понимает, что делать с лицензионными программами...