Posted in C++, Talks & Events on 2014-04-07 |
7 Comments »
A lot of you have been asking me whether there will be some sort of C++ and Beyond in 2014. Also, over the past few years many of you have also asked me if there will ever be a C&B outside North America. I’m pleased to report that we are doing a ‘European Encore’ event reprising previous C&B material.
Today on the C&B blog, Scott announced that yes, there will be a “C++ and Beyond Road Show” in 2014… in Germany! Note that this is different from previous C&B’s because the purpose is to largely repeat the C&B 2013 program at an event in Europe, in order to make it accessible to people who were not able to fly to North America for previous C&Bs. So think of it as a “C&B Encore” or “C&B Greatest Hits Roadshow Edition.”
From the announcement:
You can think of this event as the C&B Road Show, because the organization is a little different from how we’ve done things in the past:
- Most of the talks will be updated versions of the presentations we gave at C&B 2013. (See the schedule here.) If you were unable to attend C&B this past December, this is your chance to see what you missed.
- A group dinner on the first day is included.
- The schedule is a bit compressed, so some aspects of previous C&Bs are not present. These include group breakfasts and evening discussion sessions.
For this event, we’ve partnered with QA Systems, the same company I’ve worked with since 1999 on technical seminars in Europe. They’ll be handling registration and all other logistical and administrative aspects of the event. Consult their web page for C&B 2014 for all the details of this event.
This will be the only C&B in 2014, so we hope to see you in Stuttgart at the end of September for the first-ever C&B in Europe!
For those of you who have attended C&B before and others who’ve been asking me whether there will be a “regular” C++ and Beyond in North America this year with new material, the answer is not this year; we don’t do a new one every year, and we’re skipping this year. If you are looking for a C++ event in North America with new material, do check out CppCon on September 7-12 in the Seattle area – I am currently planning to create some new talks for CppCon, as well as to repeat some of my C&B talks there. I hear tell that Scott and Andrei might be there too, as well as dozens and dozens of our closest speaker friends.
I’m looking forward to seeing many of you at C&B Europe and CppCon this fall!
Read Full Post »
Posted in Talks & Events on 2013-09-20 |
16 Comments »
Bjarne Stroustrup and I are giving back-to-back talks on Tuesday night in Chicago, while we’re both in town for the standards meeting next week. Admission is free. Register by email here (and ignore the “it’s full / sold out” note on the page — see below.)
Note that my talk will be 80% new material followed by the last 5-10 min of my GoingNative 2013 keynote, so even if you’ve seen that talk most of the material will be new. Here are the coordinates:
A joint Chicago Chapter ACM and Chicago C/C++ Users Group meeting
Tuesday, September 24, 2013
Doors open approximately 6:30 pm
Presentations run 7:00 pm – 9:30 pm
Renaissance Chicago Downtown Hotel
1 West Wacker Drive, Chicago, IL 60601
Room A/B [or a nearby larger room, just follow the crowd when you arrive]
Note: The page says the event is at capacity and the primary registration link balks, but there is space because they keep expanding the room — it has already expanded from the original 100 seats to 200 and currently 300 seats, and they’re looking into moving to a still larger room as we speak. So do add yourself to the waiting list via this email link as it looks likely you will still be able to get in.
Read Full Post »
Posted in Talks & Events on 2013-09-09 |
2 Comments »
I see the recording went live this morning. Thanks again to all the speakers and in-room and worldwide attendees for coming and watching!
Day 2 Keynote: One C++
My favorite part was seeing the response to the challenge to write a cool graphical interactive C++ program from scratch in 24 hours using a library most had never seen before – Cinder or openFrameworks. In two other GN segments we showed the results. Here’s they are:
Herb’s UI Challenge Results
My Favorite C++ 10-Liner, plus UI Challenge Results Part 2 / Closing comments
Thank you all for coming! It was a blast.
Read Full Post »
Posted in Talks & Events on 2013-09-03 |
8 Comments »
Don’t forget that the year’s great C++-fest GoingNative 2013 starts tomorrow morning and will be livestreamed on the Channel 9 home page.
Don’t miss the opening keynote by Bjarne Stroustrup at 9:00am Seattle time on Wednesday (other time zones). It will be followed by many other insightful and enlightening talks, from many of the gurus of C++. The first two days are about Standard C++ on all platforms; the third day contains a mix of portable platform topics and Microsoft-specific content that I think will be of interest to people working on other platforms too.
My talk is first thing Thursday, 9:00am Seattle time:
Day 2 Keynote: One C++
After a few minutes giving a promised update on VC++ conformance progress, I’ll switch to pure Standard C++ for the rest of the talk and focus on three topics:
- ISO C++ update: The latest news from C++14 standardization now that the CD comment ballot recently concluded.
- Portable C++ libraries update: I mentioned this at the last GoingNative, and here’s the status update people have been asking me for. This topic will get extra time for emphasis and news.
- One C++: You’ll see what I mean…
I hope that you’ll find it to be informative, and leave with at least one or two thoughts you weren’t expecting to hear about and maybe with a different view of C++ than you had before.
In addition to the livestream, the entire conference will also be available on demand. Note that sessions typically take a few days to post after they occur, so if you miss a talk on the live feed, just be patient and it will appear.
Pre-emptive FAQ: Every time we do this, someone is disappointed that the livestream doesn’t work on their iPads or some other popular hardware. But it actually does work – just look for the alternative-format link if it doesn’t autodetect. You should be able to view it on any major platform.
Read Full Post »
Posted in Talks & Events on 2013-06-26 |
29 Comments »
The session schedule for this week’s //build/ conference in San Francisco has now been posted.
I have a talk on Friday at noon Pacific time, titled “The Future of C++.” Note this is a Microsoft conference, so the talk is specifically about the future of the Visual C++ product, but nevertheless it’s all about Standard C++ because I’ll start with a short update on ISO goings-on and the bulk of the talk will be an update on standards conformance in Visual C++ and explaining a number of the most modern ISO C++ features.
On Friday, you can watch my talk live at Channel 9. In the meantime, you can get the keynotes and some other major sessions at the same link all day today, tomorrow, and Friday… as I write this, a cool guy named Steve has the camera and just gave away thousands of nifty 8″ tablets. I’ll be in the same place in two days to talk C++.
If you’re in San Francisco for //build/ and care about C++, you want to be in South Hall: Gateway Ballroom for session 2-306.
If you’re not at the conference but use Visual C++ as one of your C++ compilers, you’ll want to watch the talk live in the webcast or on demand about 24-48 hours after the talk ends.
Even if you don’t use Visual C++ a lot right now, you might find some of the ISO C++ standards context and updates interesting.
Read Full Post »
[ETA: Updated OneDrive slides link]
Most of the talks I gave at C++ and Beyond 2012 last summer are already online at Channel 9. Here are two more.
This is a two-part talk that covers the C++ memory model, how locks and atomics and fences interact and map to hardware, and more. Even though we’re talking about C++, much of this is also applicable to Java and .NET which have similar memory models, but not all the features of C++ (such as relaxed atomics).
Note: This is about the basic structure and tools, not how to write lock-free algorithms using atomics. That next-level topic may be on deck for this year’s C++ and Beyond in December, we’ll see…
atomic<> Weapons: The C++ Memory Model and Modern Hardware
This session in one word: Deep.
It’s a session that includes topics I’ve publicly said for years is Stuff You Shouldn’t Need To Know and I Just Won’t Teach, but it’s becoming achingly clear that people do need to know about it. Achingly, heartbreakingly clear, because some hardware incents you to pull out the big guns to achieve top performance, and C++ programmers just are so addicted to full performance that they’ll reach for the big red levers with the flashing warning lights. Since we can’t keep people from pulling the big red levers, we’d better document the A to Z of what the levers actually do, so that people don’t SCRAM unless they really, really, really meant to.
- The facts: The C++11 memory model and what it requires you to do to make sure your code is correct and stays correct. We’ll include clear answers to several FAQs: “how do the compiler and hardware cooperate to remember how to respect these rules?”, “what is a race condition?”, and the ageless one-hand-clapping question “how is a race condition like a debugger?”
- The tools: The deep interrelationships and fundamental tradeoffs among mutexes, atomics, and fences/barriers. I’ll try to convince you why standalone memory barriers are bad, and why barriers should always be associated with a specific load or store.
- The unspeakables: I’ll grudgingly and reluctantly talk about the Thing I Said I’d Never Teach That Programmers Should Never Need To Now: relaxed atomics. Don’t use them! If you can avoid it. But here’s what you need to know, even though it would be nice if you didn’t need to know it.
- The rapidly-changing hardware reality: How locks and atomics map to hardware instructions on ARM and x86/x64, and throw in POWER and Itanium for good measure – and I’ll cover how and why the answers are actually different last year and this year, and how they will likely be different again a few years from now. We’ll cover how the latest CPU and GPU hardware memory models are rapidly evolving, and how this directly affects C++ programmers.
Read Full Post »
I’m about two weeks late posting this, but two more C++ and Beyond 2012 videos are now available online.
The first is my concurrency talk:
I’ve spoken and written on these topics before. Here’s what’s different about this talk:
- Brand new: This material goes beyond what I’ve written and taught about before in my Effective Concurrency articles and courses.
- Cutting-edge current: It covers the best-practices state of the art techniques and shipping tools, and what parts of that are standardized in C++11 already (the answer to that one may surprise you!) and what’s en route to near-term standardization and why, with coverage of the latest discussions.
- Blocking vs. non-blocking: What’s the difference between blocking and non-blocking styles, why on earth would you care, which kinds does C++11 support, and how are we looking at rounding it out in C++1y?
The answers all matter to you – even the ones not yet in the C++ standard – because they are real, available in shipping products, and affect how you design your software today.
The second is one of the panels:
From C++ and Beyond 2012, Andrei, Herb and Scott present Convincing Your Colleagues – an interactive panel.
You can’t do a better job if you don’t change what you’re doing, but change is hard. It’s especially hard when what needs to change is your colleagues’ approach to software development. Moving your team forward often requires persuading your peers to change their behavior, sometimes to do something they’re not doing, other times to stop doing something they’ve become accustomed to. Whether the issue is to embrace or avoid C++ language features, to adopt new development tools or abandon old ones, to increase use of or scale back on overuse of design patterns, to adhere to coding standards, or any of the plethora of other matters that affect software creation, moving things forward typically requires getting your colleagues to buy into the change you’re proposing. But how can you do that?
In this panel session, Andrei, Herb, and Scott share how they go about convincing their colleagues to change and take questions from the audience.
Truth be told, the panel ranged widely and probably most of the time was on other topics!
I hope you find them useful.
Read Full Post »