Истории с тегом: индийский код

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

7769

Тренируйтесь на кошках

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

Сейчас же, видать, в Росавиакосмос пришло более «продвинутое» поколение. Больше не спрашивают — тренируются на запусках ракет.

7484

Индийский код в особо крупных размерах

Моделирую в CAE. Ansys — программа старая, проверенная. Настал момент, где нужно задать свойства материала через консоль. Набираю, ввожу — ошибка. Проверяю, набираю, ввожу — ошибка. Суть в том, что не заданы параметры материала в зависимости от изменения температуры. Курю мануалы, смотрю форумы по САПР — ничего нет. Из мануала вытаскиваю загогулину, вставляю её в код, ввожу, запускаю — ошибка.

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

Видели бы вы мои глаза, когда в письме с заголовком «Вставить в код для запуска» я увидел матрицу 100×100, состоящую из нулей!

7459

Индусы узкоглазые

Страдаю третьи сутки: не собирается динамическая библиотека. Не абы какая, а для сильно кривого линукса на очень дорогой и нестандартной железке. Половина кода в этой либе написана нами, другая часть присылается из-за бугра в виде объектных файлов. Секретность, ети её, у наших восточных друзей превыше всего — а вдруг мы про оператор if узнаем?

При линковке лезут конфликты. Несколько переменных одновременно определены в разных объектниках. Ладно, думаю, может, лишнее что прислали? Начинаю выкидывать объектные файлы по одному, потом по два и так далее. То не хватает чего-то для линковки, то перебор в виде означенных переменных. На третьи сутки занятий комбинаторикой не выдерживаю и через своё руководство обращаюсь к партнерам. Приходит ответ: «Установите в линкере флаг „Разрешить множественные определения“». То бишь прикажите машине игнорировать ошибку.

Никакие они не японцы. Индусы узкоглазые, блин.

7254

DROP SCRIPT

Дали мне на неделе PHP-скриптик на оптимизацию. Скриптик простенький, предназначенный для переноса информации из XML-файлов в SQL-базу, хотя и в промышленных масштабах. Только предоставленый вариант выжирал подчистую всю предоставленую ему оперативку и сдыхал, обработав пару десяков файлов из нестольких тысяч. И это должно было обслуживать сайт одного из главных государственных судов!

После полутора суток разбора скрипта решил переписать с нуля. Опитимизировать было нечего: количество запросов превышало необходимое в десять раз, база вообще не имела индексированных полей. А хуже всего то, что горе-прогеры банально не знали SQL UPDATE, и код был испещрён командами DELETE и INSERT.

7148

Распечатают, распознают, разберутся

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

Автор, наверное, приличный человек. Бывает, что возникает необходимость документ не только на печать пульнуть, но и в электронном виде получить. Экспорт имеется — как же без него? С гордым названием «Сохранить в файл». В Эксель, ага. Один символ — одна ячейка. И так несколько печатных страниц.

7147

Десять символов и один тролльфейс

Коллеги, спешу поделиться. Возможно, однажды это спасёт вам полчаса жизни.

Попросили сбросить пароль пользователя в 1С у клиента. Я далеко не спец по ней, но наивно посчитал, что справлюсь.

Подключаюсь по RDP, меняю пароль на юзера — не подходит.

Пробую из буфера и руками — не подходит.

Выгоняю всех из базы — не подходит.

Смотрю на язык и капс очень внимательно — не подходит.

Пробую очень-очень-очень внимательно ещё много раз — не подходит.

Частью желаемого пароля является фамилия юзера. Закрадывается подозрение на защиту от простого пароля. Меняю местами две буквы. Не оно. Пробую поставить 12345 — подходит. Истерически смеюсь.

Путём экспериментов выясняется: максимальная длина пароля — 10 символов, а у меня 11. Ни с клавы, ни из буфера последний символ не вводится, а просто молча отбрасывается. Чтобы это понять, надо внимательно смотреть на звёздочки. А вот при попытке логина кушаются спокойно все 11 символов и сверяются с десятисимвольным паролем.

Будьте начеку с жёлтой программой. Всем удачи — и берегите нервы.

7074

Небоскрёб на ровном месте

Господа, вам нечем заняться? Учитесь у котов или у собак. Вы хотите почувствовать себя круче, чем вы есть на самом деле? Сделайте себе операцию — говорят, сейчас его можно удлинить на пару сантиметров. Может, это избавит вас от комплексов? Это уже не мода — это массовая шизофрения, одержимость небоскрёбными городушками на пустом месте. Я понимаю быдлокодеров, которые должны доказать свою нужность и стараются навалить кучу побольше. Я понимаю не разбирающихся в предмете гламурных менеджеров, которые занимаются имитацией бурной деятельности: чем сложнее и черезжопнее решение, тем дороже продашь, ибо клиент — идиот. Вы крысы и кровососы, подрывающие отрасль, но у вас хотя бы есть мотив, который я отлично понимаю. Но опенсорс! Писать драйвер клавиатуры на XML и переключение раскладок делать через восемь уровней модификаторов — вам руки есть не мешают, в задницу ложку не тычут?

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

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

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

Вы не просто задолбали — вы практически уничтожили отрасль. Райзера с топором на вас нет.

7070

Поиписькапосчитайка

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

Видно, что код не быдлокодер писал: красиво, с чувством, толком, интонацией и документацией. Только со странностями небольшими. Автор, видимо, очень любил покурить или покушать чего весёлого. Так, например, обнаружились стандартные настройки идентификатора статьи, который был объявлен так:

// Поиписькапосчитайка *_*

$this->art_id = 0-1+11-111+101-1-101-1-101-11-1-11-111+11-1-0;

В качестве солей для хешей использовались фразы: «Потцан_с_района», «Билли Гейтс», «Пельмени», «Хочу смотреть Дом-2».

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

$желаемая_оплата = "1000 баксов";

$мне_обещали = "300 баксов";

if($желаемая_оплата != $мне_обещали) {

// Немножко индусской логики

$a = 0;

$b = 0;

$a = $b;

}

7051

32 мая

Решил сегодня после работы заскочить в отдел Сбербанка по работе с юрлицами. Отдел работает до 16:30. Так как батарея на телефоне села (вот она, характерная примета современного поколения!), я не знал, успеваю или нет.

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

7036

Paste — конструктор, Cut — деструктор

Обоснование индусского кода, выданное очень опытным и со всех сторон классным специалистом:

— Зачем нужно модульное программирование, если есть блочное копирование?