Survey for C++ Teachers (results to go in CppCon talk)
Help gather data.
Survey for C++ Teachers (results to go in CppCon talk)
October 25, Pavia, Italy
November 6-8, Berlin, Germany
November 3-8, Kona, HI, USA
By Adrien Hamelin | Sep 17, 2018 11:58 AM | Tags: community
Help gather data.
Survey for C++ Teachers (results to go in CppCon talk)
By Adrien Hamelin | Sep 17, 2018 11:56 AM | Tags: community
Will you try it?
Lightning Talks and a Challenge
by Michael Caisse
From the article:
Lightning Talks have become an attendee favorite at CppCon. Often humorous and high energy, they provide an informal venue to teach, learn, and laugh.
If you have something to share that the C++ community might enjoy, produce a focussed 5-minute talk and register to dazzle the crowd.
By Marco Arena | Sep 15, 2018 03:40 AM | Tags: community
Are you wondering how to use the Microsoft Cognitive Services with C++?
Microsoft Cognitive Services C++ SDK
by Sebastiano Galazzo
Introduction:
The project is a wrapper to use Microsoft Cognitive Services in standard C++ as is currently not supported.
The project provides full support to Computer Vision API. A wrapper to gphoto2 will provide the full control digital cameras (DSLR), getting the raw shot and making manipulations with Computer Vision API.
Available camera-ai, a working commandline example to take a picture from the camera conneced by USB and analyze by Cognitive Services.
A lot of people have a better C++ than mine, who wants to contribute is welcomed!
By Adrien Hamelin | Sep 12, 2018 12:23 PM | Tags: community
Have you registered for CppCon 2018 in September? Registration is open now.
While we wait for this year’s event, we’re featuring videos of some of the 100+ talks from CppCon 2017 for you to enjoy. Here is today’s feature:
Fantastic Algorithms and Where To Find Them
by Nicholas Ormrod
Summary of the talk:
Come dive into some exciting algorithms — tools rare enough to be novel, but useful enough to be found in practice. Want to learn about "heavy hitters" to prevent DOS attacks? Come to this talk. Want to avoid smashing your stack during tree destruction? Come to this talk. Want to hear war stories about how a new algorithm saved the day? Come to this talk! We'll dive into the finest of algorithms and see them in use — Fantastic Algorithms, and Where To Find Them.
By Adrien Hamelin | Sep 12, 2018 12:15 PM | Tags: community
Things to look at.
C++ Links #1
by Bartlomiej Filipek
From the article:
I'd like to make an experiment on the blog and introduce a new simple series. Each Friday you'll see a summary with valuable links and resources from the C++ World. The links and annotations are coming from a guest author - Wojciech Razik - one of the co-author of cpp-polska.pl.
By Adrien Hamelin | Sep 7, 2018 12:03 PM | Tags: community
Have you registered for CppCon 2018 in September? Registration is open now.
While we wait for this year’s event, we’re featuring videos of some of the 100+ talks from CppCon 2017 for you to enjoy. Here is today’s feature:
Boost Your Program’s Health by Adding Fibers to your Coroutine
by David Sackstein
Summary of the talk:
This session is intended to help the advanced programmer to understand what coroutines and fibers are, what problems they solve and how they should be applied in practice.
The session begins with an overview of these concepts, comparing them with threads, and demonstrating how they are exposed by the Boost libraries.
Apart from being clean and succinct as Boost libraries typically are, the authors of these libraries have gone to great lengths to ensure that fibers and coroutines expose a programming model consistent with that of threads. This will make them seem very familiar.
During the session I will demonstrate how fibers and coroutines can be used together with the powerful Boost.Asio library to solve some commonly occurring problems.
To conclude, I will provide some practical tips and guidelines for those who are adding fibers and coroutines to their programming diet.
By Adrien Hamelin | Sep 5, 2018 08:05 AM | Tags: community
Have you registered for CppCon 2018 in September? Registration is open now.
While we wait for this year’s event, we’re featuring videos of some of the 100+ talks from CppCon 2017 for you to enjoy. Here is today’s feature:
Type Punning in C++17: Avoiding Pun-defined Behavior
by Scott Schurr
Summary of the talk:
Type punning, treating a type as though it is a different type, has a long and sordid history in C and C++. But, as much as we'd like to deny its existence, it plays an important role in efficient low-level code. If you've ever written a program that examines the individual bits of a pointer or of a floating point number, then you've done type punning.
Given its long legacy, some of the techniques for type punning that were appropriate, even encouraged, earlier in history now live in the realm of undefined behavior. We'll identify which techniques are now proscribed and postulate why. We'll also explore ways to do type punning in C++17 that sidestep undefined behavior and are hopefully as efficient as the older techniques.
In this session we will look at:
o Common (and some uncommon) motivations for type punning.
o Techniques for type punning, both good and bad, all ugly.
o Related topics (like type conversions and std::launder()) with an eye toward unspecified and undefined behavior.
By Adrien Hamelin | Sep 3, 2018 08:00 AM | Tags: community
Have you registered for CppCon 2018 in September? Registration is open now.
While we wait for this year’s event, we’re featuring videos of some of the 100+ talks from CppCon 2017 for you to enjoy. Here is today’s feature:
When a Microsecond Is an Eternity: High Performance Trading Systems in C++
by Carl Cook
Summary of the talk:
Automated trading involves submitting electronic orders rapidly when opportunities arise. But it’s harder than it seems: either your system is the fastest and you make the trade, or you get nothing.
This is a considerable challenge for any C++ developer - the critical path is only a fraction of the total codebase, it is invoked infrequently and unpredictably, yet must execute quickly and without delay. Unfortunately we can’t rely on the help of compilers, operating systems and standard hardware, as they typically aim for maximum throughput and fairness across all processes.
This talk describes how successful low latency trading systems can be developed in C++, demonstrating common coding techniques used to reduce execution times. While automated trading is used as the motivation for this talk, the topics discussed are equally valid to other domains such as game development and soft real-time processing.
By Adrien Hamelin | Aug 31, 2018 02:27 PM | Tags: community
Getting more conforming!
Use the official Boost.Hana with MSVC 2017 Update 8 compiler
by Bat-Ulzii Luvsanbat
From the article:
We would like to share a progress update to our previous announcement regarding enabling Boost.Hana with MSVC compiler. Just as a quick background, Louis Dionne, the Boost.Hana author, and us have jointly agreed to provide a version of Boost.Hana in vcpkg to promote usage of the library among more C++ users from the Visual C++ community. We’ve identified a set of blocking bugs and workarounds and called them out in our previous blog, and stated that as we fix the remaining bugs, we will gradually update the version of Boost.Hana in vcpkg, ultimately removing it and replacing it with master repo. We can conduct this development publicly in vcpkg without hindering new users who take a dependency on the library...
By Adrien Hamelin | Aug 29, 2018 01:31 PM | Tags: community
Have you registered for CppCon 2018 in September? Registration is open now.
While we wait for this year’s event, we’re featuring videos of some of the 100+ talks from CppCon 2017 for you to enjoy. Here is today’s feature:
Meta
by Andrew Sutton
Summary of the talk:
For the past several years, I have been researching new languages to support safe and efficient network protocol processing, specifically for software-defined networking applications. The unfortunate outcome of that research is this conclusion: any language for that domain must also be a general purpose programming language. This is not an easy thing to do. Many of the language features I worked with simply generated expressions to compute packet and header lengths, read and write packet fields, and encode and decode entire packets. If we could do this in C++, I might not need an entirely new language.
Over the past year, Herb Sutter and I have collaborated to work on language support for compile-time programming, static reflection, metaclasses, and code generation in the C++ programming language. These facilities completely eliminate the need for the external tools, metacompilers, and domain-specific languages on which we frequently rely to generate high-performance encoders and decoders in C++.
In this talk, I will discuss how to use these evolving proposals to create facilities for encoding and decoding packets. In particular, I will discuss the background requirements of my work, the overall design of a network protocol library, and the reflection and generation facilities that implement the library.