Events

Trip Report: CppCon Just Ended -- Charley

As folks are heading home, a number are writing up trip reports for the companies or colleagues. Here's one from the Qt community:

CppCon Just Ended

by Charley

From the post:

Apologies for cross-post qt-interest and qt-dev, but wanted to be sure both groups saw the announcement for next year (20-25 Sep-2015).

WOW AGAIN for a great conference.  Really heavy-hitters there, with information I don't know is available elsewhere...

This was a "first-year" conference, and it was a huge success (about 600 people, it exceeded their goals).  There is a strong possibility that it will double in size for next year, and they have a venue that can handle that...

Even though it was a "first-year" conference, it is interesting to note that a "culture" is clearly starting to form.  It was incredibly open, and collegiate, and supportive across the different industries and companies -- for newcomers and for experienced people (although it is most definitely a place where experienced people can finally discuss their advanced issues when they have nobody else at their company to help).

These were incredibly smart people merely coming together to talk about problems and solutions and experiences in using and growing C++.  I'm going back again next year (assuming their restraining order against me has expired by then).

CppCon 2014 is done -- Jon Kalb

Wrapup:

CppCon 2014 is done

by Jon Kalb

From the article:

Some of the announcements made at the close of the conference include the fact that conference tee shirts are now available on our on-line store, presentation notes will be available on git hub, and our dates for next year will be September 20 – 25, 2015.

Before looking to next year and CppCon 2015, I’d like to thank all the people that made CppCon 2014 such a big success. First I’d like to thank the sponsors whose support is critical to the existence of the conference. I’d also like to thank all the presenters whose content made the conference what it is; the keynotes, the regular program presenters, the panelists and moderators, the Open Content presenters, and the Lightning Talk presenters. These presenters are busy, smart people, but they’ve taken the time to create presentations that excited attendees from all over the world.

I’ve a very big thanks for the conference staff who did so many things in so many ways to make this week-long experience valuable for our almost six hundred attendees.

Finally, and most importantly, I want to thank the attendees. They are the real value and attraction of this conference.

I can’t wait to see you all again next year.

Jon

Trip Report: CppCon 2014

CppCon 2014 was a blast. It lived up to its goal of being an inclusive event "by the C++ community for the C++ community" -- for the world's top experts and for students, from formal talks to lightning rounds and hallway hacking.

The festival atmosphere went on around the clock all week long, starting with daily 8:00am welcome/lightning talks, through the daily keynotes with live music followed by six tracks of sessions, through to well-attended evening sessions and panels ending at 10:00pm every night with people still lingering, reluctant to leave. All of us were running on little sleep because we didn't want to miss anything, but somehow it didn't seem to matter -- we should have been exhausted, but instead people kept commenting about how we felt energized instead.

It was a week for everyone: Talks and panels featured both established experts and first-time presenters and self-published authors. Session levels ranged from cutting-edge metaprogramming, to Stroustrup's keynote of "Keep Simple Things Simple!" Lightning talks overflowed, then overflowed again. Technical material ranged from modern C++ language topics, to Mars Rover flight control software, to the current hot trend of C++ being adopted as the "write once, target anywhere" language of choice for cross-platform iOS/Android/Mac/Windows apps at Dropbox, Office, Facebook, and more; we'll be sure to hear a lot more about that in the coming months and years.

All week long, advanced developers found themselves able to talk through design questions together with peers they wouldn't have met otherwise, and come up with solutions they couldn't find at home. At the same time, scores of students and other newcomers to C++ enjoyed the broad content and relaxed environment. It's telling that the book that the on-site bookstore kept selling out of was not some esoteric template tome, but Stroustrup's 180-page overview A Tour of C++. The C++ community is growing and inclusive, with lots of advanced folks and also new people, and both CppCon and C++ itself are very much for all of them.

Even top authors and experts broke new ground they wouldn't have been able to do if not face to face. Thanks to discussions at CppCon, it looks like a number of us, including Scott Meyers and Bjarne Stroustrup, are converging on "forwarding references" as the new and better term for "universal references," and confirm the simple default parameter-passing advice for modern C++ (spoiler: same as C++98). See the final slides of my closing plenary session for details on these developments.

As we return home in the afterglow, remember that all sessions were recorded and videos will be posted online in the next month or so. Slide handouts are already mostly posted for your reading pleasure. And CppCon 2015 will be on September 20-25 next year... mark your calendars.

Huge thanks again to the 150+ speakers, planners, and volunteers without whom this wonderful "C++ festival" (as several people spontaneously called it) would not have been possible. I had guardedly high hopes for the event, but I think it exceeded all our expectations. This was the most exciting and enlightening week I've experienced in my 20 years of C++, and I'm still catching my breath. I can't wait until September 2015.

CppCon: Call for Lightning Talks, Take 2 -- Boris Kolpackov

CppCon minus one week:

Call for Lightning Talks, Take 2

by Boris Kolpackov

From the announcement:

