Next BeCPP UG Meeting Planned For February 4th, 2019

December 14, 2018 Marc Gregoire Events

The next meeting of the Belgian C++ Users Group is planned for Monday February 4th, 2019 at 18:00 at Sioux @ Aldhem Hotel (Room d’Artagnan 3 & 4).

Sioux ( http://www.sioux.eu/ ) is sponsoring this event by providing the location, drinks and catering.

Sioux Logo

The agenda is as follows:

  • 18:00: Sandwiches.
  • 18:30: Session 1: Parsing CSS in C++ with Boost Spirit X3 (Ruben Van Boxem)
    Reading and writing is a fundamental part of programming. Even more so in C++, as it is a relatively low-level language. If not hand-written from scratch, C++ programmers often resort to parser generators such as Antlr, Bison, byacc, Flex, and many others. The former option increases maintenance burden, as the code involved is usually not trivial and error-prone. The latter option complicates the build setup and one loses a certain degree of flexibility in how the parser can be handled.
    The authors of Boost.Spirit approached this dichotomy, shook it up a bit, and came up with something better. Boost Spirit, already at its third iteration of implementation, harnesses the C++ language and its generative power to enable us to write parser grammar in C++. This allows for the flexibility of using C++, combined with full control of what is parsed how, while maintaining the simplistic abstract representation of what is being parsed. The latest iteration, X3, employs techniques made possible by C++14 to simplify its implementation, to decrease compile times whilst providing the same flexibility of previous versions. I intend to give a general introduction, followed by a partial implementation of a CSS parser, and hope the power of Boost Spirit can convince you to at least give it whirl.
  • 19:30: Break
  • 19:45: Session 2: Using Monoids in C++ (Kristoffel Pirard)
    Effective coders recognise tedious repetition and transform it into reusable patterns. Frameworks, libraries and design patterns arise from it. After the GoF Object Oriented patterns, today we are also learning from the functional programming world. One of the patterns they bumped into is the Monoid: it has its application in addition, accumulation, concatenation, you name it. And it’s a simple one.
    This talk is about how Monoids seem to be everywhere, and how recognising them has influenced my daily practice. It will show a glimpse of the land of functional design patterns and look at practical aspects of using Monoids in C++. I believe it’s important. And I believe there’s a lot more to be discovered.
  • 20:45: Introduction to Sioux, followed by a drink.

Professional C++, 4th Edition
We will be giving away 2 copies of Professional C++, the 4th Edition.

C++ Standard Library Quick Reference
We will also be giving away a copy of C++ Standard Library Quick Reference.

Beginning C++17, From Novice to Professional
And finally, we will also give away a copy of Beginning C++17, From Novice to Professional.

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

There are 70 seats available for this event.

Note: The deadline for registrations is January 27th, 2019!

Parking

Parking B, behind the hotel, has place for 250 cars with separate entrance for the room d’Artagnan. Parking A in front of the hotel has place for an additional 100 cars.

More

0

Slides of the 25th of October 2018 BeCPP Meeting

October 29, 2018 Marc Gregoire Events

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

Altran 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.

Presentation: “Writing Standard Library Compliant Data Structures and Algorithms” by Marc Gregoire
Marc Gregoire - Writing Standard Library Compliant Data Structures and Algorithms

Presentation: “Memory Architecture & Performance” by Barry Van Landeghem
Barry Van Landeghem - Memory Architecture & Performance

More

0

Pictures of the 25th of October 2018 BeCPP Meeting

October 27, 2018 Marc Gregoire Events

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

More

0

Next BeCPP UG Meeting Planned For October 25th, 2018

September 15, 2018 Marc Gregoire Events

The next meeting of the Belgian C++ Users Group is planned for Thursday October 25th, 2018 at 18:00 at Altran.

Altran ( http://www.altran.com/ ) is sponsoring this event by providing the location, drinks and catering.

Altran Logo

The agenda is as follows:

  • 18:00: Sandwiches.
  • 18:30: Session 1: Writing Standard Library Compliant Data Structures and Algorithms (Marc Gregoire)
    The C++ Standard Library provides a lot of data structures, but it cannot provide every possible data structure or algorithm that you might need. So, sometimes, you might find the need to write your own data structure or algorithm. Since you are writing them yourself, you could give them any interface that suits you. However, wouldn’t it be better to make them compliant with the Standard Library? That way, when you write your own algorithm, you will be able to use that algorithm independently of the type of the container that contains the data for your algorithm. Similarly, if you write a Standard Library compliant data structure, then you will be able to use Standard Library algorithms on the data in your own data structure.
    It’s clear, there are a lot of advantages in making your data structures and algorithms compliant with the Standard Library. We’ll first develop a simple algorithm with our own interface. Then we’ll look into what changes we have to make to transform the interface to be Standard Library compliant. Finally, we’ll demonstrate our adapted algorithm by running it on data in a variety of Standard Library containers.
    In the last part of the presentation we’ll crank it up a notch. We’ll start by writing our own data structure, initially without thinking too much about the Standard Library. Then we’ll look at an overview of the different sets of requirements that the Standard Library imposes for the different types of containers (sequential, associative, and unordered associative). Finally, we’ll adapt our data structure step-by-step to transform it into a Standard Library compliant data structure. This of course includes writing a suitable iterator. Finally, we’ll demonstrate the transformed data structure by running Standard Library algorithms on the data in it.
  • 19:30: Break
  • 19:45: Session 2: Memory Architecture & Performance (Barry Van Landeghem)
    The impact of memory architecture on performance is something which every developer should be aware of. In general improving your code performance is already hard and complex. Computer cache memories have led to introduce a new complexity measure for algorithms and new performance counters for code.
    In this talk we’ll see what data locality is all about and why using data locality can be a great tool for a developer to boost the performance of his/her algorithms/data structures.
    At the end we’ll also at the implications towards parallelism (false sharing/NUMA,…).
  • 20:45: Introduction to Altran, followed by a drink.

Professional C++, 4th Edition
We will be giving away 2 copies of Professional C++, the 4th Edition.

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

There are 80 seats available for this event.

Note: The deadline for registrations is October 21st, 2018!

More

0

Slides of the 28th of June 2018 BeCPP Meeting

July 4, 2018 Marc Gregoire Events

Thank you everyone for joining the Belgian C++ Users Group meeting on 28th of June 2018 and thanks to Western Digital for sponsoring the event by providing the location and catering.

Amplidata 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.

Presentation: “Strongly Typed Declarative Bitsets in C++17” by Ewoud van Craeynest
Ewoud van Craeynest - Strongly Typed Declarative Bitsets in C++17

Presentation: “The Observer pattern and boost.signals2” by Lieven de Cock (Only source code, no slides)

More

7

Pictures of the 28th of June 2018 BeCPP Meeting

July 4, 2018 Marc Gregoire Events

Here are some pictures of the Belgian C++ Users Group meeting held on 28th of June 2018.

More

0

Next BeCPP UG Meeting Planned For June 28th, 2018

June 2, 2018 Marc Gregoire Events

The next meeting of the Belgian C++ Users Group is planned for Thursday June 28th, 2018 at 18:00 at Amplidata.

Amplidata, a Western Digital company, ( http://amplidata.com/ ) is sponsoring this event by providing the location, drinks and catering.

Amplidata Logo

The agenda is as follows:

  • 18:00: Sandwiches.
  • 18:30: Session 1: Strongly Typed Declarative Bitsets in C++17 (Ewoud van Craeynest)
    The C++ standard states that bool values behave as integral types, that they participate in integral promotions and conversions.
    As a community, we reached the consensus that those integral types aren’t particularly type safe. So, neither are our bools, neither are our bitsets, nor the bits within a bitset. Numbers just being numbers can lead to subtle bugs and impede merciless refactoring.
    This session aims to introduce a strongly typed, declarative bitset type using C++17, by looking at a strongly typed bool and template offset bitfields first.
  • 19:30: Break
  • 19:45: Session 2: The Observer pattern and boost.signals2 (Lieven de Cock)
    The Observer pattern, is one of the many famous GOF design patterns. We will take a look at a minimal implementation, and then enhance that implementation a bit. We briefly touch some potential problems and think about options on how to deal with them. Then we look at a way of avoiding boiler plate code, by using the boost.signals2 library. This header-only boost library will take care of much administration work so we don’t need to reinvent the wheel. No prior knowledge is needed of the observer design pattern, nor the boost.signals2 library.
    Just bring your C++ (11-14-17) skills and … observe.
  • 20:45: Introduction to Amplidata, followed by a drink.

Professional C++, 4th Edition
We will be giving away 2 copies of the recently published new edition of Professional C++, the 4th Edition.

JetBrains
We will also be giving away a JetBrains coupons for 100% discount of a 1 year free personal subscription for any single JetBrains tool/IDE JetBrains.

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

There are 70 seats available for this event.

Note: The deadline for registrations is June 24th, 2018!

More

0

Material of the 28th of February 2018 BeCPP Meeting

March 11, 2018 Marc Gregoire Events

Thank you everyone for joining the Belgian C++ Users Group meeting on 28th of February 2018 and thanks to Nokia for sponsoring the event by providing the location and catering.

Nokia 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.

Presentation: “Boost.Asio C++ (Network) Programming (Part 2)” by Lieven de Cock (Source code only, no slides)

More

0

Pictures of the 28th of February 2018 BeCPP Meeting

March 3, 2018 Marc Gregoire Events

Here are some pictures of the Belgian C++ Users Group meeting held on 28th of February 2018.

More

0

Next BeCPP UG Meeting Planned For February 28th, 2018

January 27, 2018 Marc Gregoire Events

The next meeting of the Belgian C++ Users Group is planned for Wednesday February 28th, 2018 at 18:00 at Nokia. For travel tips, see how to reach Nokia.

Nokia ( http://nokia.be/ ) is sponsoring this event by providing the location, drinks and catering.

Nokia Logo

The agenda is as follows:

  • 18:00: Sandwiches.
  • 18:30: Session 1: Boost.Asio C++ (Network) Programming (Part 2) (Lieven de Cock)
    Boost.Asio is a cross-platform C++ library for network and low-level I/O programming, either using a synchronous or asynchronous model. We will examine this powerful library in 2 sessions.
    In this second session we will pick up where we left of, after connecting as a client we will start interacting with the server, and we will see how to implement a server application.
    We will do this both in a synchronous and an asynchronous way, keeping an eye on scalability.
    Note that the C++ Standard networking proposals are based directly on Boost.Asio, so next to learning this great library we are also preparing for the future C++ standard.
  • 19:30: Break
  • 19:45: Session 2: A possible future for embedded (Odin Holmes)
    Through the much-hyped advent of Industry 4.0 and IoT, billions of new bare metal devices will be connected to the internet or intranets and will be expected to talk to each other, even across company boundaries. This presents a plethora of new challenges, many of which share a common root; it is crucial that we build a foundation for code reuse and encapsulation of expertise in this domain. What does cross-platform code really mean when we are targeting thousands of ‘platforms’? When encapsulating expertise, we implicitly make assumptions about user code and user code implicitly makes assumptions about library code. What are valid assumptions? What is the basic interface? In this talk I will present a possible future for bare metal development which attempts to answer these questions.
  • 20:45: Introduction to Nokia, followed by a drink.

C++ Standard Library Quick Reference
We will be giving away a copy of C++ Standard Library Quick Reference.

JetBrains
We will also be giving away 2 JetBrains coupons for 100% discount of a 1 year free personal subscription for any single JetBrains tool/IDE JetBrains.

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

There are 60 seats available for this event.

Note: The deadline for registrations is February 25th, 2018!

 

How to reach Nokia?

By car

For GPS, enter destination “Van Immerseelstraat” and not the “Copernicuslaan”.

From Brussels (E19), Boom (A12), Ghent (E17) or Bruges (E34)

  • Take exit 3 (Borgerhout / Antwerp) on the Ring of Antwerp (R1) and turn left towards the city center.
  • Cross the Singel (R10) and follow Plantin en Moretuslei under the railway bridge towards the city center.
  • Just before the next railway bridge, turn right into Van Immerseelstraat where you will find the entrance to the underground parking.

From direction Turnhout (E34) or Hasselt (E313)

  • Take exit 17 (Antwerpen Centrum / Borgerhout / Singel) and turn left for the railway bridge to the Noordersingel (R10).
  • At the second crossroads turn right under the railway bridge to Plantin and Moretuslei towards the city center.
  • Just before the next railway bridge, turn right into Van Immerseelstraat where you will find the entrance to the underground car park.

Parking

There is a public parking facility underneath the building, but it is not free (http://www.interparking.be/en/find-parking/Centraal/). Traffic in Antwerp is not the easiest, so it’s recommended to come by train if possible. The Nokia building is less than 5 minutes walking from the Antwerpen Centraal train station.

By Bike

  • From the south, take the Antwerp Ringfietspad (cyclepath), and ride via the station of Berchem and the Mercatorstraat (along the railway berm) towards the station ‘Antwerpen-Centraal’.
  • From the north, ride via the Noorderlaan and the Italiëlei. At the Franklin Rooseveltplaats, turn left towards the ‘Antwerpen-Centraal’ station.
  • From the Linkeroever, ride via the Sint-Anna tunnel and the de Meir. Via the Keyserlei you will arrive at the ‘Antwerpen-Centraal’ station.
  • Via the Lange Kievitstraat (bicycle crossing under the station) you will arrive at the Kievitplein.
  • Visitors can park their bicycle safely in the underground bicycle parking to the right of the station entrance.

By Metro, Tram and Bus

  • Buses 17, 21, 32 and 244 from De Lijn stop at the ‘Lange Kievitstraat’ stop near the Kievitplein
  • Trams 2, 6, 9 and 15 have a stop at the premetro station ‘Diamant’ at the ‘Antwerpen-Centraal’ train station and at the ‘Plantin’ premetro station at the Plantin and Moretuslei.

More

0

« Previous Posts

Powered by WordPress. Designed by elogi.