Next BeCPP UG Meeting Planned for April 22nd, 2025

March 16, 2025 Marc Gregoire Events

I’m happy to announce that the next meeting of the Belgian C++ Users Group is planned for Tuesday April 22nd, 2025 at 18:00 at KLA.

KLA ( https://www.kla.com/ ) is sponsoring this event by providing the location, drinks and catering.

KLA

The agenda is as follows:

  • 18:00: Reception with food.
  • 18:30: Session 1: Algorithm intuition revisited (Bruno Hendrickx)
    In this talk, we delve into the concept of “algorithm intuition,” a term coined by Conor Hoekstra, inspired by Sean Parent’s influential “C++ Seasoning” presentation. While data structure intuition is a natural development for most software developers, algorithm intuition often requires more deliberate work.
    This presentation aims to revisit and expand upon Hoekstra’s insights, exploring how a deeper understanding of standard algorithms can help to ease problem solving in modern C++.
    We will examine key algorithms from the Standard Template Library (STL), demonstrating their practical applications and how they can be leveraged to write more efficient, readable, and maintainable code.
  • 19:30: Break
  • 19:45: Session 2: Compile-Time Emulation of an 8080-Inspired System in C++ (Tom Tesch)
    Emulating an 8080-like system is a great exercise in low-level programming—but what if we could optimize it at compile time? This talk starts with a simple interpreter and then refines it using modern C++ techniques like constexpr and std::array, shifting work to the compiler to reduce runtime overhead and improve performance.
  • 20:45: Introduction to KLA, followed by a drink.

We will be giving away two copies of Professional C++, 6th Edition.
Professional C++, 6th Edition

The event is free for everyone, but you need to register for it.

There are 75 seats available for this event.

Note: The deadline for registrations is April 20th, 2025!

More

0

Slides of the 15th of January 2025 BeCPP Meeting

January 20, 2025 Marc Gregoire Events

Thank you everyone for joining the Belgian C++ Users Group meeting on 15th of January 2025 and thanks to Siemens for sponsoring the event by providing the location and catering.

Siemens

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

  • Several easy ways to increase the quality of your code, make them yours (Lieven de Cock)
    Slides (PDF).

  • Why use coroutines for asynchronous applications? (Johan Vanslembrouck)
    Slides (PDF).

More

0

Pictures of the 15th of January 2025 BeCPP Meeting

January 20, 2025 Marc Gregoire Events

Here are some pictures of the Belgian C++ Users Group meeting held on 15th of January 2025.

More

0

Next BeCPP UG Meeting Planned for January 15th, 2025

December 17, 2024 Marc Gregoire Events

I’m happy to announce that the next meeting of the Belgian C++ Users Group is planned for Wednesday January 15th, 2025 at 18:00 at Siemens.

Siemens ( https://plm.sw.siemens.com/en-US/simcenter/physical-testing/testlab/ ) is sponsoring this event by providing the location, drinks and catering.

Siemens
The agenda is as follows:

  • 18:00: Reception with food.
  • 18:30: Session 1: Several easy ways to increase the quality of your code, make them yours (Lieven de Cock)
    There are many easy-to-use tools, that help us improve the quality of our code. Nevertheless, there seem to be developers who are not familiar with those tools or don’t use them.
    Why ?
    If the machine can have our back, with quick feedback loops, we should take advantage of that.
    The compiler is your best friend, tweak the warning levels up. Or should we say: compilers are your best friends.
    The next step is static analyzers, once again have the machine inspect your code, no personal preferences to discuss in code reviews, the machine won’t budge or become emotional. We will look at cppcheck and clang-tidy.
    Also at run time we have a few friends to help us out, the sanitizers do an excellent job at finding issues, we will look at valgrind, UBSAN, ASAN, TSAN.
    There are many ways to use these tools, we will look at a way, but there are other ways, find your way in case you don’t like the presented way, as long as you start using the tools.
    We will also look at a way to integrate these tools into the cmake/ctest eco-system.
  • 19:30: Break
  • 19:45: Session 2: Why use coroutines for asynchronous applications? (Johan Vanslembrouck)
    “The Coroutines TS provided a wonderful way to write asynchronous code as if you were writing synchronous code. You just need to sprinkle co_await at appropriate points and the compiler takes care of suspending the coroutine, preserving state across suspend-points and resuming execution of the coroutine later when the operation completes.” (https://lewissbaker.github.io/2020/05/11/understanding_symmetric_transfer)
    An application developer no longer must cut an application into small pieces that do not wait/block internally and that must be stitched together, e.g. using a chain of callback functions or state machines. The C++20 compiler does all the hard work for you now, even for functions with a complex control flow. As a result, you can develop applications much faster, and they are more maintainable than without the use of coroutines.
    The presentation will discuss several example programs, comparing a synchronous version with an asynchronous version and a coroutine version. By the end of presentation, I hope you will be convinced that coroutines are a valuable addition to C++ to write responsive, asynchronous applications.
    The presentation includes a short introduction to coroutines; no in-depth a priori knowledge of coroutines is necessary to follow the presentation.
  • 20:45: Introduction to Siemens, followed by a drink.

We will be giving away two copies of Professional C++, 6th Edition.
Professional C++, 6th Edition

We will also give away two copies of Beginning C++23, From Beginner to Pro.
Beginning C++23, From Beginner to Pro

The event is free for everyone, but you need to register for it.

There are 50 seats available for this event.

Note: The deadline for registrations is January 12th, 2025!

More

0

Slides of the 8th of October 2024 BeCPP Meeting

October 16, 2024 Marc Gregoire Events

Thank you everyone for joining the Belgian C++ Users Group meeting on 8th of October 2024 and thanks to Dekimo for sponsoring the event by providing the location and catering.

DekimoLogo

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

More

0

Pictures of the 8th of October 2024 BeCPP Meeting

October 16, 2024 Marc Gregoire Events

Here are some pictures of the Belgian C++ Users Group meeting held on 8th of October 2024.

More

0

Next BeCPP UG Meeting Planned for October 8th, 2024

August 7, 2024 Marc Gregoire Events

I’m happy to announce that the next meeting of the Belgian C++ Users Group is planned for Tuesday October 8th, 2024 at 18:00 at Dekimo.*

Dekimo ( https://www.dekimo.com/ ) is sponsoring this event by providing the location, drinks and catering.

DekimoLogo

The agenda is as follows:

  • 18:00: Reception with food.
  • 18:30: Session 1: Better Threading in C++20 (Lieven de Cock)
    We got threading support by the language and library in C++11. There were however a few things missing, like RAII for a thread object, or a nice way to stop a thread, or to request it to stop. Similar problem, how do we stop a ‘waiting’ condition variable. Most developers have solved these problems with home made solutions. C++20 brings standardized solutions to the table.
    Next to that we also get some new synchronization facilities like barrier/latch/semaphore, all nice additions. There is no longer a need to re-invent the wheel or reach out to 3rd-party libraries. We will look at all these new little tools and investigate on how to use them. So register your stop callback, and by the end of the talk we will request our source to stop, and in our ‘cooperative cancellation’ scheme, do not forget to keep an eye on your stop token.
  • 19:30: Break
  • 19:45: Session 2: Fibers: CoRoutines from the OS (Dave De Breuck)
    This talk delves into fibers in C++, focusing on their role in enhancing concurrency and efficiency. Fibers use cooperative context switching, making them ideal for high-concurrency applications. We’ll explore the principles of fibers, their advantages over traditional threads, and their implementation in C++.
  • 20:45: Introduction to Dekimo, followed by a drink.

We will be giving away two copies of Professional C++, 6th Edition.
Professional C++, 6th Edition

We will also give away two copies of Beginning C++23, From Beginner to Pro.
Beginning C++23, From Beginner to Pro

The event is free for everyone, but you need to register for it.

There are 75 seats available for this event.

Note: The deadline for registrations is October 1st, 2024!

* There are limited number of parking places available at the location itself. However, there are free parking places available on the Brusselsesteenweg and in the streets around the office. Additionally, the free P+R parking Gentbrugge Arsenaal is at 1km with a tram connection to the office. There is a bus stop and a tram stop in front of the office.

More

0

Slides of the 8th of April 2024 BeCPP Meeting

April 13, 2024 Marc Gregoire Events

Thank you everyone for joining the Belgian C++ Users Group meeting on 8th of April 2024 and thanks to Attentia for sponsoring the event by providing the location and catering.

Attentia Logo

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

  • Building a class for modular arithmetic (Toon Baeyens)
    Slides (PDF).

  • Using C++ in the cloud using the AWS C++SDK (Hans Klabbers)
    Slides (PDF).

More

0

Pictures of the 8th of April 2024 BeCPP Meeting

April 13, 2024 Marc Gregoire Events

Here are some pictures of the Belgian C++ Users Group meeting held on 8th of April 2024.

More

0

Pure Virtual C++ 2024 Conference

April 6, 2024 Marc Gregoire Events

Pure Virtual C++ is a free one-day virtual conference for the whole C++ community. This year it will run on April 30th 15:00 UTC. Sign-up for free to get access to five sessions on the day and a host of pre-conference content.

Here is the list of sessions:

  • Automated Testing of Shader Code with Keith Stockdale (Rare) – Rare has a rich culture of writing automated tests for their game and engine code. The ‘Sea of Thieves’ project has hundreds of thousands of automated tests that exist to validate behavior and to ensure that bugs are kept to a minimum, as we continually deliver an ever-changing experience to players. Among this large test suite are tests that validate and verify shader code. This session explores the new Rare Shader Test framework, describing how tests are written for shader code. The talk will also delve into the C++ and HLSL implementation of the shader testing framework to discuss the design goals of the system, and how we are using C++ to meet these design goals.
  • Message Handling with Boolean Implication with Ben Deane (Intel) – Message reception and dispatch is something common to many codebases. This talk shows the unreasonable effectiveness of going back to basics and really understanding and unlocking the power of Boolean algebra in the design of a message handling library. We’ll talk about composing predicates on messages and manipulating them at compile time in order to do the least work when dispatching them at runtime. Particularly we’ll introduce implication, develop an intuition for this lesser-used Boolean operation, and see how it is key to a generic approach for simplifying predicates.
  • I Embedded a Programming Language In Debug Information with Sy Brand (Microsoft) – DWARF information on Linux provides debuggers with a bridge between high-level source code and the machine instructions generated by the compiler. As part of this, it describes how to locate variables within your program at runtime using a language called DWARF Expressions. When implementing a parser for DWARF Expressions I thought “this seems suspiciously Turing-complete, can I implement a programming language inside this?” It turns out the answer is yes. In this session you’ll learn how debug information and executables are stored on Linux systems and how I managed to (ab)use them to implement a programming language interpreter that runs when you ask your debugger for the address of a variable.
  • Enhancing C++ development with Copilot Chat with Sinem Akinci (Microsoft) – Copilot is an AI-powered pair programmer integrated into Visual Studio and VS Code that can be there to assist you at many different points in your C++ development journey. In this session, we’ll introduce Copilot and Copilot Chat, share tips for achieving the results you want, and provide different use cases for using these tools. Then, we’ll see these tools in action in C++ code in Visual Studio as we tackle a variety of problems from navigating and understanding code to refactoring existing code.
  • Progress Report: Adopting Header Units in Microsoft Word with Zachary Henkel (Microsoft) – Microsoft Office is a huge C++ codebase with nearly 100 million lines of native code. This size provides a constant challenge to build the product as quickly as possible. C++20 header units are a way to receive many of the benefits of modules, while still working with a codebase originally designed for classic header inclusion. At CppCon 2022 we announced that Office would investigate header units with the goal of improved build throughput. We’re excited to present the results of that work for the benefit of the C++ community at large. In this session, we’ll share build performance metrics for the first time.

More

0 C++,

« Previous Posts

Powered by WordPress. Designed by elogi.