пятница, 1 июня 2018 г.

[prog.c++] Попытка подружить "модульный" Boost с MxxRu::externals

Начал чесать репу на тему создания такого mchain-а или mbox-а для SObjectizer-а, который бы позволил двум SObjectizer-приложениям на одной ноде взаимодействовать друг с другом через разделяемую память. Беглый поиск по Интернету показал, что выбор инструментов для этой задачи сравнительно небольшой: либо придется делать свой собственный велосипед, либо же нужно брать что-то из Boost, ACE, POCO или чего-то сравнимого по размеру.

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

Решил попробовать Boost.Interprocess. Но т.к. с "большим" Boost-ом иметь дело не хочется, то попробовал подтащить в небольшой демо-проектик Boost.Interprocess и все его зависимости из "модульного" Boost-а, который нынче доступен на github-е.

Методом проб и ошибок это удалось сделать (в очередной раз скажу, что Boost в виде большой говнопомойки не нужен и должен быть разрушен). Результат можно увидеть в этом репозитории. Ниже чуть-чуть прокомментирую то, что получилось.

[prog.flame] Давненько не посылал лучей поноса в Boost, пора исправиться.

При всем уважении к авторам библиотек, которые входят в Boost, не могу не сказать в очередной раз, что сам по себе Boost -- это помойка. Все завязано со всем и если ты хочешь использовать какую-то милипиздрическую часть Boost-а, то ты вынужден иметь дело со всей помойкой. И таскать ты ее будешь за собой постоянно. Вот сделал ты 5 лет назад небольшую тулзу на Boost-1.54, сейчас тебе потребовалось что-то в ней поменять и... И либо ты берешь откуда-то этот самый 1.54, ли пытаешься собрать свой старый код с современным Boost-ом. Ну или делаешь ты сейчас что-то на Boost-1.66, твой код кто-то другой пытается доработать под своим Linux-ом, а там из коробки только Boost-1.58.

Так что еще раз, для лучшего понимания сути претензий. Boost -- это такое говносборище C++ных библиотек, которое изначально рассчитано на то, чтобы быть только говносборищем и работать только в говносборе.

[life.cinema] Очередной кинообзор (2018/05)

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

Ночные игры (Game Night, 2018). Понравился. Посмотрел с удовольствием.

Опасный бизнес (Gringo, 2018). Не шедевр, но понравился. ИМХО, отличное попадание в свои роли у Джоэла Эдгертона, Шарлто Копли и, особенно, Шарлиз Терон.

Винчестер. Дом, который построили призраки (Winchester: The House that Ghosts Built, 2018). Если ответственно подойти к созданию ужастика и привлечь толковых актеров, то получится вполне добротное кино. Но для любителей жанра, к каковым я уже не отношусь.

Мстители: Война бесконечности (Avengers: Infinity War, 2018). Красочно. Масштабно. Но лучше не вдумываться в происходящее, а то начинает казаться, что на экране происходит какой-то лютый звиздец. Но красочный. Масштабный.

Дедпул 2 (Deadpool 2, 2018). Мне было скучно. Показалось, что фильм для фанатов комиксов и серии фильмов про супергероев, которые находятся в контексте и лучше понимают намеки и отсылки к другим фильмам.

Тихое место (A Quiet Place, 2018). Ожидал много большего, сильно разочаровался при просмотре. Нудновато, не цепляет, не хватает саспенса.

Жажда смерти (Death Wish, 2018). Ждал большего. Посмотреть можно, но, на мой взгляд, Брюс Уиллис в главной роли -- это основная проблема фильма. Изначально понятно, что если главный герой "Крепкий орешек", то он в итоге всех замочит. Посему главному герою и не сопереживаешь, только ждешь когда же экшен начнется, а происходит экшен не так уж и часто.

Невидимка (In Darkness, 2018). Ерундистика. Затянуто, сюжет притянут за уши, мотивация героев не очень понятна, даже главный сюжетный поворот, случившийся в самом конце, предугадывался чуть ли не с самого начала.


Евгений BadComedian Баженов выпустил эпический разбор говношедевра "Движение вверх". Как по мне, так к просмотру обязателен. Не смотря на хронометраж более 2-х часов и матерную лексику. Цитаты из Никиты Михалкова расставлены очень к месту. Безусловно лучшая работа BadComedian-а за последнее время. Жаль только, что причина возникновения этого обзора, тот самый "Движение вверх", собрал столько денег. Это означает, что испражняться на великое прошлое великой страны, которую такие же "творцы" уже просрали однажды, не просто продолжат, а будут делать это гораздо активнее. Хотя еще более страшно не от того, что такие "творцы" есть и не тонут, а то, что многим зрителям фильм "Движение вверх" понравился. Что означает, что кто-то будет срать с удвоенной силой, а кто-то жрать это полной ложкой и с удовольствием.

понедельник, 28 мая 2018 г.

[prog.thoughts] На тему добавления поддержки распределенности в SO-5

В этом посте попробую зафиксировать текущие мысли и планы на тему поддержки распределенности в SO-5.

Краткий взгляд в историю вопроса

Прежде чем перейти к текущим соображениям о том, как можно добавить распределенность в SO-5, пройдемся по истории для того, чтобы было лучше понятно, почему в SO-5 "из коробки" распределенности нет.

Изначально в SO-4 поддержка распределенности была. Причем была в двух вариантах.