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

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

139

Некруглое число

Разговор со знакомым:

- Тебе говорит о чем-нибудь число 32 767?

- Ну конечно )

- А нашим программистам нет.

- ?

- У них на заводе линия останавливается. Они говорят, что номер заказа доходит до определённого числа и больше не работает. Ну я им говорю, посмотрите, может число какое-нибудь круглое... Да нет, говорят, 32 767.

Ну да, действительно, некруглое!

138

Последняя ошибка

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

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

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

На вопрос, что же случилось, хватает за руку и тащит к компьютеру. Открывает давеча отредактированный напарником проект, открытый и официально анонсированный в сети и тычет пальцем, а там... там логин и пароль администратора домена (а это - доступ к 13 локальным серверам и 10 удалённым в регионах, доступ ко всем админкам интранета - щёлкнуло у меня в мозгу), в коде ошибки framework`a. В двух других им редактированным проектах такая-же фигня.

Оказалось, что этому герою ничего лучше не пришло в голову, как включить в web.config строчку , для того чтобы писать в файлы на сервере, и при этом он умудрился сделать ошибку в написании домена, что и вызвало ошибку. Вывод ошибок он, конечно же, не закрыл.

Возвращения напарника из отпуска мы все ждали с нетерпением.

Люди - если ваша программа компилируется, это не значит что она работает!

137

Чтобы жизнь медом не казалась.

Отлаживаем настольное приложение: через ПЛК производства %bigcompanyname%, и их же высокоуровневый TCP-интерфейс на .net управляем роботом.

Робот - здоровая машина, если поедет не туда, мало не покажется. А координаты, куда ехать, посылаем как раз мы. Там, X, Y, Z, еще какие-то служебные параметры, и в конце этой последовательность - служебный флаг, типа, готово, двигай. И двигает. Но изредка не туда, хорошо хоть на тестовой скорости успевали останавливать.

Отлаживали недели 3, все перекопали, и чувствуем уже, вроде не у нас проблема, хотя так почти никогда и не бывает. Вызвали суппорт %bigcompanyname%. Оказалось, что "наш интерфейс не гарантирует последовательность доставки параметров" - "а почему?" - "оптимизация пакетов". На TCP. Вот так.

Посмотрел в послужной лист этой конторы, стало страшно жить. Там даже атомные электростанции есть.

134

Как бы не работать - лишь бы не работать.

Работаю в IT-компании, занимающейся разработкой ПО для автоматизации разных видов деятельности. В одном из программных продуктов возникла необходимость использования справочников кодов ОКВЭД в полном объеме.

У каждого кода есть наименование. Почему-то отдел разработки и аналитики посчитал, что 100 символов вполне достаточно. Реальную длину наименований они при этом проверить забыли. Соответственно, часть наименований банально не помещается, а необходимость заливки в рабочую БД уже очень актуальна.

Аналитики начали бурно думать.

"Давайте зальем то что помещается, а остальное выкинем" - т.е. выкинем из федерального справочника коды, которыми пользуются люди.

"Надо серьезно подумать над этим вопросом и серьезно рассмотреть эту возможность" - выкидывания ненужных кодов, ага.

"А потом когда поправим...", - невероятно сложный и долгий процесс!, - "...уже зальем остальное" - а потом будем кажому клиенту переставлять программу.

Это было бы смешно...

129

Встреча миров

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

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

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

Когда выяснилось, что клиентская программа - это не то что обращается к серверу, а специальный договор для клиента компании, и что у слова сервис есть еще один смысл, я понял, что прикоснулся к параллельной вселенной.

Ребята, отходить от компа и понимать язык непрограммистов - это так познавательно...

119

____ ___ ______ - _____!

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

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

То есть $attempt_no = $___, $email = $____, $login = $_____, $pass = $______, crypt() = ____() и так далее.

Представляешь себе код?

if ($____) $_____ = ____($_____);

$_______++; $____ = '';

return $_____;

Сиди и читай, если так хочется.

112

Особая, контроллерная магия

Сижу, разбираю программу по работе. Нужно немного переделать, читаю код. В коде нет ни одного комментария, читается с трудом.

Задумался, что ну ведь не сложно же написать пару слов, и всё будет понятно.

А потом вспомнил.

Не всегда всё будет понятно.

На прошлой работе как-то встретил такое в прошивке для контроллера AVR:

if (cmd[1] == RESET) // если принятая команда RESET

{((void(*)(void))0)();} // что-то из черной магии

97

Страх и ненависть на сервере.

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

Это были вампиры.

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

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

92

Осторожно, рыба!

Год назад писал тестовое задание для %companyname%. Задание было несложное: отображение дерева элементов из базы данных с использованием AJAX.

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

alert ('Процесс секса JS,PHP и MySQL начат. Скоро будет новый бэби');

var child_name = prompt('Как Вы желаете назвать малыша?', 'Имя ребенка');

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

В ответ:

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

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

87

Сила очепятки

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

По закону подлости в фирму удалённого системного администрирования приходит заявка:

«Здравствуйте.

Все должно работать так-то и так-то. Просьба снести соответствующие изменения. Спасибо»

Особо не задумываясь, программисты СНОСЯТ последние конфиги сервера.

Интернет умирает.