C++ and other lectures
8.46K subscribers
39 photos
2 files
210 links
Учебный канал в Телеграм: тут будут анонсы и ссылки на лекции и стримы. Написать автору: @Tilir
Download Telegram
Продолжаем тему встреч с читателями -- и на этот раз пришло время приключений.

Первые три города -- Москва, Санкт-Петербург и Новосибирск -- приняли меня без неожиданностей. Встречи, которые организовывало издательство, проходили в неплохих книжных магазинах. Всё было отлично.

Четвёртую встречу мне очень хотелось провести в Минске. Во-первых, я там никогда не был. Во-вторых, именно оттуда приходило много запросов. Я наметил поездку на 15–16 марта. И тут началось.

1. Книжные магазины

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

2. Университет

Тогда, при поддержке уважаемых подписчиков, я попробовал договориться с БГУИР. Меня свели с проректором, мы пообщались, созвонились. Я даже предложил прочитать лекцию для студентов и преподавателей, если встречу разрешат. Пообещал, что никаких продаж книг не будет.

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

Отступление. В принципе, оформление пропусков в кампус -- несложная процедура, я это знаю как преподаватель МФТИ. Тем более, что схема была абсолютно win-win: суббота, занятий нет, аудитории пустые. Студенты БГУИР -- моя целевая аудитория, и им бы наверняка было интересно. Но логика "как бы чего не вышло" оказалась сильнее. Можно было сделать что-то интересное, но не сделаем ничего.

3. Книжная ярмарка

После этого я попробовал через издательство договориться с организаторами книжной ярмарки, которая пройдёт в Минске на выходных. Там мне тоже отказали -- причины в общем те же.

Что дальше?

На этом этапе я почувствовал себя в Москве времён так называемого ковида, когда в университет и в офис меня не пускали. Что я делал? Я проводил семинары в коворкингах.

Так что я попробую найти подходящий коворкинг и позвать всех туда в субботу, 15-го марта или в воскресенье 16-го. Где именно и во сколько -- напишу на этой неделе.

Если же и этот вариант не сработает, придётся отменять поездку. Надеюсь, что этого не случится.

#author_event
😱74👍21😁95🥴4🕊321🔥1👏1😭1
Наконец-то выложили один доклад на C++Russia прошлого года, который я хотел бы всем порекомендовать.

Увы, на конференции в прошлом году было очень много шлака, не имеющего даже отношения к C++. И тем ценнее увидеть очень серьёзный и интересный доклад, в целом мирового уровня. Тем более от столь молодого спикера.

Итак, встречаем:

Сергей Добычин — constexpr-аллокатор для контейнеров стандартной библиотеки

https://www.youtube.com/watch?v=mwy15RAhl8I

2:55 Начало. Transient выделения памяти при компиляции. Невозможность non-transient в C++
8:45 Подробный разбор предложения P0639 по CE аллокатору
11:30 Проблемы с размером буфера
18:16 Двухэтапное определения размера буфера во время компиляции
20:40 Постановка задачи: как сделать чтобы CE аллокатор сам определял размер буфера? Общий вид решения.
23:13 Интересные детали реализации
27:45 Передача инициализирующего значения через типы (разбор P2781)
31:20 Завершение: QR код на полное решение в C++20 и примеры
34:08 Вопросы

Интересно в этом докладе также то, что я немного помог в его создании. До конференции Сергей обратился ко мне вот с таким кодом и спросил баг ли это в компиляторе.

https://godbolt.org/z/EcKhhGfzr

Я немного подумал и мы с ним вместе доминимизировали это до вот такого кейса.

https://godbolt.org/z/69PEPojzo

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

После этого я зафайлил эту проблему в GCC и она до сих пор висит там и ждёт своего героя.

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115233

Но пока не дождалась.

#talks
🔥112👍23👀116🏆2❤‍🔥1👏1💩1🤡1
Продолжаем встречи с читателями. Если вы не знали, я могу не только приехать к вам в город но и (если концентрация читателей в компании велика) придти к вам в офис. И первыми кто меня позвали были ребята из VK. Приём был прекрасным, люди не просто заказали моих книг на всех, они ещё отпечатали глянцевые фотки меня для автографов на обратной стороне тем, кому книг не хватило. Получилось очень мило.

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

https://vk.com/audio-227738875_456239017_ed542bafbed1461fbe

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

P. S. Кстати встреча в Минске в субботу 15-го в 12 часов. Кажется это уже сегодня и я уже еду в Минск. Всех буду ждать ))

#author_event
🔥93👍75🍓4💯31🤯1💩1😍1
Провели встречу в Минске.

