Skip to content

Latest commit

 

History

History
233 lines (174 loc) · 15.1 KB

WatchAndLearn.md

File metadata and controls

233 lines (174 loc) · 15.1 KB

Watch and Learn

This is a collection of presentations about programming, mostly C++

Most eye-opening

Event Presenter Title Link Comment
C++ And Beyond 2012 Herb Sutter You don't know _____ and _______ https://channel9.msdn.com/posts/C-and-Beyond-2012-Herb-Sutter-You-dont-know-blank-and-blank
https://web.archive.org/web/20170119232617/https://channel9.msdn.com/posts/C-and-Beyond-2012-Herb-Sutter-You-dont-know-blank-and-blank
C++11 fundamentally changes the meaning of two keywords.
Bloomberg Howard Hinnant Everything You Ever Wanted To Know About Move Semantics https://www.youtube.com/watch?v=vLinb2fgkHk
Going Native 2013 Sean Parent C++ Seasoning https://www.youtube.com/watch?v=W2tWOdzgXHA a.k.a. "This is obviously a rotate()"
CppCon 2014 Herb Sutter Back to the Basics! Essentials of Modern C++ Style https://www.youtube.com/watch?v=xnqTKD8uD64
C++Now 2019 Conor Hoekstra Algorithm Intuition https://www.youtube.com/watch?v=48gV1SNm3WA

Algorithms

Event Presenter Title Link Comment
CppCon 2015 Michael VanLoon STL Algorithms in Action https://www.youtube.com/watch?v=eidEEmGLQcU
CppCon 2016 Marshall Clow STL Algorithms - why you should use them, and how to write your own https://www.youtube.com/watch?v=h4Jl1fk3MkQ
CppCon 2017 Nicholas Ormrod Fantastic Algorithms and Where To Find Them https://www.youtube.com/watch?v=YA-nB2wjVcI
CppCon 2018 Jonathan Boccara 105 STL Algorithms in Less Than an Hour https://www.youtube.com/watch?v=2olsGf6JIkU "It's not just for_each"
CppCon 2019 Conor Hoekstra Algorithm Intuition (part 1 of 2) https://www.youtube.com/watch?v=pUEnO6SvAMo
CppCon 2019 Conor Hoekstra Algorithm Intuition (part 2 of 2) https://www.youtube.com/watch?v=sEvYmb3eKsw

Spreading the word

Event Presenter Title Link Comment
pdc10 Herb Sutter Lambdas, Lambdas Everywhere https://www.youtube.com/watch?v=rcgRY7sOA58
CppCon 2014 Herb Sutter Leak-Freedom in C++... By Default https://www.youtube.com/watch?v=JfmTagWcqoE
CppCon 2015 Herb Sutter Writing Good C++14... By Default https://www.youtube.com/watch?v=hEx5DNLWGgA GSL & stuff

Back to Basics

Event Presenter Title Link Comment
CppCon 2019 Arthur O'Dwyer Back to Basics: Type Erasure https://www.youtube.com/watch?v=tbUCHifyT24
CppCon 2019 Arthur O'Dwyer Back to Basics: Smart Pointers https://www.youtube.com/watch?v=xGDLkt-jBJ4
CppCon 2019 Arthur O'Dwyer Back to Basics: Lambdas from Scratch https://www.youtube.com/watch?v=3jCOwajNch0

The bigger picture

