Техническое.
Вчера случайно выяснилось (пили на афтепати после конференции с коллегами) нечто неприятное. Оказывается когда люди случайно добавляются в технический чат, а я их оттуда, соответственно, удаляю, они внезапно оказываются забанены и теряют возможность комментировать просто по факту удаления. Всех разбанил, всем мои извинения. Увы, телеграм вынуждает меня держать этот чат чтобы комментарии были в принципе возможны. Большая просьба туда не добавляйтесь, для комментариев есть ветки под постами.
#official
Вчера случайно выяснилось (пили на афтепати после конференции с коллегами) нечто неприятное. Оказывается когда люди случайно добавляются в технический чат, а я их оттуда, соответственно, удаляю, они внезапно оказываются забанены и теряют возможность комментировать просто по факту удаления. Всех разбанил, всем мои извинения. Увы, телеграм вынуждает меня держать этот чат чтобы комментарии были в принципе возможны. Большая просьба туда не добавляйтесь, для комментариев есть ветки под постами.
#official
👌39👍9❤4🤔4😁2👾2💅1💊1
Выложил промежуточный семинар по языку C для первого курса.
На этот раз — никаких новых заданий. Мы рассматриваем работу с файлами и решаем интересную задачу, предполагающую поиск в нескольких файлах. Для этого нам также понадобятся аргументы командной строки а в конце и функции с переменным числом аргументов.
https://www.youtube.com/watch?v=2ZiXINFqFnU
#c_graduate
На этот раз — никаких новых заданий. Мы рассматриваем работу с файлами и решаем интересную задачу, предполагающую поиск в нескольких файлах. Для этого нам также понадобятся аргументы командной строки а в конце и функции с переменным числом аргументов.
https://www.youtube.com/watch?v=2ZiXINFqFnU
#c_graduate
YouTube
Практика языка C (МФТИ, 2023-2024). Интермедия: командная строка, файлы и вариабельные аргументы.
Практические занятия по языку C на первом курсе МФТИ. Кафедра информатики.
На этом занятии мы поговорим о файлах и всём что естественно затронуть вокруг них, в частности про аргументы командной строки и про функции с вариабельным числом аргументов.
Семинарист:…
На этом занятии мы поговорим о файлах и всём что естественно затронуть вокруг них, в частности про аргументы командной строки и про функции с вариабельным числом аргументов.
Семинарист:…
🔥52❤7👍1😘1
Выложил первую часть четвертого семинара.
Займёмся структурами данных и начнём с односвязных списков. Посмотрим базовые алгоритмы: корзинную сортировку, разворот списка, поиск петли. После первой половины будет детальный разбор задач с написанием кода.
https://youtu.be/djXpCfEzO34
#c_graduate
Займёмся структурами данных и начнём с односвязных списков. Посмотрим базовые алгоритмы: корзинную сортировку, разворот списка, поиск петли. После первой половины будет детальный разбор задач с написанием кода.
https://youtu.be/djXpCfEzO34
#c_graduate
YouTube
Практика языка C (МФТИ, 2023-2024). Семинар 4.1. Односвязные списки.
Практические занятия по языку C на первом курсе МФТИ. Кафедра информатики.
На этом занятии мы начнём знакомство с динамическими структурами данных и рассмотрим односвязные списки. С прошлым семинаром этот связан через идею корзинной сортировки, но это не…
На этом занятии мы начнём знакомство с динамическими структурами данных и рассмотрим односвязные списки. С прошлым семинаром этот связан через идею корзинной сортировки, но это не…
👍41🔥29❤8
Немного подзамочного контента для моих уважаемых подписчиков.
В этом году я серьёзно расширил в бакалаврском курсе лекцию про проектирование. Она выросла до двух частей. Особенно изменилась вторая часть: я теперь гораздо больше рассказываю про паттерны проектирования и даже связываю их со стандартными идиомами C++, такими как NVI и RAII.
Первая часть: https://youtube.com/live/ypUGW8Lcvuo
Вторая часть: https://youtube.com/live/1SzQpsa9fK4
Слайды: https://sourceforge.net/projects/cpp-lects-rus/files/cpp-graduate-2023-24/09-philosophy.pdf/download
Во второй части звук получше, но в обоих частях он плох, сразу предупреждаю. Это черновые варианты для истинных ценителей.
Как обычно интересен фидбек.
#cpp_graduate
В этом году я серьёзно расширил в бакалаврском курсе лекцию про проектирование. Она выросла до двух частей. Особенно изменилась вторая часть: я теперь гораздо больше рассказываю про паттерны проектирования и даже связываю их со стандартными идиомами C++, такими как NVI и RAII.
Первая часть: https://youtube.com/live/ypUGW8Lcvuo
Вторая часть: https://youtube.com/live/1SzQpsa9fK4
Слайды: https://sourceforge.net/projects/cpp-lects-rus/files/cpp-graduate-2023-24/09-philosophy.pdf/download
Во второй части звук получше, но в обоих частях он плох, сразу предупреждаю. Это черновые варианты для истинных ценителей.
Как обычно интересен фидбек.
#cpp_graduate
👍114🔥47❤16😁1🤯1
Выложили моё выступление на конференции SBER DEVICES.
Сам доклад 20 минут, я постарался говорить коротко и по делу. Потом 15 минут довольно сложной для меня и напряжённой дискуссии. Уровень аудитории конечно превосходный для такой небольшой конференции.
Таймлайн:
Доклад
00:00 Протокольные слова о компаниях и прочем.
02:30 Минимализм базовой RISC-V ISA.
05:30 Расширяемость системы команд.
11:45 Пример расширений для SCRx ядер. Идея профиля.
13:30 ABI и зоопарк multilib.
17:25 Немного о релаксациях.
19:20 Проприетарные тулчейны и Syntacore SW Tools.
Q & A
20:40 Очень напряжённый вопрос: комбинаторный взрыв и боимся ли мы его?
24:30 Ещё немного боли: не утонем ли мы в cross-tools?
26:47 А будут ли RISC-V GPU? (надеюсь)
28:05 Нечто специфичное про виртуализацию (тут я поплыл).
30:20 Два вопроса: аппаратные харденинги и trust zone (увы security HC только в процессе).
32:25 Можно ли пользователю купить наши ядра в железе? (пока нет, но проблему решаем)
33:02 Список литературы? (увы мне не известна)
https://youtu.be/1zLxxxLc0xI
На канале есть и другие доклады с той же конференции, многие довольно интересны.
#conference #riscv
Сам доклад 20 минут, я постарался говорить коротко и по делу. Потом 15 минут довольно сложной для меня и напряжённой дискуссии. Уровень аудитории конечно превосходный для такой небольшой конференции.
Таймлайн:
Доклад
00:00 Протокольные слова о компаниях и прочем.
02:30 Минимализм базовой RISC-V ISA.
05:30 Расширяемость системы команд.
11:45 Пример расширений для SCRx ядер. Идея профиля.
13:30 ABI и зоопарк multilib.
17:25 Немного о релаксациях.
19:20 Проприетарные тулчейны и Syntacore SW Tools.
Q & A
20:40 Очень напряжённый вопрос: комбинаторный взрыв и боимся ли мы его?
24:30 Ещё немного боли: не утонем ли мы в cross-tools?
26:47 А будут ли RISC-V GPU? (надеюсь)
28:05 Нечто специфичное про виртуализацию (тут я поплыл).
30:20 Два вопроса: аппаратные харденинги и trust zone (увы security HC только в процессе).
32:25 Можно ли пользователю купить наши ядра в железе? (пока нет, но проблему решаем)
33:02 Список литературы? (увы мне не известна)
https://youtu.be/1zLxxxLc0xI
На канале есть и другие доклады с той же конференции, многие довольно интересны.
#conference #riscv
YouTube
Расширяемая архитектура RISC-V и Syntacore SW Tools / Константин Владимиров / Салют, OS DevConf!
О чём доклад? Познакомились с открытой расширяемой архитектурой RISC-V на примере ядер Syntacore и с особенностями оптимизации и разработки программ под RISC-V. Рассмотрели архитектуру, ABI и особенности компилятора и тулчейна.
Технологическая конференция…
Технологическая конференция…
🔥75👍12❤4🤓3🫡2👏1
Выложили дискуссию с моим участием на митапе Yadro. Обсудили животрепещущие вопросы, был интересный интерактив с залом. По мнению многих, я отжигал.
https://www.youtube.com/watch?v=GLBi8r0KJz0
#conference
https://www.youtube.com/watch?v=GLBi8r0KJz0
#conference
YouTube
Технические собеседования: что болит у тех, кто их проводит и кто на них приходит
Константин Владимиров, Елена Степанова, Илья Казаков (все YADRO) и Илья Шишков (экс-Яндекс) обсудили с аудиторией московского C++ митапа все, что наболело в теме собеседований.
00:00 - Кто больше всех насобеседовал в своей карьере
01:35 - "Собеседования…
00:00 - Кто больше всех насобеседовал в своей карьере
01:35 - "Собеседования…
🔥64👍13🐳2
Выложил вторую часть четвертого семинара.
На этом занятии мы познакомимся с деревьями и с бинарными деревьями. В основном мы будем заниматься их обходами и решать соответствующие задачи. Но также нас ждёт немного интересной теории относительно представлений деревьев.
https://youtu.be/359wChqJJ4U
#c_graduate
На этом занятии мы познакомимся с деревьями и с бинарными деревьями. В основном мы будем заниматься их обходами и решать соответствующие задачи. Но также нас ждёт немного интересной теории относительно представлений деревьев.
https://youtu.be/359wChqJJ4U
#c_graduate
YouTube
Практика языка C (МФТИ, 2023-2024). Семинар 4.2. Обходы деревьев.
Практические занятия по языку C на первом курсе МФТИ. Кафедра информатики.
На этом занятии мы познакомимся с деревьями и с бинарными деревьями. В основном мы будем заниматься их обходами и решать соответствующие задачи. Но также нас ждёт немного интересной…
На этом занятии мы познакомимся с деревьями и с бинарными деревьями. В основном мы будем заниматься их обходами и решать соответствующие задачи. Но также нас ждёт немного интересной…
👍42🔥18❤2☃1👾1
Недавно посмотрел превосходный и очень глубокий доклад Кевлина Хени который называется "Шесть невозможных вещей".
У Льюиса Кэрола в "Алисе в Зазеркалье", Белая Королева говорила что может поверить в шесть невозможных вещей -- и это только до обеда. Сам доклад выстроен в том же стиле -- мы никогда не можем угадать куда нас вынесет мысль автора и чем дальше тем всё становится чудесатее. Но оторваться невозможно.
00:00 Начало. Можно пропустить.
03:13 Шестое. Представления могут быть бесконечными.
Автор рассматривает бесконечности, их физический и логический смысл. На семнадцатой минуте автор пинает ногами любителей доказывать свойства программ. Также вы узнаете что такое std::midpoint.
24:39 Пятое. На любой вопрос можно найти ответ.
В начале автор пинает ногами ChatGPT, строго по фактам. По делу, строго по делу. Дальше немного говорит о таймзонах, а потом начинается длинный но очень интересный экскурс в то как NaN'ы играют со стандартными контейнерами и это чистое восхищение. Я утащу в свои лекции. После короткого блока ответов на вопросы автор пишет богосорт и рассуждает что такое алгоритмы. Он вообще что хочет то и творит.
01:16:41 Четвёртое. Каждая истина может быть установлена там где она применима.
Автор начинает с проблемы останова и Гёделевской неполноты, но потом переходит на strlen. Дальше немного пинает machine learning в целом.
01:24:25 Третье. Будущее может быть известно до того как случится.
Допустим вы проектируете таблицу для базы данных винного магазина. Вы называете её "вина". К вам приходят и говорят: но это не будет масштабироваться если мы добавим пиво, давай её назовём "напитки". Что тут надо ответить? Очевидно "напитки" не будут масштабироваться на лёд, а тем более на услуги. Возможно стоит назвать её table1 =)
Автор проходится по предсказанию переходов в железе, а потом вдруг воспаряет на менеджерские высоты и долго и больно пинает концепцию роадмапа. О да, я тоже всегда так хотел.
01:35:20 Второе. Распределённые системы познаваемы.
Если вы не знали, распределённая система это такая в который ваш компьютер может стать бесполезен из-за отказа другого компьютера о котором вы ничего не знали.
01:44:02 Первое. Технический долг так же исчислим как и финансовый.
И блестящий финальный аккорд. Автор опять воспаряет на высоты духа и объясняет что такое на самом деле так называемый "технический долг". Завершение внезапное и превосходное.
01:55:29 Завершение и вопросы. Можно прочитать цитату на таймстемпе и дальше пропустить.
Я планирую растащить этот доклад на куски и цитаты и много где его использовать. Блок с нанами пойдёт в лекции для второго курса по стандартной библиотеке, остальное тоже пристрою что куда. Редко, очень редко встречаешь человека который был бы так близок к моему мнению в самых фундаментальных вопросах.
https://www.youtube.com/watch?v=p5sLx2OTP4M
P. S. выложу последний в этом году семинар 4.3 для первого курса в субботу. Также скоро будет большое интервью со мной (выйдет видимо двумя частями), тоже тут анонсирую.
#talks
У Льюиса Кэрола в "Алисе в Зазеркалье", Белая Королева говорила что может поверить в шесть невозможных вещей -- и это только до обеда. Сам доклад выстроен в том же стиле -- мы никогда не можем угадать куда нас вынесет мысль автора и чем дальше тем всё становится чудесатее. Но оторваться невозможно.
00:00 Начало. Можно пропустить.
03:13 Шестое. Представления могут быть бесконечными.
Автор рассматривает бесконечности, их физический и логический смысл. На семнадцатой минуте автор пинает ногами любителей доказывать свойства программ. Также вы узнаете что такое std::midpoint.
24:39 Пятое. На любой вопрос можно найти ответ.
В начале автор пинает ногами ChatGPT, строго по фактам. По делу, строго по делу. Дальше немного говорит о таймзонах, а потом начинается длинный но очень интересный экскурс в то как NaN'ы играют со стандартными контейнерами и это чистое восхищение. Я утащу в свои лекции. После короткого блока ответов на вопросы автор пишет богосорт и рассуждает что такое алгоритмы. Он вообще что хочет то и творит.
01:16:41 Четвёртое. Каждая истина может быть установлена там где она применима.
Автор начинает с проблемы останова и Гёделевской неполноты, но потом переходит на strlen. Дальше немного пинает machine learning в целом.
01:24:25 Третье. Будущее может быть известно до того как случится.
Допустим вы проектируете таблицу для базы данных винного магазина. Вы называете её "вина". К вам приходят и говорят: но это не будет масштабироваться если мы добавим пиво, давай её назовём "напитки". Что тут надо ответить? Очевидно "напитки" не будут масштабироваться на лёд, а тем более на услуги. Возможно стоит назвать её table1 =)
Автор проходится по предсказанию переходов в железе, а потом вдруг воспаряет на менеджерские высоты и долго и больно пинает концепцию роадмапа. О да, я тоже всегда так хотел.
01:35:20 Второе. Распределённые системы познаваемы.
Если вы не знали, распределённая система это такая в который ваш компьютер может стать бесполезен из-за отказа другого компьютера о котором вы ничего не знали.
01:44:02 Первое. Технический долг так же исчислим как и финансовый.
И блестящий финальный аккорд. Автор опять воспаряет на высоты духа и объясняет что такое на самом деле так называемый "технический долг". Завершение внезапное и превосходное.
01:55:29 Завершение и вопросы. Можно прочитать цитату на таймстемпе и дальше пропустить.
Я планирую растащить этот доклад на куски и цитаты и много где его использовать. Блок с нанами пойдёт в лекции для второго курса по стандартной библиотеке, остальное тоже пристрою что куда. Редко, очень редко встречаешь человека который был бы так близок к моему мнению в самых фундаментальных вопросах.
https://www.youtube.com/watch?v=p5sLx2OTP4M
P. S. выложу последний в этом году семинар 4.3 для первого курса в субботу. Также скоро будет большое интервью со мной (выйдет видимо двумя частями), тоже тут анонсирую.
#talks
YouTube
6 impossible things - Kevlin Henney - Opening Keynote Meeting C++ 2023
Kevlin Henney giving the opening keynote at Meeting C++ 2023: 6 impossible things
"Why, sometimes I've believed as many as six impossible things before breakfast", the Queen told Alice on her adventures through the looking glass. Only six? In software development…
"Why, sometimes I've believed as many as six impossible things before breakfast", the Queen told Alice on her adventures through the looking glass. Only six? In software development…
❤55👍32🔥18👏2
День прошёл не зря — я узнал третье отличие class от struct.
Игра следующая: в контексте где возможны и class и struct найти где они будут вести себя по разному.
Общеизвестны 2 отличия:
(1) В class все поля по умолчанию private, в struct — public.
(2) Наследование в структуре по умолчанию публичное а в классе приватное.
Первое обычно знают все. Второе иногда вспоминают на интервью. Но сегодня я узнал третье.
(3) В качестве шаблонного параметра class означает тип, а struct начиная с C++20 означает NTTP с типом этой структуры (или класса с тем же именем, что, ИМХО, особенно прекрасно).
Наслаждаемся: https://godbolt.org/z/vsWzsTK8r
Найдётся ли четвёртое? Жду ваших предложений =)
#questions
Игра следующая: в контексте где возможны и class и struct найти где они будут вести себя по разному.
Общеизвестны 2 отличия:
(1) В class все поля по умолчанию private, в struct — public.
(2) Наследование в структуре по умолчанию публичное а в классе приватное.
Первое обычно знают все. Второе иногда вспоминают на интервью. Но сегодня я узнал третье.
(3) В качестве шаблонного параметра class означает тип, а struct начиная с C++20 означает NTTP с типом этой структуры (или класса с тем же именем, что, ИМХО, особенно прекрасно).
Наслаждаемся: https://godbolt.org/z/vsWzsTK8r
Найдётся ли четвёртое? Жду ваших предложений =)
#questions
godbolt.org
Compiler Explorer - C++
class T {};
template <class T> struct A {};
template <struct T> struct B {};
int main() {
A<T> a;
B<T{}> b;
}
template <class T> struct A {};
template <struct T> struct B {};
int main() {
A<T> a;
B<T{}> b;
}
🤯66🔥25👍18❤6🤷5
Выложил последний в этом семестре семинар по практике программирования на языке C.
На этом занятии мы разберём хеш-таблицы, многомодульные программы и структуры данных.
https://youtu.be/jMMzX607JK4
#c_graduate
На этом занятии мы разберём хеш-таблицы, многомодульные программы и структуры данных.
https://youtu.be/jMMzX607JK4
#c_graduate
YouTube
Практика языка C (МФТИ, 2023-2024). Семинар 4.3. Структуры данных.
Практические занятия по языку C на первом курсе МФТИ. Кафедра информатики.
На этом занятии мы завершим первый семестр знакомства с основами языка C и разберём многомодульные программы и структуры данных.
Семинарист: Константин Владимиров.
Дата: 15 декабря…
На этом занятии мы завершим первый семестр знакомства с основами языка C и разберём многомодульные программы и структуры данных.
Семинарист: Константин Владимиров.
Дата: 15 декабря…
👍49🔥22❤13
Выложили первую часть интервью со мной в рамках подкаста "Битовые Маски". Изначально планировалась одна часть, но в итоге сняли две, вторая будет после праздников. Чисто разговорный жанр, довольно лёгкий. Биография, взгляды на жизнь и образование, немного про компиляторы.
https://youtu.be/oXjS8mJk6VE
UPD: вторая часть https://t.me/cpp_lects_rus/151
#interview
https://youtu.be/oXjS8mJk6VE
UPD: вторая часть https://t.me/cpp_lects_rus/151
#interview
YouTube
LLVM и GCC / Register allocation / IT-образование в вузах (часть 1)
В этом выпуске Константин Владимиров, занимавшийся разработкой компиляторов для CPU и GPU, расскажет о том достоинствах и недостатках GCC и LLVM. Константин опишет различные современные подходы к аллокации регистров, применяемых в компиляторах. А также поделится…
🔥84👍31🎄7❤3🤡2🦄2
Пост итогов 2023-го года.
Новый год шагает по стране. В этом посте я подведу свои итоги. Призываю всех в комментариях либо делиться своими ощущениями от года и нашего канала, либо просто поздравлять меня и друг друга. Особенно круто поздравлять непосредственно в новогоднюю ночь. Но, поскольку у всех она наступает по разному, я выложил этот пост чуточку заранее.
Главный итог для меня -- завершение моего opus magnum. Все 28 лекций магистерского курса записаны и выложены. Они дополняют 28 лекций бакалаврского курса и вместе эти два курса покрывают современный C++.
Базовый: https://www.youtube.com/playlist?list=PL3BR09unfgciJ1_K_E914nohpiOiHnpsK
Магистерский: https://www.youtube.com/playlist?list=PL3BR09unfgcgf7R88ZQRQqWOdLy4pRW2h
Особое спасибо Дмитрию Рябцеву, Владиславу Белову, Марку Гончарову и Юлию Тарасову, без которых ничего бы не было.
Я также начал записывать необязательный приквел в виде практического курса по языку C, ассемблеру и архитектуре. Дело в том, что базовый курс C++ может вызывать определённые сложности если человек грубо говоря не решил свои первые сто задач и не разобрался в основах основ.
Вот, собственно, и они: https://www.youtube.com/playlist?list=PL3BR09unfgchRxdDws74aY4mlSk9eYGEs
Для меня этот год также был годом активного участия в конференциях.
Ascon: https://www.youtube.com/watch?v=R1XcV5vHn0I
C++ Russia: https://www.youtube.com/watch?v=lc3UkIZ4zOY&t=110s
Вебинары для российской орды... то есть я хотел сказать альянса RISC-V.
Первый: https://www.youtube.com/watch?v=3Jv9_jBq1fE
Второй: https://www.youtube.com/watch?v=29iNHEhHmd0
Zero cost conf про scalable vectorization: https://youtu.be/lwIBp6cc-HY
Sber devices про RISC-V в целом: https://youtu.be/1zLxxxLc0xI
Ну а также всякие разговорные жанры, в основном митап Yadro и битовые маски.
Многие меня упрекают, что, когда я работал над графикой, я всем втирал про графику, а когда работаю над RISC-V, всем втираю про RISC-V. Но, мне кажется, это нормально. Обычно у человека как раз и есть что рассказать о чём-то, над чем он работает.
Мой телеграм-канал вырос до более чем 2500 человек и мой youtube-канал до более чем 13000. Это несколько пугающие для меня цифры и, я боюсь, то ли ещё будет. В связи с этим банить начал больше и чаще, даже за то, что раньше как-то терпел. Теория выбитых окон, всё такое. Отдельной строчкой упомяну, что я также весь год удерживался от любых примесей политоты на ютубе и в телеграме, хотя мне было очень сложно (надеюсь и вы в комментариях удержитесь). Также я удержался от размещения коммерческой рекламы, от заведения аккаунта на boosty и от продажи платных курсов.
Из того что не получилось. В первую очередь не получилось защитить кандидатскую диссертацию. Я собственно дропнул, не выходя на защиту так как не выдержал этого всего. Увы я не создан для академии. Я буду делать дальнейшие попытки, но позже.
Теперь об анонсах и планах. В этом году я заключил контракт с издательством на некую интересную книгу (не художественную, но и не по C++) и уже написал более половины... но об этом в наступающем году. И я в наступающем году также анонсирую большой и важный проект, который мы писали весь этот год и который мне разрешили вынести в опенсорс. Он собственно уже в опенсорсе но пока без особых фанфар.
Спасибо всем кто был со мной весь этот год и надеюсь в следующем мы продолжим становиться лучшими.
Всех с Новым Годом!
#official #happynewyear
Новый год шагает по стране. В этом посте я подведу свои итоги. Призываю всех в комментариях либо делиться своими ощущениями от года и нашего канала, либо просто поздравлять меня и друг друга. Особенно круто поздравлять непосредственно в новогоднюю ночь. Но, поскольку у всех она наступает по разному, я выложил этот пост чуточку заранее.
Главный итог для меня -- завершение моего opus magnum. Все 28 лекций магистерского курса записаны и выложены. Они дополняют 28 лекций бакалаврского курса и вместе эти два курса покрывают современный C++.
Базовый: https://www.youtube.com/playlist?list=PL3BR09unfgciJ1_K_E914nohpiOiHnpsK
Магистерский: https://www.youtube.com/playlist?list=PL3BR09unfgcgf7R88ZQRQqWOdLy4pRW2h
Особое спасибо Дмитрию Рябцеву, Владиславу Белову, Марку Гончарову и Юлию Тарасову, без которых ничего бы не было.
Я также начал записывать необязательный приквел в виде практического курса по языку C, ассемблеру и архитектуре. Дело в том, что базовый курс C++ может вызывать определённые сложности если человек грубо говоря не решил свои первые сто задач и не разобрался в основах основ.
Вот, собственно, и они: https://www.youtube.com/playlist?list=PL3BR09unfgchRxdDws74aY4mlSk9eYGEs
Для меня этот год также был годом активного участия в конференциях.
Ascon: https://www.youtube.com/watch?v=R1XcV5vHn0I
C++ Russia: https://www.youtube.com/watch?v=lc3UkIZ4zOY&t=110s
Вебинары для российской орды... то есть я хотел сказать альянса RISC-V.
Первый: https://www.youtube.com/watch?v=3Jv9_jBq1fE
Второй: https://www.youtube.com/watch?v=29iNHEhHmd0
Zero cost conf про scalable vectorization: https://youtu.be/lwIBp6cc-HY
Sber devices про RISC-V в целом: https://youtu.be/1zLxxxLc0xI
Ну а также всякие разговорные жанры, в основном митап Yadro и битовые маски.
Многие меня упрекают, что, когда я работал над графикой, я всем втирал про графику, а когда работаю над RISC-V, всем втираю про RISC-V. Но, мне кажется, это нормально. Обычно у человека как раз и есть что рассказать о чём-то, над чем он работает.
Мой телеграм-канал вырос до более чем 2500 человек и мой youtube-канал до более чем 13000. Это несколько пугающие для меня цифры и, я боюсь, то ли ещё будет. В связи с этим банить начал больше и чаще, даже за то, что раньше как-то терпел. Теория выбитых окон, всё такое. Отдельной строчкой упомяну, что я также весь год удерживался от любых примесей политоты на ютубе и в телеграме, хотя мне было очень сложно (надеюсь и вы в комментариях удержитесь). Также я удержался от размещения коммерческой рекламы, от заведения аккаунта на boosty и от продажи платных курсов.
Из того что не получилось. В первую очередь не получилось защитить кандидатскую диссертацию. Я собственно дропнул, не выходя на защиту так как не выдержал этого всего. Увы я не создан для академии. Я буду делать дальнейшие попытки, но позже.
Теперь об анонсах и планах. В этом году я заключил контракт с издательством на некую интересную книгу (не художественную, но и не по C++) и уже написал более половины... но об этом в наступающем году. И я в наступающем году также анонсирую большой и важный проект, который мы писали весь этот год и который мне разрешили вынести в опенсорс. Он собственно уже в опенсорсе но пока без особых фанфар.
Спасибо всем кто был со мной весь этот год и надеюсь в следующем мы продолжим становиться лучшими.
Всех с Новым Годом!
#official #happynewyear
🔥238❤56🎄32👍26🍾23☃9🫡4👏3
Пример неожиданной полемики.
У меня в ленте подписок следующие два доклада идут рядом. Они были сделаны на разных конференциях, выложены на youtube практически одномоментно и в целом я думаю тут нельзя подозревать никакого умысла. Каждый пел о том, о чём пел, а полифония возникла сама.
1. Phisl Nash, "Rewiring your brain with test driven thinking in C++", Meeting C++ 2023, https://youtu.be/Hx-1Wtvhvgw
2. Ian Cooper, "TDD Revisited", NDC Porto 2023, https://youtu.be/IN9lftH0cJc
Смотреть именно в таком порядке. Первый доклад это не доклад, это проповедь. У уважаемого докладчика горят глаза. Он уличает аудиторию в недостаточном следовании учению, а потом на восхитительно дурацком примере (начало в 20:25) показывает как приходят к спасению. За десять минут. У меня правда есть вопрос к 29:45 -- а почему собственно он прекратил писать тесты в этот момент? Может там ещё что осталось невыловленное? Я имею в виду -- у него до этого каждый новый тест ловил по багу. Он написал пятый и бросил. Но за общие презентационные скиллы всё это можно простить, доклад очень хорош и я могу его очень порекомендовать.
Правда после него остаются более фундаментальные вопросы. Например такой: TDD это мягко скажем не новая практика. Оно известно давно. Оно очень и очень мало где применяется в чистом виде. Может быть это само по себе означает что в нём есть какое-то место где всё идёт не по плану? Ну например самое простое: большое количество написанных юнит-тестов делает дизайн негибким, а программирование это всё ещё исследовательская область. Или там -- зачем вообще тратить время программистов на юнит-тесты, может мы лучше сделаем генератор и сгенерируем миллиард таких тестов автоматически из спецификации? И сделаем это после того как основные бизнес-задачи решены чтобы просто почистить перед релизом? Ну и прочие вопросы.
Второй доклад гораздо глубже и интереснее. Там почти нет специфики конкретного языка (я не удивлюсь если докладчик вообще пишет на каком-нибудь js). Там нет примеров кода. Но он вскрывает именно глубокие и сложные моменты TDD, действительную (и очень существенную) полезность этой методологии, но кроме того и те подводные камни которые там действительно есть и как её можно использовать неправильно или даже совсем неправильно.
Если посмотреть оба доклада один за другим, возникает двойное удовольствие. Своего рода стереоскопия. Но даже не это самое главное. Первый докладчик много говорит о перестройке мозга. Мне кажется, если в каком направлении и надо перестраивать мозг, так это в направлении когда вы слушаете что вам говорят и за десять минут понимаете кто перед вами: просто проповедник или человек, желающий глубоко разобраться?
И заметьте, я не утверждаю что проповеди не надо слушать. Иногда доклады первого типа куда полезней. Скажем я на втором курсе абсолютно сознательно рассказываю в жанре проповеди лекцию по стандартным алгоритмам.
Просто это два очень разных жанра. Примерно как прочитать про некоего героя любовный роман, где повествуется о его нежных чувствах. А потом прочитать про него же детектив. Где его нежные чувства тщательно расследуются. И раскрываются совсем по новому.
#talks
У меня в ленте подписок следующие два доклада идут рядом. Они были сделаны на разных конференциях, выложены на youtube практически одномоментно и в целом я думаю тут нельзя подозревать никакого умысла. Каждый пел о том, о чём пел, а полифония возникла сама.
1. Phisl Nash, "Rewiring your brain with test driven thinking in C++", Meeting C++ 2023, https://youtu.be/Hx-1Wtvhvgw
2. Ian Cooper, "TDD Revisited", NDC Porto 2023, https://youtu.be/IN9lftH0cJc
Смотреть именно в таком порядке. Первый доклад это не доклад, это проповедь. У уважаемого докладчика горят глаза. Он уличает аудиторию в недостаточном следовании учению, а потом на восхитительно дурацком примере (начало в 20:25) показывает как приходят к спасению. За десять минут. У меня правда есть вопрос к 29:45 -- а почему собственно он прекратил писать тесты в этот момент? Может там ещё что осталось невыловленное? Я имею в виду -- у него до этого каждый новый тест ловил по багу. Он написал пятый и бросил. Но за общие презентационные скиллы всё это можно простить, доклад очень хорош и я могу его очень порекомендовать.
Правда после него остаются более фундаментальные вопросы. Например такой: TDD это мягко скажем не новая практика. Оно известно давно. Оно очень и очень мало где применяется в чистом виде. Может быть это само по себе означает что в нём есть какое-то место где всё идёт не по плану? Ну например самое простое: большое количество написанных юнит-тестов делает дизайн негибким, а программирование это всё ещё исследовательская область. Или там -- зачем вообще тратить время программистов на юнит-тесты, может мы лучше сделаем генератор и сгенерируем миллиард таких тестов автоматически из спецификации? И сделаем это после того как основные бизнес-задачи решены чтобы просто почистить перед релизом? Ну и прочие вопросы.
Второй доклад гораздо глубже и интереснее. Там почти нет специфики конкретного языка (я не удивлюсь если докладчик вообще пишет на каком-нибудь js). Там нет примеров кода. Но он вскрывает именно глубокие и сложные моменты TDD, действительную (и очень существенную) полезность этой методологии, но кроме того и те подводные камни которые там действительно есть и как её можно использовать неправильно или даже совсем неправильно.
Если посмотреть оба доклада один за другим, возникает двойное удовольствие. Своего рода стереоскопия. Но даже не это самое главное. Первый докладчик много говорит о перестройке мозга. Мне кажется, если в каком направлении и надо перестраивать мозг, так это в направлении когда вы слушаете что вам говорят и за десять минут понимаете кто перед вами: просто проповедник или человек, желающий глубоко разобраться?
И заметьте, я не утверждаю что проповеди не надо слушать. Иногда доклады первого типа куда полезней. Скажем я на втором курсе абсолютно сознательно рассказываю в жанре проповеди лекцию по стандартным алгоритмам.
Просто это два очень разных жанра. Примерно как прочитать про некоего героя любовный роман, где повествуется о его нежных чувствах. А потом прочитать про него же детектив. Где его нежные чувства тщательно расследуются. И раскрываются совсем по новому.
#talks
YouTube
Rewiring your brain with test driven thinking in C++ - Phil Nash - Meeting C++ 2023
Rewiring your brain with test driven thinking in C++ - Phil Nash - Meeting C++ 2023
We all say we should write tests, or at least we should write more of them.
But we never seem to have the time, and our focus is on the actual problems we’re trying to solve.…
We all say we should write tests, or at least we should write more of them.
But we never seem to have the time, and our focus is on the actual problems we’re trying to solve.…
👍69❤10🔥8
Выложили вторую итоговую часть интервью со мной в рамках подкаста "Битовые Маски". Всё ещё лёгкий разговорный жанр. GPU, новости стандарта, польза от UB.
https://www.youtube.com/watch?v=_SIBiSR8rzM
Прошлый выпуск:
https://t.me/cpp_lects_rus/148
Подробный анонс на канале подкаста:
https://t.me/ultimate_engineer/96
#interview
https://www.youtube.com/watch?v=_SIBiSR8rzM
Прошлый выпуск:
https://t.me/cpp_lects_rus/148
Подробный анонс на канале подкаста:
https://t.me/ultimate_engineer/96
#interview
YouTube
LLVM в GPU компиляторах/Стандарты С++ (часть 2)
Во второй части выпуска «Битовых масок» Константин Владимиров, инженер с 20-летним опытом разработки на C/C++, расскажет об особенностях разработки компиляторов для GPU. А также порассуждает о новых полезных вещах в стандартах C++ и объяснит, почему разработчикам…
👍76🔥38💅5❤3👏3😍2👨💻1
Всем привет. 2 февраля читаю (очередную) вводную лекцию по RISC-V на "зимней школе" в Нижнем Новгороде.
В принципе будет похоже на выступление на конференции Сбера и на семинары для академического комитета, только чуть подробнее и с упором на образовательный контент.
Насчёт того будет ли запись я, если честно, не уверен, но если будет я дам ссылку. Можно послушать онлайн бесплатно по регистрации.
Подробности: https://careers.yadro.com/risc-v-school/
#conference #riscv
В принципе будет похоже на выступление на конференции Сбера и на семинары для академического комитета, только чуть подробнее и с упором на образовательный контент.
Насчёт того будет ли запись я, если честно, не уверен, но если будет я дам ссылку. Можно послушать онлайн бесплатно по регистрации.
Подробности: https://careers.yadro.com/risc-v-school/
#conference #riscv
🔥63👍25😍4❤1👎1👏1
Начался новый семестр и я продолжаю выкладку семинаров по языку C.
https://www.youtube.com/watch?v=6s5HIJDlLiE
На этом занятии мы начнём второй семестр знакомства с основами языка C и разберём работу с индивидуальными символами и со строками. Кроме того мы возобновим знакомство с объединениями и перечисляемыми типами.
#c_graduate
https://www.youtube.com/watch?v=6s5HIJDlLiE
На этом занятии мы начнём второй семестр знакомства с основами языка C и разберём работу с индивидуальными символами и со строками. Кроме того мы возобновим знакомство с объединениями и перечисляемыми типами.
#c_graduate
YouTube
Практика языка C (МФТИ, 2023-2024). Семинар 5.1. Строки и символы.
Практические занятия по языку C на первом курсе МФТИ. Кафедра информатики.
На этом занятии мы начнём второй семестр знакомства с основами языка C и разберём работу с индивидуальными символами и со строками. Кроме того мы возобновим знакомство с объединениями…
На этом занятии мы начнём второй семестр знакомства с основами языка C и разберём работу с индивидуальными символами и со строками. Кроме того мы возобновим знакомство с объединениями…
👍86🔥31❤13👏9😐1
Очередной семинар по языку C посвящён регулярным выражениям и автоматам.
https://youtu.be/KlV1srH5erQ
На этом занятии мы погрузимся в более интересную обработку строковой информации. Мы познакомимся с понятиями конечного автомата и регулярного выражения, поиграем с утилитой grep, научимся писать наши собственные регулярные выражения на C и даже используем их для условно-практических задач (скажем распознавания email в тексте).
Во второй половине будет небольшой лайв-кодинг, я показываю переход от сложных свитчей к таблице состояний.
#c_graduate
https://youtu.be/KlV1srH5erQ
На этом занятии мы погрузимся в более интересную обработку строковой информации. Мы познакомимся с понятиями конечного автомата и регулярного выражения, поиграем с утилитой grep, научимся писать наши собственные регулярные выражения на C и даже используем их для условно-практических задач (скажем распознавания email в тексте).
Во второй половине будет небольшой лайв-кодинг, я показываю переход от сложных свитчей к таблице состояний.
#c_graduate
YouTube
Практика языка C (МФТИ, 2023-2024). Семинар 5.2. Регулярные выражения и автоматы.
Практические занятия по языку C на первом курсе МФТИ. Кафедра информатики.
На этом занятии мы погрузимся в более интересную обработку строковой информации. Вы познакомимся с понятиями конечного автомата и регулярного выражения, поиграем с утилитой grep,…
На этом занятии мы погрузимся в более интересную обработку строковой информации. Вы познакомимся с понятиями конечного автомата и регулярного выражения, поиграем с утилитой grep,…
👍65🔥20❤8😁1
Заканчиваем пятый логический семинар.
https://youtu.be/LTFWuT21siY
На этом занятии мы познакомимся с принципом оптимальности Беллмана и дискретным динамическим программированием. Мы решим несколько классических задач: рюкзак, размен монет, расстояние редактирования в строках. Кроме того мы ещё немного сдвинем пределы регулярности и выясним связь формальных грамматик как с регулярными выражениями, так и с динамическим программированием. В конце будет небольшое объяснение про мемсет.
#c_graduate
https://youtu.be/LTFWuT21siY
На этом занятии мы познакомимся с принципом оптимальности Беллмана и дискретным динамическим программированием. Мы решим несколько классических задач: рюкзак, размен монет, расстояние редактирования в строках. Кроме того мы ещё немного сдвинем пределы регулярности и выясним связь формальных грамматик как с регулярными выражениями, так и с динамическим программированием. В конце будет небольшое объяснение про мемсет.
#c_graduate
YouTube
Практика языка C (МФТИ, 2023-2024). Семинар 5.3. Динамическое программирование.
Практические занятия по языку C на первом курсе МФТИ. Кафедра информатики.
На этом занятии мы познакомимся с принципом оптимальности Беллмана и дискретным динамическим программированием. Мы решим несколько классических задач: рюкзак, размен монет, расстояние…
На этом занятии мы познакомимся с принципом оптимальности Беллмана и дискретным динамическим программированием. Мы решим несколько классических задач: рюкзак, размен монет, расстояние…
❤60👍17🔥6👏3
Немного подзамочного контента для моих уважаемых подписчиков.
Прочитал лекцию на открытие лаборатории RISC-V в МФТИ.
Рассказываю обзорные вещи про тулчейны, кросс-компиляцию и RISC-V.
Выложил в хорошем качестве, но пока по ссылке т.к. она немного конфликтует с планируемым мной обновлением курса по тулчейну (планирую в этом или следующем году). В нём будут раскрыты все те же темы (компиляция, ассемблирование линковка, кросс-компиляция) но куда более подробно и детально. Эта лекция -- общий очень высокоуровневый обзор чтобы познакомить студентов с тем, чем им предстоит заниматься в лаборатории на практических занятиях.
https://youtu.be/xY_Ne9ZznJ4
#toolchain #riscv
Прочитал лекцию на открытие лаборатории RISC-V в МФТИ.
Рассказываю обзорные вещи про тулчейны, кросс-компиляцию и RISC-V.
Выложил в хорошем качестве, но пока по ссылке т.к. она немного конфликтует с планируемым мной обновлением курса по тулчейну (планирую в этом или следующем году). В нём будут раскрыты все те же темы (компиляция, ассемблирование линковка, кросс-компиляция) но куда более подробно и детально. Эта лекция -- общий очень высокоуровневый обзор чтобы познакомить студентов с тем, чем им предстоит заниматься в лаборатории на практических занятиях.
https://youtu.be/xY_Ne9ZznJ4
#toolchain #riscv
YouTube
Открытие лаборатории RISC-V в МФТИ
Лекция на открытие лаборатории RISC-V: тулчейн, ассемблер, линкер, кросс-компиляция, расширяемая архитектура RISC-V
Съёмка: Марк Гончаров
Звук: Юлий Тарасов
Слайды: https://sourceforge.net/projects/cpp-lects-rus/files/toolchain/RISCV/riscv_talk_mipt_2024.pdf/download…
Съёмка: Марк Гончаров
Звук: Юлий Тарасов
Слайды: https://sourceforge.net/projects/cpp-lects-rus/files/toolchain/RISCV/riscv_talk_mipt_2024.pdf/download…
🔥86👍34❤6⚡2
Всем привет. 20 марта буду в Санкт-Петербурге выступать на митапе Yadro.
Рассмотрю самые разные механизмы абстракции в языке: от виртуальных функций до корутин и мы вместе попробуем найти среди них абстракции отрицательной стоимости.
Всех буду рад увидеть, особенно если раньше мы с вами в Питере не пересекались (я там не выступал кажется с 2022-го).
Участие бесплатное, количество мест ограничено регистрация по ссылке.
#conference
Рассмотрю самые разные механизмы абстракции в языке: от виртуальных функций до корутин и мы вместе попробуем найти среди них абстракции отрицательной стоимости.
Всех буду рад увидеть, особенно если раньше мы с вами в Питере не пересекались (я там не выступал кажется с 2022-го).
Участие бесплатное, количество мест ограничено регистрация по ссылке.
#conference
Истовый инженер
C++ Meetup 2
20 марта в Санкт-Петербурге и онлайн пройдет встреча плюсовиков.
👍67🔥24🫡15❤5