

Algorithms + Data Structures = Programs
Conor Hoekstra, Bryce Adelstein Lelbach & Ben Deane
The Algorithms + Data Structures = Programs Podcast (aka ADSP: The Podcast) is a programming podcast hosted by two NVIDIA software engineers that focuses on the C++ and Rust programming languages. Topics discussed include algorithms, data structures, programming languages, latest news in tech and more. The podcast was initially inspired by Magic Read Along. Feel free to follow us on Twitter at @adspthepodcast.
Episodes
Mentioned books

Oct 18, 2024 • 29min
Episode 204: 🇪🇸 Lambda World Live 🇪🇸
Andor Pénzes is a researcher focused on dependently typed Python, sharing insights from Lambda Days 2024 about the complexities of this innovative type system. Stephen Taylor, known for his work with array languages and contributions to ArrayCast, reflects on how APL has influenced his career. They explore the transformative impact of functional programming and the unique charm of niche conferences like Lambda World, emphasizing personal growth and community engagement. Listeners will enjoy their anecdotes and the excitement for future gatherings.

Oct 11, 2024 • 23min
Episode 203: Rotates All the Way Down with Sean Parent (Part 2)
In this episode, Conor and Ben continue their chat with Sean Parent about std::rotate, std::stable_sort and more!Link to Episode 203 on WebsiteDiscuss this episode, leave a comment, or ask a question (on GitHub)TwitterADSP: The PodcastConor HoekstraBen DeaneAbout the Guest:Sean Parent is a senior principal scientist and software architect managing Adobe's Software Technology Lab. Sean first joined Adobe in 1993 working on Photoshop and is one of the creators of Photoshop Mobile, Lightroom Mobile, and Lightroom Web. In 2009 Sean spent a year at Google working on Chrome OS before returning to Adobe. From 1988 through 1993 Sean worked at Apple, where he was part of the system software team that developed the technologies allowing Apple’s successful transition to PowerPC.Show NotesDate Recorded: 2024-09-26Date Released: 2024-10-11ADSP Episode 202: Rotates All the Way Down with Sean Parent (Part 1)From Mathematics to Generic Programming (FM2GP)Elements of ProgrammingStepanov Papers (website)Stepanov Papers: Notes on Higher Order Programming in SchemeStepanov Papers: Class Notes & Videos - Incomplete Notes for Foundations of ProgrammingC++ std::rotateC++ std::stable_sortC++ std::stable_partitionC++ Seasoning by Sean ParentC++ std::nth_elementC++ std::sortC++ std::partitionC++ std::partial_sortFour Algorithmic Journeys Part 1: Spoils of the EgyptiansIntro 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

Oct 4, 2024 • 28min
Episode 202: Rotates All the Way Down with Sean Parent (Part 1)
In this episode, Conor and Ben chat with Sean Parent about std::rotate, GCD, EOP, from Mathematics to Generic Programming and more!Link to Episode 202 on WebsiteDiscuss this episode, leave a comment, or ask a question (on GitHub)TwitterADSP: The PodcastConor HoekstraBen DeaneAbout the Guest:Sean Parent is a senior principal scientist and software architect managing Adobe’s Software Technology Lab. Sean first joined Adobe in 1993 working on Photoshop and is one of the creators of Photoshop Mobile, Lightroom Mobile, and Lightroom Web. In 2009 Sean spent a year at Google working on Chrome OS before returning to Adobe. From 1988 through 1993 Sean worked at Apple, where he was part of the system software team that developed the technologies allowing Apple’s successful transition to PowerPC.Show NotesDate Recorded: 2024-09-26Date Released: 2024-10-04ADSP Episode 199: std::rotateSean’s TweetTristan’s TweetSwapping Sections PaperC++20 flux LibraryElements of ProgrammingNVIDIA/cccl rotate issueC++ std::rotateC++ std::partial_sortC++ Seasoning by Sean ParentC++Now 2019 - Algorithm IntuitionThat’s a Rotate VideoFrom Mathematics to Generic Programming (FM2GP)Four Algorithmic Journeys Part 1: Spoils of the EgyptiansProgramming Conversations Lecture 5 Part 1Alexander Stepanov: STL and Its Design Principles (2002)Greatest Common Measure: The Last 2500 Years - Alexander StepanovBinary GCD (Stein’s Algorithm)Intro 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

Sep 27, 2024 • 24min
Episode 201: CppCon 2024 Recap!
In this episode, Conor and Ben recap the highlights of CppCon 2024.Link to Episode 201 on WebsiteDiscuss this episode, leave a comment, or ask a question (on GitHub)TwitterADSP: The PodcastConor HoekstraBen DeaneShow NotesDate Recorded: 2024-09-26Date Released: 2024-09-27CppCon 2024 Cryptic CrosswordCppConC++Now 2024 - Embedded Asynchronous Abstraction C++ - Implementing Senders & Receivers Without an OS - Ben DeaneCppNorth - Message Handling with Boolean Algebra - Ben DeaneCppCon - Message Handling with Boolean Algebra - Ben DeaneCppCon 2016: Ben Deane "std::accumulate: Exploring an Algorithmic Empire"C++ Exceptions for Smaller Firmware - Khalil Estell - CppCon 2024Gazing Beyond Reflection for C++26 - Daveed Vandevoorde - CppCon 2024P2996: Reflection for C++26CppCon 2024 - Creating a Sender/Receiver HTTP Server - Dietmar KühlCppCon 2024 - How Meta Made Debugging Async Code Easier with Coroutines and Senders - Ian Petersen & Jessica WongCppCon 2024 - Deciphering Coroutines - Recap and Prerequisites - Andreas WeisCppCon 2024 - Sender Patterns to Wrangle Concurrency in Embedded Devices - Michael CaisseIntro 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

