Start of main content

2 offline days

May 23–24 10:00–19:30 (UTC+3)

Offline: Red October, Start Hub, Bersenevskaya emb., 6, building 3, Moscow, Russian Federation

Online broadcast

Why It’s Worth Going

  • Talk in person

    To see old friends. To discuss current problems. To come up with new ideas. To debate and just chat.
  • Switch the format to offline

    To have a change of scenery, to distract and have a good time. To gain fresh impressions and new acquaintances.

Broadcast

There will be a broadcast on the offline part of the conference, which is available to participants with any ticket. If you want to meet and interact with the speakers and other participants live, we are waiting for you at the venue. And if you are not ready to get to the venue, recordings of all the talks and activities will be waiting for you on this website.

Program

  • The time in the program is for the time zone UTC+3 (Europe/Moscow).

  • As offline part comes closer, the program may be updated.

  1. May 23

    • Talk type: Talk

      Track 1

      C++ Tricks from Userver

      Anton will talk about new C++ tricks and techniques. You will learn about: LazyPrvalue; ODR violation detection from C++ code; FixedArray; "the funniest bimap". The latest trick with "the funniest bimap"  has already been discussed in the C++ Russia conference chat. The talk details both the background and the final results with benchmarks. Ready-to-use code from the talk is already available at https://userver.tech/

    • Talk type: Talk

      Track 1

      Semantic Processes in C++

      The talk describes the interacting semantic processes in C++, both from the point of view of the compiler internals and from the point of view of the language standard.

    • Talk type: Talk

      Track 1

      Software Production through the Eyes of a Developer and Manager

      Many of us are engaged in software development, being in a kind of project process. Alexander will talk about the variants of such projects and the role of the developer in these processes. He will touch upon the problem of technical debt: where it comes from and why it doesn't disappear. The talk will discuss what a developer can influence in the production process and what he cannot usually reach. We will definitely consider the peculiarities of C++ development in project activities.

    • Talk type: Talk

      Track 2

      Back to Basics: Lock-free

      Marcel will talk about the standard ways of working in multi-threaded environment (mutexes, compare and swap, hazard pointer) and the algorithm of taking a snapshot of two atomic "registers". The talk will be useful for newcomers to multithreading and for experienced developers who want to dust off already rusty knowledge.

    • Lunch break

      Buffet and beverages of your choosing.

    • Talk type: Talk

      Track 1

      flat_map. Who Needs Them? They're Just Like std::map. We All Have Them

      The speaker will compare flat_map with existing standard associative containers, look at popular existing implementations of flat_map and what is proposed to be added to the standard C++ library, and finally share conclusions about what kind of flat_map we want to have in C++. After the talk, you will have a good understanding of what flat_map is and in what situations it should be used.

       

    • Talk type: Talk

      Track 2

      YsonStruct: Lightweight Serialization for Hierarchical JSON Structures

      Yandex presents the library that allows to implement JSON serializable structures in C++. In his talk Ivan will speak about high-level design of the library; technical difficulties in implementation (behavior of virtual methods, linking of template classes, etc.); experience in implementing the library in a large code base; attempts to make a good interface.

    • Talk type: Talk

      Track 1

      Secure C++: Is It Really That Bad?

      Not so long ago, the National Security Agency (NSA) published a guide declaring C/C++ "dangerous" and requiring a transition to "safe" C#, Go, Java, Ruby, and Swift. Sergey will analyze this document in detail and tell if the security situation in C++ is really that bad, and what the modern industry offers to solve this issue.

    • Talk type: Talk

      Track 2

      How to Write Comparators Correctly

      The talk discusses various mistakes when writing comparison functions (comparators) in API like std::sort — their consequences and the means of detecting them provided by modern toolchains.

  2. May 24

    • Talk type: Talk

      Track 1

      Back Deep to Basics: Inheritance and Virtualization in C++

      Inheritance, virtual functions, v-tables, virtual inheritance — things that are painfully familiar to every C++ developer. These things directly affect performance, the size of our binaries, and sometimes the security of our code. So let's go back to the beginning and understand the details of this machine. Let's look at what's new in this area and how it works under the hood.

    • Talk type: Talk

      Track 1

      Performance Optimization Techniques

      Maxim will tell you a lot of practical things about performance optimization. What tools are worth using to find places for optimizations. How not to make a mistake when testing performance. How to correctly select and test algorithms and data structures. In the talk there will be a lot of examples from practice.

    • Talk type: Talk

      Track 2

      LCC Compiler and Code Merge Optimization

      Elbrus as an architecture is very different from mainstream processor architectures. As a consequence, it requires some special optimizations from the compiler. Victor will briefly describe the peculiarities of Elbrus and its special optimizations in the LCC compiler. In more detail, he will talk about the code merge optimization: what it is, why it is needed, and how it works.

    • Talk type: Talk

      Track 1

      Roren — C++ Framework for Describing Distributed Computing Pipelines

      A huge amount of C++ code in Yandex can be described by the words "distributed computing". The talk is devoted to the C++ framework, which is actively being developed now, inspired by std::ranges and Apache Beam libraries. This framework allows rather compact and simple description of such processes and running them in MapReduce mode to process data tables or in real-time mode to process endless streams (queues) of data.

    • Talk type: Talk

      Track 2

      C++ Experiments: The Battle Continues: Cpp2 vs Carbon

      Despite the Committee's work on the new language standards, it seems that some invariants cannot be revised, and activists are working in creating their own languages compatible with C++. You will dive back into the design in order to try to answer the question: why? What is so new proposed and what might be missing in C++?

    • Lunch break

      Buffet and beverages of your choosing.

    • Talk type: Talk

      Track 1

      B-tree Indexes in Databases Using SQLite and PostgreSQL as Examples

      Vladimir will speak about the work of conventional™ indexes in databases and will tell: how the index speeds up the search; whether to index conditions where; whether to index conditions in order by; whether to index foreign keys; what to do if there are several search criteria; in what order to specify columns in the index; when the index is slow and how to reduce the impact of the index on the application.

    • Talk type: Talk

      Track 2

      Кастомизируем ASIO

      ASIO allows you to use std::future out of the box to handle asynchronous events. But what if you want to use your own implementation of future? Ilya will tell and show you how to do it. At the same time, he will talk about customization below, on the example of io_uring.

    • Talk type: Talk

      Track 3

      Bazel Experience

      Evgenii will share his experience of using Bazel for two projects. In the first project, he used it as a C++/Python developer. In the second project, at Kaspersky Lab, he's part of the team that migrates the code base from CMake to Bazel. He will talk about the killer features of this build system — its advantages and disadvantages.

    • Talk type: Talk

      Track 1

      Programming Automation in the USSR. Part 2. Translators (60-70s)

      A sequel to the talk on programming automation in the USSR. This time we will talk about the Soviet translators created in the 60-70s. The presentation concentrates on simple and actual even today algorithms. The central theme of the talk is the problem of register allocation. What do the developments of the Soviet compiler school and LLVM with SSA and instruction scheduling for modern processors have in common?

  • Discussions

    Live conversation with speakers between activities. No recording and no time limit.
  • BoF

    Informal conversations without hosts or speakers. This is where new ideas are born.
  • Round tables

    Speakers and experts discuss current industry issues.

