Materials

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

Download program in pdf

Day 1. October 31

Time  & Track
Lecture
Track 1
Track 2
Track 3

No talks in Favorites yet

09:00 - 18:30

Registration

10:00 - 10:30

Conference opening

10:30 - 11:30
10:30 Track 1
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 
12:00 Track 2
12:00 Track 3
Automate it
Kirill Tikhonov
DINS
#DevOps  #Gitlab  #ContinuousDeployment  #Docker 
12:30 - 13:45

Lunch

13:45 - 14:45
13:45 Track 1
13:45 Track 2
Teaching geometry to C++
Guy Davidson
Creative Assembly
#linearalgebra  #futurecpp 
13:45 Track 3
14:15 - 15:30

Lunch

15:30 - 16:30
15:30 Track 1
15:30 Track 2
Type punning in modern C++
Timur Doumler
audio++
#typesystem  #bestpractices  #corelanguage 
15:30 Track 3
BareMetal C++
Karina Dorozhkina
Kaspersky Lab
#baremetal  #allocator  #freestanding  #freestandingcpp 
16:30 - 17:00

Break

17:00 - 18:00
17:00 Track 1
17:00 Track 3
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 
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 
18:30 Track 3
19:30 - 23:00

Party

20:00 - 22:00
Track 1
20:30 - 23:00
Track 2
A heart-to-heart talk with the Committee

Panel discussion with C++ standardization committee

Day 2. November 01

Time  & Track
Lecture
Track 1
Track 2
Track 3

No talks in Favorites yet

10:30 - 18:50

Registration

11:00 - 12:00
11:00 Track 1
12:00 - 12:30

Break

12:30 - 13:30
12:30 Track 1
12:30 Track 2
12:30 Track 3
13:00 - 14:15

Lunch

14:15 - 15:15
14:15 Track 1
14:15 Track 2
14:15 Track 3
Clauses, qualifiers and patterns
Mikhail Matrosov
Align Technology
#longroadtoconst  #corelanguage  #tutorial 
14:45 - 16:00

Lunch

16:00 - 17:00
16:00 Track 1
16:00 Track 2
16:00 Track 3
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 
17:30 Track 2
17:30 Track 3
18:30 - 18:50

Break

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

Conference closing

Adi Shavit is an entrepreneur, speaker, independent consultant, experienced software architect and a computer vision, image processing, and machine learning expert with an emphasis on real-time applications. He specializes in building cross-platform, high-performance software combined with high production quality and maintainable codebases. Adi is also the founder of the Core C++ users group in Israel.

Andrey is a co-founder of PVS-Studio project and CTO at Program Verification Systems. He is Microsoft MVP in the nomination "Developer Technologies". He is an author of large number of articles dedicated to the code quality and error patterns that C++ developers make. He promotes methodology of static and dynamic code analysis.

Since 2007, Alexander has been developing middleware and ECM systems. All this was written in C and C++, so the C++ Enterprise Edition for Alexander is not fiction, but daily work. One of the important components of any corporate system is transport, to be more precise, message brokers, and Alexander wants to tell you about them. He will talk about the current situation in the world of MQ-Brokers and, of course, about his own broker and the features of his writing.

Guy Davidson is the Principal Coding Manager of Creative Assembly, makers of the Total War franchise, Alien: Isolation and Halo Wars 2. Guy has been writing games since the early 1980s. He is now also a contributor to SG14, the study group devoted to low latency, real-time requirements, and performance/efficiency especially for Games, Financial/Banking, and Simulations, and to SG13, the HMI study group. He speaks at schools, colleges and universities about programming and likes to help good programmers become better programmers.

Eric Niebler is a senior engineer at Facebook and an active member of the ISO C++ Standardization Committee. He was the principal author of the Ranges TS, which forms the basis of the Range support in C++20, and of the range-v3 library on which it is based. Before Facebook, Eric consulted independently and with BoostPro computing. He has authored several Boost libraries and served as a Boost release manager and a member of the Boost Steering Committee. He's happiest when finding powerful, elegant, and efficient abstractions for complicated code, and firmly believes code can and should be fast and beautiful.

