
Algorithms + Data Structures = Programs
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.
Latest episodes

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.

Aug 9, 2024 โข 24min
Episode 194: The One Thing Every Programmer Should Know with Kevlin Henney
Kevlin Henney, an independent consultant and influential voice in programming, shares wisdom from his editorial work on '97 Things Every Programmer Should Know.' He emphasizes the importance of collaboration and diverse perspectives in software development. The conversation highlights the necessity of prioritizing programming insights while also tackling the challenges of categorizing vast software knowledge. Additionally, Kevlin introduces the playful concept of 'book bombing,' a fun way to foster learning among colleagues.

Aug 2, 2024 โข 23min
Episode 193: Kevlin Henneys with Kevlin Henney
Kevlin Henney, an independent consultant, speaker, and writer, delves into the humorous yet profound nature of software failure. He shares anecdotes about documenting crashes and explores how error messages impact our tech identity. The discussion highlights the balance between user-friendly communication and technical detail, illustrated by Hulu's approach. Additionally, Kevlin introduces 'containment failures' using relatable analogies, emphasizing the need for clearer error messaging in distributed systems while advocating for collaboration among developers and UX designers.

Jul 26, 2024 โข 34min
Episode 192: Systems Programming & More with Kevlin Henney
In this conversation, Kevlin Henney, an independent consultant and renowned speaker in the software development field, shares insights on systems programming. He discusses the historical evolution of software development and its correlation with quality. The paradox of modern tools versus inexperienced developers is also explored. Kevlin highlights security challenges due to technological interconnectedness and examines C++ limitations in memory management. They also delve into innovations in high-performance computing architectures, such as the Xeon Phi supercomputer.

Jul 19, 2024 โข 38min
Episode 191: Algorithms & Libraries with Kevlin Henney
Guest Kevlin Henney discusses the significance of algorithms and libraries in programming languages like Fortran, C, and Python. The conversation delves into contrasts between Fortran dialects, transitioning from Fortran to C, and the challenges of managing dependencies in languages like Python and C++. The speakers also explore the popularity of Python despite its imperfections and predict potential challenges in Rust's package management ecosystem.

Jul 12, 2024 โข 29min
Episode 190: C++, Python and More with Kevlin Henney
In this episode, Conor and Bryce chat with Kevlin Henney about C++, Python and more!Link to Episode 190 on WebsiteDiscuss this episode, leave a comment, or ask a question (on GitHub)TwitterADSP: The PodcastConor HoekstraBryce Adelstein LelbachAbout the GuestKevlin Henney is an independent consultant, speaker, writer and trainer. His software development interests are in programming, practice and people. He has been a columnist for various magazines and websites. He is the co-author of A Pattern Language for Distributed Computing and On Patterns and Pattern Languages, two volumes in the Pattern-Oriented Software Architecture series, and editor of 97 Things Every Programmer Should Know and co-editor of 97 Things Every Java Programmer Should Know.Show NotesDate Recorded: 2024-07-11Date Released: 2024-07-12When zombies attack! Bristol city council ready for undead invasionACCU Conference97 Things Every Programmer Should Know (GitHub)97 Things Every Programmer Should Know97 Things Every Java Programmer Should KnowC++Now 2018: Ben Deane โEasy to Use, Hard to Misuse: Declarative Style in C++โWhen to Use a List Comprehension in PythonIntro 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

Jul 5, 2024 โข 40min
Episode 189: C++26 Reflection, std::execution & CppNorth
In this episode, Conor and Bryce chat about the highlights from the recent ISO C++ Committee meeting in St. Louis, their upcoming trip to CppNorth and more!Link to Episode 189 on WebsiteDiscuss this episode, leave a comment, or ask a question (on GitHub)TwitterADSP: The PodcastConor HoekstraBryce Adelstein LelbachShow NotesDate Recorded: 2024-07-03Date Released: 2024-07-05CppNorthReflection for C++26C++ Senders and Receiversstd::inplace_vectorContracts for C++code::dive ConferenceMeeting C++ ConferenceCore C++ ConferenceThink Parallel ACCU TalkChains: Exploration of an alternative to Sender/Receiver | Sean Parent | NYC++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

Jun 28, 2024 โข 16min
Episode 188: Parallel std::merge
Conor and Bryce discuss implementing std::merge in parallel, merging K lists efficiently, exploring the parallel merge path algorithm, creating a permutation iterator, and sharing personal anecdotes including a health scare incident on a plane journey.