Latest posts

this->notes.
17 Sept, 07:37
#commonСидите вы себе спокойно, разрабатываете поиск каких-нибудь объектов. Может это товары, может странички вики, может код. Что угодно. Ваш поиск — качественный keyword search.Почесали вы репу и решили, что надо улучшать качество. Обучили новую модель, которая умеет понимать СмЫсЛ и выдавать эмбеддинги объектов. Эмбеддинги вы складываете в какую-нибудь векторную БД. Поиск там работает из коробки.Вопрос: как интегрировать два поиска?Проблема тут понятная: так как модели поиска работают различно, взять скор каждого объекта и сравнить со скорами объектов из другого поискового движка просто нельзя (это не имеет смысла, ведь в одном движке скор может быть от 0 до 1, а в другом [0; 1000]; считаются по-разному, означают разное).Что делать?Reciprocal Rank Fusion (RRF) — алгоритм объединения нескольких списков результатов поиска в один общий. Идея за ним простая: вместо сравнения
this->notes.
9 Sept, 16:00
#cpp #booksДа, книга 2001ого года. Мы ровесники. И да, в ней в основном обсуждаются какие-то решения, которые сегодня уже всем знакомы и лежат в стандартной библиотеке сто лет. Но есть но...Содержание: 1. Policy-Based Class Design. Глава рассказывает про сложности создания качественного кастомизируемого дизайна общих классов и почему множественное наследование не помогает в решении проблемы экспоненциального роста потенциальных версий ваших компонент. Есть примеры использования различных policy. В конце обсуждается, как декомпозировать ваш класс на policy. Есть такой совет: «Anything that can be done in more than one way should be identified and migrated from the class to a policy». Важно помнить, что книга для пишущих общего вида библиотеки. Скорее всего для общего решения в продуктовом коде правильнее будет сказать: «Выносите то, что прямо сейчас нужно вынести». Не наперёд, а в



this->notes.
2 Sept, 07:22
#perfПопробовал собрать в кучку (кажется, немного сумбурно всё же) мысли по двум моментам: • что искать в данных и как их собирать, чтобы на них можно было быть oriented • чуть более разнообразные, чем обычно, примеры применения DOD.https://thisnotes.dev/blog/dod_examples/Да, на инглише, теперь иногда будет так.Ещё можете подписаться на newsletter: https://thisnotes.substack.com/subscribe Может вам на почту удобнее получать.@thisnotes. Patreon. Спасибо Artyom Garkavy и niki4smirn.thisnotes.devData-Oriented Design in practiceExamples of how we could use data oriented design in real life.
this->notes.
31 Aug, 07:34
Давайте новый тег заведём: #perfВо-первых, надо понять, что я вообще понимаю под перфом, ведь понятие очень широкое. Так как мои интересы лежат в районе эффективности распределённых систем, то перф для меня — всё, что позволяет делать эти распределённые системы быстрыми. В зависимости от системы вам может понадобиться решать проблемы разного характера. Где-то это про сделать ручку для обработки данных батчами, чтобы по сети поменьше ходить. Где-то научиться нормально пользоваться БДшкой. Где-то надо почаще попадать в L1 кеш и префетчить данные. А где-то вообще выбросить всё что есть и сделать заново в другой парадигме. Вся широта проблем меня занимает. В разной мере в разное время.На самом деле я бы расширил понятие перфа до слова эффективность. И разговаривал бы ещё про то, что такое эффективность команды или всех разработчиков на стеке Х. Что такое developer experience. Почему
this->notes.
27 Aug, 08:01edited
#commonМы часто делаем системы, которые обладают какими-то ограничениями. Ограничения наш хлеб: если бы надо было сделать универсальную систему для любой, абсолютно любой задачи, её бы скорее всего не стали финансировать даже на этапе идеи. Масштаб изначально не объять.Например, сервис доставки продуктов, в котором я провёл 4 года, обладает (по крайней мере раньше) некоторыми интересными свойствами.Во-первых, это жутко операционный бизнес.У вас есть склады, а значит нужно находить существующие помещения нужного размера и подписывать аренду с владельцами. Вам нужны поставщики. Для оптимизации некоторых процессов вообще можно захотеть построить завод, чтобы товары самому производить (и растить маржу). Некоторые фичи нельзя сделать в одного, потому что нужно не только код написать, но и научить кладовщиков в десятках городов (и странах) делать вещи иначе. Горячая еда и кофе не
this->notes.
24 Aug, 08:01
#list0. [talk] Achieving Peak Performance for Matrix Multiplication in C++. Aliaksei Sala.Алексей рассказывает про постепенное улучшение умножения матриц, начиная от базового подхода и двигаясь через улучшение работы с кешами, simd, префетчингом и всякими другими финтифлюшками.1. [article] How Google Measures and Manages Tech Debt.Хорошая системная статья про то, как в Google пытаются мерять и бороться с техдолгом как явлением. Вряд ли вы найдёте радикальные откровения, но системность подхода на уровне.2. [article, download pdf] Microservices Anti-Patterns: A Taxonomy.Статья написана поверх опроса специалистов на тему антипаттернов при использовании микросервисов. Я — святая простота — некоторым типичным проблемам удивился, так как даже подумать не мог, что где-то считают это нормальным. Например, «local logging», который подразумевает хранение логов в рамках контейнера
this->notes.
20 Aug, 07:54
Про контент.Я не буду разбирать и рекомендовать отдельные доклады. Это я сделаю когда досмотрю пару пропущенных, и их выложат в открытый доступ.Наблюдения такие: • было солидное количество докладов, которые уже рассказывали на других конференциях. Это стандартная практика, но она чувствуется гораздо сильнее в англоязычном пространстве, когда конференций и докладчиков в целом больше. Если сейчас в программу Meeting C++ 2026 заглянуть, там вы тоже солидное кол-во повторов найдёте. • очень много говорят про фичи последних стандартов. Рефлексия. Контракты. Это логично, ведь всем хочется знать, как там фичи покруче использовать, но я в последнее время перестал пытаться ухватывать каждую новую функцию. Стараюсь смещать фокус в более фундаментальные вещи. • безопасность и Rust. Ну вот популярные насущные топики. Что с них взять.Было ощущение, что не всегда доклады в сетке расставлены




