Schedule

The program hasn't been finally approved yet, so there still might be some changes.

Click on the title to read the talk description. All talks with their short descriptions are here.

Day 1. October 31

Time  & Track
Lecture
Track 1
Track 2
Track 3
09:00 - 20:00

Registration

10:00 - 10:30

Conference opening

10:30 - 11:30
10:30 Track 1
Better code: Relationships
Sean Parent
Adobe
#relationships  #bettercode 
For practicing engineers EN
11:30 - 12:00

Break

12:00 - 13:00
12:00 Track 1
A state of сompile time regular expressions
Hana Dusíková
AVAST
#parsing  #metaprogramming  #constexpr 
Hardcore. Really hard and demanding talk, you'll understand only if you're an experienced engineer. EN
12:00 Track 2
The C++ rvalue lifetime disaster
Arno Schoedl
think-cell
#rvalue  #moderncpp 
For practicing engineers EN
12:00 Track 3
Automate it
Kirill Tikhonov
DINS
#DevOps  #Gitlab  #ContinuousDeployment  #Docker 
Introduction to technology RU
12:30 - 13:45

Lunch

13:45 - 14:45
13:45 Track 1
C++ exceptions through the prism of compiler optimizations
Roman Rusyaev
Samsung
#exceptions  #optimizations  #llvm 
Hardcore. Really hard and demanding talk, you'll understand only if you're an experienced engineer. RU
13:45 Track 2
Teaching geometry to C++
Guy Davidson
Creative Assembly
#linearalgebra  #futurecpp 
Academic talk EN
13:45 Track 3
How we switched to vcpkg
Denis Panin
NVIDIA
#dependency-hell  #vcpkg 
For practicing engineers RU
14:15 - 15:30

Lunch

15:30 - 16:30
15:30 Track 1
Comfort class apartments for actors and handlers
Maxim Khizhinsky
VAS Experts
#multithreading  #actors 
Hardcore. Really hard and demanding talk, you'll understand only if you're an experienced engineer. RU
15:30 Track 2
Type punning in modern C++
Timur Doumler
audio++
#typesystem  #bestpractices  #corelanguage 
For practicing engineers EN
15:30 Track 3
BareMetal C++
Karina Dorozhkina
Kaspersky Lab
#baremetal  #allocator  #freestanding  #freestandingcpp 
For practicing engineers RU
16:30 - 17:00

Break

17:00 - 18:00
17:00 Track 1
Generators, coroutines and other brain-unrolling sweetness
Adi Shavit
Consultant
#design  #coroutines  #c++20 
For practicing engineers EN
17:00 Track 2
Using slab allocators in high performance network applications
Nikolay Beloborodov
Variti
#slab  #asio  #Backend 
For practicing engineers RU
17:00 Track 3
С++ Enterprise Edition — message brokers
Alexander Bychuk
Kaspersky Lab
#DIY  #MQBroker 
For practicing engineers RU
18:00 - 18:30

Break

18:30 - 19:30
18:30 Track 1
C++ tricks from Yandex.Taxi
Antony Polukhin
Yandex.Taxi
#pimpl  #logging  #fastpimpl  #adl 
For practicing engineers RU
18:30 Track 2
Squaring the circle: value-oriented design in an object-oriented system
Juan Pedro Bolívar Puente
Independent consultant
#functionalprogramming  #OOP  #valuesemantics 
Hardcore. Really hard and demanding talk, you'll understand only if you're an experienced engineer. EN
18:30 Track 3
Premature optimization is evil! All hail premature optimization!
Andrey Karpov
PVS-Studio
#performance  #optimization 
Introduction to technology RU
19:30 - 23:00

Party

20:00 - 22:00
Track 1
RU

Day 2. November 01

Time  & Track
Lecture
Track 1
Track 2
Track 3
10:30 - 18:50

Registration

11:00 - 12:00
11:00 Track 1
A unifying abstraction for async in C++
Eric Niebler
Facebook
#async  #futurecpp 
Hardcore. Really hard and demanding talk, you'll understand only if you're an experienced engineer. EN
12:00 - 12:30

Break

12:30 - 13:30
12:30 Track 1
Modules in C++20 — real or fake?
Dmitry Kozhevnikov
JetBrains
#modules  #c++20 
For practicing engineers RU
12:30 Track 2
Insights into the C++ standard library
Pavel Novikov
Align Technology
#stdlib 
For practicing engineers RU
12:30 Track 3
Dive into the general-purpose GPU programming
Ashot Vardanian
UNUM
#gpu  #sycl  #opencl  #halide 
For practicing engineers EN
13:00 - 14:15

Lunch

14:15 - 15:15
14:15 Track 1
Modules: Changes in core language
Andrey Davydov
JetBrains
#modules  #c++20 
Hardcore. Really hard and demanding talk, you'll understand only if you're an experienced engineer. RU
14:15 Track 2
Modern techniques for keeping your code dry
Björn Fahller
Net Insight
#moderncpp  #bestpracticies 
For practicing engineers EN
14:15 Track 3
Clauses, qualifiers and patterns
Mikhail Matrosov
Align Technology
#longroadtoconst  #corelanguage  #tutorial 
For practicing engineers RU
14:45 - 16:00

Lunch

16:00 - 17:00
16:00 Track 1
The C++20 synchronization library
Bryce Adelstein Lelbach
NVIDIA
#synchronization  #c++20 
Hardcore. Really hard and demanding talk, you'll understand only if you're an experienced engineer. EN
16:00 Track 2
Serialization with blackjack and metaprogramming
Alexander Ganyukhin
MERA
#templates  #serialization  #reflection 
Hardcore. Really hard and demanding talk, you'll understand only if you're an experienced engineer. RU
16:00 Track 3
Dart as an opportunity to transfer a C++ application to web
Timofey Lavrenuyk
KeepSolid
#dart  #web  #lesspain 
Get ready, will burn RU
17:00 - 17:30

Break

17:30 - 18:30
17:30 Track 1
The Big Four of C++20
Rainer Grimm
Modernes C++
#modules  #RangesLibrary  #concepts  #coroutines 
For practicing engineers EN
17:30 Track 2
Hardening the C++ standard template library
Marshall Clow
C++ Alliance
#libc++ 
For practicing engineers EN
17:30 Track 3
Algorithmic and microarchitecture optimizations of C++ applications
Alexander Maslennikov
Intel
#performance  #profiling  #optimization 
Introduction to technology RU
18:30 - 18:50

Break

18:50 - 19:50
18:50 Track 1
Compile-time type tagging
Ivan Čukić
KDE
#compile-time  #types  #templates 
For practicing engineers EN
19:50 - 20:20

Conference closing