cppnow_presentations_2017 icon indicating copy to clipboard operation
cppnow_presentations_2017 copied to clipboard

Presentation Material for C++Now 2017

========================= C++Now 2017 Presentations

|guidelines|_

.. |guidelines| replace:: Slide Deck Guidelines for Speakers .. _guidelines: SLIDE_DECK_GUIDELINES.md

Tuesday, May 16

+-----------------------+----------------------------+ | | Paepcke | +=======================+============================+ | Morning (9:00-10:30) | |tueAM0pae| |tueAM0paeV|_ | +-----------------------+----------------------------+

+-----------------------+----------------------------+----------------------------+----------------------------+ | | Flug | Hudson | Bethe | +=======================+============================+============================+============================+ | Morning (11:00-12:30) | |tueAM2flg|_ |tueAM2flgV|_ | |tueAM2hud|_ |tueAM2hudV|_ | |tueAM2bet| |tueAM2betV|_ | +-----------------------+----------------------------+----------------------------+----------------------------+ | Afternoon (2:30-4:00) | |tuePM0flg| |tuePM0flgV|_ | |tuePM0hud| |tuePM0hudV|_ | |tuePM0bet| |tuePM0betV|_ | +-----------------------+----------------------------+----------------------------+----------------------------+ | Afternoon (4:30-6:00) | |tuePM2flg|_ |tuePM2flgV|_ | |tuePM2hud| |tuePM2hudV|_ | |tuePM2bet|_ |tuePM2betV|_ | +-----------------------+----------------------------+----------------------------+----------------------------+

Wednesday, May 17

+-----------------------+----------------------------+ | | Paepcke | +=======================+============================+ | Morning (9:00-10:30) | |wedAM0pae| |wedAM0paeV|_ | +-----------------------+----------------------------+

+-----------------------+----------------------------+----------------------------+----------------------------+ | | Flug | Hudson | Bethe | +=======================+============================+============================+============================+ | Morning (11:00-12:30) | |wedAM2flg|_ |wedAM2flgV|_ | |wedAM2hud|_ |wedAM2hudV| | |wedAM2bet|_ |wedAM2betV|_ | +-----------------------+----------------------------+----------------------------+----------------------------+ | Afternoon (2:30-4:00) | |wedPM0flg|_ |wedPM0flgV| | |wedPM0hud|_ |wedPM0hudV|_ | |wedPM0bet|_ |wedPM0betV|_ | +-----------------------+----------------------------+----------------------------+----------------------------+ | Afternoon (4:30-5:15) | |wedPM2flg| |wedPM2flgV|_ | |wedPM2hud|_ |wedPM2hudV|_ | |wedPM2bet|_ |wedPM2betV|_ | +-----------------------+----------------------------+----------------------------+ | | Afternoon (5:15-6:00) | |wedPM3flg|_ |wedPM3flgV|_ | |wedPM3hud| |wedPM3hudV|_ | | +-----------------------+----------------------------+----------------------------+----------------------------+

Thursday, May 18

+-----------------------+----------------------------+----------------------------+----------------------------+ | | Flug | Hudson | Bethe | +=======================+============================+============================+============================+ | Morning (9:00-9:45) | |thuAM0flg|_ |thuAM0flgV|_ | |thuAM0hud|_ |thuAM0hudV|_ | |thuAM0bet| |thuAM0betV|_ | +-----------------------+ +----------------------------+ | | Morning (9:45-10:30) | | |thuAM1hud|_ |thuAM1hudV|_ | | +-----------------------+----------------------------+----------------------------+----------------------------+ | Morning (11:00-12:30) | |thuAM2flg|_ |thuAM2flgV|_ | |thuAM2hud|_ |thuAM2hudV| | |thuAM2bet|_ |thuAM2betV| | +-----------------------+----------------------------+----------------------------+----------------------------+ | Afternoon (2:30-4:00) | |thuPM0flg|_ |thuPM0flgV|_ | |thuPM0hud|_ |thuPM0hudV|_ | |thuPM0bet|_ |thuPM0betV|_ | +-----------------------+----------------------------+----------------------------+----------------------------+ | Afternoon (4:30-6:00) | |thuPM2flg|_ |thuPM2flgV|_ | |thuPM2hud|_ |thuPM2hudV| | |thuPM2bet|_ |thuPM2betV|_ | +-----------------------+----------------------------+----------------------------+----------------------------+

