CppCast Episode 134: Data Oriented Design with Balázs Török

Episode 134 of CppCast the only podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Balázs Török to talk about his work in the Video Game Industry and his thoughts on Data Oriented Design.

CppCast Episode 134: Data Oriented Design with Balázs Török

by Rob Irving and Jason Turner

About the interviewee:

Balázs Török is a Senior Tech Programmer at Techland. He has more than 10 years of experience in the games industry. Balázs learned the ropes at Hungarian companies by making smaller titles and then moved to Poland to work on The Witcher series. He was the Lead Engine programmer on The Witcher 3 and now he is working at Techland on another promising project.

Pimpl vs Abstract Interface - a practical tutorial -- Bartlomiej Filipek

In the article we describe how to limit compilation dependencies. Two methods are discussed: pimpl approach and via abstract interfaces

Pimpl vs Abstract Interface - a practical tutorial

by Bartlomiej Filipek

From the article:

In the post I covered the pimpl pattern. I discussed the basic structure, extensions, pros and cons and alternatives. Still, the post might sound a bit “theoretical”. Today I’d like to describe a practical usage of the pattern. Rather than inventing artificial names like MyClass and MyClassImpl you’ll see something more realistic: like FileCompressor or ICompressionMethod.

Spectre mitigations in MSVC--Andrew Pardoe

If you are a developer whose code operates on data that crosses a trust boundary then you should consider recompiling your code with the /Qspectre switch:

Spectre mitigations in MSVC

by Andrew Pardoe

From the article:

Microsoft is aware of a new publicly disclosed class of vulnerabilities, called “speculative execution side-channel attacks,” that affect many operating systems and modern processors, including processors from Intel, AMD, and ARM...

CopperSpice: Templates and Open Source

New videos on the CopperSpice YouTube Channel:

C++ Templates in the real world

by Barbara Geller and Ansel Sermersheim

About the video:

Template techniques for accomplishing real world tasks in C++, including some not taught in textbooks. We also present an example of avoiding circular dependencies in template definitions.

Copyright Copyleft

by Barbara Geller and Ansel Sermersheim

About the video:

A practical and acessible look at some common open source licenses. If you write, read, or use software this is important material.

Please take a look and remember to subscribe!

Slides of the 9th of January 2018 BeCPP Meeting -- Marc Gregoire

BeCPP_Logo_282x64.pngOn January 9th 2018, the Belgian C++ Users Group had their next event sponsored by Barco.

Slides of the 9th of January 2018 BeCPP Meeting

About the event:

This was our users group biggest event ever. We had around 140 attendees!
Here are the presentations:

  • "Threads are evil" (Frederik Vannoote)
  • "Legacy code refactoring case" (Roeland Van Lembergen)
  • "Boost.Asio C++ (Network) Programming" (Lieven de Cock)

If you couldn’t attend the event in person, or if you would like to go over the material again, you can download them from the BeCPP website.

PVS-Studio 6.21 release: support for CWE (Common Weakness Enumeration) was added

PVS-Studio is a tool for bug detection in the source code of programs, written in C, C++, and C#. It works in Windows and Linux environment.

PVS-Studio 6.21 Release

by PVS-Studio Team

What's new:

  • Support for CWE (Common Weakness Enumeration) was added to C/C++/C# analyzers.
  • HTML log with source code navigation can now be saved from Visual Studio plug-ins and the Standalone tool.
  • WDK (Windows Driver Kit) projects for Visual Studio 2017 are now supported.
  • PVS-Studio plug-in for SonarQube was updated for the latest LTS version 6.7.
  • V1007. The value from the uninitialized optional is used. Probably it is a mistake.