

ADSP: 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

Aug 27, 2021 • 40min
Episode 40: Star Trek vs PowerPC (with Sean Parent)
In this episode, Sean Parent tells the story of the battle between Project Star Trek and PowerPC.About the Guest:Sean Parent is a principal scientist and software architect for Adobe Photoshop. Sean has been at Adobe since 1993 when he joined as a senior engineer working on Photoshop and later managed Adobe’s Software Technology Lab. 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: 2021-07-28Date Released: 2021-08-27Blue MeaniesTaligentMotorola 68000PentiumRISC (Reduced instruction set computer)NovellApple Star Trek projectMacHackPowerPCJohn SculleyGARY DAVIDIAN AND HIS 68000 EMULATORRhapsody (operating system)Epic Games v. AppleIntro 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 20, 2021 • 25min
Episode 39: How Steve Jobs Saved Sean Parent
In this episode, Sean Parent tells the story how Apple sued him and Steve Jobs stepped in to save the day.About the Guest:Sean Parent is a principal scientist and software architect for Adobe Photoshop. Sean has been at Adobe since 1993 when he joined as a senior engineer working on Photoshop and later managed Adobe’s Software Technology Lab. 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.Date Recorded: 2021-07-28Date Released: 2021-08-20“I’d rather be driving a Macintosh” bumper stickerSteve JobsSteve WozniakIntro 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 13, 2021 • 37min
Episode 38: Adobe STLab is Back! (with Sean Parent)
In this episode, Bryce and Conor interview Sean Parent about restarting the Adobe Software Technology Lab.About the Guest:Sean Parent is a principal scientist and software architect for Adobe Photoshop. Sean has been at Adobe since 1993 when he joined as a senior engineer working on Photoshop and later managed Adobe’s Software Technology Lab. 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.Date Recorded: 2021-07-28Date Released: 2021-08-13ADSP Episode 17: Special Guest Sean Parent!AlexFest: Sean Parent - Meeting AlexADSP Episode 28: Steve Jobs & Sean ParentAdobe Software Technology Lab (STLab)STLab on GithubJohn BackusEBNF - Extended Backus–Naur formA9 VideosSean Parent - Programming Conversations Lecture 5 part 1 (A9 Video)C++ std::rotateC++ std::find_ifElements of ProgrammingPacific++ 2018: Sean Parent “Generic Programming”Swift Programming LanguageSwift UICppCast Episode on STLabIntro 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 6, 2021 • 33min
Episode 37: std::inclusive_scan
In this episode, Bryce explains how std::inclusive_scan can be parallelized.Date Recorded: 2021-06-30Date Released: 2021-08-06C++ std::partial_sumC++ std::inclusive_scanADSP Episode 25: The Lost ReductionThe C++20 Synchronization Library - Bryce Adelstein Lelbach - Meeting C++ 2019The C++20 Synchronization Library Slide Deck (starting on slide 132)C++ async_inclusive_scanCppNorthIntro 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 30, 2021 • 36min
Episode 36: std::transform vs std::for_each
In this episode, Conor and Bryce talk about std::for_each vs std::transform, a ton of algorithms and a little bit of APL.Date Recorded: 2021-06-30Date Released: 2021-07-30Bryce’s Live C++ CodingConor’s Live APL Coding and an exampleC++ std::for_eachC++ std::transformC++20 std::ranges::transformC++20 std::views::transformC++ range-based for loopC++ Seasoning by Sean ParentC++ std::replaceC++ std::replace_copyC++ std::mismatchC++ Algorithm Hierarchy TweetC++ Algorithm Hierarchy Lightning TalkC++ std::adjacent_differenceC++ std::sortThe Pursuit of Elegance by Matthew MayC++ std::partial_sort_copyAPL ⊢ (same or pass or identity)APL ÷ (divide)APL ⌊ (min or lesser of)APL / (reduce)APL forksFantasy birds - S’ CombinatorIntro 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 23, 2021 • 26min
Episode 35: SkyNet is Here!
In this episode, Conor and Bryce talk about GitHub Copilot and more.Date Recorded: 2021-06-30 Date Released: 2021-07-23Lenovo ThinkpadsGitHub CopilotGPL LicenseSkyNetTLAMark HarrisLEWG ISO C++ GitHubIntro 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

Jul 16, 2021 • 43min
Episode 34: Tuples, Arrays, APL & More
In this episode, Conor and Bryce talk about arrays, tuples, APL, C++ concepts/CTAD/structured bindings and so much more.Show NotesDate Recorded: 2021-06-26Date Released: 2021-07-16Tweet of impromptu conversation at HOPL IVC++ India AMA with BryceFunctional Geekery (Conor’s favorite podcast)CORECURSIVE #065 From Competitive Programming to APL With Conor HoekstraNew Podcast: ArrayCast!SimCorp (company that uses APL)Companies using APL, J, k or qApril: Array Programming Re-Imagined in Lispbooost::hanaC++ std::tupleC++ std::arraySean Baxter’s CircleSwift Tuple TypeC++ structured bindingsP0931 Structured bindings with polymorphic lambasC++ views::cartesian_productKevlin Henney on TwitterThrust open source algorithm libraryCUB open source algorithm libraryC++ Class template argument deduction (CTAD)P0009 MDSPANC++ conceptsIntro 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 9, 2021 • 28min
Episode 33: New York, New York!
In this episode, Conor and Bryce talk about Bryce’s upcoming move to New York and the 2022 ISO C++ meetings.Date Recorded: 2021-06-26Date Released: 2021-07-09Lassen Volcanic National ParkISO C++ MeetingsISO C++ GithubRust on GithubIntro 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 2, 2021 • 31min
Episode 32: Hiring Inclusively & Company Culture (Part 4)
In this episode, Conor and Bryce finish their conversation with Chandler and Patricia.About the Guests:Chandler Carruth leads the C++, Clang, and LLVM teams at Google, building a better language with better diagnostics, tools, compilers, optimizers, etc. Previously, he worked on several pieces of Google’s distributed build system. He makes guest appearances helping to maintain a few core C++ libraries across Google’s codebase, and is active in the LLVM and Clang open source communities. He received his M.S. and B.S. in Computer Science from Wake Forest University, but disavows all knowledge of the contents of his Master’s thesis. He is regularly found drinking Cherry Coke Zero in the daytime and pontificating over a single malt scotch in the evening.Patricia Aas is a C++ programmer with a “thing for building browsers”. She works for a company she co-founded called TurtleSec where she teaches courses in Secure Coding in C++ and does consulting and contracting. She has been a professional programmer for 16 years, and started off her career working on the original Opera browser. Since then she has made embedded products at Cisco and another browser at Vivaldi. When she has time she works on her own open source (pre-alpha) Chromium/Blink+Qt based browser called TurtleBrowser.Date Recorded: 2021-06-05Date Released: 2021-07-02ADSP Episode 29: From Papa John’s to Google (Part 1)ADSP Episode 30: Google, Interviews, Leadership & More (Part 2)ADSP Episode 31: Strategic Decision Making & More (Part 3)The Petrified Wood PrincipleNo Rules RulesHit RefreshNVIDIA GPU GemsOrganizational Charts of Amazon, Apple, Facebook, GoogleIntro 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 25, 2021 • 28min
Episode 31: Strategic Decision Making & More (Part 3)
In this episode, Conor and Bryce talk to Chandler and Patricia. We talk about strategic decision making, how to disagree, one-way vs two-way doors and so much more.About the Guests:Chandler Carruth leads the C++, Clang, and LLVM teams at Google, building a better language with better diagnostics, tools, compilers, optimizers, etc. Previously, he worked on several pieces of Google’s distributed build system. He makes guest appearances helping to maintain a few core C++ libraries across Google’s codebase, and is active in the LLVM and Clang open source communities. He received his M.S. and B.S. in Computer Science from Wake Forest University, but disavows all knowledge of the contents of his Master’s thesis. He is regularly found drinking Cherry Coke Zero in the daytime and pontificating over a single malt scotch in the evening.Patricia Aas is a C++ programmer with a “thing for building browsers”. She works for a company she co-founded called TurtleSec where she teaches courses in Secure Coding in C++ and does consulting and contracting. She has been a professional programmer for 16 years, and started off her career working on the original Opera browser. Since then she has made embedded products at Cisco and another browser at Vivaldi. When she has time she works on her own open source (pre-alpha) Chromium/Blink+Qt based browser called TurtleBrowser.Show NotesDate Recorded: 2021-06-05Date Released: 2021-06-25ADSP Episode 29: From Papa John’s to Google (Part 1)ADSP Episode 30: Google, Interviews, Leadership & More (Part 2)ThinLTO Clang DocumentationTeresa Johnson - ThinLTO Whole Program Optimization - Meeting C++ 2020 Center KeynoteGuts, Part Three: Having Backbone – Disagreeing and CommittingOne-Way vs Two-Way DoorsIntro 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


