
The Algorithms + Data Structures = Programs Podcast (aka ADSP: The Podcast) is an informal podcast inspired by Magic Read Along. We plan to talk about whatever we feel like - algorithms, data structures, programming languages, latest news in tech and more. Feel free to follow us on Twitter at @adspthepodcast.
Similar Podcasts

Developer Voices
Discover the future of software from the people making it happen.Listen to some of the smartest developers we know talk about what they're working on, how they're trying to move the industry forward, and what you can learn from it. You might find the solution to your next architectural headache, pick up a new programming language, or just hear some good war stories from the frontline of technology.Join your host Kris Jenkins as we try to figure out what tomorrow's computing will look like the best way we know how - by listening directly to the developers' voices.

New Rustacean
A show about the Rust programming language and the people who use it.

The Rabbit Hole: The Definitive Developer's Podcast
Welcome to The Rabbit Hole, the definitive developers podcast. If you are a software developer or technology leader looking to stay on top of the latest news in the software development world, or just want to learn actionable tactics to improve your day-to-day job performance, this podcast is for you.
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
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
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
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
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
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
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
Episode 30: Google, Interviews, Leadership & More (Part 2)
In this episode, Conor and Bryce talk to Chandler and Patricia. Chandler finishes telling us about his career path leading up to Google and then we talk about interviewing, leadership and 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.Date Recorded: 2021-06-05Date Released: 2021-06-18ADSP Episode 29: From Papa John’s to Google (Part 1)WgetLLVMHow Do You Decide Whether an Individual Contributor (IC) or Engineering Manager Role is Right for You?GCC CompilerClang CompilerISO C++COBOLIntro 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
Episode 29: From Papa John's to Google (Part 1)
In this episode, Conor and Bryce talk to Chandler and Patricia and Chandler tells us about his career path leading up to Google.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-06-11ADSP Episode 28: Steve Jobs & Sean ParentPapa John’sSilicon Valley TV ShowLinux WineTransgamingLLVMIntro 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
Episode 28: Steve Jobs & Sean Parent
In this episode, Conor and Bryce talk to Sean Parent about some of his Steve Jobs stories.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-05-19Date Released: 2021-06-04Apple Rhapsody OSNeXT IncAdobeSteve JobsJohn WarnockMacOSXGreg Gilley Adobe Demo at WWDC 1998MetrowerksIntro 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
Episode 27: MacHack & Apple with Sean Parent
In this episode, Conor and Bryce talk to Sean Parent about MacHack and how he got hired at Apple.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-05-19Date Released: 2021-05-28Orange MicroMacHackMacHack Annual Report ‘88Ted NelsonProject XanaduMacsBugQuickDraw GXSkia: The 2D Graphics LibraryWebKitIntro 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
Episode 26: Sean Parent on Slides Decks, UI & More
In this episode, Conor and Bryce talk to Sean Parent about a plethora of topics including slides, UI and more.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-05-19Date Released: 2021-05-21Sean Parents Paper: P2345 Relaxing Requirements of Moved-From ObjectsGoingNative 2013 C++ Seasoning - Sean ParentSean McQuillan - Launching Into CoroutinesReveal JSJupiter Notebooksxeus-cling Jupiter kernel for C++All PowerPoint ShortcutTools 3.0 Keyboard ShortcutsGreat Impractical Ideas in Computer Science: PowerPoint ProgrammingCppCon 2019: Sean Parent “Better Code: Relationships”ASL Eve Layout EngineASL I/O ManipulatorsC++20 std::formatIntro 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
Episode 25: The Lost Reduction
In this episode, Conor and Bryce talk about maximum consecutive ones and a missing reduction algorithm.Date Recorded: 2021-05-12Date Released: 2021-05-14Godbolt SolutionThrust and the C++ Standard Algorithms - Conor Hoekstra - GTC 2021ADSP Episode 20: GTC 2021 Preview & Thrust AlgorithmsMax Consecutive Ones Leetcode Problemthrust::reducethrust::count_ifthrust::transform_reducestd::reducestd::count_ifstd::transform_reduceC++Now 2019: Conor Hoekstra “Algorithm Intuition”Python NumPyranges::fold ISO C++ PaperHaskell’s foldlHaskell’s foldl1Intro 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
Episode 24: C++Now 2021 with Ben Deane & Tony Van Eerd
In this episode, Conor has a conversation with Ben Deane and Tony Van Eerd while at C++Now 2021.About the Guests:For Ben Deane, C++ wasn’t even among the first 10 languages that he learned on his programming journey, but it’s been the one that has paid the bills for the last 20-odd years. He spent most of that time in the games industry; many of the games he worked on used to be fondly remembered but now he’s accepted that they are probably mostly forgotten. These days he works in the finance industry writing high-frequency trading platforms in the most modern C++ that compilers can support.In his spare time he watches a lot of YouTube’s educational sector, practices the Japanese art of tsundoku, reads about the history of programming, avoids doing DIY, and surprises his wife by waking in the middle of the night yelling, “of course, it’s a monad!” before going back to sleep and dreaming of algorithms.Tony Van Eerd has been coding for well over 25 years, and hopefully coding well for most of that. Previously at Inscriber, Adobe, and BlackBerry, he now enables Painting with Light at Christie Digital. He is on the C++ Committee. He is a Ninja and a Jedi.Show NotesDate Recorded: 2021-05-06Date Released: 2021-05-07C++Now 2018: Ben Deane “Easy to Use, Hard to Misuse: Declarative Style in C++”C++Now 2017: Ben Deane & Jason Turner “constexpr ALL the things!”Conor Hoekstra — ITM: My least favorite anti-patternFunctional C++ for Fun and Profit by Phil NashYOW! 2013 Kevlin Henney - The SOLID Design Principles DeconstructedBreaking Dependencies: The SOLID Principles - Klaus Iglberger - CppCon 2020SOLID Revisited: The State of the Matter - Phil Nash [ ACCU 2021 ]C++Now 2017: Tony Van Eerd “Postmodern C++”C++Now 2018: Tony Van Eerd “Words of Wisdom”One Letter Programming LanguagesC++Now 2019: Conor Hoekstra “Algorithm Intuition”Simple Made Easy 2012 - Rich HickeySlow Coding - Ben Deane; A View to a Thing - Jason Turner - 2020-10-11The larger the island of knowledge, the longer the shoreline of wonder.LadyBug PodcastIntro 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
Episode 23: Algorithms: Anamorphisms!
In this episode, Bryce and Conor talk about a class of algorithms called anamorphisms (and much more).Date Recorded: 2021-04-17Date Released: 2021-04-30Tristan Brindle’s TweetTristan’s flow libraryCatamorphisms wikiAnamorphisms wikiHaskell’s groupHaskell’s groupByC++20 std::views::splitRange-v3 slidingRange-v3 chunkRange-v3 group_byAPL stencil operator (⌺)C++ std::adjacent_findC++ std::adjacent_differencethrust::reduce_by_keythrust::unique_by_keythrust::sort_by_keyHaskell’s on (PSI combinator)APL over operator (⍥)Cat & Mouse example in APLcub::DeviceRunLengthEncodeIntro 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