суббота, 22 августа 2015 г.

[life.music] Пара знаковых музыкальных новинок этой осенью

Внезапно узнал, что этой осенью ожидается выход двух новых альбомов у очень любимых мной музыкантов.

18 сентября свой очередной сольный альбом выпускает Девид Гилмор. Заглавная композиция Rattle that Lock уже доступна для ознакомления.

А 16 октября должен выйти новый альбом Жана Мишеля Жарра. Несколько композиций из него есть на YouTube. Самая забойная, имхо, Stardust, навевает воспоминания об одном из самых сильных альбомов Жарра -- Chronologie. Более-менее ничего слушается и Conquistador. А вот в Zero Gravity, сделанной совместно с Tangerine Dream слишком много от Tangerine Dream :)

В общем, жду с нетерпением.

PS. Оба музыканта уже давно пенсионеры, если брать по советским меркам. Жарру буквально через пару дней стукнет 67, Гилмору уже 69. Как по мне, так это просто чудо, что они еще выдают что-то новое, да еще и приличного качества.

PPS. А ведь в следующем году исполнится 40(!) лет эпохальному альбому Жарра "Oxygène".

пятница, 21 августа 2015 г.

[prog.sobjectizer.thoughts] It's all about in-process message dispatching или...

...может быть уже пора отвязывать SObjectizer от Actor Model?

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

среда, 19 августа 2015 г.

[prog.c++11] Еще один новый, большой пример для SO-5.5.8

Для демонстрации нового диспетчера, в котором приоритеты агентов используются для раздачи квот на количество обрабатываемых за один раз событий агента, в SO-5.5.8 добавлен новый пример. Пример получился довольно большим, около 800 строк. Мне этот пример кажется простым и понятным. Ну да, всего 800 строк простого и понятного кода ;)

Но вдруг это не так для сторонних наблюдателей?

Если кому-то интересно, то код примера с небольшими пояснениями размещен под катом. Любые замечания/предложения/соображения/идеи приветствуются. Сам я готов дать любые пояснения и разъяснения. Если получится обсуждение и пример в итоге станет лучше (компактнее, понятнее, выразительнее), то это будет просто очень круто и здорово.

понедельник, 17 августа 2015 г.

[prog.с++11] Шаблоны против копипасты-2 :)

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

[prog.c++11] SObjectizer обновился до версии 5.5.7.1

Совсем небольшое bug-fix-обновление SO-5. В версии 5.5.7.1 исправлена очень древняя ошибка, которая жила в коде, как минимум, с мая 2013-го. А скорее всего и того больше. Эта ошибка в очень специфических ситуациях могла приводить к краху приложения при вызове environment_t::stop(). Насколько мне известно, в дикой природе это баг не встречался :) Тем не менее, раз попался на глаза, то был отслежен и отловлен :)

Версия 5.5.7.1 может быть взята из Svn, из Git, или загружена с SourceForge.

PS. А вы внимательно читали документацию к std::condition_variable::wait? ;)

PPS. Работы над 5.5.8 идут полным ходом, без выходных и проходных :) Хотелось бы успеть сделать релиз к концу августа. Но не факт, что успею.

воскресенье, 16 августа 2015 г.

[prog.thoughts] Дело не в кодерстве, а в магии, присущей инженерной деятельности...

Начал было писать ответ к комментарию в предыдущей заметке. Но подумал, что имеет смысл вынести этот текст наверх.

Есть в инженерном деле какая-то магия. Она особенно ощущается когда в итоге разработки получается что-то работающее. Именно работающее, а не статичное.