As part of getting ready to come to CppCon 2014, please consider presenting a Lightning Talk. All attendees (as well as anyone nearby who is taking advantage of the free evening content without registering) are eligible to present a 5 or 15 minute session on Tuesday evening. While the first Call for Lightning Talks has more details on what we’re looking for, we’re open to talks from new speakers, from experienced speakers, from those who work mainly in another language and are visiting C++, from those who work in C++ all the time -- everyone! If there’s one tool you just love using, one technique or best practice you’d like to share with others, or one thing you think is pretty darn funny, please see if you can make it into a 5 or 15 minute talk and share it Tuesday evening. There will be a projector and there will be an audience so why not “give it a go” and see what happens?

We’ll be selecting the 8 sessions on Monday, Day 1 of the conference. Just email [email protected] and tell us what you want to talk about, what length you need and a little bit about yourself -- one sentence is fine. Your topic should be relevant to CppCon attendees but doesn’t need to be about C++ -- we’d love to see “Why C++ developers should also know [language]” for example. Even if you don’t plan to submit, plan to attend, it’s sure to be fun!
 

C++ User Group Meetings in September

This time for September - the monthly overview on C++ User Group Meetings:

C++ User Group Meetings in September

by Jens Weller

From the article:

The monthly overview over the upcoming C++ User Group Meetings. This time a few new user groups meet, and as summer comes to an end more meetings might get scheduled in the next days. But due to me going to CppCon, I have to post this a bit earlier then usual.

The list of upcoming meetings:

    3.9 C++ UG London - Cross Platform Games: iOS to Android
    10.9 C++ UG San Francisco/ Bay area - Presentation and Q&A
    11.9 C++ UG Dresden
    15.9 C++ UG NRW/Dortmund
    17.9 C++ UG Düsseldorf - Treffen der C++ User Gruppe NRW
    17.9 C++ UG Hamburg - Praktische Übersicht über Valgrind
    17.9 C++ UG Seattle/northwest - Parallelism in the Standard C++: What to Expect in C++ 17
    20.9 C++ UG Pune, India - C++ and Boost Pune first meetup
    23.9 C++ UG Chicago - See you in September
    24.9 C++ UG San Francisco/ Bay area - Workshop and Discussion Group
    25.9 C++ UG Rhein-Neckar - September Meeting
    25.9 C++ UG London
    26.9 C++ UG Istanbul
    2.10 C++ UG Paris - C++ & Python

A coding dojo for Meeting C++

I've just added something new to Meeting C++:

A coding dojo for Meeting C++

by Jens Weller

From the article:

I've just added something new to this years Meeting C++ schedule: a coding dojo...

Shortly after the announcement of this years conference Sven Johannsen and Detlef Wilkening approached me at a user group meeting, if it would be possible to include a coding dojo into Meeting C++. coding dojos are fun, and we already had two at my own user group, so I liked the idea. But first wanted to see how the general audience would vote on it as part of the talks.

The Idea was received well, but couldn't get high enough to justify a talk session being used. So, now the coding dojo will be placed in the lunch break of the first day. As this break is a bit longer anyway, you are able to have lunch and participate in the coding dojo. It will be moderated by Detlef Wilkening and Sven Johannsen.

CppCon Program Highlights, 15 of N: Standardization, and Domain Experiences

The CppCon 2014 conference program has been posted for the upcoming September conference. We've received requests that the program continue to be posted in "bite-sized" posts, a few sessions at a time, to make the 100+ sessions easier to absorb, so here is another set of talks. This series of posts will conclude once the entire conference program has been posted in this way.

 

Finally, rounding out the conference program, we have five final talks to announce in this blog stream... the last, pending any late-breaking additions. The first two sessions are about C++ standardization, covering what the committee is doing now that C++14 has been approved, and what's coming next including well in advance of C++17. The final three are about using C++ in specific domains, ones that are not only interesting to hear about (from Cinder creative graphics in C++, to the very small with MIT/Harvard gene sequencing, to the very large of simulating the universe, no less) but also instructive for C++ developers in general as the sessions cover modern C++11/14 techniques and solutions that are broadly applicable across many other domains as well.

In this post:

  • The Committee Experience
  • What the committee did next!
  • Creative Coding with C++
  • Gamgee: A C++14 library for genomics data processing and analysis
  • Simulating the Universe using modern C++

 

The Committee Experience

What happens behind the closed doors of the ISO Standard Committee? And just how closed are they? The session collects some anecdotes and relates what it is like to get involved in the process of standardizing C++, from the perspective of someone attending their first meeting - me 10 years ago! - to now. We will hear some of the highs and lows along the way to C++11, some misconceptions of what might be involved, and get some idea of what happens during a typical standard meeting, and between. By the end you will have some idea of how the standard itself is actually formed, and hopefully spark the interest of folks who might be interested in getting involved themselves...

What the committee did next!

After inking 8 years to produce the C++11 standard (arguably 13) there was a feeling we should be able to produce new work faster, more incrementally. With the renewed interest in C++, we have more participation on the committee, and have looked to harness that enthusiasm in new ways. In the last 3 years we have spun up at least a dozen new study groups, and have 8 or mode Technical Specifications in various stages of development that we hope to ship over the next 12-24 months. So what are all these new groups and specifications about? Come to this session and get a vision of where C++ is headed in the immediate and short-term future.