На встречу записалось 56 человек см. https://t.me/cpp_lects_rus/245

Пришло человек пятнадцать. Я прикреплю фотку в первом комментарии. Это худшая конверсия из записавшихся в пришедших по всем городам. Обычно что-то вроде 60-70%, а тут меньше трети.

Я не понял что произошло. Может быть кто-то из тех кто записался и не пришёл пояснит в комментариях к этому посту что его остановило.

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

Тем не менее, встреча прошла прекрасно и была исключительно ламповой, отличная дискуссия с разными интересными отклонениями, мне очень понравилось. Впрочем, если бы вас было больше, мне бы ещё больше понравилось. Но тем более спасибо тем, кто всё-таки пришёл.

На очереди Ростов, Нижний Новгород и Екатеринбург, следите за апдейтами. Кроме того меня приглашают выступить в "Школе 21" в Великом Новгороде, тоже внесу это в планы. Надеюсь там всё будет как в Питере и Новосибе. А не как в Минске ))

P. S. Завёл новый тег для встреч с читателями и информации по ним.

#author_event
😢10117😁16🔥8👍6😱31💩1🌚1
Выступил на Sysconf и на C++Russia этого года.

https://cppconf.ru/schedule/table/
https://sysconf.pro/schedule/table/

Выступление на C++Russia получилось потрясающим: у меня был забитый до отказа зал и я уже получил на него массу отличных отзывов. На Sysconf тоже неплохо. Теперь ждём пока видео станут публично доступны, я здесь сообщу.

Немного пост-конференционных соображений.

1. Хотелось бы всем рассказать о прекрасной инициативе, о которой я узнал от Михаила Лукина (но как я понимаю там много людей участвует): Friendly Journal of Software Systems

https://systems-journal.github.io

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

Статьи туда уже в принципе можно потихоньку готовить и подавать.

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

2. В своём докладе я приводил примеры в godbolt с модулями и целыми проектами и обещал кому-то дать ссылку на моём канале, чтобы быстро начать эксперименты.

Предлагаю к размышлению вот этот кейс: https://godbolt.org/z/zsKn5hjWG

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

3. На Sysconf я выступил с неким lightning talk не под запись. Его текстовый материал пойдёт в ближайший пятничный зачил.

#conference
👍82🔥28192💩1🙏1
Пятница, вечер, время почитать стандарт. Увертюра в четырёх актах.

1. Рассмотрим следующий пример. Тут компилятор считает запятую разделителем для макроса, а не для шаблона.

https://godbolt.org/z/s7s453v1o

Что делать? Очевидно поставить скобки:

2. https://godbolt.org/z/86Wj5nh4Y

Стало лучше, но всё ещё можно сломать. Как сломать? С помощью фигурных скобок и фантазии:

3. https://godbolt.org/z/v3qnf519v

Как починить?

После некоторой игры с компилятором я нашёл решение работающее на обоих основных компиляторах (я верю вы его тоже легко найдёте).

4. https://godbolt.org/z/1919eKvnr

Предлагается обосновать по стандарту почему это работает.

#questions
🔥39👍9💩1
Небольшое развлечение с микроволновками на выходных.

Берём любую русскую пословицу, я например выбрал такую "курочка по зёрнышку клюёт, а весь двор в говне".

Просим нейронку перевести это на английский с несколькими ограничениями:

1. Должен сохраниться идиоматический смысл. Например в случае с курочкой, что небольшие постоянные усилия приводят к не обязательно позитивным, но всегда к впечатляющим результатам.

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

3. Должен быть элемент технарского юмора в области компьютерных наук.

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

Призов, кроме зрительских симпатий, не обещаю ))

#llm
43😁34👍9🔥3🤔2
Всем привет. Небольшое, но важное объявление.

Yadro открывает регистрацию на летнюю программу Yadro Импульс. Среди направлений и C и C++ и даже немного компиляторы и тулчейны, всё как мы любим. Набирают сотни человек. Стажировка два месяца -- июль и август, неплохо оплачивается. Рассчитана, конечно, на студентов, там написаны ограничения на сайте.

Подробности и запись: https://edu.yadro.com/impulse

#official
🔥69🐳137🌭3👍2👎1😱1
Прочитал в ННГУ гостевую лекцию по инструментам разработки. Жаль меня так редко зовут в университеты и огромное спасибо кафедре высокопроизводительных вычислений и системного программирования и институту информационных технологий математики и механики (почему-то факультеты в ННГУ называют институтами) и лично Иосифу Борисовичу Меерову за приглашение и организацию.

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

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

Завтра встреча с читателями и надеюсь придут все кто записался в таймпад.

