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)Twitter ADSP: 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 Notes Date Recorded: 2024-09-26 Date Released: 2024-10-11 ADSP 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 Info Miss 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
talk-data.com
Topic
GitHub
154
tagged
Activity Trend
Top Events
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)Twitter ADSP: 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 Notes Date Recorded: 2024-09-26 Date Released: 2024-10-04 ADSP 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 Info Miss 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
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)Twitter ADSP: The PodcastConor HoekstraBen DeaneShow Notes Date Recorded: 2024-09-26 Date Released: 2024-09-27 CppCon 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 Info Miss 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
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)Twitter ADSP: The Podcast Conor HoekstraBryce Adelstein LelbachShow Notes Date Recorded: 2024-08-26 & 2022-03-27 & 2024-09-18 Date Released: 2024-09-20 ADSP Episode 71: APL, COBOL, BASIC & MoreADSP Episode 72: C++ Algorithm Family Feud!NDC TechTownBayesian CredibilityIntro Song Info Miss 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
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)Twitter ADSP: The PodcastConor HoekstraBryce Adelstein LelbachShow Notes Date Recorded: 2024-08-26 Date Released: 2024-09-13 C++ std::rotateProgramming Pearlsthrust::copy_ifthrust::permutation_iteratorMicrosoft MSVC STL rotate ImplementationIntro Song Info Miss 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
In this episode, Conor and Bryce chat and then Conor adds some technical content: upcoming conferences & recently watched talks. Link to Episode 198 on WebsiteDiscuss this episode, leave a comment, or ask a question (on GitHub)Twitter ADSP: The PodcastConor HoekstraBryce Adelstein LelbachShow Notes Date Recorded: 2024-08-26 & 2024-09-06 Date Released: 2024-09-06 C++ ContainersC++ std::rotateMaximum Contiguous Subarray Sum (MCSS)Rappel: Compose Algorithms, Not Iterators - Google's Alternative to Ranges - C++Now 2024Think Parallel - Bryce Adelstein Lelbach - ACCU 2024Hylo - The Safe Systems and Generic-programming Language Built on Value Semantics - Dave AbrahamsC++ Under the SeaLambda WorldImplementing Ranges and Views in C++ - Roi Barkan - C++Now 2024Reintroduction to Generic Programming for C++ Engineers - Nick DeMarco - C++NowIntro Song Info Miss 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
In this episode, Conor and Aaron Hsu record from the Eagle Pub in Cambridge, UK and chat about the importance of algorithms and tersity in programming languages. Link to Episode 197 on WebsiteDiscuss this episode, leave a comment, or ask a question (on GitHub)Twitter ADSP: The PodcastConor HoekstraAbout the Guest Aaron 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 Notes Date Recorded: 2024-08-21 Date Released: 2024-08-30 ArrayCast Episode 19: Aaron HsuCo-dfnsThe Eagle Pub, CambridgeLiving The Loopless Life: Techniques For Removing Explicit Loops And Recursion by Aaron HsuThe Nano-parsing Architecture: Sane And Portable Parsing For Perverse Environments by Aaron HsuAlgorithms as a Tool of Thought // Conor Hoekstra // APL Seeds '21Intro Song Info Miss 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
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)Twitter ADSP: The PodcastConor HoekstraAbout the Guest Aaron 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 Notes Date Recorded: 2024-08-21 Date Released: 2024-08-23 ArrayCast 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 Info Miss 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
In this episode, Conor and Bryce chat with David Olsen about C++26 reflection and more at CppNorth 2024 - and then the podcast devolves into chaos. Link to Episode 195 on WebsiteDiscuss this episode, leave a comment, or ask a question (on GitHub)Twitter ADSP: The PodcastConor HoekstraBryce Adelstein LelbachAbout the Guest David Olsen has three decades of software development experience in a variety of programming languages and development environments. For the last seven years he has been the lead engineer for the NVIDIA HPC C++ compiler, focusing on running standard parallel algorithms on GPUs. He is a member of the ISO C++ committee, where he was the champion for the extended floating-point feature in C++23. Other Guests Tristan BrindleKristen ShakerBen DeaneMike DaumShow Notes Date Recorded: 2024-07-22 Date Released: 2024-08-16 CppNorthCppNorth 2024 - C++ Reflection: Back on Track - David OlsenC++26 Reflection ProposalNVIDIA nvc++ compilerTurbo C++Rational RoseUMLScratch LanguageLEGO Programming (Mindstorms)BQNAPLCppNorth - Where there is a loop, there is an algorithm avatar - Fatemeh Jafargholi & Peter LorimerADSP Episode 147: 🇸🇮 SRT23 - Parallel std::unique Revisited (on a Walk in Venice)cub::DeviceSelect::UniqueISO C++ Prague Youtube VideoIntro Song Info Miss 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
In this episode, Conor and Bryce chat with Kevlin Henney about the top recommendation from 97 Things Every Programmer Should Know. Link to Episode 194 on WebsiteDiscuss this episode, leave a comment, or ask a question (on GitHub)Twitter ADSP: The PodcastConor HoekstraBryce Adelstein LelbachAbout the Guest Kevlin 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 Notes Date Recorded: 2024-07-11 Date Released: 2024-08-09 97 Things Every Programmer Should Know (GitHub)97 Things Every Programmer Should KnowPattern-Oriented Software Architecture: A Pattern Language for Distributed Computing, 4th VolumePattern Oriented Software Architecture Volume 5: On Patterns and Pattern LanguagesEffective C++ Series by Scott MeyersBeautiful C++: 30 Core Guidelines for Writing Clean, Safe, and Fast CodeIntro Song Info Miss 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
In this episode, Bryce chats with Kevlin Henney about Kevlin Henneys. Link to Episode 193 on WebsiteDiscuss this episode, leave a comment, or ask a question (on GitHub)Twitter ADSP: The PodcastConor HoekstraBryce Adelstein LelbachAbout the Guest Kevlin 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 Notes Date Recorded: 2024-07-11 Date Released: 2024-08-02 HPXIntro Song Info Miss 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
In this episode, Bryce chats with Kevlin Henney about systems programming and more. Link to Episode 192 on WebsiteDiscuss this episode, leave a comment, or ask a question (on GitHub)Twitter ADSP: The PodcastConor HoekstraBryce Adelstein LelbachAbout the Guest Kevlin 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 Notes Date Recorded: 2024-07-11 Date Released: 2024-07-26 Kevlin Henney ACCU 2024 TalkIntro Song Info Miss 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
In this episode, Conor and Bryce chat with Kevlin Henney about algorithms, libraries and many programming languages! Link to Episode 191 on WebsiteDiscuss this episode, leave a comment, or ask a question (on GitHub)Twitter ADSP: The PodcastConor HoekstraBryce Adelstein LelbachAbout the Guest Kevlin 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 Notes Date Recorded: 2024-07-11 Date Released: 2024-07-19 FortranCoarray FortranPascal LanguagepytestNumPyPython pipRust cargoRust crates.ioIntro Song Info Miss 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
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)Twitter ADSP: The PodcastConor HoekstraBryce Adelstein LelbachAbout the Guest Kevlin 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 Notes Date Recorded: 2024-07-11 Date Released: 2024-07-12 When 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 Info Miss 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
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)Twitter ADSP: The PodcastConor HoekstraBryce Adelstein LelbachShow Notes Date Recorded: 2024-07-03 Date Released: 2024-07-05 CppNorthReflection 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 Info Miss 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
In this episode, Conor and Bryce chat about how to implement the std::merge in parallel. Link to Episode 188 on WebsiteDiscuss this episode, leave a comment, or ask a question (on GitHub)Twitter ADSP: The PodcastConor HoekstraBryce Adelstein LelbachShow Notes Date Recorded: 2024-06-11 Date Released: 2024-06-28 C++ std::mergethrust::copy_ifthrust::permutation_iteratorIntro Song Info Miss 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
In this episode, Conor and Bryce chat about how to implement the Top N (std::nth_element) algorithm in parallel. Link to Episode 187 on WebsiteDiscuss this episode, leave a comment, or ask a question (on GitHub)Twitter ADSP: The PodcastConor HoekstraBryce Adelstein LelbachShow Notes Date Recorded: 2024-06-11 Date Released: 2024-06-21 Craft Conf 2024C++ std::nth_elementC++ std::priority_queueIntro Song Info Miss 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
In this episode, Conor and Bryce chat about how to get started in programming. Link to Episode 186 on WebsiteDiscuss this episode, leave a comment, or ask a question (on GitHub)Twitter ADSP: The PodcastConor HoekstraBryce Adelstein LelbachShow Notes Date Recorded: 2024-06-07 & 2024-06-12 Date Released: 2024-06-14 Swift Programming LanguageBoost C++ LibrariesBoost SpiritNDC Oslo ConferenceCraft Conf 2024The Power of Function Composition - NDC Oslo - Conor HoekstraCityStrides.comcity-strides-hacking GitHub RepoHookStar Scrabble TrainerBeautiful Python Refactoring II - Conor Hoekstra - code::dive 2022 (Scrabble Talk)Intro Song Info Miss 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
In this episode, Conor and Bryce catch up via phone tag and chat about an algorithm. Link to Episode 185 on WebsiteDiscuss this episode, leave a comment, or ask a question (on GitHub)Twitter ADSP: The PodcastConor HoekstraBryce Adelstein LelbachShow Notes Date Recorded: 2024-06-04 to 2024-06-06 Date Released: 2024-06-07 Craft Conf 2024ADSP Episode 157: The Roc Programming Language with Richard Feldman'Declarative Thinking, Declarative Practice' - Kevlin Henney [ ACCU 2016 ]Dave Thomas YOW! Vector Talk (can't find the link)C++Now 2019: Conor Hoekstra “Algorithm Intuition”Better Algorithm Intuition - Conor Hoekstra @code_report - Meeting C++ 2019C++ std::nth_elementC++ std::partial_sort_copythrust::partitionIntro Song Info Miss 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
In this episode, Conor and Bryce chat with Doug Gregor from Apple about the Swift programming language! Link to Episode 184 on WebsiteDiscuss this episode, leave a comment, or ask a question (on GitHub)Twitter ADSP: The PodcastConor HoekstraBryce Adelstein LelbachAbout the Guest: Douglas Gregor is is a Distinguished Engineer at Apple working on the Swift programming language, compiler, and related libraries and tools. He is code owner emeritus of the Clang compiler (part of the LLVM project), a former member of the ISO C++ committee, and a co-author on the second edition of C++ Templates: The Complete Guide. He holds a Ph.D. in computer science from Rensselaer Polytechnic Institute. Show Notes Date Recorded: 2024-04-29 Date Released: 2024-05-31 Swift Programming LanguageSwift ActorsD Programming LanguageRust Programming LanguageFearless Concurrency? Understanding Concurrent Programming Safety in Real-World Rust SoftwareSwift Protocols2022 LLVM Dev Mtg: Implementing Language Support for ABI-Stable Software Evolution in Swift and LLVMOxide Episode - Discovering the XZ Backdoor with Andres FreundSwift Algorithms LibraryIntro Song Info Miss 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