суббота, 23 мая 2015 г.

[prog.idiotic] На RSDN-е жгут не хуже LOR-а: нет памяти -- грохай приложение!

Вспоминается одна ошибка, с которой столкнулся несколько лет назад. Ошибка была допущена при парсинге бинарного протокола. Из-за чего иногда (может раз в неделю, может два) переменная типа uint32 принимала слишком большое значение. Это значение передавалось в new для выделения нового блока памяти. Естественно, когда в 32-битовом приложении new пытается выделить три с гаком гигабайта памяти, то это, обычно, заканчивается исключением bad_alloc. Но, т.к. это было исключение, а не вызов abort-а, ничего страшного не происходило. Просто диагностировалась проблема на уровне коннекшена, этот коннекшен грохался, устанавливался новый и работа продолжалась. При этом никакого пагубного влияния на другие коннекшены, которые обслуживались приложением (а их было несколько десятков), не было.

Но, видимо, это от того, что я не знал, что если память не удалось выделить, то это крах программы и исключения не помогут ;)

пятница, 22 мая 2015 г.

[prog.flame] Для чего я до сих пор влипаю в форумные разборки?

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

четверг, 21 мая 2015 г.

[prog.idiotic] LOR продолжает радовать. На этот эпично про размеры программных проектов

Прошу простить мне мое старческое брюзжание, но мне в бытность зеленым студентом, 25 лет назад, не приходило в голову сомневаться, что размеры программных проектов превысили возможности отдельного разработчика за много лет до этого. И какой же узкий кругозор нужно иметь сейчас, в эпоху проектов масштаба Linux, FreeBSD, Eclipse и т.д., подвергать это сомнению?

среда, 20 мая 2015 г.

[life.nature.photo] Фото с птичкой за окном больше не будет...

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

Напоследок еще несколько фотографий о том, как все было мило и трогательно еще вчера...

[prog.sadness] Стал гораздо лучше понимать Гоблина-Пучкова...

...когда он говорит о малолетних дебилах. Чем старше становишься, тем лучше это понимаешь и тем сильнее жалеешь о времени, которое по той или иной причине вынужден был потратить на общение с оными.

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

понедельник, 18 мая 2015 г.

[life.nature.photo] Совсем свеженькое, орнитологическое :)

Продолжение истории птичьей семьи, обустроившей свое гнездо в 3.5m от нашего балкона.

Когда видишь снимки подобного рода в естественно-научных журналах, то это совсем не то ощущение, чем когда предоставляется возможность самому сфотографировать что-нибудь подобное. Правда, проблема поиска хотя бы 300mm объектива становится все более актуальной :(

[prog.c++11] SObjectizer 5.5.5-rc1

Первый релиз-кандидат версии 5.5.5 зафиксирован в виде тега. Кто хочет поучаствовать в его тестировании может взять 5.5.5-rc1 из SVN-репозитория на SF или из git-а на GitHub-е.

Описание нововведений версии 5.5.5 можно найти в Wiki проекта.

Релиз версии 5.5.5 должен состоятся в течении недели-двух.

воскресенье, 17 мая 2015 г.

[prog.c++11] В SObjectizer-5.5.5 не будет приоритетов доставки

Первоначально планировалось, что в SO-5.5.5 войдет реализация приоритетов доставки сообщений. Однако, в процессе поиска подходящего решения сложилось ощущение, что приоритеты не получится добавить в SObjectizer без изменения некоторых интерфейсов. Поэтому принято решение выпустить версию 5.5.5 прямо сейчас, а приоритетами заняться уже после релиза 5.5.5, при подготовке версии 5.6.0.

Сегодня стартуют работы по подготовке SO-5.5.5 к релизу. Код будет зафиксирован в виде тега 5.5.5-rc1, после чего начнется подготовка нескольких презентаций. Одна из них будет рассказывать об особенностях версии 5.5.5 (в Wiki проекта уже есть текстовые описания). Вторая будет продолжением презентации Dive into SObjectizer-5.5 и в ней речь пойдет о некоторых возможностях SObjectizer, которые не были описаны в первой части. Ориентировочно, на все про все должно уйти неделя-полторы. Потом состоится официальный релиз. Если за это время в коде 5.5.5-rc1 будут найдены какие-то проблемы, то после их устранения будут созданы дополнительные релиз-кандидаты.

PS. По поводу второй части "Dive into SObjectizer-5.5". Сейчас в ней планируется осветить такие темы, как состояния агента, дочерние кооперации и периодические сообщения. Если кто-то хочет увидеть во второй части какие-то другие темы -- оставляйте свои соображения в комментариях, попробуем учесть.

PPS. Некоторые предварительные итоги поиска способов реализации приоритетов доставки зафиксированы здесь. Как обычно, любые соображения/замечения/предложения всячески приветствуются. Сейчас уже нет особой спешки в работе над приоритетами, так что есть возможность спокойно и обстоятельно обдумать разные подходы и варианты.