вторник, 1 января 2030 г.

О блоге

Более двадцати лет я занимался разработкой ПО, в основном как программист и тим-лид, а в 2012-2014гг как руководитель департамента разработки и внедрения ПО в компании Интервэйл (подробнее на LinkedIn). В настоящее время занимаюсь развитием компании по разработке ПО stiffstream, в которой являюсь одним из соучредителей. Поэтому в моем блоге много заметок о работе, в частности о программировании и компьютерах, а так же об управлении.

Так же я пишу о жизни вообще и о нескольких своих увлечениях: о фотографии (включая публикацию своих фотографий, некоторые есть и на ZeissImages), о спорте, особенно о дартсе, и, совсем коротко, о кино.

понедельник, 31 декабря 2029 г.

[life.photo] Характерный портрет: вы и ваш мир моими глазами. Безвозмездно :)

Вы художник? Бармен или музыкант? Или, может быть, коллекционер? Плотник или столяр? Кузнец или слесарь? Владеете маленьким магазинчиком или управляете большим производством? Реставрируете старинные часы или просто починяете примус? Всю жизнь занимаетесь своим любимым делом и хотели бы иметь фото на память?

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

среда, 13 декабря 2017 г.

[prog.c++] SObjectizer-5.5.20 и so_5_extra-1.0.3

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

Загрузить новую версию можно либо в виде архива с SourceForge, либо из svn-репозитория проекта, либо из зеркала на GitHub.

Уже пару месяцев SObjectizer доступен через систему управления зависимостями vcpkg. Так что сейчас последнюю версию SO-5 можно установить себе посредством команды vcpkg install sobjectizer

so_5_extra обновился до версии 1.0.3, в которой был добавлен еще один тип mbox-а: retained_msg mbox.

Взять so_5_extra можно либо в виде архива с SourceForge, либо из svn-репозитория.

Так же кого-то может заинтересовать свежая статья на Хабре, рассказывающая о такой важной штуке SObjectizer-а, как концепция mbox-ов.

понедельник, 11 декабря 2017 г.

[prog.c++] Хотелось бы побывать на C++Russia 2018

Стали известны даты и место проведения C++ Russia 2018: эта крупнейшая в СНГ конференция, посвященная языку C++, пройдет 20-21 апреля 2018-го года в Санкт-Петербурге (19-го апреля будет день мастерклассов).

Понятное дело, что хочется в ней поучаствовать. А дешевле всего это сделать в качестве докладчика ;) Посему нужно придумать тему для доклада.

В связи с этим я хочу спросить у своих читателей: а что бы вы услышать на C++ Russia 2018 в моем изложении?

Может быть что-то про SObjectizer? Может быть что-то про то, как C++ помогал/мешал нам в разработке SObjectizer-а? Может что-то еще?

В общем, есть возможность оставить свою заявку. А я ее внимательно рассмотрю :)

PS. Если кто не видел, вот мое выступление на С++ Russia 2017вот и слайды доклада).

понедельник, 4 декабря 2017 г.

[prog] А какие в Сети есть ресурсы, посвященные разработке middleware?

Поймал себя на том, что мониторинг русскоязычных профильных ресурсов, вроде Habrhabr, LOR, RSDN, opennet ведет к весьма низкому проценту полезного сухого остатка. Потому, что изрядная доля тамошних материалов касается прикладных задач. Яркий пример -- вот эта статья, которую я просмотрел из-за наличия тега Go (ну интересно, как и где используется Go).

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

Одна из таких ниш -- это разработка разнообразного middleware. Ну, например, это могут быть СУБД. Могут быть MQ-шные брокеры. Могут быть какие-то шлюзы, вроде SMTP-шлюзов. И т.д.

В связи с этим у меня вопрос к читателям: есть ли какие-то ресурсы, на которых вопросы разработки middleware представлены в концентрированном виде?

Ну вот, есть, скажем, ресурс highscalability.com. Интересный дайджест-ресурс для материалов из области высоконагруженных систем. Хотелось бы найти что-то похожее, но для направления middleware. Может кто-то что-то подскажет?

пятница, 1 декабря 2017 г.

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