Sep 20, 2024 • 34min
Episode 200!
In this episode, Conor and Bryce follow up on a conversation from 2.5 years ago.Link to Episode 200 on WebsiteDiscuss this episode, leave a comment, or ask a question (on GitHub)TwitterADSP: The PodcastConor HoekstraBryce Adelstein LelbachShow NotesDate Recorded: 2024-08-26 & 2022-03-27 & 2024-09-18Date Released: 2024-09-20ADSP Episode 71: APL, COBOL, BASIC & MoreADSP Episode 72: C++ Algorithm Family Feud!NDC TechTownBayesian CredibilityIntro 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

Sep 13, 2024 • 25min
Episode 199: std::rotate
In this episode, Conor and Bryce chat about std::rotate.Link to Episode 199 on WebsiteDiscuss this episode, leave a comment, or ask a question (on GitHub)TwitterADSP: The PodcastConor HoekstraBryce Adelstein LelbachShow NotesDate Recorded: 2024-08-26Date Released: 2024-09-13C++ std::rotateProgramming Pearlsthrust::copy_ifthrust::permutation_iteratorMicrosoft MSVC STL rotate ImplementationIntro 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

Sep 6, 2024 • 18min
Episode 198: Talks ∧ ¬ (Pigeons ∧ Elevators)
Conor and Bryce dive into the world of C++ with discussions on container adapters and algorithm techniques like Kadane's algorithm. They share personal anecdotes, addressing challenges in their lives while emphasizing clear communication in tech. The duo adds a playful touch with quizzes and humorous stories about rescuing pigeons. Upcoming conferences and insightful talks on functional languages and new C++ libraries are also spotlighted, blending technical depth with light-hearted banter.

Aug 30, 2024 • 35min
Episode 197: 🇬🇧 Algorithms & Tersity with Aaron Hsu
Aaron Hsu, an implementor of Co-dfns and a proponent of minimal array programming, shares his insights from the Eagle Pub in Cambridge. He discusses the critical role of algorithms in enhancing programming efficiency and vocabulary. The conversation navigates the balance between terse and verbose coding, challenging conventional views on readability. Hsu emphasizes the importance of symbolic languages and introduces 'Tersity', advocating for simple languages like APL over more complex ones like C++. His insights are a deep dive into coding elegance and its impact on problem-solving.

Aug 23, 2024 • 30min
Episode 196: 🇬🇧 Algorithms in APL with Aaron Hsu
In this episode, Conor and Aaron Hsu record from the Eagle Pub in Cambridge, UK and chat about algorithms in APL and algorithm implementations.Link to Episode 196 on WebsiteDiscuss this episode, leave a comment, or ask a question (on GitHub)TwitterADSP: The PodcastConor HoekstraAbout the GuestAaron Hsu is the implementor of Co-dfns and an advocate for a terse and minimal array programming style. Hsu has a background in academic functional programming, and was primarily a Scheme programmer for ten years before learning APL. He was introduced to APL by Morten Kromberg while working on a GPU-hosted compiler, and switched to Dyalog APL for the project, which is now Co-dfns.Show NotesDate Recorded: 2024-08-21Date Released: 2024-08-23ArrayCast Episode 19: Aaron HsuCo-dfnsThe Eagle Pub, CambridgeIverson CollegeArrayCast Episode 63: Uiua, a Stack based Array languageArrayCast Episode 77: Kai Schmidt and the Evolving Uiua Programming LanguageUiua LanguageScheme LanguageStepanov's "Notes on Higher Order Programming in Scheme"C++98 std::inner_productC++98 std::adjacent_differenceC++11 std::iotaC++17 std::reduceDyalog APL ∨ (GCD)Dyalog APL ∧ LCMC++ ContainersRAIIC++ Core GuidelinesDyalog APL ⍳ (iota)Dyalog APL ⍳ (dyadic iota)Dyadic APL Possible Implementation in C++ (Godbolt)Dyadic APL Possible Implementation in BQNC++20 std::ranges::binary_searchNVIDIA cucollections (cuco)Intro 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

Aug 16, 2024 • 37min
Episode 195: 🇨🇦 CppNorth Live 🇨🇦 David Olsen & Pure Chaos!
David Olsen, a software development veteran with three decades of experience, dives into the exciting advancements in C++26, particularly focusing on reflection. He shares insights from his work on NVIDIA's HPC C++ compiler, discussing its challenges and evolution. The conversation explores the educational impact of visual programming tools like UML and LEGO robotics, and the emerging no-code movement. Amidst laughter, they also highlight the vibrant atmosphere of CppNorth, weaving in personal anecdotes and unexpected moments.