среда, 25 мая 2022 г.

[prog.history] Пара баек от Вальтера Брайта на тему жизы

Нашел прикольное на просторах Интернета, решил поделиться. Обе байки от Вальтера Брайта.

Байка первая:

Компилятор Optimum C обошел все остальные компиляторы в бенчмарке в одной журнальной статье потому, что Optimum C обнаружил [посредством анализа потоков данных, eao197] мертвый код бенчмарке и просто выбросил этот мертвый код. Автор статьи ничего не спросил у меня [т.е. у В.Брайта, eao197] и посчитал, что это баг, поэтому дал плохую оценку компилятору.

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

Байка вторая, про ошибку с маркетингом:

Мы распространяли исходный код [стандартной, eao197] библиотеки вместе с компилятором, совершенно бесплатно. Но ни один из обзорщиков не обратил на это внимания. В один прекрасный день Borland начал распространять исходники своей библиотеки (за исключением того, что относилось к поддержке чисел с плавающей запятой) за дополнительные деньги. Это сразу же упомянули в заголовке следующей статьи со сравнением компиляторов. Но не указали, что полные исходники всей библиотеки, включая поддержку чисел с плавающей запятой, входят в состав нашего компилятора.

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

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

PS. Для тех, кто не знает: Вальтер Брайт -- это автор известных в прошлом компиляторов Zortech C++ и Digital Mars C++, а сейчас он более знаменит своим языком D.

[prog.c++] В склерозник: ссылки на тему std::launder

В процессе копания темы передачи C++ объектов через разделяемую память возникли подозрения, что где-то мы с placement new работаем не корректно. Пришлось погрузиться в изучение std::launder.

Все, что связано с std::launder для меня какая-то мутная тема, с которой никогда толком не связывался. А тут пришлось. И выяснилось, что толковой информации не так, чтобы много.

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

Если нарою что-то еще, то дополню список.

понедельник, 23 мая 2022 г.

[work] Не, я так себя продать бы не смог

Сегодняшнее из LinkedIn-овской ленты:

Я бы так сам про себя не смог.

Тем более, что своего YouTube-канала у меня-то и нет :(

Да и 100% покрытие юнит-тестами не считаю ни достоинством, ни самоцелью.

В общем, продажник из меня еще тот. OpenSource проекты продать не смог. Вряд ли и самого себя продам. Тем более в такой красочной обертке ;)

Хотя в связи с проблемами прохождения платежей из EU в BY вопрос продажи собственных могзов в РБ/РФ становится все более актуальным. Но, если все продолжит идти по плохому сценарию, то будет отдельный рекламный пост (проплаченный мной, естественно).

суббота, 21 мая 2022 г.

[prog.c++] На github-е обнаружился проект, написанный на базе SObjectizer. Написанный не мной ;)

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

Вот давеча я совершенно случайно обнаружил на GitHub-е проект, который был написан с использованием SObjectizer: https://github.com/WinterLab-Berlin/LabNet.

Прикольно. Любопытно посмотреть как совершенно незнакомые тебе люди программируют на твоем инструменте :)

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


Прошу простить мне эту минутку самопиара, но, блин, за последние лет 8 я столько раз слышал в свой адрес "ты делаешь образцовое нинужно, которым никто не пользуется", то промолчать и не поделиться радостью не смог :)

среда, 18 мая 2022 г.

[prog;work;life] Уже двадцать лет занимаюсь проектом SObjectizer

Намедни состоялся очередной релиз SObjectizer и so5extra. Обновления минорные, просто представилась возможность добавить в SObjectizer пару специфических фич до которых раньше не доходили руки.

Релиз приурочен к двадцатилетию проекта SObjectizer: самая первая версия SObjectizer-4 была сделана в апреле 2002-го года, а уже в мае 2002-го SO-4 начал использоваться для разработки софта.

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

Сейчас же нет ни сил, ни желания, ни настроения делать это.

Тем не менее, рад, что пройден такой путь. Проект живет, проект используется.

Огорчен тем, что не смог сделать SObjectizer популярным. Поэтому имею лишь то, что имею.

Для меня главной целью работы над SObjectizer-ом было создание продукта, за который не стыдно. Это получилось. Об остальном остается только сожалеть, но сожаление неконструктивно.

Основное чувство сейчас -- это большая усталость.

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

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

В общем, первые двадцать лет позади. Посмотрим, что будет дальше. Самому интересно :)

От всей души хочу поблагодарить всех, кто помогал проекту все эти годы. В особенности свою Интервэйловскую команду.

Большое спасибо всем, кто рискнул попробовать SObjectizer в своих проектах. Знаю, что не все остались этим опытом довольны, но все-таки надеюсь, что положительного опыта было больше.


PS. Если кому-то интересно почитать какую-то развернутую ретроспективу, то можно глянуть пост, посвященный 10-летию развития SObjectizer-5. Все основные моменты уже были описаны там.

понедельник, 16 мая 2022 г.

[prog.flame] А вот мне интересно, как бы вы отреагировали если бы на собеседовании...

...вы посмотрели на код соискателя в открытом проекте на github-е, у вас появились сомнения в качестве этого кода, в частности, в простоте изучения и сопровождения. И вы высказали свои опасения приблизительно такими словами:

У меня есть сильное подозрение, что вы будете плодить код, от которого пришедшие на ваше место будут плеваться. И, вероятно всего, вполне оправдано.

На что соискатель бы вам ответил:

Меньше всего меня колышет судьба человека, которого возьмут кодить вместо меня.

Мне вот интересно, кто бы из читателей блога дал бы согласие взять такого соискателя в свою команду (в свой коллектив)?

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

суббота, 14 мая 2022 г.

[prog.c++.idiotic] Вот вы программируете на C++ в 2022-ом и не знаете, что ваши причендалы в опасности

LOR-овские ысперды на линии:

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