Читать «Bash IT Happens Истории ## 8501 – 8600» онлайн - страница 34

Bash.org.ru IT

Грабанули коллегу моего. Только странно грабанули. Айпад, лежавший на видном месте, не тронули. Плазму не тронули. Деньги не тронули. Комп, собранный всего год назад, не тронули. Драгоценности жены не тронули.

Исчезли всего две вещи: адаптер USB-LPT и подключённый через него матричный принтер. А вскоре на столбах нашего городка появились объявления, на нём же и распечатанные, о его продаже.

Пятьдесят тыщ за него хотят. Ох и наивные воришки! Принтер, конечно, древний, но не настолько ведь…

#8583: Коммит лыж в ёлку

15:00 22.02.2012, IT happens

Суббота. Разгильдяи отрабатывают накопившиеся за неделю опоздания (у нас с этим легко, лишь бы к концу месяца время сходилось). Лезут в SVN и обламываются. Вызванивают админа, вызванивают других сотрудников, наслаждающихся выходными, и понемногу выясняют причину. В пятницу вечером программист, уходивший последним (целый начальник отдела), своим апдейтом поломал дерево SVN. Делать нечего — приехал админ, восстановил из четвергового бэкапа. До виновника дозвониться не смогли: уехал кататься на лыжах.

Понедельник. Виновник весь в синяках и хромает. Оказалось, в субботу врезался в ёлку. Сломал и лыжи, и дерево.

#8584: Ме-е-едленные методы

16:45 22.02.2012, IT happens

Смотрю код высоконагруженного сервера. В ядре обсчёта вижу код типа:

func() {

ObjectGame* OG=MainOG;

while(OG->next!=NULL)

{

ia=(int*)OG+12;

i=*ia;

/* что-то делает*/

*ia=i;

/* код функции, внутри функции ia претерпевает различные изменения*/

OG=OG->next;

}

}

С большими глазами иду к прогеру, который это всё написал. Спрашиваю: почему он не пользуется методами Set и Get, и вообще, почему именно 12 байт?

На что он мне отвечает: «Внутри кода функции есть ветвящийся цикл, в котором перебираются многие параметры объекта. Если пользоваться методами Set и Get, а это переход по адресу, причём у каждого объекта он свой, конвейер процессора офигеет и сбросится. Это плюс 30 тактов на каждый переход. Всего таких объектов в секунду надо обсчитать порядка нескольких миллионов. Частота ядра — три миллиарда операций в секунду. Отсюда вывод: идите вы лесом со своим ООП!»

#8585: Помним о потомках

13:00 23.02.2012, IT happens

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

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

По сей день ещё не все ошибки исправили. За 2,5 месяца вышло восемь (!) патчей. Сейчас с интересом изучаю список изменений. Понравилось:

Исправлено ошибочное начисление за аренду в открытом периоде на 1000 лет до 3000 г.

#8586: Daemons vs. Zombies

13:00 23.02.2012, IT happens