community

C++ meetup in Madrid, Spain: C++ in the video game industry.

Yes! A new edition of the local C++ meetup will take place on the 4th of December at Google Campus' facilities. All the info and RSVPs below:

C++ en la industria del videojuego

by Jordi Mon Companys.

What to expect?

Jose Daniel García will moderate a table of experts in gamedev in C++ that will friendly elbaorate on the state of the language on regards to gamedev, its advantages and threats. Afterwards we will join forces with Product Hunt Madrid and we will have the chance to hear how King develops its games and how a group of students from U-Tad university have managed to get their game nominated to the Play Station Awards. We will water down our thoughts and reflections with plenty of beer thanks to King.com's sponsorship.

Trip Report: C++ Standards Meeting in Kona, October 2015--Botond Ballo

Another trip report of the last meeting in Kona:

Trip Report: C++ Standards Meeting in Kona, October 2015

by Botond Ballo

From the article:

Last week I attended a meeting of the ISO C++ Standards Committee in Kona, Hawaii. This was the second committee meeting in 2015; you can find my reports on the past few meetings here (June 2014, Rapperswil), here (November 2014, Urbana-Champaign), and here (May 2015, Lenexa). These reports, particularly the Lenexa one, provide useful context for this post.

The focus of this meeting was primarily C++17. There are many ambitious features underway for standardization, and the time has come to start deciding what which of them will make C++17 and which of them won’t. The ones that won’t will target a future standard, or a Technical Specification (which can eventually also be merged into a future standard). In addition, there are a number of existing Technical Specifications in various stages of completion...

ACCU 2016 call for papers: closes 13th Nov

A reminder that the ACCU 2016 conference call for papers closes on Fri 13th Nov. The conference dates are 19th- 23rd April 2016 and the venue will again be Bristol, England.

ACCU 2016 call for papers

About the conference:

ACCU has a strong C++ track, though it is not a C++-only conference. If you have something to share, check out the call for papers on the ACCU website:

6 topics on starting and running a User Group

I posted an update on my founding C++ User Groups article from 2 years ago:

6 topics on starting and running a User Group

by Jens Weller

From the article:

Almost two years ago I blogged about founding C++ User Groups, since then I have learned a lot more on the topic, and I want to share that experience with you in this blog post. While my focus here at Meeting C++ is C++, this post is more on the topic of a User Group, so its also useful to you, if you want to start a user group on something else. Yet, I might strive away into C++ lands in this post...

C++ User Group Meetings in November

The montly overview on upcoming C++ User Group Meetings:

23 C++ User Group meetings in November

by Jens Weller

The list:

    4.11 C++ UG Saint Louis - Unit Test++, Scott Meyers "gotchas", group exercise
    4.11 C++ UG Washington, DC - Q & A / Info Sharing
    4.11 C++ UG Austin - OpenMP
    9.11 C++ UG Edinburgh - C++ Edinburgh
    9.11 C++ UG Zentralschweiz - Coding Dojo
    11.11 C++ UG Utah - Regular Monthly Meeting
    11.11 C++ UG San Francisco/ Bay area - Presentation and Q&A
    12.11 C++ UG NRW/Aachen - Variadic Templates und TMP ohne Rekursion
    12.11 C++ UG Dresden - User perspektive on Catch
    16.11 C++ UG Austin - North Austin Monthly C/C++ Pub Social
    17.11 C++ UG Berlin - November Meetup
    17.11 C++ UG Hamburg - OpenCL
    18.11 C++ UG San Francisco/ Bay area - Workshop and Discussion Group
    18.11 C++ UG Warsaw - LLVM a jakość i bezpieczeństwo oprogramowania
    18.11 C++ UG Washington, DC - Q & A / Info Sharing
    18.11 C++ UG Bristol - Thomas Guest
    18.11 C++ UG Düsseldorf - Lightning Talks
    18.11 C++ UG North West/Seattle - CppCon Keynote - Bjarne Stroustrup
    18.11 C++ UG Sacramento - Sacramento Area C++, First Meetup
    25.11 C++ UG San Francisco/ Bay area - Workshop and Discussion Group
    26.11 C++ UG Rhein-Neckar - C++11/C++14 loops of fun
    26.11 C++ UG Bremen - C++ User Group
    26.11 C++ UG Munich - Lightning Talks

CppCon 2015: Last online videos (5)

The videos of CppCon 2015 are coming online. You can see them all here: Youtube or Channel 9

Here are the most recent ones:

  • CLANG + C2 - Engineering/Futures/Measurements
  • C++ devirtualization in clang
  • Algorithmic Differentiation: C++ & Extremum Estimation

 

CLANG + C2 - Engineering/Futures/Measurements by James Radigan

The talk will cover the CLANG + c2.dll compiler for the Microsoft platform. It will contain parts of the talk given at //Build 2015 that can be found on line: "Compiling Objective-C Using the Visual Studio 2015 C++ Code Generation that Builds Windows, SQL, .Net, and Office". The focus this time will be on C++.