Bonus

  • Coffee and lunch breaks

    Buffet and beverages of your choosing. If you have food restrictions, write to our support team. We’ll find a solution.
  • Live communication

    Informal atmosphere and heart-to-heart talks. Networking for all participants, speakers, and experts.
Buy a ticket

COVID-19

There will be no COVID restrictions on site visits. You don’t need QR codes or PCR tests to enter the venue.

However, if you’re feeling unwell, it’s best to refrain from going offline. It’s important to take care of yourself and those around you.

You will be able to watch the conference broadcast online, and you can get a refund of the difference in ticket price or exchange your ticket for the next season’s ticket. If you can’t attend the venue, email our support team we’ll help you.

  • How can I access the conference?

    Only a ticket is required to attend the conference. QR codes and PCR tests are not required to enter the venue. However, if you feel unwell, it is better to refrain from going offline. It is important to take care of both yourself and those around you.

  • What if I have bought an offline ticket? Will I be refunded?

    If you get sick and can’t attend the venue, you’ll get your money back if the option of watching the online broadcast doesn’t work for you.

    You can connect to the broadcast and watch everything online. To refund the difference between ONLINE and ONLINE + OFFLINE tickets, email our support team: support@cppconf.ru.

  • What security measures will be on site?
    • There will be sanitizers and masks. However, it is not obligatory to wear a mask; it is up to you.
    • A qualified medical worker is constantly on duty at the site.

    Please send all questions and clarifications to support@cppconf.ru.

