ADSP: Algorithms + Data Structures = Programs

Conor Hoekstra, Bryce Adelstein Lelbach & Ben Deane
undefined
Mar 10, 2023 • 26min

Episode 120: C++ Safety, Tuples & Variants with Zach Laine! (Part 4)

In this episode, Conor and Bryce talk to Zach Laine about safety in C++, tuples, variants, reductions and more.Link to Episode 120 on WebsiteDiscuss this episode, leave a comment, or ask a question (on GitHub)TwitterADSP: The PodcastConor HoekstraBryce Adelstein LelbachAbout the GuestZach Laine has been using C++ in industry for 15 years, focusing on data visualization, numeric computing, games, generic programming, and good library design. He finds the process of writing bio blurbs to be a little uncomfortable.Show NotesDate Recorded: 2023-02-16Date Released: 2023-03-10Oxide & Friends PodcastYael Grauer on TwitterYael WritesConsumer Reports: Report: Future of Memory SafetyUnsafe RustC++98 std::unordered_mapC++98 std::vectorC++20 ConceptsC++20 CoroutinesC++20 RangesC++17 std::variantP0095 C++ Language Variant ProposalC++17 std::holds_alternativeC++ boost::hana::tupleC++23 std::views::enumeratePython enumerateADSP Episode 25: The Lost ReductionC++23 std::views::adjacent_transformFutharkArrayCast Episode 37: Troels Henriksen and FutharkFuthark reduceFuthark reduce_commNVIDIA thrust::reduceNVIDIA associative-only reduce ProposalIntro Song InfoMiss You by Sarah Jansen https://soundcloud.com/sarahjansenmusicCreative Commons — Attribution 3.0 Unported — CC BY 3.0Free Download / Stream: http://bit.ly/l-miss-youMusic promoted by Audio Library https://youtu.be/iYYxnasvfx8
undefined
Mar 3, 2023 • 32min

Episode 119: Why APL & Haskell are AWESOME with Zach Laine! (Part 3)

In this episode, Conor and Bryce talk to Zach Laine about APL, Haskell, the problem Three Consecutive Odds and why C++ developers should learn other languages.Link to Episode 119 on WebsiteDiscuss this episode, leave a comment, or ask a question (on GitHub)TwitterADSP: The PodcastConor HoekstraBryce Adelstein LelbachAbout the GuestZach Laine has been using C++ in industry for 15 years, focusing on data visualization, numeric computing, games, generic programming, and good library design. He finds the process of writing bio blurbs to be a little uncomfortable.Show NotesDate Recorded: 2023-02-16Date Released: 2023-03-03ADSP Episode 117: OOP, C++ Containers, APIs, EOP & More with Zach Laine!ADSP Episode 118: C++ Allocators with Zach Laine! (Part 2)APLBQNC++98 std::count_ifAnamorphismsC++20 std::views::splitC++23 std::views::chunkC++23 std::views::chunk_byADSP Episode 115: Max Gap in C++23ADSP Episode 116: Max Gap Count in C++23C++98 std::adjacent_differenceC++23 std::views::adjacent_transformThree Consecutive OddsC++98 std::transformC++17 std::transform_reduceC++23 std::views::adjacentC++23 std::views::slideHaskell fromEnumArrayCast Episode: Michael Higginson, 2022 Dyalog Contest WinnerReverse Polish notationP2672 Exploring the Design Space for a Pipeline OperatorDuo LingoDaniela Engert Duo Lingo StreakCategory Theory for Programmers - Bartosz MilewskiC++23 std::views::filterCollection Oriented Programming
undefined
Feb 24, 2023 • 32min

Episode 118: C++ Allocators with Zach Laine! (Part 2)