The talk will disclose the architecture of how we tied the CLANG open source front end with the Microsoft optimizing backends (several configurations are needed) and how far we are from providing a CTP for public consumption targeting 4 different architectures. Included in this section will be a disclosure of data on compile time, memory consumption, conformance and correctness.

In addition the talk will cover the nuts and bolts of several key innovative compiler and runtime technologies we will be delivering in the Visual Studio 2015 updates (Fall, Winter and Spring). New investments in the compiler and runtime space include: Improved optimization and auto-vectorization, more secure code generation, incremental whole program compilation, and new asynchronous C++ code generation.


C++ devirtualization in clang by Piotr Padlewski

Lightning Talk


Algorithmic Differentiation: C++ & Extremum Estimation by Matt P. Dziubinski

Lightning Talk

CppCon 2015: Last online videos (4)

The videos of CppCon 2015 are coming online. You can see them all here: Youtube or Channel 9

Here are the most recent ones:

  • CLANG + C2 - Engineering/Futures/Measurements
  • C++ devirtualization in clang
  • Algorithmic Differentiation: C++ & Extremum Estimation
  • Indian C++: Curry for your Functions
  • CLion Tips & Tricks
  • and seventeen more lightning talks!

 

CLANG + C2 - Engineering/Futures/Measurements by James Radigan

The talk will cover the CLANG + c2.dll compiler for the Microsoft platform. It will contain parts of the talk given at //Build 2015 that can be found on line: "Compiling Objective-C Using the Visual Studio 2015 C++ Code Generation that Builds Windows, SQL, .Net, and Office". The focus this time will be on C++.

The talk will disclose the architecture of how we tied the CLANG open source front end with the Microsoft optimizing backends (several configurations are needed) and how far we are from providing a CTP for public consumption targeting 4 different architectures. Included in this section will be a disclosure of data on compile time, memory consumption, conformance and correctness.

In addition the talk will cover the nuts and bolts of several key innovative compiler and runtime technologies we will be delivering in the Visual Studio 2015 updates (Fall, Winter and Spring). New investments in the compiler and runtime space include: Improved optimization and auto-vectorization, more secure code generation, incremental whole program compilation, and new asynchronous C++ code generation.


C++ devirtualization in clang by Piotr Padlewski

Lightning Talk


Algorithmic Differentiation: C++ & Extremum Estimation by Matt P. Dziubinski

Lightning Talk


Indian C++: Curry for your Functions by Andre Bergner

Lightning Talk


CLion Tips & Tricks by Dmitri Nesteruk

Lightning Talk

CppCon 2015: Last online videos (3)

The videos of CppCon 2015 are coming online. You can see them all here: Youtube or Channel 9

Here are the most recent ones:

  • CopperSpice: A Pure C++ GUI Library
  • C++ Metaprogramming: Journey from simple to insanity and back
  • Birth of Study Group 14...
  • C++11/14/17 atomics and memory model...
  • On C++, Javascript and WebSockets
  • C++ in Open Source Robotics
  • From Functional to Parallel: Stochastic Modeling in C++

 

CopperSpice: A Pure C++ GUI Library by Barbara Geller & Ansel Sermersheim

CopperSpice is a collection of cross platform GUI libraries derived from Qt 4.8. Our libraries use current C++11 technology to implement Reflection, without requiring moc (a code generator) or any preprocessing. We will discuss what Reflection is, how this technology can be used, and why it can be difficult to implement.

The focus of this presentation is to show the core implementation of CopperSpice. Source code from CopperSpice will be shown to explain how we implemented Reflection using pure C++11. We will also demonstrate small samples of code which use the CopperSpice libraries.

Technologies covered in this presentation will include templates, variadic templates, and template specialization.

No prior knowledge of CopperSpice or Qt is required. A working knowledge of templates in C++11 would be helpful.


C++ Metaprogramming: Journey from simple to insanity and back by Fedor Pikus

Part I: Introduction to template metaprogramming. Template metaprogramming is a variant of generic programming, a technique that uses C++ template mechanism to perform computations at compilation time, usually to generate, from a single description, executable code that depends on the properties of the data types. It can be viewed as “programming with types”. In this example-driven class we start with the overview of the metaprogramming tools (everything you wanted to know about template specializations but were afraid to ask). We will apply these tools to simple examples, such as: how to sort a sequence in order of increasing values, unless it’s a sequence of pointers, in which case we want the values of what they point to. Part II: Advanced techniques and practical applications. Simple examples of metaprogramming are fun and useful, but once you master them you start chafing at the limitations. This is C++, where we don’t suffer limitations gladly. We therefore move on to the more advanced techniques, including SFINAE, and the appropriately more advanced examples. The journey takes us back to the beginning: after all, when sorting a sequence of values vs a sequence of pointers, you don’t really care whether the pointer is smart or dumb. What you really want to know is whether “*p” compiles or not. What you really need is an “if_compiles” metaprogramming function.


