Истории с тегом: программы

Всего историй: 796

421

Зас****уйся от спама

С каких-то невообразимо давних времён на рабочей машине стоит Spamihilator, не допускающий до почтового клиента всяческий спам.

Тестирую сегодня рассылку открыток, очередная открытка блокируется спамфильтром. «За что?» — спрашиваю я у мироздания и лезу в глотку Спамигилятора. Спамигилятор добросовестно докладывает, что письмо было задержано по причине наличия в нём большого количество стоп-слов, таких как free, xxx, SEx, CoCK, sHIT и ANal.

Натурально, фалломорфирую. «WTF?» — спрашиваю я у мироздания. Мироздание по-прежнему не отвечает. Мирозданию, как обычно, пофиг.

Выковыриваю письмо, смотрю исходный текст оного, а там... Там поздравительный текст. И картинка приложена. Картинка, понятное дело, закодирована в Base64, превращена в длинный текст типа «...AwMDAwMDAwM DAwEBAQEBAQECA QECAgIBAgIDAwMD AwMDAwMDAwMDAwMDA...». И вот в этом-то тексте случайно образовались стоп-слова.

412

Нет больше вашей Америки!

Дело было, когда я работал админом в одном банке.

Занимался кучей всяких вещей, в том числе и поддержкой электронных переводов денег, в том числе и Western Union. В одно загруженное утро звонит мне девушка - специалист по переводам и сразу заявляет следующее: "Western Union неправильно работает!". Начинаю уточнять, что именно не работает.

Путем уточнений выясняется, что она не может выбрать из списка стран-получателей нужную ей страну. Ну, я захожу на ее комп через Radmin, спрашиваю, какая страна ей нужна? В ответ слышу, что перевод нужно отправить в Америку. Не кладя трубку выбираю из списка США и спрашиваю - в чем проблема-то? А что, отвечает она вопросом на вопрос, страны Америки больше нету?!

Не поленился узнать в отделе кадров - высшее образование по экономике...

391

Лучшее - враг хорошего

Дело было в 95 году. Учился я в ПТУ на гордую профессию "оператор ЭВМ".

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

Дали задание написать на паскале программу - тест. Требовалась простейшая линейная программа, которая задает вопрос, дает варианты ответов, а потом подсчитывает и выдает результат. Конечно мне показалось это жутку скучным, и я решил немного усовершенствовать задание.

Моя программа могла работать в режиме редактора тестов, тесты сохраняла в отдельные файлы на диске и т.д. Сдали работы. Меня очень похвалили (я был доволен) и... попросили сделать листинг программы для потомков. А поскольку принтера у нас не было - пришлось сидеть и переписывать ручкой код в тетрадь.

Никогда я так больше не страдал.

379

Незаменимых людей нет!

Дело было как-то в командировке на Северном Кавказе. Сидим в операторской на заводе. Я программу ковыряю, меня главный инженер дожидается. За всем этим делом наблюдает "местный" зам. начальника цеха - Шамиль. На линии, где стоит наше оборудование, проводится профилактика (везде прыгает народ с отвертками и гаечными ключами), в основном электрики.

Доделываю то, что хотел, и говорю, что можно запускаться в автоматическом режиме . Шамилю не терпится, он почти кричит:

- Давай! Включай, скорее!

- Ты что? Там же на линии электрики! - разумно отмечает наш инженер.

- Включай! - настаивает Шамиль, и на полном серьезе добавляет, - у нас их дофига!

378

Съешь ещё этих мягких французских булок

Подлая аська сменила протокол, переустанавливаю квип пользователям.

Сижу за компьютером одной блондинки, спокойно ставлю квип, она пристает с вопросами: "Почему не работает прога?". Обьясняю, что не работает из-за того, что ее нужно обновить, чем собственно я и занимаюсь.

Она звонит своему другу:

Блондинка: Привет, у тебя аська работает?

Друг: ...

Блондинка: Да? А у меня - нет...

Друг: ...

Блондинка: Ну ладно, пока.

Девушка вешает трубку и с умным видом сообщает мне:

-У моего друга аська работает, потому что он во Франции. А мы - нет. Поэтому аська и не работает у нас.

377

Бессмертный тетрис

Случилась эта история лет 10 назад во времена учебы в радиоинституте города Рязани. Был на кафедре САПР лаборант, в чью обязанность входило включать компьютеры, наблюдать, чтоб народ не баловался и все такое. Сам он был весьма чудным малым, и взяли его исключительно из-за папы, т.к. в компах он не особо понимал.