Совершенно незаметно пролетел ноябрь и пришло время публиковать очередной список отсмотренных фильмов. В начале списка идут те фильмы, которые понравились больше, затем те, что понравились меньше.

Тор: Рагнарек (Thor: Ragnarok, 2017). Безусловно, главный фильм месяца. Смешной. Отличный видеоряд и бодренькое, местами, музыкальное сопровождение. Но вот там, где плотность шуток снижалась, мне было скучновато. А так отличное кино, чтобы отключить мозги и получить удовольствие.

Удача Логана (Logan Lucky, 2017). Отличное кино, но по-началу неспешное и нудное. Это нужно перетерпеть, развязка, как по мне, все оправдывает.

Иностранец (The Foreigner, 2017). В принципе, мне понравился фильм. И Джекки Чан в некоммедийной роли был вполне себе. Хотя от своих фирменных трюков в рукопашных схватках все равно не ушел, что как раз и портило впечатление от фильма. Если бы не это, то фильм был бы гораздо лучше, как по мне.

Погром (Mayhem, 2017). Я любитель такого рода фильмов, главный смысл которых -- это "мочи их всех!". Поэтому и данную картину посмотрел с удовольствием. Но, если бы в него вложили чуть-чуть побольше денег, то получилось бы еще круче и убойнее.

Механика теней (La mécanique de l'ombre, 2016). Европейцы снимают кино не так, как американцы. Иногда получаешь удовольствие просто от того, что кино выглядит и воспринимается совсем не так, как голливудская продукция. Здесь именно такой случай. Вроде бы не динамично, вроде бы нет захватывающей истории, а смотреть все равно интересно. И герою сопереживаешь.

Жизнь впереди (2017). Смотреть было интересно. Но когда фильм закончился, то возник вопрос: "И это все?" Как по мне, так авторы только-только раскрыли своих персонажей, познакомили с ними зрителей, подготовили к неминуемой кульминации... Которой как раз и не случилось.

Виселица (Hangman, 2017). В общем-то добротно сделанный фильм с неким налетом ностальгии по аналогичным фильмам из 1990-х годов. К сожалению, в конце мотивация главного злодея не убеждает, да и сама развязка выглядит сделанной слишком халтурно для той интриги, которую начали закручивать с самого начала.

Смерть на Аляске (Sweet Virginia, 2017). Так себе. Все время ждешь, что вот-вот что-то такое произойдет, что оправдает потраченное время. А оно не происходит и не происходит. Хотя к актерам, например, претензий нет. Это скорее сама история такая, не цепляющая.

Наемник/Американций убийца (American Assassin, 2017). Первая половина или даже первые 2/3 фильма вполне себе OK. Но вот то, что происходит в финале, особенно с ядрёной бомбой... Это какой-то сплошной facepalm.jpg.

Геошторм (Geostorm, 2017). Жалкое поделие из категории "Что это, блин, было?" Наверное, фильм рассчитан на категорию детей младшего школьного возраста. Но даже и в этом случае спецэффекты хотелось бы более качественные, не оставляющие впечатление мультика.

среда, 29 ноября 2017 г.

[prog.c++] Смотрим в сторону SObjectizer-5.6 (самое первое приближение)

Прошло уже более трех лет с момента релиза версии 5.5.0. Все эти три года SObjectizer развивался в рамках ветки 5.5 с особым акцентом на совместимость между версиями. Может быть не всегда у нас получалось сохранять 100% совместимость и где-то что-то могло поломаться. Но, в подавляющем большинстве случаев, насколько мне известно, переход на новые версии SO-5.5.* происходил без каких-либо сложностей и необходимости что-то исправлять в коде.

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

Имхо, три года развития в рамках ветки 5.5 -- это вполне достаточный срок для того, чтобы задуматься о том, чтобы заняться версией 5.6, в которой уже не будет 100% обратной совместимости с SObjectizer-5.5. И переход на которую будет требовать модификации исходников, а может быть, местами, и перепроектирования. Посему под катом изложено несколько текущих мыслей на тему версии 5.6. Кому интересно -- милости прошу. Чем больше будет фидбэка, тем лучше.