C++ and other lectures

@cpp_lects_rus


Учебный канал в Телеграм: тут будут анонсы и ссылки на лекции и стримы. Написать автору: @Tilir

C++ and other lectures

21 Oct, 16:13


Не так давно мои МФТИ-шные контесты по C для первого курса (которые больше недоступны через ejudge) были добавлены на Яндекс контест, о чём я писал вот тут: https://t.me/cpp_lects_rus/187

Сейчас случилось ещё более радостное событие: задачи были добавлены на stepik.

https://stepik.org/209865

Громадное спасибо Артёму Ершову https://t.me/iam28th за эту замечательную работу!

#c_graduate

C++ and other lectures

19 Oct, 06:01


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

Мы начинаем с построения HIR, далее ставим задачу продвижения констант, и, для того, чтобы решить эту задачу, вводим красивую математическую структуру так называемых решёток. После чего нас ждёт первый (но не последний) алгоритм в этом курсе.

https://youtu.be/0DQOmHfPErA

https://rutube.ru/video/8efdba83efac337400af15a8c81e7dbb/

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

#compilers

C++ and other lectures

15 Oct, 17:01


Загадка недостающих страниц (конкурс с призом)

Участники процесса: редактор Алиса и наборщик Боб (имена не настоящие, взяты сами понимаете откуда).

На этапе предзаказа Алиса посылает Бобу некий драфт, который Боб адаптирует для листалки на сайте и сохраняет у себя.

Далее перед печатью в типографии Алиса посылает Бобу финальный печатный файл.

Но в ночь перед печатью, Алиса замечает на четырёх страницах, а именно на страницах 22, 167, 169 и 173 некую проблему, которая не очевидна на этих страницах, но после печати в типографии станет очевидной и неприятной. Поэтому она пишет Бобу просьбу заменить эти четыре страницы на те, которые она прислала.

Боб заменяет, но случайно делает это не в финальном файле, а в драфте и отправляет на печать драфт с заменёнными четырьмя страницами.

Чему нас учит эта история? Не надо коммитить без CI в ночь перед релизом.

В общем в истории с моей книгой все события -- как будто бы из нашей жизни.

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

#questions

C++ and other lectures

14 Oct, 17:32


Всем привет.

Как многие заметили в предзаказе книга пришла странная. Она фактически отпечатана с раннего драфта и там есть уже ставшая знаменитой страница 22, оставшаяся от той книги, какой она должна была быть. Также проблемы есть со страницами 167, 169 и 173.

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

Подробности будут позже.

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

#official

C++ and other lectures

12 Oct, 06:01


Итак, книга приехала из типографии чуть раньше, чем должна была.

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

Видео будут появляться каждую субботу с утра где-то до конца декабря.

https://youtu.be/shvOI7SQ3q4

https://rutube.ru/video/3702d41e19ad5fd3b653820b530023dd/

Первая лекция очень простая и ознакомительная — на ней мы поговорим о тех задачах, которые решает компилятор, о синтаксисе и семантике программ, рассмотрим разные оптимизации и в конце введём HIR — High Level IR, которым будем пользоваться при дальнейшем изложении.

#toolchain #compilers

C++ and other lectures

07 Oct, 14:51


Всем привет. Типография поставила дату 22.10, соответственно выкладку курса начну в субботу 19-го.

UPDATE: Типография справилась быстрее. Попробую начать выкладку пораньше ))

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

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

#official

C++ and other lectures

25 Sep, 22:06


Всем привет. 28 сентября в субботу выступаю на IT-конференции Стачка в СПб.

С 11:40 до 12:45 со мной можно будет пообщаться в "экспертной зоне". Это для владельцев VIP-билетов. Подразумевается неспешный разговор серьёзных людей и лакшери времяпрепровождение. Презентация мне дорогих напитков приветствуется, но остаётся на ваше усмотрение.

В 13:40 мы с очаровательной содоклачицей Настей расскажем про инструмент автоматического бенчмаркинга llvm-exegesis. И конечно про его бэкенд для открытой и расширяемой архитектуры RISC-V, сделанный нашей командой. И даже немного про LLVM-based ORC JIT. Это уже в основном треке и для всех.

P. S. книга всё ближе. Вчера отослал последние мелкие правки по вёрстке. Уже готовится печатный файл, середина октября выглядит реалистично. Скоро начну выкладку курса на youtube/rutube, информация будет на этом канале.

#conference

C++ and other lectures

13 Sep, 19:20


Пятница, вечер, самое время для свежепридуманного этюда по C++. Придумал утром, сегодня опробовал на коллегах и остался доволен.

https://godbolt.org/z/8EaEbPz9x — это не работает
https://godbolt.org/z/6b3977Pac — то же, но без инстанцирования структуры отлично работает

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

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