Speaker: Alisdair Meredith, Bloomberg and Library Working Group chair. Alisdair Meredith is a software developer at BloombergLP in New York, and the C++ Standard Committee Library Working Group chair. He has been an active member of the C++ committee for just over a decade, and by a lucky co-incidence his first meeting was the kick-off meeting for the project that would become C++11, and also fixed the contents of the original library TR. He is currently working on the BDE project, BloombergLP's open source libraries that offer a foundation for C++ development, including a standard library implementation supporting the polymorphic allocator model proposed for standardization.

 

Creative Coding with C++

Realtime graphics, computer vision, hardware hacking, and audio synthesis are just a few of the crafts that fall under the banner term of "creative coding". In this session we'll talk about some of the creative projects putting C++ in places you might not expect it - everywhere from the Smithsonian's permanent design collection to robotic Coca-Cola dispensers on California beaches. We'll look at a wide spectrum of projects ranging from those of the "maker" community to commercial work from full-time professionals earning their livings in advertising and design agencies. And finally we'll take a look at how you can use the C++ you already know to jumpstart your own creative coding projects using the open source toolkit Cinder.

Speaker: Andrew Bell, Technology Research Fellow, The Barbarian Group. Andrew Bell is a Technology Research Fellow working at the creative agency The Barbarian Group. He maintains Cinder, a C++ open source creative coding framework, as his full-time job. When he's not coding on Cinder he can be found doing everything from writing emails about Cinder to being asleep, and yet somehow he remains single. In his career he has also coded too much in other capacities, specifically for the visual effects companies The Mill and Method.

 

Gamgee: A C++14 library for genomics data processing and analysis

Our group has defined the standards for DNA and RNA sequencing data processing and analysis for disease research and clinical applications. In the last 5 years we have published our tools in the GATK (genome analysis toolkit) which is completely written in java. With the scaling of next generation sequencing and the immense amount of that needs to be processed we hit a performance wall and found ourselves limited by the language to make optimizations and rewrite the algorithms in a way that would conform better to modern hardware.

Enter Gamgee. A free and open source C++14 library that offers much of the functionality of the GATK framework with the performance necessary to scale to the hundreds of petabytes of todays complex diseases projects. We will show how the tools developed using the Gamgee library replaced legacy java GATK tools in the production pipeline of the Broad Institute. We will also talk about how the algorithms have changed to take advantage of the native libraries and modern hardware features such as SSE/AVX and GPUs.

Speaker: Mauricio Carneiro, Group Lead, Computational Technology Development, Broad Institute of MIT and Harvard. Dr. Carneiro leads the computational technology development team at the Broad Institute of MIT and Harvard. He has contributed to major advances in DNA sequencing analysis with compression algorithms, statistical methods, heterogeneous compute optimizations and a systematic approach to the institute's computational development, distribution and support. His team is also responsible for the evaluation of new sequencing technologies and has provided several methods and tools to handle new data types in the world of next generation sequencing through the Genome Analysis Toolkit (GATK). Dr. Carneiro joined the Broad Institute in December 2010 after completing a Ph.D. in computational biology from Harvard University. He holds two championships in the International Collegiate Programming Contest organized by the Association for Computing Machinery (ACM) in 2002 and 2003, respectively, and a Programming Excellence Award from the ACM Upsilon Pi Epsilon Society in 2003. In his previous life, he was a video game developer and has led the development of the world's first massive online location based multiplayer game: Alien Revolt.Website: http://www.broadinstitute.org/~carneiro/Twitter handle: @mauricinho

 

Simulating the Universe using modern C++

What is the link between C++11/14, parallelism and the open question of the origin of the accelerated expansion of the Universe ? Answer: numerical cosmology and all the techniques to make the best out of supercomputers to shed a new light on unsolved problem in physics. In this talk, I will present the numerical lessons coming from the Full Universe Run, a numerical experiment realized in 2012 on the entire Curie thin-nodes Supercomputer to simulate the evolution of cosmological structures during the last 13.7 billion years. I will focus on how this experiment has changed our view on software design in astrophysics and how we started to implement new approaches using C++11, template metaprogramming, constant expressions and std::thread in order to maximize both genericity and performance. I will also discuss optimization issues related to data locality, cache efficiency and spatial trees which are extensively used in our domain. I will also try to give some inputs on the cultural challenges raised by the introduction of C++11/14 in our domain. This talk will be concluded by thoughts on the needs of computational physicists and how C++17 may help us to solve some of the open problems we are currently facing.

Speaker: Vincent Reverdy, Ph.D. student, Observatory of Paris. Vincent Reverdy is a Ph.D. student in numerical cosmology at the Observatory of Paris. He studies the propagation of light according to general relativity in order to probe the unexplained accelerated expansion of the Universe. In this context, he is using supercomputing facilities on a daily basis and he develops scientific codes for these facilities, mainly in C++. He is working now on approaches based on template metaprogramming to make the best out of supercomputers and to facilitate the implementation of non-standard cosmological models. Since the Bristol committee meeting, he also follows and contributes to the online discussions on the evolution of C++.