Event Presenter Title Link Comment
CppCon 2017 Titus Winters C++ as a `Live at Head' Language https://www.youtube.com/watch?v=tISy7EJQPzI

Testing, testing, 1,2,3

Event Presenter Title Link Comment
CppCon 2015 T. Winters & H. Wright All Your Tests are Terrible... https://www.youtube.com/watch?v=u5senBJUkPc
Meeting C++ 2023 Phil Nash Rewiring your brain with test driven thinking in C++ https://www.youtube.com/watch?v=Hx-1Wtvhvgw

Library design

Event Presenter Title Link Comment
CppCon 2017 Matt Kulukundis Designing a Fast, Efficient, Cache-friendly Hash Table, Step by Step https://www.youtube.com/watch?v=ncHmEUmJZf4
C++Now 2018 Malte Skarupke You Can Do Better than std::unordered_map: New Improvements to Hash Table Performance https://www.youtube.com/watch?v=M2fKMP47slQ
CppCon 2022 Eduardo Madrid, Scott Bruce Implementing Understandable World Class Hash Tables in C++ https://www.youtube.com/watch?v=IMnbytvHCjM
CppNow 2022 Eduardo Madrid Rehashing Hash Tables And Associative Containers https://www.youtube.com/watch?v=B4VxpvFX9YY

Possibly the most awesome C++ library, ever

Event Presenter Title Link Comment
CppCon 2019 Hana Dusíková Compile-time Regular Expressions https://www.youtube.com/watch?v=QM3W36COnE4

Using the C++ compiler to parse a regular expression, and create a Finite State Machine which checks if the regex matches a string.

Standard library design

Event Presenter Title Link Comment
CppCon 2019 Marshall Clow std::midpoint - How hard could it be? https://www.youtube.com/watch?v=sBtAGxBh-XI As it turns out, quite hard.

Implementing the deceptively simple "midpoint" is quite tricky - which is why std::midpoint became part of the Standard C++ Library in C++20

Optimizations

Event Presenter Title Link Comment
code::dive conference 2015 Andrei Alexandrescu Writing Fast Code I https://www.youtube.com/watch?v=vrfYLlR8X8k generic optimization tips
code::dive conference 2015 Andrei Alexandrescu Writing Fast Code II https://www.youtube.com/watch?v=9tvbz8CSI8M fun part from 6:45
CppCon 2017 Carl Cook "When a Microsecond Is an Eternity: High Performance Trading Systems in C++" https://www.youtube.com/watch?v=NH1Tta7purM (some of the perversions we make in the name of performance)
Admiral Grace Hopper What is a nanosecond ? https://www.youtube.com/watch?v=EJBvtXq4hQA
ADC22 Dave Rowland Optimising a Real-Time Audio Processing Library https://www.youtube.com/watch?v=FpymA7NLNDs
C++Online 2024 Dave Rowland Optimising a High Performance Audio C++ Library: Lessons Learned https://www.youtube.com/watch?v=c_cXuL_L0Gg

Low latency

Event Presenter Title Link Comment
MUC++ Timur Doumler What is Low Latency C++? https://www.youtube.com/watch?v=NrrG2TYF1dM
Meeting C++ 2022 David Gross Trading at light speed: designing low latency systems in C++ https://www.youtube.com/watch?v=8uAW5FQtcvE

Using the standard

Event Presenter Title Link Comment
CppCon 2016 Howard Hinnant A <chrono> tutorial" https://www.youtube.com/watch?v=P32hvk8b13M
Stephan T Lavavej rand() considered harmful https://www.youtube.com/watch?v=0Ez-KqDTVXg "Say you have a problem, so you use floating point. Now you have 2.000001 problems"
CppCon 2016 Walter E. Brown What C++ Programmers Need to Know about Header <random>" https://www.youtube.com/watch?v=6DPkyvkMkk8
CppCon 2016 Cheinan Marks I Just Wanted a Random Integer! https://www.youtube.com/watch?v=4_QO1nm7uJs

"Advanced" C++

Event Presenter Title Link Comment
CppCon 2014 Walter E. Brown Modern Template Metaprogramming: A Compendium, Part I https://www.youtube.com/watch?v=Am2is2QCvxY
CppCon 2014 Walter E. Brown Modern Template Metaprogramming: A Compendium, Part II https://www.youtube.com/watch?v=a0FliKwcwXE
CppCon 2015 Marshall Clow Type Traits - what are they and why should I use them? https://www.youtube.com/watch?v=VvbTP_k_Df4
CppCon 2016 Alisdair Meredith C++17 in Breadth (part 1 of 2) https://www.youtube.com/watch?v=22jIHfvelZk
CppCon 2016 Alisdair Meredith C++17 in Breadth (part 2 of 2) https://www.youtube.com/watch?v=-rIixnNJM4k
CppCon 2017 Alisdair Meredith Recreational C++ https://www.youtube.com/watch?v=ovxNM865WaU Re-implementing the C++ Standard Library for fun and profit(?)
CppCon 2017 Stephen Dewhurst Modern C++ Interfaces... https://www.youtube.com/watch?v=PFdWqa68LmA

C++20 Concepts

Event Presenter Title Link Comment
CppCon 2018 Arthur O'Dwyer Concepts As She Is Spoke https://www.youtube.com/watch?v=CXn02MPkn8Y
CppCon 2019 Saar Raz How to Implement Your First Compiler Feature: The Story of Concepts in Clang https://www.youtube.com/watch?v=Y1o4rc9P1FQ Saar Raz implemented Concepts for Clang and lived to tell the tale

Ranges (C++20)

Event Presenter Title Link Comment
CppCon 2015 Eric Niebler Ranges for the Standard Library https://www.youtube.com/watch?v=mFUXNMfaciE
CppCon 2019 Jeff Garland From STL to Ranges: Using Ranges Effectively https://www.youtube.com/watch?v=vJ290qlAbbw
CppCon 2019 Tristan Brindle An Overview of Standard Ranges https://www.youtube.com/watch?v=SYLgG7Q5Zws
CppCon 2020 C++20 Ranges in Practice Tristan Brindle https://www.youtube.com/watch?v=d_E-VLyUnzc

"Not Yet C++"

No-holds-barred experiments with the language.

Event Presenter Title Link Comment
CppCon 2019 Herb Sutter De-fragmenting C++: Making Exceptions and RTTI More Affordable and Usable https://www.youtube.com/watch?v=ARYP83yNAWk Addressing C++s' biggest pain point: exceptions
CppCon 2020 Herb Sutter Empirically Measuring, & Reducing, C++'s Accidental Complexity https://www.youtube.com/watch?v=6lurOCdaj0Y Imagining a new way of passing parameters

STL

Stephan T Lavavej is the maintainer of the Microsoft C++ compiler's Standard C++ Library (provided by Dinkumware), and a member of the C++ standardization committee.

Event Presenter Title Link Comment
2009 Stephan T Lavavej Everything you ever wanted to know about nullptr https://channel9.msdn.com/shows/Going+Deep/Stephan-T-Lavavej-Everything-you-ever-wanted-to-know-about-nullptr/
GoingNative 2013 Stephan T Lavavej Don't Help The Compiler https://www.youtube.com/watch?v=PbE1UmjJt1E The compiler knows more about C++ than you do. Let it do its job
CppCon 2014 Stephan T Lavavej STL Features And Implementation Techniques https://www.youtube.com/watch?v=dTeKf5Oek2c Select C++11/14 features and how to use them

Scott Meyers

Event Presenter Title Link Comment
code::dive 2014 Scott Meyers Cpu Caches and Why You Care https://www.youtube.com/watch?v=WDIkqP4JbkE If you want performance, know your hardware.
CppCon 2014 Scott Meyers Type Deduction and Why You Care https://www.youtube.com/watch?v=wQxj20X-tIU Includes the Scott Meyers Hair Poll. A quote from the talk: "If you want a completely portable, 100% standards-conformant way to get the wrong answer, this is what you want."
? Scott Meyers Why C++ Sails When the Vasa Sank https://www.youtube.com/watch?v=9vyh1APsMAE A description of C++, its features and strengths

(A quote from the talk:

Tom Cargill wrote in 1990: [you think C++ is not overly complicated, just what is a protected abstract virtual base pure virtual private destructor, and when was the last time you needed one?]
And it is very sad, because when I read this I went "Hmm, well OK, that means this:"

class Base {
private: virtual ~Base() = 0;
//       ^^^^^^^^^^^^^^^^^^^
};
class Derived() : protected virtual Base { ... };
//                ^^^^^^^^^^^^^^^^^

I mean I knew immediately what he was talking about, which really is so sad. And I have never needed one. )

Another quote:

When you have a programming language that is one of the top two-three-four programming languages for twenty-five years, it's gotta be doing something right.

And another:

[U.S. National Laboratory] was the first place I ever ran into people who talked about CPU-months.

Kate Gregory

Event Presenter Title Link Comment
CppCon 2015 Kate Gregory Stop Teaching C https://www.youtube.com/watch?v=YnWhqhNdYyk
MeetingC++ 2017 Kate Gregory It's Complicated https://www.youtube.com/watch?v=tTexD26jIN4
CppCon 2018 Kate Gregory What Do We Mean When We Say Nothing At All https://www.youtube.com/watch?v=kYVxGyido9g
CppCon 2019 Kate Gregory Naming Is Hard: Let's Do Better https://www.youtube.com/watch?v=MBRoCdtZOYg

How to sell change

Event Presenter Title Link Comment
C++ And Beyond 2012 Herb Sutter, Scott Meyers, Andrei Alexandrescu Convincing your Colleagues https://web.archive.org/web/20160922232136/https://channel9.msdn.com/posts/C-and-Beyond-2012-Panel-Convincing-your-Colleagues/

Matt Godbolt

Matt Godbolt is the creator of the Compiler Explorer (a.k.a. godbolt.org), an interactive online compiler which shows the assembly output of compiled C++, Rust, Go (and many more) code.

Event Presenter Title Link Comment
CppCon 2017 Matt Godbolt What Has My Compiler Done for Me Lately? Unbolting the Compiler's Lid" https://www.youtube.com/watch?v=bSkpMdDe4g4
CppCon 2018 Matt Godbolt The Bits Between the Bits: How We Get to main() https://www.youtube.com/watch?v=dOfucXtyEsU
CppCon 2019 Matt Godbolt Compiler Explorer: Behind The Scenes https://www.youtube.com/watch?v=kIoZDUd5DKw Disclaimer: not much C++
Avast Event 2018 Matt Godbolt Why C++ Isn’t Dead https://www.youtube.com/watch?v=1uLTspBEtRE

First links

Event Presenter Title Link Comment
CppCon 2017 Walter E Brown Whitespace ≤ Comments << Code https://youtu.be/NLebZ3XT92E
CppCon 2016 Andy Bond AAAARGH!? Adopting Almost Always Auto Reinforces Good Habits!? https://www.youtube.com/watch?v=ZCGyvPDM0YY
CppCon 2017 Louis Brandy Curiously Recurring C++ Bugs at Facebook https://www.youtube.com/watch?v=lkgszkPnV8g
CppCon 2016 Nicholas Ormrod The strange details of std::string at Facebook https://www.youtube.com/watch?v=kPR8h4-qZdk

A little fun

Event Presenter Title Link Comment
CppCon 2017 Tony Van Eerd Postmodern C++ https://www.youtube.com/watch?v=QTLn3goa3A8 (In the style of Dr. Seuss)
CppCon 2018 Timur Doumler Can I has grammar? https://www.youtube.com/watch?v=tsG95Y-C14k Some of the dark corners of the C++ grammar; that C++ compiler writers must be aware of
CppCon 2018 Phil Nash You're not as smart as you think you are https://www.youtube.com/watch?v=fbkfH0IZW8g
CppCon 2020 Tony Van Eerd Songs of my People https://www.youtube.com/watch?v=MhQe66nuMO0

For historical interest

A young Bjarne Stroustrup describes a young C++

Event Presenter Title Link Comment
University Video Communications, 1994 Bjarne Stroustrup The Design of C++ https://www.youtube.com/watch?v=69edOm889V4