#questions #cpp_postgraduate

C++ and other lectures

07 Sep, 08:34


Вместо того, чтобы:
* готовиться к выступлению на ШМУ в Сириусе 20-го сентября.
* готовиться к выступлению на конференции "Стачка" в Питере 28-го сентября
* готовится к первой бакалаврской лекции в понедельник
* прочее

Я вчера весь вечер писал вот этот сомнительный длиннопост про разум, вычислимость, тезис Тьюринга и, главное, недооценённую многими людьми гениальность так называемого "теста Тьюринга", очерчивающего границы нашей возможности к распознаванию разума.

https://telegra.ph/Tezis-Tyuringa-09-06

Внутри много философии, вы предупреждены.

P. S. книгу сверстали, результат в целом ок, но там разъехались листинги, я отправил правки, их сейчас вносят и далее нас ждёт ещё один круг. Ориентировочная дата выхода -- середина октября.

#computability #conference #publications

C++ and other lectures

27 Aug, 20:01


Приближается сентябрь, начало учебного года.

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

Ссылки на стрим постятся до начала лекции в каналы с соответствующими названиями (магистратура-2024-25 и бакалавриат-2024-25), так что вы можете участвовать онлайн в реальном времени. Вопросы по теме лекции из чата стрима зачитываются в аудитории. В основном канале дискорд-сервера обычно помещается организационная информация. Есть также канал для оффтопик общения. Как вы понимаете я нигде не размещаю рекламу, ничего не монетизирую и не собираю донаты.

Стримы в этом году будут вестись на rutube, технология опробована и сюрпризов не ожидается. Стримы отличаются от выложенных на youtube курсов некоторыми обновлениями материала, отсутствием видео и традиционно плохим звуком (с обработкой звука и съёмкой видео я заморачиваюсь только для официальной выкладки), на стримах у меня обычно только экран -- слайды и код. Записи стримов сохраняются и доступны после стрима.

https://discord.gg/w73eVVraKg

#official

C++ and other lectures

22 Aug, 16:28


Настало время этого анонса.

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

Финальный вариант книги ещё не свёрстан, так что на шрифт и верстку пока не смотрите, в печати всё будет гораздо лучше.

https://www.chitai-gorod.ru/product/optimiziruyushchie-kompilyatory-struktura-i-algoritmy-3059667

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

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

P. S. Статистика по предпродажам сильно повлияет на тираж книги. Ну и в предпродаже её можно купить со значительной скидкой.

#publications

C++ and other lectures

11 Aug, 15:06


Ну и завершая тему Zero Cost Conference написал (довольно длинный) обзор всего остального что там было по обоим трекам и в Москве и в Ереване (ну кроме откровенно странных штук типа геогессинга).

https://telegra.ph/Obzor-dokladov-proshedshej-Zero-Cost-Conf2024-08-11

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

#conference #talks

C++ and other lectures

09 Aug, 18:59


Продолжаем тему Zero Cost Conference этого года (благо почти все видео уже выложены).

Прежде, чем я перейду к общему обзору, давайте немного поговорим про лучший доклад. Обычно, когда я выступаю на какой-то конференции, лучшим докладом там я считаю, конечно, свой. Так было на этой C++ Russia и много ещё где. Есть понятные исключения, когда я просто прихожу на огонёк поболтать про открытую и расширяемую и т.п. (кстати зовите), там, разумеется, я ни на что не претендую, я сейчас про содержательные доклады.

Итак я всегда иду с предположением что я лучший. Но, с другой стороны, мне всегда очень приятно ошибаться в этом предположении. И вот как раз на ZCC'24 был доклад, который я считаю несомненно лучшим, чем даже мой, причём лучшим с отрывом и с гандикапом. Он прекрасен и по композиции и по глубине и по раскрытию темы.

Встречайте, Сергей Слотин.

https://youtu.be/Lrjjqc1bRHo

Timeline (моя версия)
00:00 Начало и правила игры
06:00 Первый вопрос
11:30 Memory sharing
19:20 Пропускная способность
29:52 Ассоциативность
37:50 Виртуальная память
47:40 Завершение

В опросе, который проводился в процессе доклада, я по итогу занял 13-е место. Я бы удержался в десятке, но я ответил "about the same" на первый вопрос, так как именно в таком эксперименте мне никогда не удавалось пронаблюдать лесенку. После конференции обсудили с Сергеем его способ бенчмаркинга. Исходники для желающих перемерить:

https://github.com/sslotin/amh-code/tree/main/cpu-cache

Сергей, как выяснилось, также является автором вот этого превосходного материала, который я многие годы использовал при подготовке разного уровня лекций.

https://en.algorithmica.org/hpc/

Прекрасный материал, прекрасный доклад, очень рекомендую.

#talks