Friday, May 19

+-----------------------+----------------------------+ | | Paepcke | +=======================+============================+ | Morning (9:00-10:30) | |friAM0pae|_ |friAM0paeV|_ | +-----------------------+----------------------------+

+-----------------------+----------------------------+----------------------------+----------------------------+ | | Flug | Hudson | Bethe | +=======================+============================+============================+============================+ | Morning (11:00-12:30) | |friAM2flg|_ |friAM2flgV|_ | |friAM2hud|_ |friAM2hudV| | |friAM2bet| |friAM2betV| | +-----------------------+----------------------------+----------------------------+----------------------------+ | Afternoon (2:30-4:00) | |friPM0flg| |friPM0flgV|_ | |friPM0hud|_ |friPM0hudV| | |friPM0bet|_ |friPM0betV| | +-----------------------+----------------------------+----------------------------+----------------------------+ | Afternoon (4:30-6:00) | |friPM2flg|_ |friPM2flgV|_ | |friPM2hud|_ |friPM2hudV|_ | |friPM2bet|_ |friPM2betV| | +-----------------------+----------------------------+----------------------------+----------------------------+

Saturday, May 19

+-----------------------+----------------------------+----------------------------+----------------------------+ | | Flug | Hudson | Bethe | +=======================+============================+============================+============================+ | Morning (8:45-10:15) | |satAM0flg|_ |satAM0flgV| | |satAM0hud|_ |satAM0hudV|_ | |satAM0bet|_ |satAM0betV|_ | +-----------------------+----------------------------+----------------------------+----------------------------+ | Morning (10:45-11:30) | |satAM2flg|_ |satAM2flgV| | |satAM2hud|_ |satAM2hudV|_ | |satAM2bet|_ |satAM2betV| | +-----------------------+----------------------------+----------------------------+----------------------------+

.. .. |tag| replace:: Talk Title, Test .. .. _tag: http://link.com/to/slides .. .. |tagV| (video) .. .. _tagV: http://link.com/to/video

.. Tuesday, May 16 .. |tueAM0pae| replace:: Rust: Hack Without Fear!, Niko Matsakis .. _tueAM0pae: .. |tueAM0paeV| replace:: (video) .. _tueAM0paeV: https://youtu.be/lO1z-7cuRYI .. |tueAM2flg| replace:: C++17 Features, Bryce Adelstein Lelbach .. _tueAM2flg: 05-16-2017_tuesday/cpp17_features__bryce_adelstein_lelbach__cppnow_05-16-2017.pdf .. |tueAM2flgV| replace:: (video) .. _tueAM2flgV: https://youtu.be/LvwXJjRQfHk .. |tuePM0flg| replace:: Expression Templates Everywhere with C++14 and Yap, Zach Laine .. _tuePM0flg: .. |tuePM0flgV| replace:: (video) .. _tuePM0flgV: https://youtu.be/VhIwDxkIsME .. |tuePM2flg| replace:: constexpr ALL the things!, Ben Deane and Jason Turner .. _tuePM2flg: 05-16-2017_tuesday/constexpr_all_the_things__ben_deane_and_jason_turner__cppnow_05-16-2017.pdf .. |tuePM2flgV| replace:: (video) .. _tuePM2flgV: https://youtu.be/HMB9oXFobJc .. |tueAM2hud| replace:: Rethinking Strings, Mark Zeren .. _tueAM2hud: 05-16-2017_tuesday/rethinking_strings__mark_zeren__cppnow_05-16-2017.pdf .. |tueAM2hudV| replace:: (video) .. _tueAM2hudV: https://youtu.be/OMbwbXZWtDM .. |tuePM0hud| replace:: Networking TS Workshop (part 1 of 2), Michael Caisse .. _tuePM0hud: .. |tuePM0hudV| replace:: (video) .. _tuePM0hudV: https://youtu.be/dZdTOH9bFvs .. |tuePM2hud| replace:: Networking TS Workshop (part 2 of 2), Michael Caisse .. _tuePM2hud: .. |tuePM2hudV| replace:: (video) .. _tuePM2hudV: https://youtu.be/5H-hI98TYIE .. |tueAM2bet| replace:: C++11’s Quiet Little Gem: <system_error>, Charles Bay .. _tueAM2bet: .. |tueAM2betV| replace:: (video) .. _tueAM2betV: https://youtu.be/w7ZVbw2X-tE .. |tuePM0bet| replace:: Local ("Arena") Memory Allocators, John Lakos .. _tuePM0bet: .. |tuePM0betV| replace:: (video) .. _tuePM0betV: https://youtu.be/CVbnjydW5M0 .. |tuePM2bet| replace:: Containers & Strings: Why the Implementation Matters, Barbara Geller and Ansel Sermersheim .. _tuePM2bet: 05-16-2017_tuesday/containers_and_strings_why_the_implementation_matters__barbara_geller_and_ansel_sermersheim__cppnow_05-16-2017.pdf .. |tuePM2betV| replace:: (video) .. _tuePM2betV: https://youtu.be/wMyI-h9UY-M

