[bash.im] [IT Happens] [zadolba.li]

IT Happens

Клиент и саппорт. Разработчик и заказчик. Программист и программа. Вести с фронтов.
17161514131211109• • •321

#8150: Маленькое чёрное платье.gif

28 декабря 2011, 16:45

рейтинг: 628

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

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

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

 

#8124: Никакого волюнтаризма

26 декабря 2011, 09:00

рейтинг: 691

Как же достала эта святая вера в неизменность настроек по умолчанию!

Сделай диск С: размером в 3—5 ГБ, переназначь %TEMP% и %TMP% на раздел побольше, и… И фиг ты извлечёшь большой архив или поставишь новую игрушку. Почему? Правильно: потому что программы упорно продолжают использовать C:\Windows\Temp в качестве временного хранилища. И ладно бы там всякие поделки, но продукция компании NCsoft?

Задолбался. Сделал С: размером 15 ГБ.

 

#7968: Ни дня без развлечений

7 декабря 2011, 11:00

рейтинг: 414

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

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

Алгоритм протестирован, выдаёт верные результаты. Остаётся скромный допилинг до практически готового скрипта. Добавляю функцию из стандартной библиотеки, запускаю программу в режиме отладки… Окно «Unexpected error occured» вместо правильных результатов. Проверяю циклы, исключаю возможность бесконечной рекурсии, тестирую заново — то же самое.
Строчку кода, добавленную перед последним тестом, нафиг в комментарий:

// output = ini_read_string('res', string(global.resource_files[argument0]), '');

Та-дам! Алгоритм работает. Синтаксис верный, типы параметров совпадают — что неладно? Убираю комментарий, заменяю функцию, передающую в параметр строку, простой строкой вида:

output = ini_read_string('res', 'untitled.jpg', '');

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

Спасибо вам, дорогие индусы-разработчики! Без вас было бы так скучно!

 

#7778: Айтишники лома и кувалды

15 ноября 2011, 11:00

рейтинг: 2316

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

* * *

Эффект присутствия, говорите? Было, знаем. Есть манёвровый тепловоз, который отказывался работать со всеми машинистами, кроме одного. Долго думали, но таки отыскали причину. Дело тут было вовсе не в присутствии, конечно, а в том, что машинист этот имел привычку работать стоя. При чём тут это, спросите? А всё просто: под сидением протёрлась проводка, и как только кто-то на него садился, получалось КЗ.

* * *

Баг на баг равно исправность, говорите? Тоже бывало. Стояли на запасных путях две секции от разных электровозов, списанные по причине полной неисправности: не работало абсолютно всё. Тут стоит сказать, что на таких электровозах секции равнозначны, то есть могут ездить по отдельности. Ну так вот, как-то взяли их и соединили. И что бы вы думали? Поехали! Правда, половина систем не работала, а те, что работали, ломались через раз, но важно, что они вообще сами стронулись с места.

* * *

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

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

* * *

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

Вот вам и айтишники лома и кувалды.

 

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

14 ноября 2011, 12:45

рейтинг: 734

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

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

 

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

11 октября 2011, 11:00

рейтинг: 584

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

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

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

 

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

7 октября 2011, 12:45

рейтинг: 933

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

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

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

 

#7254: DROP SCRIPT

14 сентября 2011, 11:00

рейтинг: 635

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

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

 

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

1 сентября 2011, 12:45

рейтинг: 694

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

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

 
17161514131211109• • •321
 
новости
15 и 16 мая 2012 года в Москве состоится четвертая по счету CloudConf — профессиональная конференция для российских разработчиков, провайдеров и пользователей облачных технологий. Мероприятие проводится с 2010 года, организатор — компания Softline. Участников ждут новые выступления международных и российских докладчиков, специализированные секции, а также вручение премии Cloud Award 2012.
текст или номер истории
реклама
обратная связь
Хотите разместить рекламу?
Информация для рекламодателей.

Вопросы, предложения, что-то не так на сайте? Пишите в саппорт!
на сайте
Утверждено: 9105
Сегодня: 5
В рассмотрении: 2239
тэги
лучшие последних семи дней
10: #9173 (1482) - т__т
статистика
Рейтинг@Mail.ru