bash.im ithappens.me zadolba.li

Индийский код

6946

Точка с запятой

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

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

«Странно», — подумал я, но девочка из ПФР оставила ман в сто страниц А4. Решив начать по-хорошему, я сел и стал его вдумчиво курить. Где-то на 40-й странице я наткнулся на указание сменить стандартный разделитель целой и дробной частей в винде на запятую, иначе программа не будет работать. Открыл, смотрю — ага, всё верно. Сменил на точку — программа ФОМС заработала, но перестала работать программа ПФР, выдавая всю ту же ошибку сохранения данных. Теперь пожилая женщина-кадровик обучена переключать разделитель, а я проникся небывалой нежностью к отечественным программистам.

6888

Рабочая виза обеспечена

Занимательно проходили у нас в школе уроки информатики на стареньких БК. В основном изучали предмет самостоятельно: алгоритмы, методы сортировки; баловались и играми на Бейсике.

Не знаешь какой-то оператор? Выкручивайся. Обычным делом было, например, пропустив изучение оператора позиционирования при печати (PRINT AT 10, 10), сдать задание, выводя десять раз перевод строки и нужный текст через пробел.

Шедевром была программа «крестики-нолики». Не придумав более-менее подходящего алгоритма ходов компьютера, мы начертили схему со всеми возможными ходами. Всего-то в 900 строк уложились. Хорошо, не возникла идея писать шахматы. Первый запуск не удался: сохранять программу на допотопной технике было нельзя, а к концу занятия, когда код был почти набран, кто-то дёрнул рубильник.

Так русские школьники и затыкали за пояс индусских программистов.

6663

Без европейской ерунды

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

Приходит от доблестных индийских коллег письмо: «Ни фига не работает». Просим рассказать подробнее. «Ну, мы отправляем запрос на резервацию, а получаем ошибку». Что за запрос, что за ошибка — догадайтесь, мол, сами. В конце концов уговариваем прислать целиком запрос и получаем… XML в формате BMP. Фигеем, ржём, ругаемся, смотрим, сверяем, находим их баг, отвечаем.

И так — несколько раз в неделю на протяжении чуть ли не полугода. Причём 90% ошибок — на уровне «скопировали пример и забыли заменить значения там и здесь» или «пропустили несколько значений, а зачем они — и так сойдёт».

В разгар кризиса заказчик ушёл от нас к индусам (не тем, но разница оказалась невелика): дескать, они дешевле и меньше всякой ненужной ерунды хотят. В самом деле, ну на фига на продакшн-сервере проводить аудит безопасности и настраивать всякие там iptables? Только затем, чтобы лишних денег стрясти.

Ушёл заказчик — а через год в ужасе прибежал проситься обратно. Был послан на все четыре стороны нашим начальством, ибо нефиг.

6646

Глюки без инъекций

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

Свинью подложил абонент по фамилии Логинов. Передаём пламенный привет разработчику-индусу!

6578

А леший его знает

Нашёл на просторах интернета виджет для стартовой страницы Яндекса с игрой «Кто хочет стать миллионером». Дай, думаю, поставлю. Установил, читаю первый вопрос: «В русских сказках медведя именовали…» Секунду колеблюсь, не ответить ли «Борис Николаевич», но выбираю-таки правильный вариант.

Текст, появивишийся после нажатия кнопки, сразил меня наповал: «Нет, вы ошиблись. Правильный ответ: undefined».

После ещё двух вопросов с таким же результатом виджет был снесён. Привет индийскому кодеру, который узнал свой творение!

6541

Четырежды включённый считать выключенным

Говорите, Виндоус нелогичен? Чтобы выключить, надо кнопку «Пуск» нажать?

Читаем руководство по эксплуатации гамма-радиометра «Атомтех РКГ-АТ1320»:

5.8.1. Кнопка ВКЛ служит для включения и отключения радиометра. Для отключения радиометра следует три раза нажать на кнопку ВКЛ. На экране появится сообщение: «Выключить прибор?» Необходимо ещё раз нажать кнопку ВКЛ, и после этого произойдёт отключение радиометра.

Какие уж тут индусы…

6387

По ту сторону нуля

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

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

var dig: Integer;
<…>
dig := dig − (dig * 2);

6266

С макросом if(false)

Пишу программу для сдачи в институте. Работаю под Убунтой — мне так удобней, меньше отвлекающих вещей. Потребовалось установить одну вещицу из «Центра приложений». Запускаю его и вижу в списке рекомендуемого софта на втором месте индийскую экранную клавиатуру. Неужели это ждёт и меня?

6197

После нас хоть дефолт

Работал в 2003 году на крупном заводе программистом. Вся бухгалтерия велась в системе, написанной руками программистов этого же завода. Любые изменения в законодательстве становились руководством к действию для всего программерского отдела — без дела сидеть не приходилось. Язык программирования, на котором писалось всё это чудо, был гениальным изобретением какой-то фирмы из Караганды. Выучить весь язык наизусть можно было за неделю, особо не напрягаясь; косяки этого языка — за месяц; ещё месяц уходил на исследование косяков документации. Весь отдел состоял из женщин средних лет и вчерашних студентов.

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

К следующему году расчёт налогов стал выдавать конкретную галиматью. Разобраться в этом поручили мне. Открыл программу — и в глаза бросилась строчка типа if(year == 2003). В общем, судя по программе, после 2003 года завод мог налоги не платить. Cтало страшно: казалось, над городом нависла угроза энергетического кризиса.