Birth of Study Group 14... by Nicolas Guillemot & Sean Middleditch

C++ is paramount for games development, and low-latency real-time applications everywhere. But has it recall improved since C++98/03? What features in C++ 11/14 has helped, and what else do we still need from C++ 17/22? In last year's CPPCon, there was clearly demand for even better support for this community as evidenced by the large number of games submission and an impromptu BoF.

But this industry has a demanding schedule and cannot freely attend ISO C++ standard meetings. So when the prophet cannot go to the mountain, the mountain has decided to come to the prophet!

This year, we like to announce the formation of an official SG14 that will go where the community is, at CppCon 2015 will be an official SG14 meeting followed by an SG14 meeting at GDC 2015 hosted by Sony.

This talk will describe the initial findings of the unofficial real time google group https://groups.google.com/forum/#!for... as described in: http://www.open-std.org/jtc1/sc22/wg2... where we considered improvements such as flat map, intrusive container, and other suggestions for better support for games development and low latency in ISO C++.


C++11/14/17 atomics and memory model... by Michael Wong

In 2011, C++11 atomics offered three memory models but 6 settings. Most compilers have started implementing most of these (relaxed, seq_cst, acquire, release, acq_rel) but not consume (For that you will need to see Paul's talk which naturally follows this talk.) For this, I will deep dive into what each memory model setting means (especially for Games Development and low latency, a new SG14 in the C++ Standard) and how C++11 atomics are used to improve handling of mutable shared state. We have improved on it in C++14 and have more crazy things planned for C++17. I will also look at how C++ atomics are a natural precursor to SG5's Transactional Memory which was approved in Lenexa for publication.


On C++, Javascript and WebSockets by Alex Fabijanic

Session presents Open Service Platform (OSP) - an application server engine inspired by OSGi, consisting of C++ and JavaScript runtime environments; OSP is based on the POCO C++ Libraries, with embedded Google V8 JavaScript engine.

A brief overview of the application server and underlying technologies will be given, followed by dissection of the most interesting implementation details - C++-to-JavaScript bridging mechanism and WebSocket-based messaging mechanism for transparent intra- and inter-process scalable communications. The language bridging mechanism exposes the C++ classes to JavaScript code without a need for manually written glue code or separate IDL constructs for interfaces. The messaging mechanism provides a unified, event-based interface for the in-process entities as well as those reachable over the network - be it TCP/HTTP server or a web browser.

Key design aspects, advantages, as well as trade-offs will be examined; a live example demonstrating key technologies in action will be presented.


C++ in Open Source Robotics by Jackie Kay & Louise Poubel

The robotics community is thriving in part due to flexible, powerful, accessible open source tools. The Open Source Robotics Foundation is a non-profit organization dedicated to the development, distribution, and adoption of open source software in robotics. We enable academics to focus on high-level research by re-using code, robotics startups to keep their development costs lean, and novice users to engage with powerful, complex robotics technology.

The first half of this talk centers around the future of ROS, the most widely used open source framework for robotics. After an overview of ROS transport, tools, capabilities, and the diverse ecosystem of ROS-compatible libraries, we will motivate the development of ROS 2: a major API change that targets new use cases for ROS, including embedded hardware, multi-robot systems, and real-time performance. Starting with an overview of the ROS 2 architecture, which includes a modern C++11 client library built on top of a generic DDS middleware interface, we will then focus on two core user code examples: publish/subscribe over a topic, and client request/service response. After this half of the presentation, attendees will understand C++ is a dominant language choice for robotics and why C++11 makes it easy to build a flexible, modular, Boost-free framework for communication and synchronization.

The second half of the talk focuses on Gazebo, a simulator for robotics that features support for multiple rigid body dynamics physics engines, high quality graphics, and a flexible C++ API. Simulation software like Gazebo is of utmost importance for developing controller algorithms, prototyping robot designs, and regression testing in challenging environments. It has been used in high­-stakes competitions such as the DARPA Robotics Challenge. This talk will delve into how different components of the simulator interact, from calculating the physical interactions between objects to rendering graphics with OGRE. We will also discuss upcoming features in Gazebo and the process of tailoring our development to our community.


From Functional to Parallel: Stochastic Modeling in C++ by Kevin Carpenter

Come with us as we take a legacy MFC financial modelling application that is largely function in design and transform it to something new. We will take a portion of this large financial simulation application and change its single threaded ways into parallel processing stochastic model. Transforming single class’s with a hodge-podge of functions into an object oriented parallel design using c++ amp and implementing Stochastic modelling methodology. Aside from focusing on the key portions of converting functional single threaded code to a parallel design we will also touch on some of the details of financial modeling for interest rate risk.