“auto to stick” and Changing Your Style--Jonathan Boccara

What do you think?

“auto to stick” and Changing Your Style

by Jonathan Boccara

From the article:

While performing a code review on a refactoring project, I stumbled upon a change that took a line of code from this state:

Widget myWidget{42};

to that:

auto myWidget = Widget{42};

Well, in the actual case the type wasn’t called Widget and the initialization value wasn’t exactly 42. But that’s the gist of it...

ACCU 2019 Call for Papers -- ACCU

The ACCU 2019 is now putting together its program, and they want you to speak on C++. The ACCU has a strong C++ track, though it is not a C++-only conference. If you have something to share, check out their

Call for Papers

by the ACCU

From the article:

Historically, ACCU has a lot of C++ and C content, and is proud of that: ACCU is the foremost annual conference for people interested in C++ and C, at least in and around the UK. But it is not just a C++ and C conference, ACCU is about programming in whatever language people are using, with whatever tools and processes people are using: D, Chapel, Java, Kotlin, C#, F#, Groovy, Rust, Go, Python, Ruby, Lisp, to name just a few programming languages about which there have been sessions at ACCU conferences. Git, Mercurial, CMake, Meson, TDD, BDD, allthese tools and techniques have been the focus of sessions at ACCU. The ACCU Conference is looking for sessions that will be interesting to people who create software.

The keynote speakers are M. Angela Sasse, Kate Gregory, Paul Grenyer and Herb Sutter.

The Call for Papers lasts for about 3 weeks and will close on Friday 2018-10-26T23:59+01:00.

C++ Links #5 -- Bartlomiej Filipek and Wojciech Razik

cpplinks.pngThe 5th episode of the 'most useful C++ links' is now available:

C++ Links #5

by Bartlomiej Filipek and Wojciech Razik

From the article:

Welcome to new C++ Links - most important and useful articles, podcasts and videos that happen between 29th September and 5th of October.

In this week you will find two trip reports from CppCon, an article about std::any (aka modern void*), a video about std::fmt library and many more!

JetBrains C++ team at CppCon 2018: Trip report -- Anastasia Kazakova

CppCon 2018 is now over. While our memories are still fresh, we’d like to share our impressions of this year’s installment of CppCon.

JetBrains C++ team about CppCon 2018

by Anastasia Kazakova

This year's edition was unique and exceptional for many reasons:

  • Highly technical keynotes on Concepts, Lifetime, Spectre issues and more.
  • C++ developers on stage accepting an Academy Award!
  • A whole selection of great talks, some are covered in the trip report.
  • New Lightning Challenge format (our team was glad to take it and shared the impression in the report).

Our team is also running a survey at CppCon on a regular basis, no exception this year. Find the results on most popular standard and compiler inside.

 

CppCon 2018: Spectre: Secrets, Side-Channels, Sandboxes, and Security -- Chandler Carruth

cppcon2018-carruth.PNGThe CppCon 2018 closing keynote is now on YouTube:

Spectre: Secrets, Side-Channels, Sandboxes, and Security

by Chandler Carruth

From the description:

The discovery of speculative execution side-channel attacks (called "Spectre") fundamentally changes the security model of every modern superscalar microprocessor. Extracting secret data (credit cards, cryptographic keys) through side-channels is not new and has challenged the cryptographic community for decades. Despite this, the industry has often been complacent in our response, viewing these attacks as impacting a tiny amount of code and being nearly impossible to weaponize. But speculative execution attack techniques have fundamentally altered the ease and applicability of side-channels, making them a serious threat to computer security. Responding to these issues has impacted CPU design, compiler design, library design, sandbox techniques and even the C++ programming language and standard.

This talk will explain how these kinds of attacks work at a high level and provide a clear set of terminology to describe these classes of vulnerabilities and attacks. It will show how the different variants work at the low level of modern hardware to give a detailed and precise understanding of the mechanics involved on CPUs today.

It will also provide guidance about what makes applications and services vulnerable and how to analyze your software to understand the degree of its exposure. It will include an overview of the numerous different mitigation techniques available, how to deploy them, and what tradeoffs come with them. Some of these mitigations will be covered in detail: how they work at a hardware level, where they don't work, and what attack vectors remain.

Finally, the talk will show how traditional side-channel risks are made substantially easier to exploit due to speculative execution. This will cover how cryptographic and other libraries dealing in high-value secrets need to be adapted to correctly defend against these attacks. Further, it will introduce general problems of sandboxing untrusted code from secret data and the current best techniques in those circumstances.

This talk will be accessible to most C and C++ programmers. No deep background on CPUs, assembly, hardware instructions, Spectre, side-channels, or security is needed.

