суббота, 2 ноября 2024 г.

[prog.c++] Новые версии SObjectizer и so5extra: 5.8.3 и so5extra. Мои личные впечатления

Мы зафиксировали новые версии SObjectizer и so5extra: 5.8.3 и 1.6.2. На Хабре опубликована статья с описанием нововведений, так что не буду здесь повторяться. Озвучу здесь свои личные впечатления от работы над этими релизами.


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

Получилось не сказать, чтобы красиво и эргономично, поэтому не удивлюсь, если msg_hierarchy в итоге останется невостребованным. Возможностей C++17 (и моих знаний этих самых возможностей) хватило только на этот вариант. Была бы в C++ рефлексия, можно было бы сделать и покрасивши. Так что будем ждать принятия рефлексии в C++26, затем дождемся года 2029-го или даже 2030-го, чтобы безопасно перейти на компиляторы с нормальной поддержкой C++26... 🙂

Но применительно к msg_hierarchy я бы хотел вот о чем сказать: это пример той фичи, которую не получалось придумать "на заказ". Тот самый случай, когда пришлось ждать чего-то вроде "озарения".

К этой проблеме я уже подступался в прошлом. И, если мне не изменяет склероз, даже не один раз, просто документально был зафиксирован всего один случай (и это очень хорошо, что тогда он был зафиксирован, к этому описанию я обращался неоднократно, чтобы восстанавливать забывающиеся детали). Однако, все предыдущие попытки завершались неудачно. Не получалось "родить" годную идею к конкретной дате.

А вот этим летом что-то бум! И перемкнуло в голове. Возникла непонятно откуда взявшаяся мысль о том, а что, если на каждый тип подписки выделять отдельный mbox? Т.е. хочешь подписаться на базовый тип сообщения -- бери mbox именно для этого типа. Хочешь подписаться на конкретный производный тип -- бери другой mbox, именно для этого конкретного производного типа.

Ну а дальше уже дело техники, как-то все само-собой раскрутилось. Отдельным вопросом был, конечно же, способ обхода иерархии классов в run-time. Но и с этим удалось разобраться, хоть и получилось достаточно коряво из-за ограничений C++.

Принципиальным моментом была именно идея о разных receiving_mbox-ах. Которую пришлось ждать больше трех лет и которая не желала появляться на свет "на заказ".

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


Когда писал статью для Хабра об этом релизе, то поймал себя на неожиданном ощущении.

В 2016-ом, когда я только начал публиковать на Хабре статьи о SObjectizer-е, маркетинговая составляющая была одной из главных. Все-таки мы хотели организовать бизнес вокруг своего OpenSource и нужно было показать "товар лицом". Конечно же, это не были чисто продажные статьи из категории "покупайте наших слонов", но начинающий маркетолог внутри нашептывал, что мол нужно показать насколько у нас все зашибись и какие мы сами крутые, все из себя такие опытные и умелые.

Уж не знаю, насколько это выпирало наружу из моих текстов, мне трудно судить. Надеюсь, что статьи все-таки были больше техническими, чем маркетинговыми. Однако, сей фактор имел место быть.

А вот сейчас работая над текстом, даже мысли такой не возникало.

Как бы не первый год пилим и пилим. Кому могли "продать", тем уже "продали". Миллионов нам SObjectizer не принес. Ну так чего выделываться?

Внезапное было ощущение, как будто даже полегче стало. Не скажу, что гора с плеч, но некоторый кусочек этой горы точно свалился.

Надеюсь, что подобное же настроение сохранится и дальше. Если в SObjectizer-е будет что-то переделываться или же что-то будет туда добавляться, то можно будет спокойно рассказывать о технической части, совершенно не думая о том, насколько это поможет или повредит "продажам".

Так что данная версия себя оправдала хотя бы тем, что мой внутренний маркетолог-неудачник окончательно плюнул на все и с какими-то неразборчивыми словами по типу "А ну вас! Любитесь как хотите!" ушел в закат.


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

В завершении вынужден повторить банальность: если вдруг вам что-то потребовалось от SObjectizer-а, а вы этого там не нашли, то дайте знать. Мы не сможем сделать то, о чем даже и не подозреваем. А вот если нам сказать, то кто знает. Может года через три поймаем очередное "озарение" ;)

пятница, 1 ноября 2024 г.

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

Подошло время очередного кинообзора. Традиционно в начале каждого из списков идет то, что понравилось больше, а в конце -- то, что понравилось меньше или же совсем не понравилось.

Фильмы

Дэдпул и Росомаха (Deadpool & Wolverine, 2024). Если понравились первые две части Дэдпула, то нужно обязательно смотреть и третью. Правда, в какой-то момент плотность юмора превысила мои способности к восприятию происходящего, так что, боюсь, многое прошло мимо меня. Если же вы хорошо помните персонажей из вселенных "Людей X" и "Мстителей", то наверняка заметите гораздо больше отсылок и подколок, чем получилось у меня.

Ограбление (Napad, 2024). В общем-то неплохо, мне зашло. Напомнило фильмы в духе соцреализма. Хотя к сюжету в нескольких местах есть вопросы, но если не придираться, то в общем-то неплохо.

Ячейка 234 (Unit 234, 2024). Бюджетненько, но вполне себе смотрибельно.

Игра киллера (The Killer's Game, 2024). Отличный аттракцион чтобы отключить мозги. Но если вам не нравится жанр абсолютно несерьезных комедийных боевиков, то лучше воздержаться.

Спящая (La mujer dormida, 2024). Смотреть было интересно, но развязка фильма откровенно разочаровала.

Револьвер (Ribolbeo, 2024). Откровенно слабо. В принципе, можно и пройти мимо.

Не говори никому (Speak No Evil, 2024). Мне не зашло совершенно, не возникло ощущение реальности происходящего. Хотя отметить отличную игру Джеймса Макэвоя нужно, такое впечатление, что он там единственный органично смотрелся.

Субстанция (The Substance, 2024). Не понравилось. Потенциально хорошую идею превратили в какую-то муть, а финал фильма -- откровенный треш. В общем, смотреть противно, а потраченного на просмотр времени жаль.

Сериалы

13 клиническая (первый сезон, 2022). Мне вот прям зашло. Посмотрел все восемь серий первого сезона за два дня на одном дыхании.

Медленные лошади (четвертый сезон, 2024). Самый слабый из всех сезонов. Если первые три вам понравились, то можно глянуть просто для того, чтобы посмотреть что происходит с героями. Если же первые сезоны не впечатлили, то смело можно не смотреть. Как по мне, так если бы не Гари Олдман, то этот сезон был бы откровенным говном.

Идеальная пара (The Perfect Couple, первый сезон, 2024). Красиво снятая неинтересная история с никакой детективной составляющей. Такое впечатление, что основной задачей было показать, что за внешним лоском скрывается куча скелетов в шкафах. Это-то показали, но сделали это так, что жалко потраченного на просмотр сериала времени.

Кино вне категории

Затерянные (2024). Пожалуй единственное, что хочется сказать, так это то, что никакой это не "триллер", это чистой воды драма. Похоже, автор фильма пытался вложить какой-то смысл, возможно глубоко личный, в это кино. Но я этого самого смысла не понял.