.. Wednesday, May 17 .. |wedAM0pae| replace:: Haskell taketh away: limiting side effects for parallel programming, Ryan Newton .. _wedAM0pae: .. |wedAM0paeV| replace:: (video) .. _wedAM0paeV: https://youtu.be/lC5UWG5N8oY .. |wedAM2flg| replace:: (Ab)using C++17, Jason Turner .. _wedAM2flg: 05-17-2017_wednesday/abusing_cpp17__jason_turner__cppnow_05-17-2017.pdf .. |wedAM2flgV| replace:: (video) .. _wedAM2flgV: https://youtu.be/AqDsso3S5fg .. |wedPM0flg| replace:: Good FIFOs Make Good Thread Neighbors, Jonathan Beard .. _wedPM0flg: 05-17-2017_wednesday/good_fifos_make_good_thread_neighbors__jonathan_beard__cppnow_05-17-2017.pdf .. |wedPM0flgV| replace:: (video) .. _wedPM0flgV: https://youtu.be/pvp-QQD0Xx0 .. |wedPM2flg| replace:: Postmodern Immutable Data Structures, Juan Pedro Bolivar Puente .. _wedPM2flg: .. |wedPM2flgV| replace:: (video) .. _wedPM2flgV: https://youtu.be/ZsryQp0UAC8 .. |wedPM3flg| replace:: Type Based Template Metaprogramming is Not Dead, Odin Holmes .. _wedPM3flg: 05-17-2017_wednesday/type_based_template_metaprogramming_is_not_dead__odin_holmes__cppnow_05-17-2017.pdf .. |wedPM3flgV| replace:: (video) .. _wedPM3flgV: https://youtu.be/EtU4RDCCsiU .. |wedAM2hud| replace:: A vision for C++20 and std2 (part 1 of 3), Alisdair Meredith .. _wedAM2hud: 05-17-2017_wednesday/type_based_template_metaprogramming_is_not_dead__odin_holmes__cppnow_05-17-2017.pdf .. |wedAM2hudV| replace:: (video) .. _wedAM2hudV: .. |wedPM0hud| replace:: Fun with Boost.Hana, Louis Dionne .. _wedPM0hud: 05-17-2017_wednesday/fun_with_boost_hana__louis_dionne__cppnow_05-17-2017.pdf .. |wedPM0hudV| replace:: (video) .. _wedPM0hudV: https://youtu.be/emHnx_ZG0qc .. |wedPM2hud| replace:: Composite Arithmetic Types Are > the + of Their Parts, John McFarlane .. _wedPM2hud: 05-17-2017_wednesday/composite_arithmetic_types_are_greater_than_the_sum_of_their_parts__john_mcfarlane__cppnow_05-17-2017.pdf .. |wedPM2hudV| replace:: (video) .. _wedPM2hudV: https://youtu.be/1xSyUoYgSR4 .. |wedPM3hud| replace:: An easy to use RPC framework implemented in C++11/14, Yu Qi .. _wedPM3hud: .. |wedPM3hudV| replace:: (video) .. _wedPM3hudV: https://youtu.be/vh1BhlqF-fs .. |wedAM2bet| replace:: Mocking C++ (full-length version), Peter Bindels .. _wedAM2bet: 05-17-2017_wednesday/mocking_cpp_full_length_version__peter_bindels__cppnow_05-17-2017.pdf .. |wedAM2betV| replace:: (video) .. _wedAM2betV: https://youtu.be/t0wLm2iiEH0 .. |wedPM0bet| replace:: The Mathematical Underpinnings of Promises in C++, David Sankel .. _wedPM0bet: 05-17-2017_wednesday/the_mathematical_underpinnings_of_promises_in_cpp__david_sankel__cppnow_05-17-2017.pdf .. |wedPM0betV| replace:: (video) .. _wedPM0betV: https://youtu.be/2OY0Zn3oBCE .. |wedPM2bet| replace:: Multithreading Using Lockless Lists and RCU, Ansel Sermersheim .. _wedPM2bet: 05-17-2017_wednesday/multithreading_using_lockless_lists_and_rcu__ansel_sermersheim__cppnow_05-17-2017.pdf .. |wedPM2betV| replace:: (video) .. _wedPM2betV: https://youtu.be/rNHLp44rMSs