FAQ

  • Where will the offline part of the conference be held?
    Offline part will be held on May 23–24 at the following address: Red October, Start Hub: Bersenevskaya emb., 6, building 3, Moscow, Russian Federation.
  • When will the program and time for the offline part of the conference be known?
    We begin publishing the program in batches on the conference website one month in advance.
  • What activities will be included on the offline part of the conference?

    There will be on the offline part:

    • talks;
    • roundtables;
    • BoF-sessions: meetings of interest without a scheduled schedule;
    • discussions with offline and online speakers who will come to the site.
  • Will there be an online broadcast of the offline part of the conference?

    We will broadcast live most of the activities of the offline part: talks, roundtables, etc.

    Discussions and BoF-sessions will not be broadcast or recorded.

  • Offline was so long ago that I no longer remember what the procedure was for offline conferences.
    Don’t worry, before the conference we will send you a participant’s memo. It will contain all the necessary information.
  • Can I buy a ticket only for the offline part of the conference?
    To attend the offline part, you must purchase an ONLINE + OFFLINE ticket. It entitles you to attend the offline part of the conference and access to the recordings of the online day.
  • How do I get into offline part if I have a ONLINE ticket?
    If you already have a ticket for the online part of the conference, you can upgrade it to ONLINE + OFFLINE. To do so, email our support team at support@cppconf.ru
  • How do I get to the offline part if the company only paid for my ONLINE ticket?
    If the company that paid for your ticket is not willing to upgrade to ONLINE + OFFLINE, you can do it yourself at a discount. The discount is given for taking the survey after the online part of the conference ends.
  • Is there a limit to the number of tickets for the offline part?

    The number of tickets is limited to the capacity of the conference venue.

    So it is better to buy tickets in advance while they are available.

  • Are there any restrictions on going to an offline conference?

    There will be no COVID restrictions on site visits. You don’t need QR codes or PCR tests to enter the venue.

    However, if you’re feeling unwell, it’s best to refrain from going offline. It’s important to take care of yourself and those around you.

  • What will be the case with offline part if a new wave of COVID-19?

    So far we haven’t seen an increase in COVID-19 incidence, so we’re cancelling the covid restrictions on offline site visits. Now you don’t need QR codes or PCR tests to get to the site. There will be sanitizers and disposable masks on site. If there is no requirement by the time of the conference, there will be no mandatory masking.

    If you are feeling unwell, it is best to refrain from attending offline. It is important to take care of both yourself and those around you.

    If the situation worsens and offline events are canceled, we will move the offline part to online. That way, speakers will give their talks remotely or from our studio. Nothing will change for participants with a ONLINE ticket. ONLINE + OFFLINE participants can convert their ticket into a ONLINE ticket with a refund of the price difference, or carry it over to the next year. It will also be possible to return the ticket and get a full refund.

    Either way, we will not be postponing the conferences to next year.