Timur Doumler is a C++ developer specializing in audio and music technology, an active member of the ISO C++ committee, and part of the #include < C++ > team. He is passionate about building communities, clean code, good tools, and the evolution of C++.

Nikolay Beloborodov

For the past eight years has been in the development of various high performance network services made with Linux on C++ and Boost. For the last two years he has been working as a lead developer in Variti helping to save the Internet from the bot invasion.

Björn wrote his first program in 1980. After completing his MSc in CS and Engineering in 1994, programming has been the primary source of income, mostly from writing embedded software for communications systems. He has been working for a while at Net Insight, where he wears many hats, including mentor, trouble shooter, network communications expert, software architect and programmer; the latter in increasingly modern C++.

Occasionally Björn has been seen tinkering with unorthodox software constructs, pondering "what can be done with this?" He lives in Stockholm.

Rainer Grimm has worked as a software architect, team lead and instructor for about 20 years. In his spare time, he likes to write articles about C++, Python, and Haskell. Rainer Grimm also likes to speak at conferences. He publishes weekly on his English and German blog "Modernes C++". Heise Developer hosts the German blog.

Now he is an independent instructor giving seminars about modern C++ and Python. He published several books in various languages about modern C++ and concurrency in particular.

Kirill Tikhonov

Senior software developer in DINS. He develops and supports backend of cloud telephony system.

Andrey Davydov

Andrey has been working in ReSharper C++ team, JetBrains for the last 3 years. Before that, he worked in the GIS industry in the areas related to computational geometry and 3D-visualization.

Timofey is a software engineer in web development. He is working in KeepSolid, Odessa-based product company. For the past 2 years, he has been working on migrating native applications to web using TypeScript and Dart.

Dmitry Kozhevnikov

Dmitry works on in the CLion IDE by JetBrains, his main interest is the C++ language support: the in-house C++ engine, inspections and refactoring engine, and Clang integration. Previously, he was a C++ developer in fields related to 3D visualization, simulation, and training system. Actively following current trends and news in the C++ world.

Mikhail graduated from MSU Faculty of Computational Mathematics and Cybernetics and had been an employee there in Computer Graphics and Multimedia Laboratory. He was working on image processing, computer vision, and color theory.

Currently Mikhail is an expert software engineer in Moscow R&D office of Align Technology. He develops specialized 3D CAD system for designing orthodontic appliances.

Frequent speaker on numerous conferences: SECR, C++ Russia, SECON, CppCon. Co-author of the courses "Основы разработки на С++: коричневый пояс" and "Основы разработки на С++: чёрный пояс" on Coursera, which were developed jointly with Yandex.

Alexander Ganyukhin

Has been working as a C++ programmer for over 8 years, mostly in mobile communications and car industry. Recently he became interested in metaprogramming and developing tools in C++ to make life of colleagues a little easier.

Juanpe is a Berlin-based freelance consultant and engineer, with a focus on value oriented design, interactive software, modern C++, functional programming and open source strategy. Before he worked for Ableton and has been involved in various music technology projects. He has also participated in the GNU project and cofounded a Hacklab in Granada.

Sean Parent is a principal scientist and software architect for Adobe's mobile digital imaging group. Sean has been at Adobe since 1993 when he joined as a senior engineer working on Photoshop and later managed Adobe's Software Technology Lab. In 2009 Sean spent a year at Google working on Chrome OS before returning to Adobe. From 1988 through 1993 Sean worked at Apple, where he was part of the system software team that developed the technologies allowing Apple's successful transition to PowerPC.

Karina Dorozhkina

Karina has been developing basic components for the top-of-the-line Kaspersky Lab products for four years. Last three years she has shifted focus to the transport security sector. During that time participated in the creating of several prototypes: secure gateway for cars on the basis of Kaspersky OS in partnership with the Austrian company AVL, EDR solution for cars head unit on the basis of QNX OS, conduct similar studies on the basis of the Genivi car platform. Wrote in C and C++.