.. Thursday, May 18 .. |thuAM0flg| replace:: Call: A Library that Will Change the Way You Think about Function Invocations (part 1 of 2), Matt Calabrese .. _thuAM0flg: 05-18-2017_thursday/call_a_library_that_will_change_the_way_you_think_about_function_invocations__matt_calabrese__cppnow_05-18-2017.pdf .. |thuAM0flgV| replace:: (video) .. _thuAM0flgV: https://youtu.be/Fjw7NjndQ50 .. |thuAM2flg| replace:: Call: A Library that Will Change the Way You Think about Function Invocations (part 2 of 2), Matt Calabrese .. _thuAM2flg: 05-18-2017_thursday/call_a_library_that_will_change_the_way_you_think_about_function_invocations__matt_calabrese__cppnow_05-18-2017.pdf .. |thuAM2flgV| replace:: (video) .. _thuAM2flgV: https://youtu.be/hwS0ZvkKuSQ .. |thuPM0flg| replace:: Postmodern C++, Tony Van Eerd .. _thuPM0flg: 05-18-2017_thursday/postmodern_cpp__tony_van_eerd__cppnow_05-18-2017.pdf .. |thuPM0flgV| replace:: (video) .. _thuPM0flgV: https://youtu.be/GPP64opjy_Y .. |thuPM2flg| replace:: Promises in C++: The Universal Glue for Asynchronous Programs, David Sankel .. _thuPM2flg: 05-18-2017_thursday/promises_in_cpp_the_universal_glue_for_asynchronous_programs__david_sankel__cppnow_05-18-2017.pdf .. |thuPM2flgV| replace:: (video) .. _thuPM2flgV: https://youtu.be/pKMZjd9CFnw .. |thuAM0hud| replace:: A look at C++ through the glasses of a language tool, Anastasia Kazakova .. _thuAM0hud: 05-18-2017_thursday/a_look_at_cpp_through_the_glasses_of_a_language_tool__anastasia_kazakova__cppnow_05-18-2017.pdf .. |thuAM0hudV| replace:: (video) .. _thuAM0hudV: https://youtu.be/sg3BEB6JP2c .. |thuAM1hud| replace:: Boost vs Qt: What Could They Learn From Each Other?, Jens Weller .. _thuAM1hud: 05-18-2017_thursday/boost_vs_qt_what_could_they_learn_from_each_other__jens_weller__cppnow_05-18-2017.pdf .. |thuAM1hudV| replace:: (video) .. _thuAM1hudV: https://youtu.be/NcdlX3fIpc0 .. |thuAM2hud| replace:: A vision for C++20 and std2 (part 2 of 3), Alisdair Meredith .. _thuAM2hud: std2_workshop/cpp20_language_features_for_std2__alisdair_meredith__cppnow_05-18-2017.pdf .. |thuAM2hudV| replace:: (video) .. _thuAM2hudV: .. |thuPM0hud| replace:: Practical (?) Applications of Reflection, Jackie Kay .. _thuPM0hud: 05-18-2017_thursday/practical_applications_of_reflection__jackie_kay__cppnow_05-18-2017.pdf .. |thuPM0hudV| replace:: (video) .. _thuPM0hudV: https://youtu.be/JrOJ012XxNg .. |thuPM2hud| replace:: Towards Painless Testing, Kris Jusiak .. _thuPM2hud: 05-18-2017_thursday/towards_painless_testing__kris_jusiak__cppnow_05-18-2017.pdf .. |thuPM2hudV| replace:: (video) .. _thuPM2hudV: .. |thuAM0bet| replace:: Sorting in less than O(n log n): Generalizing and optimizing radix sort, Malte Skarupke .. _thuAM0bet: .. |thuAM0betV| replace:: (video) .. _thuAM0betV: https://youtu.be/zqs87a_7zxw .. |thuAM2bet| replace:: Parallel Programming with RaftLib: streaming/data-flow concurrency via concise C++ iostream-like operators, Jonathan Beard .. _thuAM2bet: 05-18-2017_thursday/parallel_programming_with_raftlib_streaming_and_dataflow_concurrency_via_concise_cpp_iostream_like_operators__jonathan_beard__cppnow_05-18-2017.pdf .. |thuAM2betV| replace:: (video) .. _thuAM2betV: .. |thuPM0bet| replace:: Implementing variant visitation using lambdas, Vittorio Romeo .. _thuPM0bet: 05-18-2017_thursday/implementing_variant_visition_using_lambdas__vittorio_romeo__cppnow_05-18-2017.pdf .. |thuPM0betV| replace:: (video) .. _thuPM0betV: https://youtu.be/3KyW5Ve3LtI .. |thuPM2bet| replace:: Testing the Limits of Allocator Awareness, Bob Steagall .. _thuPM2bet: 05-18-2017_thursday/testing_the_limits_of_allocator_awareness__bob_steagall__cppnow_05-18-2017.pdf .. |thuPM2betV| replace:: (video) .. _thuPM2betV: https://youtu.be/fmJfKm9ano8

