Next BeCPP UG Meeting Planned For June 24th, 2021
The next meeting of the Belgian C++ Users Group is planned for Thursday June 24th, 2021 at 18:00 and will be held online through Microsoft Teams.
The agenda is as follows:
- 18:00: The Teams meeting will start to give people plenty of time to join.
- 18:30: Session 1: A new way of formatting in C++20, are we getting there in the end? (Lieven de Cock)
We will have a look at the problems the (s)printf family has brought upon us for decades, how iostreams tries to solve this in an unfriendly way, and how we can now have the best of both worlds, with the upcoming C++20 std::format (or for now with the reference implementation fmt::format). - 19:30: Session 2: Understanding value categories in C++ (Kris van Rens)
In C++ today, do you know what an xvalue is? Or a prvalue? Why would you want to know? Because it matters! In C++, each expression is characterized by a value category. These value categories are used to describe parts of the C++ standard, and are often used in books and articles. You might have heard of terms like ‘lvalue’ or ‘rvalue’, which are the most commonly known ones. Over the years, changes to the C++ language changed the meaning of value categories. This means a lot of information about value categories is outdated or just plain wrong. In this talk, I will explain what expression value categories are in today’s C++ standard. It turns out that knowledge about value categories can really be beneficial. Not only will it enrich your understanding of C++ in general, it will deepen your understanding of mechanisms like move semantics. Also, it can help you to make better choices about code. These choices can then leverage language rules to enable compilers to generate efficient code without redundant copies. Other, related topics that will be covered: copy elision, return value optimization, temporary materialization.
The event is free for everyone, but you need to register for it.
There are 300 seats available for this event.
Note: The deadline for registrations is June 23rd, 2021!
Pure Virtual C++2020 Conference
Pure Virtual C++
2020
Pure Virtual C++ 2020 is a free single-track one-day virtual conference for the whole C++ community. It is taking place on Thursday 30th April 2020 from 14:30 to 23:00 UTC. Sign up on the event website.
All talks will be pre-recorded and streamed on YouTube Live with a live Q&A session with the speakers. After the event, the talks will be available to watch online for free.
The Pure Virtual C++ conference organized by Microsoft will be run under the Berlin Code of Conduct.
The preliminary schedule is (all times UTC):
- 14:30-15:30 – Dynamic Polymorphism with Metaclasses and Code Injection by Sy Brand
- 16:00-16:30 – Optimize Your C++ Development While Working From Home by Nick Uhlenhuth
- 16:30-17:00 – C++ Cross-Platform Development with Visual Studio and WSL by Erika Sweet
- 17:30-18:30 – Lucky 7 – Designing Text Encodings for C++ by JeanHeyd Meneide
- 19:00-20:00 – C++ Development with Visual Studio Code by Julia Reid
- 20:30-21:00 – Peeking Safely at a Table with Concepts by Gabriel Dos Reis
- 21:00-21:30 – Practical C++20 Modules and the Future of Tooling Around C++ Modules by Cameron DaCamara
- 22:00-23:00 – Update on MSVC’s implementation of the C++20 Standard Library by Mahmoud Saleh
Register here!
[Cancellation] Next BeCPP UG Meeting Planned For March 30th, 2020
A lot of measures are being taken in light of the current state of the Covid-19 outbreak.
Several companies, including the company I work for, are starting with mandatory working-from-home until further notice. Additionally, one of the planned speakers is not allowed to travel anymore by his company.
Also, the KU Leuven University who were going to sponsor this BeCPP meeting by providing the location have initiated strict rules for bigger meetings, and this BeCPP event falls in that category. It will be hard to meet those rules for such a big group.
As such, we, together with Dekimo and the KU Leuven think it won’t be responsible to organize the meeting, and have decided to cancel the March 2020 BeCPP event.
I will work together with our two international speakers, Greg and DeWang, to find another date in the future for them to come over to Belgium.
If you have any questions, don’t hesitate to contact us.
Next BeCPP UG Meeting Planned For March 30th, 2020
This event is cancelled in light of the current state of the Covid-19 outbreak.
We will try to get our two international speakers, Greg and DeWang, back to Belgium at a future event.
The next meeting of the Belgian C++ Users Group is planned for Monday March 30th, 2020 at 18:00 at KU Leuven Department of Computer Science. The welcoming and reception takes place at Foyer Computerwetenschappen (room 00.191), while the sessions will take place in Auditorium Erik Duval (room 00.225)
Dekimo ( https://www.dekimo.com/ ) and KU Leuven Department of Computer Science ( https://wms.cs.kuleuven.be/cs/english ) are sponsoring this event by providing the location, drinks and catering.
This time we have two international speakers:
- Greg Law: The co-founder and CTO of Undo.
- DeWang Li: Software Integrity Architect @ Synopsys Software Integrity Group.
The agenda is as follows:
- 18:00: Reception with food.
- 18:30: Session 1: Amazing tricks with the GDB debugger (Greg Law)
If you’re writing C++ for anything other than Windows, chances are that you occasionally break out GDB. This session presents some of the lesser known features of GDB that can change the way you debug. GDB has come a long way in the last few years and now does so much more than break, print, step and continue. Reversible debugging; Non-Stop Mode; Multi-process Debugging; and Dynamic Printf are but some of its best features, and its built-in Python scripting is particularly powerful. Join Undo co-founder and CEO, Greg Law, as he takes you through a series of demos to show some amazing tricks with GDB and some of its powerful new (and not-so-new) features that you may not have heard of. - 19:15: Session 2: Static analysis and Coverity (DeWang Li)
The C/C++ code you create plays such a pivotal role on our planet, and as such, companies are investing heavily into ensuring they are safe and robust. One of the disciplines they invest in to ensure that is static analysis. DeWang will explain the fundamentals of static analysis, and using his favorite product, Coverity, demonstrate some of its capabilities. He will share stories from working with some of the top Silicon Valley companies and how they apply Coverity. - 19:55: Break
- 20:10: Session 3: Interactive discussion on pointers (Lieven de Cock)
Let’s have an exchange of thoughts on the topic of pointers: raw pointers, smart pointers, std/boost::optional and std::reference_wrapper.
How to express intent and how to avoid checking things that might not be needed to check?
We will present some use cases to get the discussion going. This is an interactive session, so start thinking about questions or opinions you might have. - 20:50: Introduction to Dekimo, and KU Leuven Department of Computer Science, followed by a drink.
We will give away a copy of C++17 Standard Library Quick Reference.
The event is free for everyone, but you need to register for it.
There are 100 seats available for this event.
Note: The deadline for registrations is March 26th, 2020!
Slides of the 29th of January 2020 BeCPP Meeting
Thank you everyone for joining the Belgian C++ Users Group meeting on 29th of January 2020 and thanks to OMP for sponsoring the event by providing the location and catering.
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.
Presentation: “Coroutines in C++20” by Johan Vanslembrouck
Presentation: “The evolution of the C++ Lambda” by Lieven de Cock
Pictures of the 29th of January 2020 BeCPP Meeting
Here are some pictures of the Belgian C++ Users Group meeting held on 29th of January 2020.
Next BeCPP UG Meeting Planned For January 29th, 2020
The next meeting of the Belgian C++ Users Group is planned for Wednesday January 29th, 2020 at 18:00 at OMP.
OMP ( https://www.omp.com/ ) is sponsoring this event by providing the location, drinks and catering.
The agenda is as follows:
- 18:00: Reception with food.
- 18:30: Session 1: Coroutines in C++20 (Johan Vanslembrouck)
A coroutine is a function that can suspend execution to be resumed later. Coroutines allow for sequential code that executes asynchronously (e.g. to handle non-blocking I/O without explicit callbacks), and also supports algorithms on lazy-computed infinite sequences and other uses. Unlike most other languages that support coroutines, C++ coroutines are open and not tied to any particular runtime or generator type and allow libraries to imbue coroutines with meaning, whereas the compiler is responsible solely for efficient transformation of a function to a state machine that is the foundation of the coroutine.
The presentation will explain the C++ coroutines mechanism, i.e. code generated by the compiler and the code to be written by a coroutine developer. The presentation includes examples of an client-server application using Boost ASIO in combination with C++ 20 coroutines and a producer-consumer queue implemented with and without coroutines. - 19:30: Break
- 19:45: Session 2: The evolution of the C++ Lambda (Lieven de Cock)
Before C++11, we had to write function objects (functors) or free standing functions to pass as the callable to several algorithms (for example: for_each). The drawback was that we were introducing objects in a bigger scope than actually needed, and it can be considered as rather some boilerplate.
With the introduction of the lambda we can write (little) callables at the moment we need them. Over the years (or better said over the new standards) the lambdas gained extra power and became more user friendly. In this talk we will have a look on the evolution of the lambda since its birth in C++11. - 20:45: Introduction to OMP, followed by a drink.
We will be giving away 2 copies of Professional C++, the 4th Edition.
We will also give away a copy of C++17 Standard Library Quick Reference.
The event is free for everyone, but you need to register for it.
There are 100 seats available for this event.
Note: The deadline for registrations is January 26th, 2020!
Slides of the 10th of October 2019 BeCPP Meeting
Thank you everyone for joining the Belgian C++ Users Group meeting on 10th of October 2019 and thanks to think-cell for sponsoring the event by providing the location and catering.
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.
Presentation: “C++20: What’s in it for you?” by Marc Gregoire
Pictures of the 10th of October 2019 BeCPP Meeting
Here are some pictures of the Belgian C++ Users Group meeting held on 10th of October 2019.
C/C++ Challenge Belgium & The Netherlands 2019 by Dekimo
The Dekimo C/C++ Challenge is a contest designed to inspire creative and enthusiastic C/C++ Students & Professionals located in Belgium and The Netherlands. It is also a unique opportunity to fight an epic battle between Belgium and The Netherlands in the field of C/C++ programming: it’s not about the best soccer team, it’s all about the best software engineers!!
The first round is played online. The students and the professionals will compete in separate leagues so that everyone gets a fair chance in competing to be crowned as C/C++ Champion.
Registration is free and open during the entire duration of the Challenge.
At the end of the online round, the top 30 players will be invited for the finals.
- The 15 best Professionals
- The 15 best Students
The finals are intended to determine the top player in each league. Of course, there are cool prizes to be won that all have to do with smart electronics (a nifty drone for the winner in each league, and a nice voucher for the runners-up!)
If you are interested, visit the official website for more information.