Skip to main content

A CPPNow Travel Guide

Disclaimer: This blog focuses more on the travel and community aspects of CPPNow rather than the technical side -- if you're looking for the latter, there are (or will soon be) many trip reports written by people far more intelligent than I who cover this. I feel that the atmosphere and inclusiveness of a conference is just as important as how good the content is; if you disagree, this is not the blog for you.

Last year I put together The Beginner's Guide to CPPCon detailing my unexpected but incredibly pleasant adventures in Bellevue. I figured that would be my last report until CPPCon 2018, but life has a funny way of surprising you, in the form of more C++ conferences.

I'd heard of CPPNow -- formerly known as BoostCon -- from Ben, who attended the 2017 conference, but I didn't know much about it other than it featured much more advanced C++ content than CPPCon. When I asked if I should attend, he inadvertently scared me off of it by telling me I probably wouldn't get much out of the talks because they were so high-level. So when he asked me if I wanted to attend with him this year, I was more than a little wary.

CPPNow 2018 was hosted at the Aspen Physics Center which is easy walking distance of the Aspen Meadows Resort, where most of us were staying for the week. I'd never been to Colorado so I wasn't sure what to expect beyond much cooler weather than what I was used to in Southern California. Stepping off the plane at the Aspen airport, it wasn't just the high altitude that took my breath away.

Spoiler: it was this freaking scenery.
So picture this: you get to spend a week learning about all of the amazing advances in modern C++, helping to shape the future of the programming language, and you get to do it in an impossibly beautiful place. I mean... you can't really lose.

I would describe the Meadows resort as the type of place you'd expect to find yourself if you were a billionaire with fragile nerves who needed to go away for a while to rest. It's set on 40 acres of meadows, streams, and mountains, with multiple modern art installations and rooms that are more like apartments. There are no street lights at night, no traffic noises, none of that -- just peace and quiet with a view of the stars clearer than I've had in over a decade. Downtown Aspen is about a mile and a half away. If you don't want to rent a car and are in good health (unlike me, who stupidly overdid it and ended up almost unable to get out of bed just three days in), it's easily walkable. There's also a free shuttle running from the resort to the downtown area so that you can experience the amazing local restaurants at mealtimes or go shopping. Emphasis on local, by the way; you won't find many major chains in Aspen, especially when it comes to food or retail. There are three grocery stores, all independently owned, and their selection may be shockingly small if you're used to massive Safeway or Albertson's locations. Price-wise, though, they were on par with or slightly cheaper than what I'm used to paying in Orange County -- although a few folks from less expensive areas found the costs a bit surprising. It's still cheaper than room service or going out to eat for every meal, however; the average cost of lunch at one of the more reasonable restaurants was around $20 for food, drink, and tip per person.

Really, I figured I'd be spending most of my time on my own. I had met lots of folks briefly at CPPCon but I hardly expected they'd remember me, and there were still plenty of attendees who I hadn't met. What actually happened was I walked into the reception area, had a bunch of people wave at me, and then ended up pulled into conversation with people I'd never seen before in my life but were all quite happy to introduce themselves and welcome me into the fold. Whereas you might think a smaller conference like CPPNow, with an average of 150 or so attendees, would be clique-ish, this was absolutely not the case. The only way you can end up eating lunch at a table alone at this conference is if you choose to do so. Otherwise, people will wave you over and insist you sit with them and make you feel like a member of a wonderfully nerdy -- and actually fairly diverse -- family. One of the regular attendees had a birthday during the conference week, and everyone chipped in for a huge birthday cake to surprise him with at the meet-and-greet barbeque.

All in all, there was never a time at CPPNow where I felt unsafe or unwelcome, even though I'm still a C++ novice and more of a hobbyist than a career programmer. Tired, yes, since we were all up at 7 or earlier and usually not in bed before midnight or later, but it was well worth it.

I didn't get to attend all of the talks, but the handful that I did were very impressive indeed:

"Easy to Use, Hard to Misuse: Declarative Style in C++" by Ben Deane. Look, full disclosure: this is not just any Ben, it's my Ben. I try very hard not to be biased -- but it did win Best Session at the conference, so clearly I'm not the only one who thought it was amazing. I've always felt that one of Ben's strengths as a presenter is his ability to provide clear examples of easily implementable methods for improving your code in addition to showing off innovations in the code itself. He manages to give concrete explanations in a context where the information offered is often vague and open to interpretation; whereas other guides to declarative style may be full of buzzwords and meaningless statements, this talk gives actionable feedback on how we can make our code more readable and efficient if we only change our way of thinking about what we write. I'd wager that even less experienced C++ programmers could benefit from this talk, since I truly feel that the easiest way to learn best coding practices is to do so as close to the beginning of your education as possible in order to avoid being caught off-guard by dramatic shifts in expectations later on down the road.

"Making Your Library More Reliable with Fuzzing" by Marshall Clow. I've loved hidden object games, word searches, and other similar types of puzzles since I was a child. It should be no surprise, then, that testing and security are actually my two favorite aspects of programming. Thanks to Marshall, you, too, can learn more efficient and reliable ways to break things with the end goal of making a better library! This was one of the shorter talks at CPPNow, coming in at around 45 minutes, but it certainly was effective. Marshall gave a great overview of some of the more popular modern fuzzing tools out there and how to use them for maximum benefit. He's an engaging and passionate speaker who clearly knows his topic inside and out, and so is a very reliable authority, eager to answer questions as they pop up. I wish I'd seen this talk about a year and a half ago when I was still implementing automated tests as part of my day job -- it would have saved me an awful lot of confusion.

"Secure Coding Best Practices: Your First Line is the Last Line of Defense" by Matthew Butler. Honestly, this was the talk I was most looking forward to, and Matthew did not disappoint. With his security background in law enforcement and the military, he's definitely someone who knows what he's talking about when it comes to keeping your code shored up tight. I was relieved to see that he didn't sugarcoat the reality of the battle to ensure your infrastructure stays safe -- the reality, of course, being that there is no such thing as "completely safe" and that we must stay two steps ahead of malicious individuals out there looking to compromise our systems and information. Matthew excelled at pointing out common areas of vulnerability and how something that seems innocuous or like it's not a big deal can lead to severe consequences if left unchecked. To drive home the point, he executed a quick and simple buffer overflow attack during the talk; it should be pointed out that the particular method he used would only be effective against machines from the early 2000s or earlier, but even with modern architecture it's still a potential attack surface, and the results are just as devastating. I'm keeping my fingers crossed that he writes a book someday, because I haven't been this excited about security matters since the first time I read Kevin Mitnick's The Art of Deception

The lightning talks. Twice during the week, there was a special evening session from 8 to 10pm of very informal lightning talks. Subjects ranged from the mindblowingly technical to the comedic -- Odin Holmes's extremely literal "lightning talk" springs to mind -- but there was also one by JeanHeyd Meneide, a.k.a. ThePhD, that spoke bravely and honestly about what it was like to grow up as a "smart kid" of color and feeling stuck between two worlds for a long time as a result. I'm anxious for video of that talk to come out on YouTube because it was a very valuable and necessary representation for any programmers of color who have ever felt similarly and goes a long way for promoting inclusiveness in tech. As far as code goes, Jeff Trull's live demo and demystification of the GDB Python API for debugging was a real favorite of mine, since I'm a proponent of combining my two favorite languages, C++ and Python, in all sorts of exciting and usable ways.

The main difference between talks at CPPNow and other conferences is that audience participation is almost a requirement. Rather than holding questions and challenges until the end of the speech, attendees are quick to -- very respectfully, I should add -- point out flaws in the presented code or suggest alternate methods for achieving desired results. Speakers at CPPNow need to be on their toes and ensure that they have a deep understanding of the subject they're discussing, but I want to emphasize that none of the "live feedback" was cruel or anything other than constructive. This is a conference for people who want to learn and discuss, rather than memorize the algorithms shown to them on a screen. Even after the sessions were officially over, the atmosphere at the reception center's social gathering was more reminiscent of listening to Socrates on the steps of the Parthenon than simply a party... although, of course, there was plenty of that, too.

Going home after a week of learning and socializing in such a great environment was hard. I'm counting down the days until the talk videos (and one episode of CppChat filmed at the conference itself!) are put up for viewing on YouTube. Will I be attending CPPNow 2019? Absolutely yes! It's become my favorite conference of the year. But until then, I've got CPPCon 2018 around the corner to keep those C++ fires burning.

PS: const west or die trying -- sorry, Jon!

Comments

Popular posts from this blog

A Beginner's Guide to CPPCon 2017

When we last left our heroine, she was just stating that although she'd be accompanying Ben to Seattle for his talk at CPPCon 2017, she wouldn't be attending the actual conference...

There were a few reasons I didn't intend to go. For one thing, I'm very much a C++ novice, just wading my way through the beginning of my education. I assumed that there would be nothing there for me, and although the conference is quite reasonably priced -- less than $1k for a whole week of content! -- I was unsure as to whether it would be a waste of money for my skill level. Plus, there's that pesky impostor syndrome that sneaks up on me with a less-than-friendly reminder that I'm highly unintelligent and that should I dare darken their doorstep I would be swiftly exposed as the fraud I really am.

Indeed, I had planned a whole week of excursions and exploration in Washington State when Ben invited me to dinner with him and a few colleagues from the conference.

My experience as a…

Dreams are Nebulous Things

As a kid, I was always worried that I never really knew what I wanted to do with my life. I had a ton of interests and a whole pile of things that I thought I'd maybe like to do someday, but if you asked me what I wanted to be when I grew up, the answer would change based on the day of the week.

"Working in the game industry" was never an answer until a few years ago. I simply had never thought of it as an option -- probably a product of my growing up in the Dark Ages before programs like Unity and RPG Maker existed -- until a World of Warcraft guildmate who did work in the games industry expressed surprise that I was a 'civilian.' He told me that the way I discussed mechanics and content sounded exactly like the sorts of conversations he'd had with devs at his workplace. (Side note: said guildmate became my stepfather a few years later, because the world is kind of a weird place.)

I loved and, of course, still love video games. I had just gotten laid off fro…

The First Anniversary

This weekend marks one year of many more to come spent with the most incredible man I've ever met. I always wanted to have a cute and clever love story to tell, and I'm ecstatic to say that in him I have found a better tale than any romantic comedy writer could come up with.

My previous marriage was over with the exception of some paperwork to be filed and fees to be paid. I had finally reached a point in my life where I felt I was really better off alone, taking myself on dates to the luxury movie theater, going to my favorite restaurants, spending time with myself doing the things I wanted to do.

One of those things was jumping into the world of programming. Things hadn't worked out with the guy I'd been sort-of-seeing, but to his credit, he made me believe that I was indeed smart enough to learn to code. He'd always mention his boss, Ben Deane, and what a great resource he and his frequent engineering talks were for the novice programmer. "When Ben Deane ta…