Boost C++ Master Class with Boris Schäling

Boris Schäling is pleased to invite you to the 2nd Boost C++ Master class 2018 in Israel:

Boost C++ Master Class

November 25-27, 2018 in Haifa, Israel

The Boost C++ Master class strives to deepen your understanding of the Boost C++ Libraries. As of today, the Boost C++ Libraries are the most important stepping stone if you want to increase your productivity as a C++ developer and significantly improve the quality of your code. In-depth knowledge of the Boost C++ Libraries empowers you to write code that is shorter, more expressive, less error-prone, more agile, and more future-proof.

The Boost C++ Master class is an all-round training. It has no focus on a specific Boost library. The training covers a wide range of major Boost libraries. This includes general purpose libraries whose usage immediately leads to better code. And it includes concept-oriented libraries that demonstrate new approaches to organizing code and implementing features.

The Boost C++ Master class with its focus on the Boost C++ Libraries goes far beyond what is known today as modern C++. While many Boost libraries support and enable writing modern C++ code, the Boost libraries open new doors. Quite often the Boost libraries provide possibilities which catch many developers by surprise.

The Boost C++ Master class is taught by Boris Schäling who is one of the world’s leading professional Boost C++ experts and the author of the book The Boost C++ Libraries.

CppCon 2018: Thoughts on a more powerful and simpler C++ (5 of N) -- Herb Sutter

cppcon2018-sutter.PNGThe CppCon 2018 Thursday plenary session is now on YouTube:

Thoughts on a more powerful and simpler C++ (5 of N)

by Herb Sutter

From the description:

Perhaps the most important thing we can do for C++ at this point in its evolution is to make sure we preserve its core strengths while also directing its evolution in ways that make it simpler to use. That is my own opinion at least, so this talk starts with a perspective question: What “is C++,” really? The language continues to evolve and change; as it does so, how can we be sure we’re picking C++ evolutionary improvements that not only don’t lose its “C++-ic” qualities, but make it a better C++ than ever?

At recent CppCons, I’ve spoken about several of my own personal C++ evolution efforts and experiments, and why I think they’re potentially important directions to explore for making C++ both more powerful and also simpler to use. The bulk of the talk is updates on two of these:

1. Lifetime and dangling: At CppCon 2015, Bjarne Stroustrup and I launched The C++ Core Guidelines in our plenary talks. In my part starting at 29:06, I gave an early look at my work on the Guidelines “Lifetime” profile, an approach for diagnosing many common cases of pointer/iterator dangling at compile time, with demos in an early MSVC-based prototype. For this year’s CppCon, I’ll cover what’s new, including:
    • use-after-move diagnoses
    • better support for the standard library out of the box without annotation
    • more complete implementations in two compilers: in MSVC as a static analysis extension, and in a Clang-based implementation that is efficient enough to run during normal compilation
    • the complete 1.0 Lifetime specification being released on the Guidelines’ GitHub repo this month

I’ll summarize the highlights but focus on what’s new, so I recommend rewatching that talk video as a refresher for background for this year’s session.

2. Metaclasses: In my CppCon 2017 talk, I gave an early look at my “metaclasses” proposal to use compile-time reflection and compile-time generation to make authoring classes both more powerful and also simpler. In this case, “simpler” means not only eliminating a lot of tedious boilerplate, but also eliminating many common sources of errors and bugs. For this year, we’ll cover what’s new, including:
    • an update on the Clang-based implementation, which now supports more use cases including function parameter lists
    • new examples, including from domains like concurrency
    • an updated P0707 paper, with more links to working examples live on Godbolt, being posted in the next few weeks for the pre-San Diego committee mailing

CppCon 2018: Simplicity: Not Just for Beginners -- Kate Gregory

cppcon2018-gregory.PNGThe CppCon 2018 Wednesday keynote is now on YouTube:

Simplicity: Not Just for Beginners

by Kate Gregory

Kate Gregory has been using C++ since before Microsoft had a C++ compiler. She writes, mentors, codes, and leads projects, in both C++ and .NET, especially for Windows. Kate is a Microsoft Regional Director, a Visual C++ MVP, has written over a dozen books, and speaks at conferences and user groups around the world. Kate develops courses on C++, Visual Studio, and Windows programming for Pluralsight.

From the description:

Many people say that simple code is better code, but fewer put it into practice. In this talk I’ll spend a little time on why simpler is better, and why we resist simplicity. Then I’ll provide some specific approaches that are likely to make your code simpler, and discuss what you need to know and do in order to consistently write simpler code and reap the benefits of that simplicity.