C++ Russia 2021 (15.11.2021 — 18.11.2021)

img Designing for the long term: Invariants, knobs, extensions, and Hyrum's Law

img Unexpected things to know about working with Unicode in C++

img Programming graphics cards: intruduction into essential practices of GPGPU optimizations

img Developing embedded databases: tips, tricks and pitfalls

img Deep dive into Futures: Task Parallelism approach

img Software development at Kaspersky Lab: how does it work

img Anatomy of asynchronous engines

img A rich world of Exception Handling

img The next level of C++20 Templates: Concepts and more

img Genode for C++ developers — the framework for creating operating systems

img C++20 coroutines in Seastar

img C++ in two atypical projects

img Improving the quality of the first introduction to static analysis with the Intelligence Diagnostic Filter

img Semi-automatic refactoring of everything with clang-tidy and clang-query

img Contract-based programming in C++

img PGO: How it works and how to use it properly

img Just Enough Assembly for Compiler Explorer

img img Performance and safety: how to combine

img Interchangeable AoS and SoA containers

img JIT in ClickHouse

img What I learned about language and library design by working on Swift

img C++ in the world of embedded systems

img EVE: A new, powerful open source C++20 SIMD library

img Concurrency in C++20 and beyond

img Non-standard application of image processing algorithms on the example of 2GIS maps

img Anxiety and career

img ThreadSanitizer anatomy

img Functional safety: best reliability practices and worst automotive requirements

img Typescripten — generating type-safe JavaScript bindings for emscripten

img It is time to finally bury CMake 2.x

img Integrating Lua scripts into a C++ application to implement the Visitor pattern

img Embracing (and also Destroying) Variant Types Safely

img Background tasks: Resource management and cancellation

img Common errors in C++ which led to vulnerabilities and their mitigation in KasperskyOS

img img Getting the most out of GDB

img img Technical interview: Algorithmic section

img img Less is better: how to optimize interview time

img (ab)using enum

img img Technical Interview: System Design

img Why vcpkg is not Conan

img Fun with type erasure + dispatching data from abstract structure to function parameters

img Zen and the art of code lifecycle maintenance

img img C++ puzzlers

C++ Russia 2020 SPb (11.11.2020 — 14.11.2020)

img Hacking modern CMake

img Everything you know about colour is wrong

img Workshop: Metaprogramming in action (part 1)

img Introduction to heterogeneous programming with Data Parallel C++

img First steps in SIMD. Implementing STL algorithms with AVX2 vector extensions

img Embedded problems or how we left SQLite

img Workshop: Metaprogramming in action (part 2)

img C++ compilation architecture: Problems and solutions

img Trying to build an open source browser in 2020

img Unique_pseudofunction — N overloads for the price of one

img Interview (part 1)

img Crowdsourced bug detection in production: GWP-ASan and beyond

img Interview and Q&A: ABI, change, and the future

img Variable Length Array: Is it really that scary?

img img img Discussion: C++ interview

img Windows, macOS and the Web: Lessons from cross-platform development at think-cell

img About memory

img Interview (part 2)

img Lambda? You keep using that letter

img Constructors and destructors: A few things you might want to know

img SIMD. Performance you have already paid for

img ITM: My least favorite anti-pattern

img Annotating ELF files with compile-time information

img C++: Before and after concepts

img Interview and Q&A: Reluctantly a Verb

C++ Russia 2020 Msc (29.06.2020 — 02.07.2020)

img img Present and future of copy elision

img Understanding C++ coroutines by example

img Effective continuous fuzzing — C++

img std::to_string faster than light

img Поговорим про KasperskyOS

img Онлайн-использование PVS-Studio с помощью Compiler Explorer

img Three etudes on bufferisation

img A detailed performance analysis of a simple low-latency trading system

img Applying sanitizers to whole Linux distribution

img Like in Haskell: Final Tagless and eDSL on concepts

img Interview and Q&A with Bjarne Stroustrup

img Rethinking the way we do templates in C++

img DIY: Homemade Thread Pool

img Teaching linear algebra to C++

img Примеры интересных багов, обнаруженных с помощью PVS-Studio

img Генерация С++ кода из метаописания в игровой разработке

img Reflection of the present and the future

img Introducing large-scale C++, volume I: Process and architecture

img Burning Silicon: Speed for transcoding in C++23

img AddressSanitizer anatomy

img How to update the compiler and keep sane

img How to declare a constant in C++?

img Type loopholes in C++: Standard level bug

img Thread Local in C++ as it is

img img C++: Темная сторона

img Статический анализ кода в 2020 году

img C++ ecosystem: The Renaissance edition

img How to build portable binaries for Linux

img C++ STL best and worst performance features and how to learn from them

img Applying the "hourglass" principle in library design

img Panel session: Learning C++

img Fuzzy testing for bright programmers

img Embedded registers interfaces mocking with exeptions

img ECS в UI — правда или вымысел?

img Interview and Q&A with Herb Sutter

img For your in<format>ion

C++ Russia 2019 SPb (31.10.2019 — 01.11.2019)

img Better code: Relationships

img A state of сompile time regular expressions

img The C++ rvalue lifetime disaster

img Automate it

img C++ exceptions through the prism of compiler optimizations

img Teaching geometry to C++

img How we switched to vcpkg

img Comfort class apartments for actors and handlers

img Type punning in modern C++

img BareMetal C++

img Generators, coroutines and other brain-unrolling sweetness

img Using slab allocators in high performance network applications

img C++ Enterprise Edition — message brokers

img C++ tricks from Yandex.Taxi

img Squaring the circle: value-oriented design in an object-oriented system

img Premature optimization is evil! All hail premature optimization!

img A unifying abstraction for async in C++

img The C++20 synchronization library

img Insights into the C++ standard library

img Dive into the general-purpose GPU programming

img Modules in C++20 — real or fake?

img Modern techniques for keeping your code dry

img Clauses, qualifiers and patterns

img Modules: Changes in core language

img Hardening the C++ standard template library

img Dart as an opportunity to transfer a C++ application to web

img The Big Four of C++20

img Serialization with blackjack and metaprogramming

img Algorithmic and microarchitecture optimizations of C++ applications

img Compile-time type tagging

C++ Russia 2019 Msc (19.04.2019 — 20.04.2019)

img C++17 — the biggest traps

img Modern C++ allocators

img Metaprogramming evolution: The right way to work with type lists

img Know your hardware: CPU memory hierarchy

img Compile time optimization

img Metaprogramming in game development

img Text formatting for a future range-based standard library

img Reactive C++

img img How we were upgrading compiler and supporting cross-platform software

img Initialisation in modern C++

img Move-only C++ design

img What you should pay extra attention to at your library's code review

img Concurrency and parallelism in C17 and C20/23

img Monadic parsers

img ABI compatibility is not a MAJOR problem

img Asynchronous C++ programming

img Rust programming language — ecosystem review

img The hitchhiker's guide to faster builds

img Compiler-friendly metaprogramming

img C++ smart pointer cookbook

img Higher-order functions and function_ref

img Concepts: simplifying implementation of std utility classes

img Not so dull pointers in ClickHouse

img Postmodern immutable data structures

img The dawn of a new error

img C++ templates and databases

img Metaclasses in C++: dream? Reality!

img Indispensible C++