In this episode, Conor and Bryce talk to Zach Laine about C++ allocators!Link to Episode 118 on WebsiteDiscuss this episode, leave a comment, or ask a question (on GitHub)TwitterADSP: The PodcastConor HoekstraBryce Adelstein LelbachAbout the GuestZach Laine has been using C++ in industry for 15 years, focusing on data visualization, numeric computing, games, generic programming, and good library design. He finds the process of writing bio blurbs to be a little uncomfortable.Show NotesDate Recorded: 2023-02-16Date Released: 2023-02-24ADSP Episode 117: OOP, C++ Containers, APIs, EOP & More with Zach Laine!C++ std::allocatorC++ std::vectorstatic_vectorAn Introduction to Container Adapters in C++C++ std::stackMISRA StandardThrust thrust::host_vector & thrust::device_vectorC++ STL-Like Algorithm LibrariesBoostCon / C++NowBoostCon 2011 - Bryce Lelbach: AST Construction with the Universal TreeBoostCon 2011 - Bryce Lelbach: AST Construction with the Universal Tree ~ SlidesBoost SpiritBoost Spirit utreeCanada Wide Science FairConor’s Science Fair Project SCI IIPlanarianMethylprednisoloneConor’s Science Fair Project Project PokerDavid Stone on TwitterIntro Song InfoMiss You by Sarah Jansen https://soundcloud.com/sarahjansenmusicCreative Commons — Attribution 3.0 Unported — CC BY 3.0Free Download / Stream: http://bit.ly/l-miss-youMusic promoted by Audio Library https://youtu.be/iYYxnasvfx8
undefined
Feb 17, 2023 • 36min

Episode 117: OOP, C++ Containers, APIs, EOP & More with Zach Laine!

In this episode, Conor and Bryce talk to Zach Laine!Link to Episode 117 on WebsiteDiscuss this episode, leave a comment, or ask a question (on GitHub)TwitterADSP: The PodcastConor HoekstraBryce Adelstein LelbachAbout the GuestZach Laine has been using C++ in industry for 15 years, focusing on data visualization, numeric computing, games, generic programming, and good library design. He finds the process of writing bio blurbs to be a little uncomfortable.Show NotesDate Recorded: 2023-02-16Date Released: 2023-02-17UT AustinObject Oriented ProgrammingC++ virtualDynamic and Static PolymorphismAd Hoc PolymorphismParametric PolymorphismRank PolymorphismElements of Programming (Free PDF)The Structure and Interpretation of Computer ProgramsC++23 std::flat_mapC++17 std::string_viewC++20 std::spanC++20 std::basic_string::starts_withC++20 std::basic_string::ends_withC++20 std::basic_string::containsIntro Song InfoMiss You by Sarah Jansen https://soundcloud.com/sarahjansenmusicCreative Commons — Attribution 3.0 Unported — CC BY 3.0Free Download / Stream: http://bit.ly/l-miss-youMusic promoted by Audio Library https://youtu.be/iYYxnasvfx8
undefined
Feb 10, 2023 • 29min

Episode 116: Max Gap Count in C++23

In this episode, Conor and Bryce discuss the C++23 solution to the problem Max Gap Count.Link to Episode 116 on WebsiteDiscuss this episode, leave a comment, or ask a question (on GitHub)TwitterADSP: The PodcastConor HoekstraBryce Adelstein LelbachShow NotesDate Recorded: 2023-02-01Date Released: 2023-02-10ADSP Episode 115: Max Gap in C++23Max Gap Count ProblemMax Gap Count SolutionThe APL Show PodcastMonoidThe Jelly Programming LanguageUnholy Donuts (Toronto)Harry & Heels Donuts (Toronto)C++17 std::reduceC++23 std::inclusive_scanC++23 std::views::adjacentC++23 std::views::adjacent_transformIntro Song InfoMiss You by Sarah Jansen https://soundcloud.com/sarahjansenmusicCreative Commons — Attribution 3.0 Unported — CC BY 3.0Free Download / Stream: http://bit.ly/l-miss-youMusic promoted by Audio Library https://youtu.be/iYYxnasvfx8
undefined
Feb 3, 2023 • 26min

Episode 115: Max Gap in C++23

