Traveling for C++ - a Trip Report about C++Now & NDC Oslo
Things have changed a little bit since I first visited C++Now in 2012. Today I do quite a lot of traveling for C++ and Meeting C++. I've been to Aspen in May to visit C++Now for the 4th time, and just returned from NDC Oslo. Still ahead in the second half of the year are 4 trips to Berlin, and flying to CppCon later this year.
While I was in 2012 just a normal C++ Dev looking for the best and most interesting talks at C++Now, my focus has changed since then. Meeting people at conferences, speaking and sharing information about C++ via Meeting C++ is today part of my job, especially at conferences I often tweet and share the event with the social media part of the internet.
This was my 4th trip to C++Now, nothing special happened on the trip to Aspen, I just flew from Frankfurt into Denver, waited the usual 4 hours to get on the plane to Aspen in the evening. Wait, why does it say canceled next to my flight? Like last year, weather in Denver and Aspen was difficult this year too, but unlike last year, they didn't cancel flights for the weather reason. Something else got me a free stay in Denver. First time ever that I'm stuck on an airport. Turns out, United did handle this quite nice, I got a hotel and dinner/breakfast vouchers. The hotel was a lot better then expected (Marriot Group), but being jet lagged, all I wanted was to sleep. I got the first flight on Saturday then, which I shared with Michael Caisse. Being on the first flight to Aspen, also lets you see the beauty of the snowy mountains:
Being a day or two early in Aspen helps me to get rid of jet lag, work on my talks and Aspen can be really lovely in May. Except when you get the "Winteredition", which like last year, the rockies turned C++Now a little bit into C++Snow. Mixed with Spring and sunshine.
The conference starts with the social gathering for registration and drinks on Monday afternoon. After registration the crowd heads off to dinner, only to meet again later at the bar. The next day, C++Now officially starts with the welcome by Jon Kalb, followed by the library in a week session, which is every morning from 8 - 9:00 am. At 9 then the first keynote follows. In this year Andrew Sutton spoke on the topic of ConceptsLite, a very nice keynote on the topic. On Wednesday the second keynote followed, on numerical weather prediction. A very entertaining keynote, with the prediction, the next weekend would offer snow again. It was interesting to listen to how they actually process the huge amount of data to then run predictions and simulations on it. What I liked this year very much to: all keynote speakers were at the conference, before and after the keynote.
C++Now is held at the Aspen Physics Center, which means, that each talk is in a different building, and you have to walk from the keynotes to the conference place through a park and some bushes. So, good footwear is a must, and it also was a bit more rainy and chilly this year then in the previous years. But weather never stays long in the rockies.
Some of the talks I attended:
- Testing Battle.net
- a nice talk on how C++ drives battle.net and how they set up tests on a running project.
- Lessons learned by Tony van Eerd
- Tony delivered his views on various topics, interesting and entertaining.
- Tony also asked, is this card a value or an object?
- biicode talk
- nice livedemo of biicode.
- Thinking portable
- good presentation on portable C++, multiplatform is an important and interesting topic today
- boost.compute session
- finally an API to do work on GPUs in boost.
- Large-Scale C++: Advanced Levelization Techniques
- an intersting session from Jon Lakos. Some insights.
- Lightning talks
- some where very good, some entertaining. I hope they were recorded
- Functions want to be free
- A talk by David Stone, presenting that most methods of vector could be free functions.
- boostache exposed
- Michael Caisse presenting the library written last year at C++Now in the library in a week track. boostache is a text templating engine written in C++.
- C++ Metaprogramming - a paradign shift
- Must see if you are in TMP or related stuff interested. Boost.hana really is quite some innovation in this field it seems.
- Better Code Concurrency
- Sean Parent presenting his thoughts on concurrency and futures.
- An overview on Encryption in C++
- my own talk ;)
This list is more or less based on the pictures I took from the slides, as its some time since C++Now. Most times it was hard to choose what talk to attend, some times the decision was more based on which room I'd be in. My personal highlights were "Testing battle.net", "boostache" and the one thing everyone was waiting for: Eric Nieblers keynote on his range work.
I've seen Eric Nieblers Keynote on how to write libraries in C++11 at Meeting C++ 2013. So I was very excited when Erics keynote at C++Now was announced. A lot about his work is already known through his blog posts and he presented his proposal in Lexana at the C++ Committee meeting. What would he prepare for C++Now? His entire keynote was writing an example program, using his range library. Which btw. is already available on github! It was a very strong presentation on how powerful ranges can be, and how they can solve different problems. I later realized, that I could use his example in a different way: creating a schedule is similar to what he presented.
Also during C++ Now, I could interview Jon Lakos:
Then, there was one last thing left to do at C++Now on Friday: presenting. I choose to present on Encryption in C++, simply because when I was looking into this topic in November, I felt like this is an important topic, which I'd like to know more about. So, I decided to commit to doing a talk on this. The talk went very well, I'm looking forward to the recording. There was even some time for discussion left, which again was very interesting. I presented in the overview the 3 libraries cryptopp, botan and libSodium.
After my presentation I learned that my flight was canceled and the weather was getting worse. Thanks to Diego, for sharing that information with me! So I spend part of the evening at the airport with Diego, rescheduling flights for Saturday, as I have to leave early to get to my destination in one day, this meant I had to skip the last day of C++Now. Well, with the weather outlook, it wasn't too bad to leave Aspen:
Then, in June, I had the pleasure to travel to Oslo, to visit and speak at NDC Oslo. Oslo is a very beautiful city, and I'm glad that I had planned a day extra, to enjoy Oslo:
NDC stands for Norwegian Developer Conference, which has since last year also a C++ Track. As NDC Oslo had also a focus on security this year, my talk on Encrpytion in C++ did fit very well. But first, I had an almost free day on tuesday in Oslo. The city is very beautiful and it was for me the first time being in Norway. I ended up walking through the historical Fort of Oslo.
Later in the afternoon, I visited the Qt Company...
...which is since this year also a sponsor of Meeting C++, thanks! I've always been a Qt user, and the Qt DevDays were the first conference I visited, mostly for C++ and Qt. I gave a talk on C++ and the Qt Community, mostly reflecting my views and experiences with both communities. For example that there are almost no talks about Qt at other C++ conferences, and as a program committee member, I know also the rejected submissions. Its not that we reject them, its that rarely people choose to do talks about Qt at other conferences. This also partly reflects my thoughts on the C++ Community as a whole from 2012 ("Islands of C++"). Also I presented my work on user groups and Meeting C++ as part of the introduction. The presentation was followed by a very interesting discussion on Qt, moc and other things. Thanks to the Qt Company for giving me the chance to do a presentation. Also it was nice to see Lars Knoll again, which will give this years closing keynote at Meeting C++! Expect some C++ heavy, and very cute keynote ;)
When planning the trip to Oslo, I knew I had 3 main goals: of course, speaking and attending NDC Oslo was the main reason to travel to Oslo, but I also wanted to finally meet Olve Maudal, the organizer of one of the first C++ User Groups, which was based in Oslo. The third goal is still open: to get the User Group running again, so if you are interested in organizing or attending meetings of a C++ User Group in Oslo, please contact me.
Now on to NDC Oslo. I'm not sure who had the idea to run a conference in a concert hall. Sounds crazy, and it is also kind of crazy. But it works very well, the conference hosts 1900 visitors, which meet in the central venue, the market place, where all booth and the drinks + food locations are. Also the main stage for the keynotes, which means most of us had to stand through the keynotes. Not sure about that, but it went well, and it was great to listen to Bruce Schneiers thoughts at the opening keynote. The rooms are then (partly) created with curtains at the sitting area of the concert hall, giving everybody a good view on the speaker and the slides. There is also an overflow room, where you can see all 10 Sessions in parallel. Not all rooms are like this, the C++ Track was mainly in the smaller rooms. Yet the C++ Track was in the highest room available, 2 floors away from the main area.
Which brings me to the C++ Track, also offering some insights into D and C. It was very well organized by Olve Maudal, in this year the focus was mostly on european speakers, offering an interesting selection of C++ related talks. At least two talks were on TDD, Nico Josuttis presented two talks: one on shared_ptr and one on the standardization of noexcept. The C++ Track lasted only two of the 3 days, but NDC offers a two day ticket, which costs only 1200 € (3 day ticket 1350€).
Also at NDC Oslo, I saw this nifty trick, to replace a dynamic_cast with a static_assert and a static_cast:
The July is now the first month since march where I don't travel, and its the last. Then, from August on, it will be Berlin, Seattle(CppCon), Berlin (Qt World Summit), and twice more to Berlin for Meeting C++.
Join the Meeting C++ patreon community!
This and other posts on Meeting C++ are enabled by my supporters on patreon!