1597

Клавиши любят счёт

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

— Клавиатура %name%, 108 клавиш, — молвила дама. — Количество: 1 штука.

С ехидной улыбкой лезу под свой стол, вытягиваю ящик из-под кондиционера, показываю штук 15-20 старых клавиатур и говорю:

— Клавиши будем пересчитывать?

На этом проверка материальных ценностей закончилась.

1596

Русский стандарт

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

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

— Где ты там такую переменную нашел?

Смотрим в код вместе. Втыкаем. Я объясняю, что «rudefault» — это не ru_default, а rude fault (грубый фол).

1595

Полуночные алгоритмы

Прихожу я как-то утречком на работу, запускаю аську — здоровается со мной дружище-программист. Раз программист так рано не спит, думаю я, значит, кодил всю ночь.

Спрашивает он у меня совета — пишет какой-то плагин и не может реализовать один мега-алгоритм, прямо-таки не знает, как написать. Естественно, я соглашаюсь помочь. Стоит отметить, что программист уже давно отучился, много пишет — короче, опыта вагона три-четыре, не меньше.

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

В ходе непродолжительного опроса товарища оказывается, что задача поставлена именно так, как я её понял с первого раза, и даже не нужно учитывать случай, когда значения равны. И никаких гвоздей, как говорится…

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

return (a > b) ? a : b;


А мораль проста. Граждане программисты! Здоровый сон — основа качественного кода!

1594

И входит, и выходит

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

Вернул машину. Так как клиентка была на выезде, я оставил телефон и уехал. Через день звонит опять — не работает. Прилетаю на остатках бензина (не успел на заправку): «Что стряслось?» Оказалось, дама всё это время вставляла флешку в COM-порт, потому что там «входит и выходит легко». Я подарил ей USB-удлинитель, получил свою денежку и удалился.

1593

Ctrl+Copy

Для упрощения передачи документов внутри уже знакомой вам Очень Важной Конторы, чтобы не гонять гонца в другое здание, поставили долгожданное чудо техники — факс. Факс оказался мастодонтом размером в полстола, весом под пуд, без телефонной трубки, но зато с обилием разных малопонятных функций и огромной россыпью кнопок, за оные функции отвечающих. Cреди десятка прочих выделялась размерами кнопка «Copy». Поскольку копира у нас не было, то сотрудники возрадовались новшеству и быстро освоили крупную кнопку — в основном в личных целях. Моя же жизнь окрасилась в чёрные тона, поскольку рачительная хозяйственная служба выдавала факсовую бумагу строго по одному рулону и только в обмен на картонную трубочку-гильзу от закончившегося. Задолбавшись бегать в хозслужбу и выслушивать претензии вроде «вы ей там ж@пу, что ли, подтираете?», решил я от зловредной кнопки избавиться.

Выламывать или отключать — не выход. Вдруг самому что-то скопировать придётся? Перепрограммировать? Заблокировать? Толстый мануал предлагал множество способов установки паролей и разграничения доступа, но вот беда — копирование можно было ограничить только вместе с другими основными функциями, в том числе и отправкой факса. Не годится!

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

Мануал был зачитан сотрудниками до дыр, многоуровневое меню аппарата изучено вдоль и поперёк. Откуда-то появился англо-русский словарь. Наверное, ещё не один факс не подвергался столь тщательному изучению со стороны пользователей. Разумеется, всё тщетно. Интерес подогревал тот факт, что иногда я подходил к факсу с документом и, загадочно пошаманив, возвращался с его копией.

Из конторы я уволился года через два после этой истории. Моя суперсекретная «программа» так и осталась неприступной.

1592

Не улавливаете?

Работал я на заводе эникейщиком. Обслуживали мы девушек из лаборатории по оценке состава металлов. Компьютеров было немного, но ввиду запылённости чистить их нужно было постоянно.

Утро. Пять человек, медленно попивая чай и кофе, просыпаются и ждут обеда. Звонок по телефону:

— Алло, слушаю вас.

— Мне нужен мальчик.

— Какой и для чего?

— Мальчик с маленьким пылеуловителем.

— Простите?

— Ну пылеуловитель, неужели вы не знаете? — дама срывается на крик, угрожая скорым увольнением без компенсации.

— Что такое пылеуловитель и как он выглядит? — как можно спокойнее спрашиваю я.

В трубке короткие гудки. Через час дама бальзаковского возраста врывается в кабинет и, тыча пальцем в совдеповский пылесос, громогласно объявляет, что мы ничегошеньки не знаем о пылеуловителях!

Ну что ж, по крайней мере наш пылесос получил отличный пожизненный титул.

1591

Монстров рубят — щепки летят

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

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

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

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

Озарение приходит, когда я замечаю, что мышка двигается ну очень уж странно и знакомо. Выбегаю из комнаты — точно! Курсор носился в ритме игры во вторую «дьяблу», в которую и резался на другой машине мой любимый папа. Родители, оказывается, тоже купили себе чудесный девайс, а до переключения радиоканалов не додумались — вот и управляли моей несчастной мышкой...

1590

Документы — на стол!

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

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

1589

Тонкие нюансы

Один из сценариев использования веб-портала — таблица оценок персонала. Напротив имени-фамилии сотрудника в табличке значится оценка в промежутке от одного до четырёх. Каждой цифре я для лучшего восприятия приписал свой бэкграунд: 1 — красный, 2 — розовый, 3 — жёлтый, 4 — бледно-зелёный. В общем, всё хорошо и удобно, цвета чётко различимы и при этом не режут глаз. У клиента, впрочем, взыграло чувство прекрасного: «Эти цвета не подходят». Я пожимаю плечами. Ну ладно, невелика проблема — поставлю их цвета.

И вот присылают мне четыре RGB-значения. Я смотрю на них с большим сомнением, прописываю в CSS, делаю скриншот, возвращаю прежнюю расцветку и звоню клиенту:

— Здравствуйте, ваши цвета не подходят.

— Почему?!

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

Последовало быстрое согласие, и претензии к цветам были сняты.

1588

В темноте не буду

Помнится, решил я воскресить свою первую машину — Duron 900, 128 метров мозгов. Всё железо перебрал, пропылесосил, жму на Power — комп не стартует. И так посмотрел, и этак потыкал — ничего не помогает, не хочет старичок заводиться. Случайно замечаю, что диод на материнке не светится. Мне это показалось странным. И действительно, одна ножка светодиода была надорвана. Я подогнул диод на место, и машинка завелась!

Я, конечно, понимаю — порой блоки питания горят, винты летят. Но чтобы из-за какой-то лампочки машина не работала — вы уж простите...