Arno is responsible for the design, architecture, and development of all the think-cell's software products. He oversees think-cell's R&D team, Quality Assurance, and Customer Care.

Before founding think-cell, Arno worked at Microsoft Research and McKinsey. Arno studied computer science and management and holds a Ph.D. from the Georgia Institute of Technology with a specialization in Computer Graphics.

Ashot is a computer scientist with a background in astrophysics, who works primarily on scalable AI systems and computational complexity issues. He has been using C++ almost exclusively for the past four years for everything, including data science, web & user interfaces.

Marshall Clow

Marshall has been programming professionally for 35 years. He is the author of Boost.Algorithm, and has been a contributor to Boost for more than 15 years. He is the chairman of the Library working group of the C++ standard committee. He is the lead developer for libc++, the C++ standard library for LLVM.

Maxim Khizhinsky

Developer of highload server systems. Areas of interest: C++, multithreading, lock-free data structures. Author of concurrent data structures library — libcds. Idiosyncrasic to std::mutex, std::condition_variable and other synchronization primitives. Diagnosed a terminal incurable brain asynchrony.

Denis Panin

Senior developer in NVIDIA. Develops application virtualisation system for Windows and uses template metaprogramming even in drivers.

Bryce Adelstein Lelbach has spent nearly a decade developing libraries in C++. Bryce is passionate about C++ evolution and is one of the leaders of the C++ community. He is an officer of ISO/IEC JTC1/SC22/WG21, the C++ Standards Committee. Bryce chairs both the C++ Committee's Tooling Study Group (SG15) and Library Evolution Incubator (SG18). He is the program chair for the C++Now and CppCon conferences, and the chief organizer of the Bay Area C++ User Group. On the C++ Committee, he has personally worked on the C++17 parallel algorithms, executors, futures, senders/receivers, multidimensional arrays, and modules. Bryce works at NVIDIA, where he leads the CUDA C++ core libraries team. He is one of the initial developers of the HPX parallel runtime system. He also helped start the LLVMLinux initiative and has occasionally contributed to the Boost C++ libraries.

Pavel Novikov

Got an engineering degree in missilery from BMSTU.

Loves C++ and knows how to cook it.

Likes metaprogramming, multithreading and asynchronous programming, coroutine adoption enthusiast.

Hana is working as a senior researcher at Avast Software. Her responsibility is exploring new ideas and optimizing existing ones. She also propagates modern C++ techniques and libraries in internal tech talks and gives talks at local C++ meetups. She studied computer science at Mendel University and subsequently taught several courses there, including Data Structures, Computability and Complexity, and Formal Languages and Automata.

Alexander Maslennikov

One-man army. Transforms the powerful performance profiler into a cloud service starting with the GUI and ending with the new ways of collecting performance data from remote targets.

Antony Polukhin

A representative of Russia at the C++ Standardization Committee. Author of several accepted proposals to the C++ standard.

Author of the Boost libraries: TypeIndex, DLL, Stacktrace; maintainer of Any, Conversion, LexicalCast, Variant.

Author of "Boost C++ Application Development Cookbook" and "Boost C++ Application Development Cookbook, Second Edition".

Ivan Čukić is the author of "Functional Programming in C++" published by Manning.

He is one of the core developers in KDE, the largest free/libre open source C++ project.

He is also teaching modern C++ techniques and functional programming at the Faculty of Mathematics in Belgrade and has been using C++ for more than 20 years. He has been researching functional programming in C++ before and during his PhD studies, and uses the techniques in real-world projects.

Roman Rusyaev

Roman is a developer of compiler for neural networks in Russian Samsung R&D center. That compiler generates code for NPU (Neural Processing Unit). Compiled neural networks are deployed in flagship phones as such Galaxy Note 10. Also he worked as a developer of optimizing compiler for Elbrus and SPARC microprocessors from C, C++ and Fortran input languages. He has implemented: