Saturday, January 10, 2015

Nine New Videos: Three Legit, Six Bootleg

Videos of my November presentations at code::dive in Wrocław, Poland, and at ConFu in Jurmala, Latvia, have recently been posted for your post-holiday time-killing pleasure.

The titles of my code::dive talks are "CPU Caches and Why You Care" and "Support for Embedded Programming in C++11 and C++14". To understand the comments I make at the beginning of the latter talk, it will be helpful to view Venkat Subramaniam's talk on Lightweight Design, because his talk--which is worth viewing both for its merit and for the fact that Venkat is such an engaging speaker--immediately preceded mine, and it motivates my opening remarks that might otherwise make no sense, including my decision to give my talk without shoes.

At ConFu, I was scheduled to give two talks, a keynote on interface design and a full-day tutorial on material in Effective Modern C++ (EMC++). The slot for my keynote was at the end of the day, but at the conference's opening keynote, I noticed that the room setup made it nearly impossible for the people in the back of the room to see the bottom third of the screen. I therefore spent the next several hours reformatting my slides to avoid using more than about the top two thirds of the screen, and I was very pleased with the way the talk went. The topic is "The Most Important Design Guideline," and though I've written and spoken about this guideline before (the guideline is to make interfaces easy to use correctly and hard to use incorrectly), this talk is the first time I felt like I really found a way to say what I wanted to say. If you're not convinced about the importance of the guideline from this presentation, I'm not going to be able to convince you.

The ConFu organizers and I had agreed that my EMC++-based tutorial wasn't going to be recorded, but somebody attending the tutorial decided to do it on his or her own. The audio and video quality is what you'd expect from an informal recording, but since it's at YouTube, I figure you might as well know about it. It's in six videos of about an hour each (which makes sense, because I give tutorial attendees a break every hour), and you'll find links to all six at my Online Videos Page. In fact, that page links to videos of each of my presentations and interviews that I'm aware of. If you're aware of an online video that should be included there, but isn't, please let me know.

Happy viewing!



Eric Goh said...

Hi! I'm a sophomore student studying for a Computer Science degree at DigiPen Singapore, and I wanted to say that I was pleasantly surprised when I listened to your keynote on "The Most Important Design Guideline".

The design guideline is one I've heard much about, but the fantastic thing about the keynote was that it covered the topic in a succinct fashion and kept my attention for the entire hour, which was a surprise as the topic is somewhat fairly dry in nature. I love the examples - they continue to be relevant and provide a good perspective from both the end-user and the software developer perspectives.

Thanks a lot for sharing this with us. I'll be using this video to impress upon others the importance of designing interfaces to be "easy to use correctly but hard to use incorrectly".

Anonymous said...

scott if i were you i would had this removed from yt... you worked really hard for years to produce the content for your book and lectures... :/

Scott Meyers said...

@Anonymous: If people want to put up recordings of my talks, I don't generally have a problem with that. In theory, the talks act as marketing for me and, by extension, my books, and nobody will confuse the recordings with "the real thing" (i.e., a live presentation by me). I take a harder line on unauthorized content from my books, because that's generally exactly the same as the product I'm selling (and worked for several years to produce).

Thanks for your concern for the effort I put into my talks and writings. I appreciate it.

Anonymous said...

Hi Scott, ty for the answer,
now I can go watch the lecture without guilt... :) Jk aside I really appreciate all the hard work you do and I have bought your book as soon as it was available for EAP.
I think any professional C++ dev like me should know at least the general guidelines, even if some of the details why they are the way they are a bit tricky to remember. :)

Scott Meyers said...

@Anonymous: Thanks for your kind words and your support.

Ville Voutilainen said...

In the "Support for Embedded Programming in C++11 and C++14" video, there's a question about default constructors and constexpr, at roughly 1:04:46, and your answer is, roughly, "as far as I know, there's no such thing as a function that is automatically generated as constexpr". This is not correct, all special member functions are generated constexpr if they can be.See for example [class.ctor]/5, [class.copy]/13, [class.copy]26, [class.inhctor]/4. Microsoft's compilers don't yet implement the rule.

Scott Meyers said...

@Ville Voutilainen: Thanks for the correction.