#7290: Бензобак для троллейбуса
15:00 18.09.2011, IT happens
Пишем СПО для сложного аппаратного комплекса, состоящего из нескольких вычислительных модулей, оптимизированных под выполнение узкоспециализированных задач. Модули общаются между собой по общей шине, протокол обмена описывает 256 управляющих слов, с каждым из которых до 12 параметров, которые зависят от режима работы комплекса (их 15). Итого — порядка 10 тысяч уникальных параметров, жёстко привязанных к железу.
СПО для каждого модуля в силу специфичности делает своя лаборатория. Когда комплекс собрали, он оказался более-менее работоспособным — за исключением одного модуля.
Причину нашли почти сразу. Как формируют параметры перед отсылкой? Программист обнуляет все биты управляющего слова и формирует набор параметров с соответствии с режимом работы. Что должен сделать программист на том конце? Правильно: определить режим работы и прочитать нужные параметры.
Их программист сделал иначе. Он считывал из шины все управляющие параметры во всех режимах, проводил над ними сложные вычисления, а потом определял режим работы и выбирал нужные. В результате 75% его процедур вычисляли формулы типа sqrt(?1)/0.
Гениальным было и предложение по устранению проблемы. «А вы не могли бы формировать неиспользуемые параметры такими, какими они были бы, если бы они использовались?» Угу, только параметры к железу привязаны. Рассчитайте-ка нам объём бензобака для троллейбуса, чтобы на нём можно было проехать 200 км по горному серпантину, а?
#7291: Когда белое станет чёрным
13:00 19.09.2011, IT happens
Нашёл в коде студенческой лабораторной:
bool rakNaGore = 1;
bool svistnet = 0;
while (rakNaGore != svistnet) {
…
#7292: Совесть не мучает?
13:00 19.09.2011, IT happens
Столкнулся и я с пиратским чувством юмора. Часть содержимого Сrack/readme.txt для JBuilder 8:
Если всё прошло успешно, поздравляем: вы успешно преодолели тщетные попытки CodeGear защитить свою интеллектуальную собственность, нарушили действующие законы об авторских правах и лишили CodeGear некоторых доходов. Устройтесь поудобнее и расслабьтесь — власти придут за вами в ближайшее время. Может быть… :)
#7293: Восемь миллибит
13:00 19.09.2011, IT happens
Являясь давним клиентом провайдера и пользователем только безлимитных тарифов, я никогда не смотрел свою статистику. Сегодня, после очередной оплаты, решил полазить по личному кабинету и поглядеть, что вообще можно через него сделать. Интересно было посмотреть, сколько я всё-таки потребляю трафика в месяц, при безлимите-то… Увиденное несколько повергло в шок.
Ethernet traffic incoming 102961,330381222 MB
Ethernet traffic outcoming 69675,60780818 MB
Подсчёт трафика осуществлялся с точностью до тысячных долей байта! Так и до Нобелевки недалеко.
#7294: Бригада трезвых грузчиков выедет к заказчику
13:00 19.09.2011, IT happens
В диких девяностых я работал на одну контору. «Маски-шоу» тогда налетали, как месячные у студентки: нерегулярно, но стабильно и часто. Рубильник, гасящий компы всей конторе, затёрся, а товарищ, на нём сидящий, задёргался и начал грозиться увольнением.
Шеф предложил системники аккуратно «встроить» в столы, а на видные места поставить пустые корпуса. Ну как пустые — доверху засыпанные строительным мусором, который у нас с ремонта остался. Полный набор входящих проводов и кабелей мы обеспечили — кто там будет смотреть в «паутине», откуда что идёт?
Февраль, питерский двадцатиградусный мороз. Залетают злющие «маски», вся сеть гаснет. Вспоминая наших матерей, замёрзшие и озверевшие мужики в форме выносят пудовые системники в неизвестном направлении.
#7295: Уроборос, или Не нужна мне жена
15:00 19.09.2011, IT happens
Все знают, как трудно бывает понять проблему, когда её описывают в терминах типа «тут у меня что-то пищит». Но бывают перлы и почище.
Как-то раз звонит один из пользователей: «Я сам в себя войти не могу!» Оказалось, не мог получить доступ к своей папке на сетевом диске. Фраза у нас стала крылатой.
#7296: Белый шум с подозрительным акцентом
15:00 19.09.2011, IT happens