.. Friday, May 19 .. |friAM0pae| replace:: Competitive Advantage with D, Ali Çehreli .. _friAM0pae: 05-19-2017_friday/competitive_advantage_with_d__ali_cehreli__cppnow_05-19-2017.pdf .. |friAM0paeV| replace:: (video) .. _friAM0paeV: https://youtu.be/vYEKEIpM2zo .. |friAM2flg| replace:: Effective CMake, Daniel Pfeifer .. _friAM2flg: 05-19-2017_friday/effective_cmake__daniel_pfeifer__cppnow_05-19-2017.pdf .. |friAM2flgV| replace:: (video) .. _friAM2flgV: https://youtu.be/bsXLMQ6WgIk .. |friPM0flg| replace:: The 'Detection Idiom:' A Better Way to SFINAE, Marshall Clow .. _friPM0flg: 05-19-2017_friday/the_detection_idiom_a_better_way_to_sfinae__marshall_clow__cppnow_05-19-2017.pdf .. |friPM0flgV| replace:: (video) .. _friPM0flgV: https://youtu.be/U3jGdnRL3KI .. |friPM2flg| replace:: C++ Core Guidelines - Modernize your C++ Code Base, Peter Sommerlad .. _friPM2flg: 05-19-2017_friday/cpp_core_guidelines_modernize_your_cpp_code_base__peter_sommerlad__cppnow_05-19-2017.pdf .. |friPM2flgV| replace:: (video) .. _friPM2flgV: https://youtu.be/q3WiZu8N7Tk .. |friAM2hud| replace:: Restoring Your Sanity: An Approach to Dealing with Reference Types in the Generic Programming Paradigm, Matt Calabrese .. _friAM2hud: 05-19-2017_friday/restoring_your_sanity_an_approach_to_dealing_with_reference_types_in_the_generic_programming_paradigm__matt_calabrese__cppnow_05-19-2017.pdf .. |friAM2hudV| replace:: (video) .. _friAM2hudV:
.. |friPM0hud| replace:: Locally Atomic Capabilities and How to Count Them, Lisa Lippincott .. _friPM0hud: 05-19-2017_friday/locally_atomic_capabilities_and_how_to_count_them__lisa_lippincott__cppnow_05-19-2017.pdf .. |friPM0hudV| replace:: (video) .. _friPM0hudV:
.. |friPM2hud| replace:: The Holy Grail - A Hash Array Mapped Trie for C++, Phil Nash .. _friPM2hud: 05-19-2017_friday/a_persistent_hash_array_mapped_trie_for_cpp__phil_nash__cppnow_05-19-2017.pdf .. |friPM2hudV| replace:: (video) .. _friPM2hudV: https://youtu.be/WT9kmIE3Uis .. |friAM2bet| replace:: A vision for C++20 and std2 (part 3 of 3), Alisdair Meredith .. _friAM2bet: .. |friAM2betV| replace:: (video) .. _friAM2betV: .. |friPM0bet| replace:: No raw std::thread! - Live Tweet Analysis in C++, Kirk Shoop .. _friPM0bet: 05-19-2017_friday/no_raw_std_thread_live_tweet_analysis_in_cpp__kirk_shoop__cppnow_05-19-2017.pdf .. |friPM0betV| replace:: (video) .. _friPM0betV: .. |friPM2bet| replace:: Customization Points That Suck Less, Michał Dominiak .. _friPM2bet: 05-19-2017_friday/customization_points_that_such_less__michal_dominiak__cppnow_05-19-2017.pdf .. |friPM2betV| replace:: (video) .. _friPM2betV:

