Video & On-Demand

Reflecting C++—Axel Naumann

Some sessions from the recent using std::cpp are now online.

Reflecting C++

by Axel Naumann

About the session:

What do you use to not get lost in a new city? A map! Some of today's C++ code is as complex as a metropolis, but mapping it still relies on tools to generate descriptions. Wouldn't it be nice to query C++ code from within C++? To answer questions like "which members do you have?" and "what is your type"? That's what reflection is about. This presentation will introduce the magic of the meta land, the features that open up with reflection in your hand.

In your hand? Yes: a first Reflection TS is scheduled to be published in 2019. In parallel the C++ committee is investing a lot of work in making the interfaces nicer, by making it stdlib's first constexpr library. As one of the Reflection TS authors, I will give you a quick tour of where we are and where it is we are going - which is relevant for any library that wants to live in compile-time space.

Axel Naumann (CERN) graduated as an experimental high energy / particle physicist. After a couple of years in The Netherlands and the US, he is now working at CERN, where he is leading the ROOT project https://root.cern, used by tens of thousands of physicists (and others) with varying coding expertise, to analyze about 1 exabytes of serialized C++ data - all in C++, with dynamic Python bindings. Since 2011, Axel is CERN's representative at the ISO C++ committee. Examples of past presentations include talks at 33C3, ACCU and a Google Tech Talk, as well as lectures and trainings.

 

Will we see C++ standard linear algebra in AAA games?—Guy Davidson

Some sessions from the recent using std::cpp are now online.

Will we see C++ standard linear algebra in AAA games?

by Guy Davidson

About the session:

C++ is getting ready to learn linear algebra. Guy Davidson and Bob Steagall are leading a proposal to introduce vector and matrix types to the standard library. This talk will take a whirlwind tour through the study of linear algebra, the new proposed types and functions, and consider their use in the low-latency games development environment.

Guy Davidson (Creative Assembly) has been writing games for nearly 40 years and has not grown tired of it. He is the Principal Coding Manager at Creative Assembly, makers of the Total War franchise, Alien:Isolation and Halo Wars 2.

 

Text Formatting for a future range based standard library—Arno Schödl

Some sessions from the recent using std::cpp are now online.

Text Formatting for a future range based standard library 

by Arno Schödl

About the session:

In this talk, I want to convince you that the combination of ranges with a bit of metaprogramming makes for a very elegant solution to the text formatting problem. We introduce a form of ranges with internal iteration, which are generating their elements one by one rather than exposing external iterators. We can use these generator ranges to represent the values to be formatted, conceptually turning them into lazily evaluated strings. These can be used just like regular strings are used today: in function returns; as standard algorithm input; embedded into other, equally lazily evaluated strings; and so on, before they are finally expanded for display.

Dr. Arno Schödl (Think-Cell) is the Co-Founder and Technical Director of think-cell Software GmbH. Arno is responsible for the design, architecture and development of all our 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 & Company. Arno studied computer science and management and holds a Ph.D. from the Georgia Institute of Technology with a specialization on Computer Graphics.

 

Let’s make easy to use libraries—Martin Knoblauch

Some sessions from the recent using std::cpp are now online.

Let’s make easy to use libraries

by Martin Knoblauch

About the session

We often use libraries with annoying, error prone interfaces. The main cause is the potential incompatibility between the library and the program using it, due to being compiled with different compiler versions or settings. Another well known issue is the usage of separated heaps by the program and the library in Windows. These problems can be solved (at a very high cost!) by using pure C interfaces and/or the Hourglass Pattern. In this talk I propose designing interfaces using a selected set of C++ features that should be very unlikely to cause ABI incompatibilities. I will focus on the usage of std::unique_ptr with custom deleters to manage the lifetime of objects passed through the library interface, thus making life easier for both the library implementor and the library user. Needless to say, a full Hourglass Pattern interface can also benefit from using std::unique_ptr.

Martin Knoblauch (Indizen). Fiddling with computers since the mid 80's, passionate about C++ since the 90's, C and C++ lecturer in the 00's. At Indizen since 2014. Member of the Spanish C++ Standards Committee.

 

 

CppCast Episode 198: Mutation Testing with Mull with Alex Denisov

Episode 198 of CppCast the first podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Alex Denisov to discuss Mutation Testing and the clang based tool Mull.

CppCast Episode 198: Mutation Testing with Mull with Alex Denisov

by Rob Irving and Jason Turner

About the interviewee:

Alex is a Software Engineer who is working at PTScientists GmbH, a German aerospace startup that is planning to land a spacecraft on the Moon. After work, he is organizing LLVM Social in Berlin and researching the topic of mutation testing. He is generally interested in developer tools, low-level development, and software hardening.

ACCU 2019 Videos Online—ACCU

The ACCU held their yearly conference from 2019-04-10 to 2019-04-13 in Bristol, UK.

ACCU 2019 Videos Online

by ACCU

About the videos

Nearly all videos are in the meanwhile online. Within the 5 tracks were 3 with C++ content: E.g. the keynotes by Kate Gregory and Herb Sutter and sessions by Alisdair Meredith, Anthony Williams, John Lakos, Marshall Clow, Nial Douglass and many more.

CopperSpice: Rendering 3D Graphics

New video on the CopperSpice YouTube Channel:

Rendering 3D Graphics

by Barbara Geller and Ansel Sermersheim

About the video:

In this video we take a closer look at the differences between OpenGL and Vulkan, and show some API examples. We also talk about the hot new topic of ray tracing, and explain our thought process for choosing the 3D rendering API which is best suited for your application.

Please take a look and remember to subscribe!

CppCast Episode 195: fmt with Victor Zverovich

Episode 195 of CppCast the first podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Victor Zverovich to discuss the fmt modern formatting library and the proposal to bring it to C++20.

CppCast Episode 195: fmt with Victor Zverovich

by Rob Irving and Jason Turner

About the interviewee:

Victor Zverovich is a software engineer at Facebook working on the Thrift RPC framework. Before joining Facebook in 2016, he worked for several years on modeling systems for mathematical optimization. He is an active contributor to open-source projects, an author of the {fmt} library and the ISO proposal P0645 to add a new formatting facility to C++.

CppCast Episode 194: Linear Algebra and Audio with Guy Davidson

Episode 194 of CppCast the first podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Guy Davidson to talk about his work with the ISO C++ committee including proposals for a linear algebra library and audio api.

CppCast Episode 194: Linear Algebra and Audio with Guy Davidson

by Rob Irving and Jason Turner

About the interviewee:

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.

CppCast Episode 192: Reverse Engineering C++ with Gal Zaban

Episode 192 of CppCast the first podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Gal Zaban to talk about Reverse Engineering C++.

CppCast Episode 192: Reverse Engineering C++ with Gal Zaban

by Rob Irving and Jason Turner

About the interviewee:

Gal is currently working as a Security Researcher. Her passion is Reverse Engineering with a particular interest in C++ code. In her spare time, when not delving into low-level research, she designs and sews her own clothes and loves to play the Clarinet.