Выбрать главу

В таком виде мы и представили программу преподавателю.

Кто ж знал, что программа подкинет нам такой сюрприз!

На узкой горной тропе встретились неудовлетворенный желудочно ТБаран и неудовлетворенный сексуально ТСлон. Как объекты для удовлетворения своих потреб ностей они друг друга совершенно не интересовали, поэтому представляли друг для друга просто препятствие. Всемогущий Рандом решил, что в этот раз слону придется полежать немного в качестве элемента интерьера, а баран пойдет дальше. Скрипт бодро превратил ТСлона в квадратный метр свежей зеленой травы, радостный ТБаран сожрал ее, навалил кучу и там же рухнул спать. Несчастного слона поминали всей бригадой, включая преподавателя.

#366: Дядя Вася

16 декабря 2008, 16:45. рейтинг: 2404

В свое время делали региональную сеть. По принципу – каналы (медь) предос тавляет одна госконтора, а мы оконцовываем. Запустили – все работает.

Через 3 дня вдруг один из участков начал сбоить. Причем, нестабильно. Данные проходят, но с потерями. Это один из худших видов ошибки. Две недели пытались выловить причину. Несколько раз меняли оконечное оборудование (а это поездка в 160 км). Клиент негодует. Использовали даже аппаратуру для проверки качества соединения, чтобы выявить всевозможные "наводки" на канал.

Сидим на оконечной точке. В очередной раз поставили новую аппаратуру, наст роили циски, все перепроверили – ничего не происходит. Грустим.

Тут заходит в гости дядя Вася – местный телефонист. Пьяный в доску.

– Привет ребята. Чё такие грустные?

– Да вот, опять связь нестабильная, пакетики теряем.

– Да не грустите, я вам тут в качестве подарка улучшение сделал.

Нас прямо приподняло над стульчиками.

– Мил человек, а что ты сделал?

– Дык я вам на линию усилок впаял. Чтобы сигнал посильнее был. Так что с вас бутылка.

– А покажи-ка?

– Дык вот же я прямо на кроссе в разрыв и вставил. Усилитель ТЧ (тональной частоты).

Опа, а у нас-то оборудование цифровое!

– Дядь Вась, а какую полосу частот он усиливает?

– ....

– Дядь Вась, вот тебе магарыч. За то, что уберешь свой "усилок".

Конечно же, все заработало. Дядь Васин усилок срезал самый верх несущей час тоты модема. И в результате порядка 10% пакетов терялось. Ни одному нашему спецу даже в буйных фантазиях не представлялось, что каким-то образом может вырезаться часть частоты.

#367: Собрать по кирпичику

16 декабря 2008, 16:45. рейтинг: 764

Работал над одним проектом, который до меня делали другие. Проект достаточно большой, и одна из его частей считывает некоторые данные с базы. Есть возмож ность регулировать дату от и до при считывании. Возникла проблема, из-за которой клиент очень ругался. Если промежуток от и до очень большой, к примеру кто-то захочет считать данные за несколько лет, то скрипт работает нереально медленно, а иногда даже выдаёт таймаут.

Бились над проблемой 3 дня, перелопатили кучу кода, даже нашли некоторые другие баги, которые не имели отношения к проблеме. В итоге наткнулся на кусок кода в том месте, где искать никто просто не додумался:

$res = $DB->getData($query); //считывает данные с ДБ и загоняет в пронумеро ванный массив

$data = new array();

foreach ($res as $key=>$value)

{

if (!$data[$key])

$data[$key] = $value;

};

Все это вместо простого $data = $res;

Что имел ввиду кодер, родивший это чудо, так и осталось загадкой.

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

16 декабря 2008, 20:30. рейтинг: 2043

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

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

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

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

#369: Ничего не изменилось

16 декабря 2008, 20:30. рейтинг: 2642

У нас политика – мы не знаем пароли юзеров. Звонит как-то девушка:

Девушка:У меня почта не приходит в thunderbird..

Я:Сейчас сменю тебе пароль и зайду на webmail посмотрю, что тебе там пришло.

Меняю пароль на 123, захожу на вебмыло, вижу что почты новой нет, отправляю от себя письмо юзеру, на webmail приходит без проблем.

Я:Принимай у себя почту в thunderbird (забываю сказать, что нужно указать новый пароль).

Девушка:О, от тебя пришло письмо.

Я:Как это, пришло письмо?

Девушка:Ну, ты же мне отправил письмо, вот оно пришло, тема – "тест 1".

Я:Я тебе сменил пароль, ты не могла получить почту, не указав новый пароль: 123.

Девушка:Так у меня и был 123...

#370: Все, починил!

17 декабря 2008, 09:00. рейтинг: 2711

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

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