.. Saturday, May 20 .. |satAM0flg| replace:: clang-useful: Building useful tools with LLVM and clang for fun and profit, Peter Goldsborough .. _satAM0flg: 05-20-2017_saturday/clang_useful_building_useful_tools_with_llvm_and_clang_for_fun_and_profit__peter_goldsborough__cppnow_05-20-2017.pdf .. |satAM0flgV| replace:: (video) .. _satAM0flgV:
.. |satAM2flg| replace:: Performance analysis and optimization of C++ standard libraries, Aditya Kumar and Sebastian Pop .. _satAM2flg: 05-20-2017_saturday/performance_analysis_and_optimization_of_cpp_standard_libraries__aditya_kumar_and_sebastian_pop__cppnow_05-20-2017.pdf .. |satAM2flgV| replace:: (video) .. _satAM2flgV:
.. |satAM0hud| replace:: Type-safe Programming, Jonathan Müller .. _satAM0hud: 05-20-2017_saturday/type_safe_programming__jonathan_muller__cppnow_05-20-2017.pdf .. |satAM0hudV| replace:: (video) .. _satAM0hudV: https://youtu.be/iihlo9A2Ezw .. |satAM2hud| replace:: The Lesser-Known Multicore Synchronization Primitives, Samy Bahra .. _satAM2hud: 05-20-2017_saturday/the_lesser_known_multicore_synchronization_primitives__samy_bahra__cppnow_05-20-2017.pdf .. |satAM2hudV| replace:: (video) .. _satAM2hudV: https://youtu.be/OfTy3ymDwWE .. |satAM0bet| replace:: CHAP: A memory analyzer for un-instrumented cores, Tim Boddy .. _satAM0bet: 05-20-2017_saturday/chap_a_memory_analyzer_for_un_instrumented_cores__tim_boddy__cppnow_05-20-2017.pdf .. |satAM0betV| replace:: (video) .. _satAM0betV: https://youtu.be/EZ2n3kGtVDk .. |satAM2bet| replace:: Nbdl: Generic Library for Managing State Seamlessly Across Network, Jason Rice .. _satAM2bet: 05-20-2017_saturday/nbdl_generic_library_for_managing_state_seamlessly_across_network__jason_rice__cppnow_05-20-2017.pdf .. |satAM2betV| replace:: (video) .. _satAM2betV: