Для упрощения передачи документов внутри уже знакомой вам Очень Важной Конторы (История #1571), чтобы не гонять гонца в другое здание, поставили долгожданное чудо техники - факс. Факс оказался мастодонтом размером в полстола, весом под пуд, без телефонной трубки, но зато с обилием разных малопонятных функций и огромной россыпью кнопок, за оные функции отвечающих. Cреди десятка прочих выделялась размерами кнопка «Copy». Поскольку копира у нас не было, то сотрудники возрадовались новшеству и быстро освоили крупную кнопку - в основном в личных целях. Моя же жизнь окрасилась в черные тона, поскольку рачительная хозяйственная служба выдавала факсовую бумагу строго по одному рулону и только в обмен на картонную трубочку-гильзу от закончившегося. Задолбавшись бегать в хозслужбу и выслушивать претензии вроде «вы ей там ж@пу, что ли, подтираете?», решил я от зловредной кнопки избавиться.
Выламывать или отключать - не выход. Вдруг самому что-то скопировать придется? Перепрограммировать? Заблокировать? Толстый мануал предлагал множество способов установки паролей и разграничения доступа, но вот беда - копирование можно было ограничить только вместе с другими основными функциями, в том числе и отправкой факса. Не годится!
Решение пришло типично инженерное. Вскрыл подопытного, разогрел паяльник, осмотрел россыпь кнопочек, выбрал из них ту, которой уж точно никто пользоваться не будет, перерезал дорожки на плате и включил ее последовательно с кнопкой «Copy». Теперь, чтобы что-то скопировать, надо было нажимать одновременно «Copy» и эту неприметную кнопочку. Сотрудникам на следующий день я объявил, что в целях экономии бумаги запрограммировано разграничение доступа на функцию копирования.
Мануал был зачитан сотрудниками до дыр, многоуровневое меню аппарата изучено вдоль и поперек. Откуда-то появился англо-русский словарь. Наверное, еще не один факс не подвергался столь тщательному изучению со стороны пользователей. Разумеется, все тщетно. Интерес подогревал тот факт, что иногда я подходил к факсу с документом и, загадочно пошаманив, возвращался с его копией.
Из конторы я уволился года через два после этой истории. Моя суперсекретная «программа» так и осталась неприступной.
#1594: Как по маслу
12:00 06.12.2009, IT happens
Подрабатываю в одной фирме приходящим админом. Клиентка на одной машине долго жаловалась, что у нее не работает флешка. В основной фирме подошло время отпуска, и я решил на досуге посмотреть, в чем дело. Приехал - порты рабочие, но система стоит 98-я, причем уже подглючивает от преклонного возраста. Взял домой, поставил «двухтонку» - XP никак не хотела вставать. Проверил порты - все работает.
Вернул машину. Так как клиентка была на выезде, я оставил телефон и уехал. Через день звонит опять - не работает. Прилетаю на остатках бензина (не успел на заправку): «Что стряслось?» Оказалось, дама все это время вставляла флешку в COM-порт, потому что там «входит и выходит легко». Я подарил ей USB-удлинитель, получил свою денежку и удалился.
#1595: Полуночные алгоритмы
12:00 06.12.2009, IT happens
Прихожу я как-то утречком на работу, запускаю аську - здоровается со мной дружище-программист. Раз программист так рано не спит, думаю я, значит, кодил всю ночь.
Спрашивает он у меня совета - пишет какой-то плагин и не может реализовать один мега-алгоритм, прямо-таки не знает, как написать. Естественно, я соглашаюсь помочь. Стоит отметить, что программист уже давно отучился, много пишет - короче, опыта вагона три-четыре, не меньше.
- Не подскажешь быстрый алгоритм нахождения большего (или меньшего) из двух чисел? Я просто сплю что-то… Никак сообразить не могу, а спать ложиться не хочу, пока не доделаю кусочек.
В ходе непродолжительного опроса товарища оказывается, что задача поставлена именно так, как я ее понял с первого раза, и даже не нужно учитывать случай, когда значения равны. И никаких гвоздей, как говорится…
Из соображений цензуры не буду показывать то, что он мне прислал в ответ на мою одинокую строчку:
return (a» b)? a: b;
А мораль проста. Граждане программисты! Здоровый сон - основа качественного кода!
#1596: Русский стандарт
12:00 06.12.2009, IT happens
Пишу программу учета статистики на чемпионате по квиддичу. Отлучился от компа, возвращаюсь - приятель пристально смотрит в мой код:
- Слушай, а зачем у тебя в программе переменная называется «Русский стандарт»?
- Где ты там такую переменную нашел?
Смотрим в код вместе. Втыкаем. Я объясняю, что «rudefault» - это не ru_default, а rude fault (грубый фол).
#1597: Клавиши любят счет
12:00 06.12.2009, IT happens