In this episode, Conor and Bryce discuss the C++23 solution to the problem Max Gap.Link to Episode 115 on WebsiteDiscuss this episode, leave a comment, or ask a question (on GitHub)TwitterADSP: The PodcastConor HoekstraBryce Adelstein LelbachShow NotesDate Recorded: 2023-02-01Date Released: 2023-02-03Combinatory LogicCollection Oriented ProgrammingClojure/conj 2023Parallel Block-Delayed SequencesMax Gap ProblemMax Gap SolutionC++17 std::reduceC++23 std::inclusive_scanC++23 std::views::slideC++23 std::views::adjacentC++23 std::views::adjacent_transformC++98 std::minusC++23 std::views::pairwiseC++23 std::views::pairwise_transformF# Seq.pairwisePython more_itertools.pairwiseRxJS pairwiseLightning Talk: Algorithm Selection - Conor Hoekstra [ ACCU 2021 ]C++98 std::accumulateC++20 std::views::elementsC++20 std::views::keysC++20 std::views::valuesC++98 std::adjacent_differenceConor’s Tweet about the C++26 Pipeline OperatorIntro Song InfoMiss You by Sarah Jansen https://soundcloud.com/sarahjansenmusicCreative Commons — Attribution 3.0 Unported — CC BY 3.0Free Download / Stream: http://bit.ly/l-miss-youMusic promoted by Audio Library https://youtu.be/iYYxnasvfx8
undefined
Jan 27, 2023 • 44min

Episode 114: Rust, Val, Carbon, ChatGPT & Errors with Barry Revzin!

In this episode, Conor and Bryce talk to Barry Revzin about Rust, Val, Carbon, ChatGPT, error propagation in C++26 and more!Link to Episode 114 on WebsiteTwitterADSP: The PodcastConor HoekstraBryce Adelstein LelbachAbout the GuestBarry Revzin is a senior C++ developer at Jump Trading in Chicago. After programming for many years, he got really into the nuances and intricacies of C++ by being unreasonably active on StackOverflow (where he is the top contributor in C++14, C++17, and C++20). He is also a C++ committee member, having written dozens of papers for C++20 and C++23.Show NotesDate Recorded: 2023-01-15Date Released: 2023-01-27ADSP Episode 113: The C++26 Pipeline Operator with Barry Revzin!P2011 A pipeline-rewrite operatorP2672 Exploring the Design Space for a Pipeline OperatorRust Programming LanguageRust TraitsSwift ProtocolsRust std::iter::IteratorRust The Cargo BookVal Programming LanguageCarbon Programming LanguageCarbon Operator PrecendenceEpochs: a backward-compatible language evolution mechanismADSP Episode 97: C++ vs Carbon vs Circle vs CppFront with Sean BaxterCircle CompilerChatGPT: Optimizing Language Models for DialogueGPTDuckOxide and Friends PodcastBryan Cantrill on TwitterBryan Cantrill: The Summer of RUSTOn The Metal PodcastOxide and Friends: NeXT, Objective-C, and contrasting historiesElixir DocsRust DocsP2561 An error propagation operatorSy Brand’s tl::expectedP0798R4 - Monadic operations for std::optionalC++23 std::expectedChicago C++ Meetup: Defining Range Formatting
undefined
Jan 20, 2023 • 40min

Episode 113: The C++26 Pipeline Operator with Barry Revzin!

