Home

Реклама

Настроить
Дядя Дима
Традиционно на головы свалилась КРИ-2010, которая традиционно пройдет в "Космосе", но нетрадиционно аж в середине мая (млять, неужели будет побит прошлогодний рекорд по снегу????!!!!). Как сообщают организаторы, "основной упор в этом году будет сделан на онлайн-игры, casual-игры и игры для социальных сетей". Бизнес-часть наверняка будет очень интересной, а вот чего ожидать от линейки докладов по программированию, я не знаю. На всякий случай искренне не завидую оргкомитету, которому наверняка придется вычленять редкие бриллианты из потока "как написать hello world на java в контакте". Крупных технических и интересных докладов наверняка можно ждать от флагманов-Аллодов, наверняка от наших консольных команд, ну и еще от пары-тройки известных программистов. Уровень же основного программирования для кежуала и онлайнов заметно ниже, что, впрочем, пока еще почти не сказывается на качестве и количестве проектов.
Собственно, вопрос - о чем бы рассказать на КРИ? О том, как делали, и сдавали Дальнобойщиков 3, говорить не буду, о том - как их защищали - только с позволения Старфорса, о прочем NDA-depends - очевидно, тоже нет. Если есть какие-то идеи и предложения - велкам в каменты. Ну или в личку.
 
 
Current Location: home
 
 
Дядя Дима
28 Январь 2010 @ 09:25
Вопрос, который возник в дискуссии в каментах к одной из прошлых записей - по поводу наличия в коде некоторой библиотеки под кодовым названием "CRT Extension". Назначение библиотеки - общие функции, которыми должны пользоваться программисты вместо прямого вызова CRT API, Windows API и так далее. К этим функциям можно отнести: единый центр протоколирования, ассерты, отладочные и heap'овые менеджеры памяти, функции синхронизации и параллелизации вычислений, виртуальную файловую систему, стандартные классы и темплейты и многое другое (список можно расширять или сокращать в зависимости от специфики разработки ПО, поддерживаемых платформ, компиляторов, внутренних стандартов и приемов программирования).

А есть ли у вас в компании CRT-Extension, которым должны пользоваться программисты вместо прямых вызовов?

Опрос #1517598 CRT-Extension
Открыт: Всем, подробные результаты видны: Всем, участников: 48

Есть ли у вас в компании библиотека типа CRT-Extension?

Показать ответы

Есть, пользуемся.
32 (66.7%)

Есть, планируем избавиться (если можно, в коментах - почему).
0 (0.0%)

Нет, но хочется / планируется.
5 (10.4%)

Нет, и не надо.
11 (22.9%)

Метки: ,
 
 
Current Location: office
 
 
Дядя Дима
27 Январь 2010 @ 11:31
Оформление дизайн-документа архитектурно-строительной документации идет полным ходом. Примерно оно должно выглядеть так, как показано на рисунке; кто желает приезжать на шашлыки, есть возможность покритиковать )))))
Метки:
 
 
Current Location: office
 
 
Дядя Дима
24 Январь 2010 @ 11:48
Наконец-то дошли у меня руки (точнее, ноги), посмотреть на Аватара в 3D. Трехмерные фильмы (и игры, ессно) видел и ранее, тем более сам занимался этой темой, поэтому было вдвойне интересно.
Результаты и впечатления получились следующие:
Read more... )
Метки:
 
 
Current Location: home
 
 
Дядя Дима
22 Январь 2010 @ 00:16
По ссылке из журнала [info]_scorp_ набрел на сайт ru.akinator.com/. Потрясающе. Этот мерзкий джинн отгадал все мои задачки, и только в одном случае (на Архимеде) потребовалась вторая попытка.

На самом деле история не нова. Еще в каком-то далеком 198x году, когда я учился программировать на Бейсике, была программа под названием "Это кот?". Диалог с ней строился следующим образом (болдом выделены вопросы компьютера):

Read more... )
Метки: ,
 
 
Current Location: home
 
 
Дядя Дима
21 Январь 2010 @ 09:50
Стал свидетелем совершенно охренительной сцены. Впервые за последние лет 10.
На перекрестке ул. Грузинский Вал и 2-й Брестской стояла машина ДПС и... штрафовала пешеходов, которые перебегали дорогу по зебре на красный сигнал светофора!
Метки:
 
 
Current Location: office
 
 
Дядя Дима
19 Январь 2010 @ 14:47
Если мы хотим устроить встречу друзей, мы запросто можем организовать это у себя дома. Если планируется встреча одноклассников, то для этого лучше будет арендовать несколько столиков в кафе. Ну и, наконец, если речь идет про общую встречу выпускников ВУЗа, тут ну никак не обойтись без хорошего зала.

Когда речь идет про такие "бытовые" решения, мы как правило, почти безошибочно выбираем правильный вариант. Но как только речь начинает идти про программистские решения, то сплошь и рядом возникают ситуации "встреча трех друзей в Олимпийском" или "сбор всех выпускников МГУ на квартире". Первое ведет к дикому перерасходу ресурсов. Второе - к закритическому падению производительности.

Предыдущая дискуссия про GUID в этом плане достаточно показательна.
Метки:
 
 
Current Location: office
 
 
Дядя Дима
15 Январь 2010 @ 09:26
Вот скажи мне, друзья.

Если приложению требуется последовательность уникальных идентификаторов только на то время, пока приложение запущено (т.е. на время текущей сессии), то почему многие так сильно любят использовать для этих целей GUIDы? Это очень быстро и надежно (как в плане генерации, так и в плане обработки)? Или же просто очень модно? Или же DWORD count++ (с разными вариациями, например, я бы предложил резервировать несколько старших бит под описание характеристик объекта, для которого генерируется такой ID) не устраивает чем-то другим? Или же он просто морально устарел, а?
Метки:
 
 
Current Location: office
 
 
Дядя Дима
11 Январь 2010 @ 13:25
Терминал D (он же Шереметьево 3), из которого я вылетал в Питер 6-го утром и прилетел в воскресенье вечером, вызывает двойственные чувства. С одной стороны, оно больше, новее и заметно лучше старого разваливающего сарая Ш1. С другой стороны, уйма неадекватных впечатлений, особенно по возвращению в Москву.

Read more... )

Интересно, когда же наконец у  нас научатся строить не величественные сооружения типа как новый терминал "в форме лебедя", а функциональные здания, в которых будет удобно и комфортно пассажирам? Когда наконец у нас пропадут дикие парковки у ворот терминала и будет как на западе - первая линия только для погрузки/выгрузки, вторая линия для автобусов, паркинг для автомашин? И почему нельзя было спроектировать здание таким образом, чтобы наконец-то доставка пассажиров из самолета через автобус воспринималось как ЧП, а не как обыденная практика?

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

UPDATED: Прочитал отзывы блоггеров о новом терминале. Епрст, да я со своими претензиями просто счастливчик по сравнению с другими.
Метки:
 
 
Current Location: office
 
 
Дядя Дима
10 Январь 2010 @ 18:38
В конце прошлого года подсел на "Доктора Хауса". Подсел конкретно, смотрю серию за серией. Наверное, в следующей жизни надо будет попросить медицинскую специализацию врача-диагноста )))).

А еще с бодуна мне тут подумалось, что многое из того, что я описывал в рецептах отладки, очень сильно напоминает тяжелые случаи из сериала. Анализ симпотомов, попытки давать приложению лекарство (это не кряки, о которых вы подумали, а попытки вылечить или хотя бы диагностировать смертельно больную exe-шку), анализ новых симптомов... и все снова и снова.
- у игры очень низкий FPS и продолжает падать!
- промерьте загрузку по тредам!
- уже сделано, на втором треде загрузка полная!
- что с памятью?
- память держится на уровне 800 Мб, показатели fage faults в норме!
- ты - сделай анализ VTune. ты - собери статистику по дисковым операциям. тебе - выяснить анамнез. что курили разработчики, и какие книги читали?
...
- по диску проверили, игра постоянно логгирует, до мегабайта в секунду.
- отключите логгирование, посмотрим как она себя ведет. И кстати, уточните, разработчики не делают log reopen после каждого события?
- пришли результаты VTune. Распределение по Execution Time почти гладкое, пиковых функций нет. Как оптимизировать этот ровный слой - абсолютно непонятно.
...
И так далее.

2 Мальцев, только не надо мне снова пересказывать краткое содержание всех серий Хауса в виде:  "Ничо не отрезайте, народ, я ступил! У него не ****рятинка, у него синдром ***плёткина. Покормите его аскорбинкой и через неделю все пройдет!".

Завтра на работу, надо срочно трезветь!
Метки:
 
 
Current Location: home
 
 
Дядя Дима
30 Декабрь 2009 @ 12:44
Главное рабочее за 2009 год - выпущены Дальнобойщики-3. Спасибо команде Софтлаба, главному продюсеру проекта Денису Мальцеву и всем причастным;
Главное личное за 2009 год - продано родовое гнездо в историческом центре Петербурга и куплено 2 новых гнезда - гнездо родителям и гнездо себе в историческом центре Подмосковья :). Спасибо в первую очередь родителям, которые согласились на такой решительный шаг, и всем, кто советовал, помогал, искал и прочее.

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

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

Всех с Наступающим Новым 011111011010 Годом!!!
Метки:
 
 
Current Location: office
 
 
Дядя Дима
29 Декабрь 2009 @ 09:25
В предыдущей части мы рассмотрели компиляцию основного кода с включенной опцией /EHsc. По коментам к предыдущей части - отвечу на справедливый вопрос о замере производительности функций. Итак, для синтетического примера кода с Sample a, b; и func1()/func2() на 100000000 вызовов результаты отличаются примерно на 6% - 980 ms против 920 ms (Core2 Duo 6700 @2.66 MHz). Для примера с Sample a[100] накладных расходов заметно больше - 7597 ms против 4926 ms (разница выполнения - порядка 35%).

Read more... )
Метки:
 
 
Current Location: office
 
 
Дядя Дима
04 Декабрь 2009 @ 17:20
Писать письма, чатиться, отвечать на комментарии, писать что-то в ЖЖ в ближайшие несколько дней не смогу, уж извиняйте. Забинтованная правая рука умеет нажимать только на полклавиатуры сразу :(. Все в порядке, это была плановая операция, но в ближайшее время буду находиться в запое на больничном.
P.S. Хотел еще приколоться и написать, что вживил в правую ладонь микрочип с тач-скрином :)
Метки:
 
 
Current Location: home
 
 
Дядя Дима
03 Декабрь 2009 @ 21:08
Надоело флудить без толку, вернемся к насущному. Поскольку в третьей части обсуждения протоколирования разгорелось несколько совсем нешуточных споров, я напишу несколько отдельных постов, посвященных обсуждаемым вопросам. Сегодня речь пойдет про Exception Handling.

Все приведенные примеры собраны для MSVC 2008 Professional Edition в конфигурации Release. Настройки Release версии слегка изменены по сравнению с дефолтными – убраны buffer security checks и отключена WPO.

Read more... )
Метки:
 
 
Current Location: home
 
 
Дядя Дима
Вот еще из свежих аргументов к предыдущему посту.

> Я нищ, как церковная мышь, поэтому платить за продукцию
> индустрии развлечений просто не в состоянии, увы.
> Торренты - единственная отдушина, через которую могу
> глотнуть свежего воздуха. Без них - хоть помирай от скуки.

Взято из ЖЖ, автора указывать не буду, найдено по ссылке из блогов "дружелюбных профессионалов" (С).
Метки:
 
 
Current Location: office
 
 
Дядя Дима
Последняя неделя проходит под знаком е**нувшегося интернета, в котором главная тема - это поиски кряка для Дальнобойщиков 3. В самом деле, ситуация необычная - игра в торрентах с 21-го числа, с 26-го числа работают сервера активации для предзаказов онлайн-версии, вчера начались продажи дисковой версии. И до сих пор нет кряка!!! Нам уже обещали акции протеста, митинги и подрыв главного здания офиса. Впрочем, полноценного кряка не будет долго, новейшая многослойная система защиты преподнесет еще немало сюрпризов желающим покопаться в ассемблерном коде.

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

Read more... )
Метки:
 
 
Current Location: home
Настроение: crazy
 
 
Дядя Дима
27 Ноябрь 2009 @ 12:00
Логи, часть четвертая.

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

Основой для протоколирования в С/С++ может стать макрос, который на вход принимает следующие параметры:
- уровень протоколирования;
- метка сообщения;
- сам текст сообщения;
- имя файла и номер строки, опционально - имя функции;

Read more... )
Метки:
 
 
Current Location: office
 
 
Дядя Дима
23 Ноябрь 2009 @ 13:39
Как обещал в день рождения, под тегом "тренд" буду писать всякие глупости про строительство коттеджа и переезд на ПМЖ в Подмосковье. Пока что писать особенно не о чем, поскольку продолжается препродакшен. Препродакшен включает в себя:
  • согласование диздока получение документов и регистрация в инстанциях;
  • скетчи, сеттинг и вижуал архитектурный проект. Занимаюсь этим последние 3 месяца, освоил казуальный Google SketchUp почти в совершенстве :);
  • бюджет будщего строительства. К вопросу бюджета подхожу очень тщательно, поскольку у этого проекта нет издателя богатого дядюшки и рассчитывать приходится только на свои силы. Интересно будет сравнить в конце следующего года, что было запланировано и что в результате потрачено на строительство. К выбору middleware поставщиков приступлю после нового года.
По текущим планам, препродакшен будет продолжаться до марта следующего года, first playable, по которому можно уже будет угадать размеры, планировку и т.п. должен будет появиться к концу лета, альфа-версия проекта запланирована на осень 2010 года, бета-версия зависит от апрувалов разрешений на подключение к коммуникациям, и, как надеюсь, будет выпущена в конце следующего года. Мастер-версия должна появится весной 2011 года, в лучших традициях современного геймдева строительства потом будет аддон вторая очередь, в которую войдут: зимний сад, сауна, камин и исправление критических багов, найденных в мастер-версии :)

Про логи - завтра будет финальная часть.
Метки:
 
 
Current Location: office
 
 
Дядя Дима
17 Ноябрь 2009 @ 14:23
Чтобы чуть-чуть отвлечься от ругани в комментариях про третью часть логов, напишу провокационно-отвлеченное. Опять про мои любимые синглетоны.

static Obj* instance()
{
    static Obj obj;
    return &obj;
}
_Winnie C++ Colorizer

Взглянем на ассемблерный код:

Взглянем )
Метки:
 
 
Current Location: office
 
 
Дядя Дима
16 Ноябрь 2009 @ 11:45
Мы разобрались, что такое лог-менеджер и что такое уровни протоколирования. В третьей части речь пойдет об анализе логов. Никакая теоретическая подготовительная работа "что и как надо логгировать" не заменят задач по наполнению логов действительно осмысленной информацией. И эта работа должна предшествовать периоду, когда приложение отчуждается от разработчика.

Read more... )
Метки:
 
 
Current Location: office
 
 
 
 

Реклама

Настроить