Как-то было у нас задание сделать игрушку. Вот один парень и написал простенький тетрис: рамка без изысков, в которой падают фигурки. В общем, сидит он перед сдачей и играется. Тут подгребает лаборант, смотрит на это дело и выключает игрушку. Можно было, конечно, сослаться на задание, но парень решил приколоться. Привязал прогу, чтобы открывалась только на заданных координатах и ставила автоматически вместо обоев скриншот, сделаный во время закрытия игры, и запихал тетрис в автозагрузку, чтобы там его не было видно.

Далее началась эпопея борьбы с тетрисом. Сидит парень, играет, видит, что подгребает лаборант, встает и идет курить. Тот подходит, смотрит, что игра запущена, щелкает по крестику, чтоб закрыть. Игра вроде как на паузу встала. Еще раз щелк по крестику - ноль эмоций. Лаборант, ничего не понимая, садится за комп и начинает усердно пытаться закрыть прогу. Все с интересом наблюдают за его действиями. Минут через пять лаборант решает перезагрузить комп - игра снова запущена. Он уже конкретно впадает в ступор, все попытки закрыть прогу не приводят к результату. Минут через десять его озаряет: он лезет в настройки экрана и убирает заставку, затем с чистой совестью перезагружает комп. Естественно, тетрис на старом месте, но уже вся аудитория открыто потешается над лаборантом. В итоге, неубиваемый тетрис был удален автором ровно через неделю, на следующей лабе.

370

Все, починил!

Утро, ресторан быстрого обслуживания, наш главный клиент. Я приехал обновлять ПО на кассах до новой версии.

Апдейт и патч прошли на ура, вроде все нормально и тут - горе мне луковое - не открываются денежные ящики, только ключом. Я в тихом ужасе - к десяти утра у кассиров очереди по десять человек, а тут такой сюрприз. Отзвонился разработчику, оказалось - не предусмотрели хитровыщипанность сочетания торгового оборудования от разных производителей. Сижу, жду новостей из тыла, деликатно выясняю у главного менеджера ресторана и регионального менеджера - что им больше нравится, когда открывается ящик или когда работает дисплей покупателя.

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

- Да, мы уже в курсе - отвечаю я - все денежные ящики пока не работают, открываются только ключом!

- Да? Хм, странно, на моей старой кассе все работало!

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

Закрываю систему и захожу в неё заново - билд сменился, ящик не открывается.. Я успокоился и, с чувством выполненного долга, сообщаю кассиру:

- Все в порядке, я починил вашу кассу - (давно не видел такой кратковременной улыбки!) - теперь на ней ящик также не работает, как и на остальных!

368

Пременной варадокс

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

На тестовый прогон подсунули программе некую базу реальной конторы. И все вроде бы считалось хорошо, но внимательные тестеры обнаружили некоего гражданина, у которого суммарное рабочее время было отрицательным. Мы, конечно, стали искать ошибку в подсчете. Ошибок в нем не было, все стройно и логично, время ухода минус время прихода, или начала рабочего дня, если пришел раньше чем надо. А сумма отрицательная, хоть ты тресни!

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

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

362

Болванка сожжена успешно!

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

Неделей позже девушка пожаловалась на то, что привод у неё не работает - только тем и занимается, что болванки портит. Лучшим способом выяснить причину поломки оказался следственный эксперимент.

Вставляет он, значит, диск, запускает программу Nero, ставит на запись и далее следит за прогрессом записи - все так, как делала девица. Запись успешно без единого намека на ошибку доходит до 100%, и тут девица выдает: "Ну всё, записалось, нажимай отмена. Что смотришь на меня, видишь 100% показывает? Записалось ведь значит!.. (выскакивает окно "Прожиг завершен") Ой, наверное этого окошка надо было дождаться да?.."

Откуда берется такая прыть, и как её направить в нужное русло?

336

Большая красная кнопка

Работаю тестером. Прислали на проверку сайт - функционал, юзабилити. В общем, полный набор. Между прочим, сайт делала очень серьезная компания. По спецификациям он под эксплорер, хотя разработчик использовал Firefox3 и под первым сайт никогда не запускал. Естественно, ничего не работает.

Но! На самом видном месте на сайте висит большая кнопка с крестиком "Х", без подписи. Если ее нажать, полсайта гарантированно падает. И потом поднять его может только разработчик, да и то за пару часов. Но кнопку все равно почему-то не убирают.

В итоге, если мне лениво заниматься этим сайтом, я нажимаю заветную кнопку, и целый день гарантированно о нем не думаю. И ведь не придерешься ко мне - я просто делаю свою работу.