In this episode, Conor and Bryce talk to Barry Revzin about the pipeline operator |>, C++ Ranges and more!Link to Episode 113 on WebsiteTwitterADSP: The PodcastConor HoekstraBryce Adelstein LelbachAbout the GuestBarry Revzin is a senior C++ developer at Jump Trading in Chicago, a research and technology driven trading firm. After programming for many years, he got really into the nuances and intricacies of C++ by being unreasonably active on StackOverflow (where he is the top contributor in C++14, C++17, and C++20). A lot of his C++ knowledge comes from just answering questions that he doesn’t know the answers to, especially when he answers them incorrectly at first.His C++ involvement escalated when he started attending standards committee meetings in 2016, having written dozens of papers for C++20 and now C++23. You might know him from such features as <=>, pack expansion in lambda init-capture, explicit(bool), conditionally trivial special member functions and, recently approved for C++23, deducing this.Outside of the C++ world, Barry is an obsessive swimming fan. He writes fun data articles for SwimSwam and also does analysis for the DC Trident, a professional swim team featuring Olympic Gold Medalists Zach Apple and Anna Hopkin, managed by two-time Olympian Kaitlin Sandeno.Show NotesDate Recorded: 2023-01-15Date Released: 2023-01-20Iterators and Ranges: Comparing C++ to D to Rust - Barry Revzin - [CppNow 2021]Keynote: Iterators and Ranges: Comparing C++ to D, Rust, and Others - Barry Revzin - CPPP 2021Kona Photo of Barry and Michael SwimmingCppCast Episode 237: Packs and PipelinesP2011 A pipeline-rewrite operatorP2672 Exploring the Design Space for a Pipeline OperatorC++20/23 Ranges LibaryRanges-v3 LibraryBoost.Lambda LibraryBoost.Lambda2 LibraryTC39 Pipe Operator (|>) for JavaScriptIntro Song InfoMiss You by Sarah Jansen https://soundcloud.com/sarahjansenmusicCreative Commons — Attribution 3.0 Unported — CC BY 3.0Free Download / Stream: http://bit.ly/l-miss-youMusic promoted by Audio Library https://youtu.be/iYYxnasvfx8
undefined
Jan 13, 2023 • 33min

Episode 112: 2022 Retro & Running!

In this episode, Conor and Bryce conclude their 2022 retro and talk about running!Link to Episode 112 on WebsiteTwitterADSP: The PodcastConor HoekstraBryce Adelstein LelbachShow NotesDate Recorded: 2023-01-04Date Released: 2023-01-13NVIDIA/stdexec - Senders - A Standard Model for Asynchronous Execution in C++Rust Programming LanguageLanguishTalk Python To MeLightning Talk: Runner’s Guide to C++ Conferences - Timur Doumler - CppNorth 2022Optic FlowWorld Marathon Majorscode::dive ConferenceLamdaDays ConferenceStrange Loop ConferenceIntro Song InfoMiss You by Sarah Jansen https://soundcloud.com/sarahjansenmusicCreative Commons — Attribution 3.0 Unported — CC BY 3.0Free Download / Stream: http://bit.ly/l-miss-youMusic promoted by Audio Library https://youtu.be/iYYxnasvfx8
undefined
Jan 6, 2023 • 37min

Episode 111: C++23 Ranges, 2022 Retro & Star Wars

In this episode, Conor and Bryce talk about C++23 Ranges, look back on the year 2022, talk about the future of C++ and safety in C++ and much more.Link to Episode 111 on WebsiteTwitterADSP: The PodcastConor HoekstraBryce Adelstein LelbachShow NotesDate Recorded: 2023-01-04Date Released: 2023-01-06Tweet about GCC 13 C++23 Ranges SupportC++23 Ranges Progress for MSVC, GCC and Clangfmt libraryMSVC fmt bugVisual Studio Community Edition (2022)C++23 chunk_byEric Niebler’s RetweetThree ways to call transform in C++20CppCast is back!I’ll Build Myself by Phil Nash - C++ Song ParodyPhil Nash on TwitterTimur Doumler on TwitterCarbon Programming LanguageCircle CompilerCircle Metaprogramming: Better Features Make Better Libraries - Sean Baxter - CppNow 2022Val Programming LanguageCppFrontJakt Programming LanguageRust Programming LanguageAzure CTO Tweet about Deprecating C++NSA on Memory Safe LanguagesP2723R0 Zero-initialize objects of automatic storage durationCppCon 2014: Andrei Alexandrescu “Optimization Tips - Mo’ Hustle Mo’ Problems”Woven Planet C++ Meetup Nov 22, 2022Intro Song InfoMiss You by Sarah Jansen https://soundcloud.com/sarahjansenmusic Creative Commons — Attribution 3.0 Unported — CC BY 3.0 Free Download / Stream: http://bit.ly/l-miss-you Music promoted by Audio Library https://youtu.be/iYYxnasvfx8

The AI-powered Podcast Player

Save insights by tapping your headphones, chat with episodes, discover the best highlights - and more!
App store bannerPlay store banner
Get the app