Из университетов следующий iSpring в Йошкар-Оле 17 мая. Там тоже анонс должен появиться и скоро я тут напишу детали.

Ну и на следующей неделе встреча с читателями в Ростове На Дону, обязательно приходите, анонс был чуть выше ))

#official #author_event
🔥129👍294🍓4❤‍🔥1😱1
Провёл встречу с читателями в Нижнем Новгороде.

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

Спасибо всем кто пришёл.

P. S. до встречи зашёл в кафе "Гуси" где меня узнала девушка бариста и сказала что тоже смотрит мои лекции. Это было ещё более вау. Я прямо почувствовал, что в Нижнем меня особенно любят. Очень это ценю.

Спасибо книжному магазину Дирижабль на Большой Покровке за организацию.

#author_event
🔥23151👍20👏4🐳1
Провёл встречу с читателями в Ростове на Дону в библиотеке. Было много людей, общение снова шло без записи и довольно откровенно. Обсудили зачем в мире больше одного компилятора, взгляды Федора Достоевского на код ревью, а также что советовал Чжуан Цзы насчёт перехода программиста в менеджмент. Ну и про книжку пообщались.

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

Два с половиной часа в итоге пролетели незаметно.

С моей точки зрения прошло очень круто, большое спасибо всем кто пришёл. Особенно спасибо C++ группе Ростова на Дону за распространение информации в локальном коммьюнити (ссылку скинут в комментарии) а также Донской Библиотеке за организацию встречи и общую терпимость к самозахвату читального зала.

#author_event
🔥168👍4317
Всем привет. По ближайшим событиям.

17 мая читаю гостевую лекцию в институте iSpring в Йошкар-Оле. Тема примерно та же что и в ННГУ: инструменты разработки.
22 мая вместе с Настей Черниковой выступаем на PhDays в Москве https://phdays.com/ru/forum/program/?tags=development&talk-id=1867
24 мая вместе с Ильёй Андреевым выступаем на Yadro C++ митапе в Санкт-Петербурге https://meetups.yadro.com/cpp-kernel-spb-0525
7 июня читаю гостевую лекцию в Школе 21 в Великом Новгороде.

#official
🔥3326👍8👏3
Выступил на конференции Аскон. Конференция была внутренняя (только для сотрудников компании), а я был приглашённым спикером. Слот выдали небольшой, но в пленарной части, что уважительно само по себе. Плюс моё выступление мне разрешили выложить у себя, за что особенное спасибо.

Что можно успеть за 20 минут? Я попробовал успеть небольшой спидран по тому, что каждый программист должен знать про то, почему компиляторы могут оптимизировать вообще и какие оптимизации лучше держать включёнными. Материал частично пересекается с выступлением на SnowOne, но там я много говорил о сравнении с динамическими языками, подробно и академично, а здесь своего рода выжимка. Мне кажется -- довольно полезная.

Судя по всему, остальные доклады с конференции никуда вовне не выложат, что жаль, там были интересные.

https://youtu.be/YfgwPY5FulY

P. S. SnowOne тоже скоро будет, возможно уже вот-вот.

#conference
👍111🔥3914😱2
Выложили мой доклад на конференции SnowOne. Кажется он получился довольно удачным. Я подробно обсудил чем статически компилируемые языки такие как C++ отличаются от динамически компилируемых, таких как Java. Отдельно остановился на разгадке того факта почему в Java нет UB и привёл пример из C++ где по той же логике в C++ нет UB.

https://www.youtube.com/watch?v=fAZSIAsKarc

00:00 Введение.
08:18 Абстрактная машина языка и as-if rule.
16:44 Трансляционная семантика и виды поведения программ.
25:10 Борьба против UB это борьба против производительности.
35:20 Смешение трансляции и исполнения.
43:10 Резюме, выводы и ответы на вопросы.

#conference
👍94🔥289👏41👀1🦄1
Выложили самый важный мой доклад этого года про модули в C++.

Он оформлен в виде сказки про кашу из топора. Вы все знаете эту сказку, но я расскажу её по новому.

https://www.youtube.com/watch?v=LvRQH8Gkl1E

00:00 Начало
03:30 Дисциплина для меньшей сложности
07:30 Компонентный подход
11:50 Появление топора: precompiled headers
17:30 Кусочек мяса: контроль экспорта и модули
27:05 Немного крупы: транзитивный импорт
32:54 Кусочек масла: глобальный фрагмент
42:40 Финальный рецепт и ответы на вопросы

Давайте приложим силы к тому, чтобы модули стали былью.

Альтернативная ссылка: https://vkvideo.ru/video-77278886_456239996

Презентация: https://jrg.su/3bcqzV

#conference
🔥157👍28223