this->notes.
20 Aug, 07:54
#cppACCU on Sea 2026.Помните, я в июне на конфе был? Пора отдавать долги.Конфа проходила в Folkestone. Это город на юге UK. Прям у моря, так что название не врёт.Раньше это было две отдельные конференции: ACCU conference (более общепрограммистская, пусть ACCU непосредственно с C и C++ и связано) и C++ On Sea. Мне несколько раз независимо сказали, что объединились они стратегически: сложно таскать участников дважды в год на похожие мероприятия, да ещё и денюжек у всех мало, так что от сотрудничества все только выиграют. Охотно верю. Если в России подобные конфы часто делают проф организации, которые на этом деньги зарабатывают, то тут это скорее сборище энтузиастов. Надеюсь, они не работают в минус.Сравнить с предыдущими конфами той же серии у меня конечно не получится. Но я могу сравнить с СНГшными альтернативами. Во-первых, очень непривычно ездить на длинные конфы. Самая
this->notes.
17 Aug, 05:43
Когда я начинал руководить, одним из формальных шагов (хотя и довольно полезных) было пройти внутренний курс для начинающих руководителей. Он выглядел примерно как в течение месяца раз в неделю почти полный день вы сидите с такими же чувачками в зуме, слушаете «эксперта» по теме, а потом друг с другом тренируетесь в разных игровых ситуациях. Например, объявить оценку сотруднику, который ожидал результат получше. Или как сотрудников растить (что, как мы с вами помним, неимоверно сложно).Одной из предлагаемых сайд-активностей было найти себе ментора в компании. Какого-нибудь опытного менеджера (выше М1), с которым время от времени можно побазарить про происходящее у тебя, как молодого рук-ля, или про то, что мы узнавали на обучении.Я рассуждал так: с моим прямым руководителем у меня контакт есть; со скипом тоже есть регулярные встречи; со рук-лём скипа тоже есть; а вот дальше нет. На
this->notes.
13 Aug, 06:49
#cppС марафоном препроцессорным я подотстал от происходящего в мире. Потому некоторые штучки-дрючки довольно поздно выкладываются. Мда.Ну и ладно! Я что, СМИ? У меня жена ваапче-то есть. Некогда мне тут сидеть круглыми сутками, да следить за новостями бесконечно.Смотрели документалку про C++?The Story of C++ : The World's Most Consequential Programming Language | The Official Story.А после можно последующее обсуждение: Inside C++'s Biggest Challenge | Panel Discussion with Bjarne Stroustrup, Herb Sutter & More.Вообще ощущения от фильма кайфовые. Сделано дорого-богато (HRT всё-таки имеют денюжку в кармане, могут себе позволить). Местами ощущалось, что это чуть ли не документалка про какое-то ужасное событие. Стихийное бедствие или терракт. Не знаю почему. Может быть вайб того, как снято. Музыка на фоне.Но вообще-то довольно познавательно. Интервью с важными, даже ключевыми,


this->notes.
10 Aug, 07:01
Теперь про Сербию.Я раньше в ней не бывал. Только слышал забросы вида "идёшь в центре города, слева тц, справа заброшка". Впечатляюще?Я конечно упускал контекст. Заброшки там не просто так, а из-за бомбёжек НАТО в 1999м. Причём ребята не сильно планируют с ними разбираться (по крайней мере, не со всеми): хотят оставить напоминание о случившемся.Первое впечатление от Белграда довольно сумбурное. Не очень чисто, здания старые. От всего вокруг отдаёт совдепом. Вот эти советские-like здания, потемневшие от времени. Вайб советского брутализма от большинства зданий в центре города (мы, ради справедливости, сильно за центр и не выбирались). Как-то мрачно!Ты естественным образом сравниваешь новые места относительно тех, где долго пожил. И по ощущениям Белград не дотягивает ни до Минска (потому что там всё гораздо аккуратнее), ни до Лондона (потому что в Лондоне больше европейского и




this->notes.
10 Aug, 07:00
#cppBack to Back 2026 (который был C++ Zero Cost Conf).Я выбрал несколько докладов из всех 4х треков. Если доклад не выбран, это не значит, что он плох. Возможно он не зашёл мне темой, а возможно не так интересен, как другие. Навалить вам просто все доклады мне не очень хотелось.0. 9 миллиардов этажей concurrency. Андрей Аксёнов.Доклады бывают в разных форматах. Этот доклад не должен глубоко раскрывать тему, на мой взгляд. Он скорее должен дать вам много разных слов, с которыми вы должны пойти разбираться. Ну и это Андрей Аксёнов со своей подачей. Хулиганской.1. Трассирую и профилирую — бесплатно. Александр Емеленко.Александр рассказывает про измерение времени и запись логов жоска эффективно, двигаясь от базовичкового медленного варианта к быстрому наносекундному.2. Building the tiniest pomodoro app. Miloš Anđelković.Хороший доклад для понимания техник уменьшения размера
this->notes.
6 Aug, 08:03
#commonМАРТИН ИДЕН ОШИБАЛСЯ.Книге уже больше 100 лет, так что у вас было полно времени её прочитать. Потому выдать спойлер бояться не буду (хотя главные панчи всё-таки придержу).Так где он ошибался?Когда Мартин стал уважаемым известным писателем, его стали активно звать на всякие обеды, встречи, интервью. Хорошо с ним обходились, уважали. Мартина это раздражало. Его основная мысль в это время успеха была примерно такая: «Почему они любят меня сейчас? Моя работа [имеется в виду все те книги, рассказы, повести и стихи, которые Мартин усиленно писал пару лет] была уже сделана. Я никак не изменился как человек. Но тогда [до публикации и признания] никто не звал меня на обед, когда я голодал и мне нужны были эти обеды! А сейчас все зовут, а мне уже не нужны эти обеды!» (на обеды он тем не менее ходил).В голове Мартина должно быть так: ты делаешь работу и все магическим образом


this->notes.
29 Jul, 11:03
СОБИРАЮ ВАШИ ИСТОРИИ.Вас тут относительно много. Вы умные. Вы работаете и занимаетесь интересными вещами. А я почему-то этим не пользуюсь! Я бы хотел про них узнать и может заодно поделиться с подписчиками!Расскажите про самую интересную оптимизацию, которую вы сделали. Это может быть что угодно. Ускорили запрос в БД. Поменяли способ хранения данных (может это буквально vector -> unordered_map). Перепридумали архитектуру. Отсортировали данные, чтобы они в кеш легли. Удалили неиспользуемые данные. Сократили использование железа (может вы даже стали медленнее из-за этого, но вам это ок). Скомпилировали иначе. Перешли на новую технологию. Рассказали коллегам, как экономить время в рутинных делах. Перестроили процесс в нескольких командах.Вообще что угодно. Не обязательно сложное. Ведь иногда принести профит небольшими изменениями даже круче. Главное, чтобы вам это по какой-то причине
this->notes.
27 Jul, 06:37
#highloadЯ не очень понял, как это работает. Видосы на самом канале так и не появились, хотя прошло уже больше года с конференции. Плейлист со всеми докладами доступен, и видео выложили год назад. Доступ к ним явно есть. Но просмотров нет. То есть как-то никто и не в курсе, что их можно смотреть.Доклады с Saint HighLoad++ 2025.0. Эволюция векторного поиска в YDB. Александр Зевайкин.Есть ещё в тексте (правда не уверен, что контент 1 в 1).1. Технологии распределенной карты для автономного транспорта. Гоша Лутидзе.Прикольное введение в кусок вот этих самоездящих штук.2. 20 лет на граблях: ошибки, отказы и выводы. Александр Стерлигов.Несколько кайфовых историй про разные инциденты. Я тоже такое сделаю когда-нибудь.3. Взгляд за кулисы Яндекс Карт: от сырых спутниковых данных до четких изображений. Игорь Орпанен.
this->notes.
24 Jul, 08:03
#cpp и не только.НАПОМИНАЮ, что 1ого августа будет Back to Back: в Москве back to back трек + C++ трек, в Ереване только back to back, а в Белграде только C++ one.Программу на плюсовый трек мы собрали сочную. Старались, честное слово. Коллеги по цеху на Back to Back тоже интересного выбрали.Меня, дай бог всё будет хорошо, сможете найти в Белграде. Можем с вами за здоровье Страуструпа выпить ракии (хотя я ещё её не пробовал, может и не моё).Буду стараться за неделю после конфы выдать трип репорт.У вас ещё есть время зарегистрироваться!Back to Back | МоскваБэкенд-конференция от инженеров для инженеров
this->notes.
23 Jul, 08:03
#cppПривет.Сегодня последний day 52 марафона.Я знаю, что кому-то он поднадоел. Не зря от меня отписалось больше полусотни человек.Мне тоже надоело, если честно.Если вдруг вы не узнали/не знали, марафон был основан на C++ Preprocessor Iceberg. Я в целом шёл от начала почти по каждому пункту, скипая что-то, что выглядит совсем мутным и невнятным, что я не смог заставить работать или не смог осознать. Попутно старался дополнять своим ресёрчем. Постов фактически вышло на пару десятков меньше, чем пунктов в оригинальном источнике. Мы примерно на половину задели Deep water и совсем не задели The abyss. К концу я уже высох от темы и решил, что душить себя не очень полезно. Лучше чем-то в радость позаниматься. Так что заинтересованные могут доисследовать самый низ айсберга.Расскажите в комментах, как вам. Надо такое делать вообще ещё когда-нибудь? На какие темы? Или нахер и лучшеjadlevesque.github.ioThe Preprocessor Iceberg Meme
this->notes.
22 Jul, 08:01
#cppDay 51.Есть ещё несколько интересных репозиториев, связанных с препроцессором: • datatype99 (фактически синтаксический сахар для генерации типов, но с дополнительными плюшками вроде паттерн матчинга) • interface99 (Golang/Rust inspired интерфейсы для C99) • boline (integer arithmetics with base 16).У последнего код с вайбом ASCII-art.И есть ещё подгон от подписчика про расширение в clang, позволяющее делать макросы рекурсивными. Названо оно __THIS_MACRO__:#define fold_left(op, head, ...)(__VA_OPT__(__THIS_MACRO__(op,__VA_ARGS__)op)head)fold_left(+, 1, 2, 3, 4) // раскрывается в ((((4)+3)+2)+1)@thisnotes. Patreon, Boosty. Спасибо Artyom Garkavy и niki4smirn.
this->notes.
21 Jul, 08:05
#cppDay 50.Макросы можно класть на и доставать из (со) стека:#define PRAMGA(...) _Pragma(#__VA_ARGS__) #define POP(m) PRAMGA(pop_macro(#m))#define X 1 POP(X) #pragma push_macro("X") #define X 2 POP(X) #pragma push_macro("X") #define X 3 POP(X) #pragma push_macro("X") #define X 4 POP(X) X // 4 X // 3 X // 2 X // 1
this->notes.
20 Jul, 08:03
#cppDay 49.Одна из моделей, которую можно реализовать на макросах (хотя мы выяснили, что можно любую видимо) — continuation machine. Фактически это штука, в которой вы можете построить пайплайн работы с данными (но такими словами про неё не говорят, слишком современно). На картинке ниже страшная реализация для простого кейса работы с регистрами (разбирать мы ёе не будем, я хочу просто подышать.....).Кстати репозиторий это что-то вроде оптимизированного интерпретатора Brainfuck. Есть и другие альтернативы: bfi, CPP_COMPLETE.@thisnotes. Patreon, Boosty. Спасибо Artyom Garkavy и niki4smirn.

Related Channels
Other channels in the same section of the catalogue.
