

Programming Throwdown
Patrick Wheeler and Jason Gauci
Programming Throwdown educates Computer Scientists and Software Engineers on a cavalcade of programming and tech topics. Every show will cover a new programming language, so listeners will be able to speak intelligently about any programming language.
Episodes
Mentioned books

Aug 14, 2023 • 1h 29min
163: Recursion
Episode 163 - RecursionIntro topic: Electric CarsNews/Links:Snake Game in 101 Bytes in a QR Codehttps://www.reddit.com/r/programming/comments/15ab4ct/my_qr_code_snake_game_is_now_only_101_bytes/Superconductor Rumors aboundhttps://arstechnica.com/science/2023/08/whats-going-on-with-the-reports-of-a-room-temperature-superconductor/OpenWormhttps://github.com/openworm/OpenWormCreator of vim passes awayhttps://news.itsfoss.com/vim-creator-passed-away/Book of the ShowPatrick:Little Book of Common Sense Investing by Jack Bogle https://amzn.to/43YqANRJason: Mistborn Saga: https://amzn.to/3DJkUN8Patreon Plug https://www.patreon.com/programmingthrowdown?ty=hTool of the ShowJason:reMarkable https://remarkable.com/Patrick: Stellarium (iOS and Android)Topic: RecursionWhat is itDivide-And-ConquerFibonacci numbersHow to (not) teach recursionPractical ApplicationsGraph operationsTree retrieval, balancingGraph SearchSpatial partitioningPitfallsStack sizeHow to solve problems with recursion(1) Consider the base cases(2) Build the recursive step(3) Look for ways the recursion will not terminate and fix(4) (rest are optional) Remove global contexts(5) Add memoization(6) Build solutions incrementally
★ Support this podcast on Patreon ★

10 snips
Jul 24, 2023 • 1h 8min
162: Interactive Fiction
In the latest episode of Programming Throwdown, we delve into the captivating world of interactive fiction. We explore: Wordnet, Inform, and how games in the past have been the forerunners of today’s NLP challenges. 00:00:22 Introductions00:00:39 To hard mode or not to hard mode00:08:58 No moats in Google00:16:37 Stable Diffusion blows Jason’s mind00:21:31 Putting beats together00:23:38 GPT4All00:27:44 White Sand00:35:28 Fortuna00:38:55 Patrick’s ‘dirty’ secret00:47:20 Wordnet00:53:56 Procedural generation00:57:29 On tabletop RPGs01:00:48 Inform01:07:27 FarewellsResources mentioned in this episode:Join the Programming Throwdown Patreon community today: https://www.patreon.com/programmingthrowdown?ty=h Subscribe to the podcast on Youtube: https://www.youtube.com/@programmingthrowdown4793 News/Links:Google: We have no moat and neither does OpenAIhttps://www.semianalysis.com/p/google-we-have-no-moat-and-neitherStable Diffusion QR Codeshttps://stable-diffusion-art.com/qr-code/ Beginning to Make Musichttps://learningmusic.ableton.com/GPT4Allhttps://gpt4all.io/index.htmlWordnet:https://wordnet.princeton.edu/Inform:https://en.wikipedia.org/wiki/InformBook of the ShowPatrick:White Sand https://amzn.to/43CPMKAJason: The Fortuna https://www.generativefiction.com/Tool of the ShowJason:Gatsby.js https://www.gatsbyjs.com/Patrick: Peglin https://store.steampowered.com/app/1296610/Peglin/ If you’ve enjoyed this episode, you can listen to more on Programming Throwdown’s website: https://www.programmingthrowdown.com/ Reach out to us via email: programmingthrowdown@gmail.com You can also follow Programming Throwdown on Facebook | Apple Podcasts | Spotify | Player.FM | Youtube Join the discussion on our DiscordHelp support Programming Throwdown through our Patreon
★ Support this podcast on Patreon ★

Jul 10, 2023 • 1h 33min
161: Leveraging Generative AI Models with Hagay Lupesko
MosaicML’s VP Of Engineering, Hagay Lupesko, joins us today to discuss generative AI! We talk about how to use existing models as well as ways to finetune these models to a particular task or domain. 00:01:28 Introductions00:02:09 Hagay’s circuitous career journey00:08:25 Building software for large factories00:17:30 The reality of new technologies00:28:10 AWS00:29:33 Pytorch’s leapfrog advantage00:37:24 MosaicML’s mission00:39:29 Generative AI00:44:39 Giant data models00:57:00 Data access tips01:10:31 MPT-7B01:27:01 Careers in Mosaic01:31:46 FarewellsResources mentioned in this episode:Join the Programming Throwdown Patreon community today: https://www.patreon.com/programmingthrowdown?ty=h Subscribe to the podcast on Youtube: https://www.youtube.com/@programmingthrowdown4793 Links:Hagay Lupesko:Linkedin: https://www.linkedin.com/in/hagaylupesko/Twitter: https://twitter.com/hagay_lupeskoGithub: https://github.com/lupeskoMosaicML:Website: https://www.mosaicml.com/Careers: https://www.mosaicml.com/careersTwitter: https://twitter.com/MosaicMLLinkedin: https://www.linkedin.com/company/mosaicml/Others:Amp It Up (Amazon): https://www.amazon.com/Amp-Unlocking-Hypergrowth-Expectations-Intensity/dp/1119836115Hugging Face Hub: https://huggingface.co/ If you’ve enjoyed this episode, you can listen to more on Programming Throwdown’s website: https://www.programmingthrowdown.com/ Reach out to us via email: programmingthrowdown@gmail.com You can also follow Programming Throwdown on Facebook | Apple Podcasts | Spotify | Player.FM | Youtube Join the discussion on our DiscordHelp support Programming Throwdown through our Patreon
★ Support this podcast on Patreon ★

Jun 26, 2023 • 1h 30min
160: Position Localization
Where are you now? It’s a question that may seem easy to answer on the surface, but in truth hides more complexity than people expect. In today’s episode, we tackle the latest on AI, creative endeavors, and more before diving into the meaty discussion of position localization. 00:01:13 Steam Deck00:11:22 Summoning Salt on Mario00:16:49 100k stars00:24:26 ChatGPT spam call00:25:31 Build Your Own DB (from scratch)00:29:50 DuckDB00:35:07 Jason has an idea00:37:58 Fighting Fantasy Classics00:41:52 Patrick’s bread00:47:52 Support the show00:53:54 Awkward CRM emails00:56:07 Rill01:00:29 Position localization in detail01:17:15 Common filter01:25:22 Simultaneous localization01:28:59 FarewellsResources mentioned in this episode:Join the Programming Throwdown Patreon community today: https://www.patreon.com/programmingthrowdown?ty=h Subscribe to the podcast on Youtube: https://www.youtube.com/@programmingthrowdown4793News/Links:The History of Super Mario Bros 3 100% World Records (Summoning Salt)https://www.youtube.com/watch?v=_EsFyogVvkwAutoGPT hits 100k starshttps://twitter.com/AlphaSignalAI/status/1649524105647906819Build Your Own Database from Scratchhttps://build-your-own.org/database/Asking generative art AI to render mathematical theoremshttps://twitter.com/TivadarDanka/status/1649721970886594561DuckDB:https://duckdb.org/Book of the Show:Jason: Fighting Fantasy Classicshttps://play.google.com/store/apps/details?id=com.tinmangames.ffhub&hl=en_US&gl=UShttps://apps.apple.com/us/app/fighting-fantasy-classics/id1261201650Patrick: Evolutions in Bread: Artisan Pan Breads and Dutch-Oven Loaves at Homehttps://amzn.to/44kW4iETool of the Show:Jason: Jinja https://jinja.palletsprojects.com/en/3.1.x/Patrick: Rill https://www.rilldata.com/If you’ve enjoyed this episode, you can listen to more on Programming Throwdown’s website: https://www.programmingthrowdown.com/ Reach out to us via email: programmingthrowdown@gmail.com You can also follow Programming Throwdown on Facebook | Apple Podcasts | Spotify | Player.FM | Youtube Join the discussion on our DiscordHelp support Programming Throwdown through our Patreon
★ Support this podcast on Patreon ★

Jun 12, 2023 • 1h 23min
159: GraphQL with Tanmai Gopal
GraphQL is one of the biggest API enablers in software development, but just how complicated can things be? Tanmai Gopal – Hasura’s CEO extraordinaire – talks with Jason and Patrick about how the secret sauce gets made. They dive deeply from how APIs function to having them managed in practice – among several other topic, making this a must-listen episode. 00:01:19 Introductions00:01:48 Tanmai’s late start in programming00:05:48 Plinko00:13:06 Coursera00:23:28 The question of API development00:30:30 API layer functionality00:34:58 How Hasura leverages JSON00:39:08 GraphQL00:42:49 Worse than an API call00:49:15 The potential REST minefield00:53:41 JSON Web Tokens01:11:34 Scaling writes01:15:17 Careers with Hasura01:22:35 FarewellsResources mentioned in this episode:Join the Programming Throwdown Patreon community today: https://www.patreon.com/programmingthrowdown?ty=h Subscribe to the podcast on Youtube: https://www.youtube.com/@programmingthrowdown4793Links: Tanmai Gopal: Website: https://hasura.io/blog/@tanmaig/ Linkedin: https://www.linkedin.com/in/tanmaig/ Twitter: https://twitter.com/tanmaigo Github: https://github.com/coco98 Hasura: Website: https://hasura.io/ Careers: https://hasura.io/careers/ Twitter: https://twitter.com/HasuraHQ Github: https://github.com/hasura Linkedin: https://www.linkedin.com/company/hasura Others: Good Strategy, Bad Strategy (Amazon): https://www.amazon.com/Good-Strategy-Bad-Strategy-audiobook/dp/B07R6XQ8YP Modern Application Development (IIT Madras, archived): https://archive.nptel.ac.in/courses/106/106/106106156/If you’ve enjoyed this episode, you can listen to more on Programming Throwdown’s website: https://www.programmingthrowdown.com/ Reach out to us via email: programmingthrowdown@gmail.com You can also follow Programming Throwdown on Facebook | Apple Podcasts | Spotify | Player.FM | Youtube Join the discussion on our DiscordHelp support Programming Throwdown through our Patreon
★ Support this podcast on Patreon ★

May 22, 2023 • 1h 22min
158: Software Supply Chain with Bill Manning
In today’s episode, Jason and Patrick dive deeply with JFrog’s Senior Solutions Engineer, Bill Manning. With the conversation tackling the depth and complexity of software supply chains, vulnerabilities and more, Bill deftly offers grounded advice to listeners old and new. 00:00:26 Introductions00:00:40 Bill’s plethora of job titles00:09:33 The excitement of learning a language00:15:08 Mechanical keyboards00:21:17 Bill’s advice on adapting00:27:55 What a supply chain is00:34:28 Castle analogies00:40:55 Unpacking legalities00:52:11 Log4J00:54:41 What JFrog does01:01:16 What can go wrong01:08:08 Getting started in this space01:14:15 Careers in JFrog01:20:23 FarewellsResources mentioned in this episode:Join the Programming Throwdown Patreon community today: https://www.patreon.com/programmingthrowdown?ty=h Subscribe to the podcast on Youtube: https://www.youtube.com/@programmingthrowdown4793Links:Bill Manning:Website: https://about.me/billmanningLinkedin: https://www.linkedin.com/in/williammanning/Twitter: https://twitter.com/williammanningJFrog:Website: https://jfrog.com/Careers: https://join.jfrog.com/Artifactory: https://jfrog.com/artifactory/Linkedin: https://www.linkedin.com/company/jfrog-ltd/Others:Liquid Software: https://liquidsoftware.com/SolarWinds hack incident: https://www.wired.com/story/the-untold-story-of-solarwinds-the-boldest-supply-chain-hack-ever/Transitive dependencies: https://en.wikipedia.org/wiki/Transitive_dependencyMore Throwdown? Check out this prior episode:153: ChatGPT: https://www.programmingthrowdown.com/2023/03/153-chatgpt.htmlIf you’ve enjoyed this episode, you can listen to more on Programming Throwdown’s website: https://www.programmingthrowdown.com/ Reach out to us via email: programmingthrowdown@gmail.com You can also follow Programming Throwdown on Facebook | Apple Podcasts | Spotify | Player.FM | Youtube Join the discussion on our DiscordHelp support Programming Throwdown through our Patreon
★ Support this podcast on Patreon ★

May 8, 2023 • 1h 25min
157: Kubernetes with Craig Box
There’s more than what meets the eye when it comes to Kubernetes, and Craig Box – ARMO’s VP of Open Source & Community –is one of several who have seen its many twists and turns since its inception. He talks with Jason and Patrick about Kubernetes’ origins in pop culture, utility in the modern workflow, and possible future in today’s episode. 00:01:31 Introductions00:03:39 Craig’s early internet speed experience00:07:46 An adventure towards Google00:16:55 Project Seven00:21:17 Mesos00:26:42 The origin of Kubernetes00:28:36 DS9’s influence on naming conventions00:37:49 Getting more results with the same resources00:47:13 IPv400:53:44 Craig’s thoughts on learning Kubernetes01:06:59 Kubescape01:18:12 Working at ARMO01:23:16 Programming Throwdown on Youtube01:23:55 FarewellsResources mentioned in this episode:Join the Programming Throwdown Patreon community today: https://www.patreon.com/programmingthrowdown?ty=h Subscribe to the podcast on Youtube: https://www.youtube.com/@programmingthrowdown4793Links:Craig Box:Substack: https://substack.com/profile/107796914-craig-boxGithub: https://github.com/craigboxLinkedin: https://www.linkedin.com/in/crbnz/Twitter: https://twitter.com/craigboxARMO:Website: https://www.armosec.io/Linkedin: https://www.linkedin.com/company/armosec/Others:The Project Seven origin story: https://cloud.google.com/blog/products/containers-kubernetes/from-google-to-the-world-the-kubernetes-origin-story7 of 9 on Memory Alpha: https://memory-alpha.fandom.com/wiki/Seven_of_Nine More Throwdown? Check out this prior episode:E135: Kubernetes with Aran Khanna: https://www.programmingthrowdown.com/2022/06/135-kubernetes-with-aran-khanna.htmlIf you’ve enjoyed this episode, you can listen to more on Programming Throwdown’s website: https://www.programmingthrowdown.com/ Reach out to us via email: programmingthrowdown@gmail.com You can also follow Programming Throwdown on Facebook | Apple Podcasts | Spotify | Player.FM | Youtube Join the discussion on our DiscordHelp support Programming Throwdown through our Patreon
★ Support this podcast on Patreon ★

Apr 24, 2023 • 1h 18min
156: Perl and Regular Expressions
Should AI research be paused? How far ahead have deepfakes come? Join Patrick and Jason as they tackle their answers to these timely questions – plus an in-depth discussion on Perl in practice – with today’s episode of Programming Throwdown. Resources mentioned in this episode:Join the Programming Throwdown Patreon community today: https://www.patreon.com/programmingthrowdown?ty=h News/Links:GPT4All & Stanford Alpacahttps://github.com/nomic-ai/gpt4allGiant AI Experiments 6 month pause open letterhttps://futureoflife.org/open-letter/pause-giant-ai-experiments/Will Smith Eating Spaghetti generated videohttps://www.vice.com/en/article/xgw8ek/ai-will-smith-eating-spaghetti-hill-haunt-you-for-the-rest-of-your-lifeRobust image compression implementation from a NASA paperhttps://github.com/TheRealOrange/icer_compressionDig This Vegashttps://digthisvegas.com/XKCD:https://xkcd.com/208/AI Open Letter:https://futureoflife.org/open-letter/pause-giant-ai-experiments/Godbolt:https://godbolt.org/Book of the Show:Jason: It Doesn’t Have To Be Crazy At Workhttps://amzn.to/40PFgxHPatrick: Prince of Fools by Mark Lawrencehttps://amzn.to/3lWVEO9Tool of the Show:Jason: ReMarkable 2: https://remarkable.com/store/remarkable-2Patrick: Slay the Spire: https://store.steampowered.com/app/646570/Slay_the_Spire/ If you’ve enjoyed this episode, you can listen to more on Programming Throwdown’s website: https://www.programmingthrowdown.com/ Reach out to us via email: programmingthrowdown@gmail.com You can also follow Programming Throwdown on Facebook | Apple Podcasts | Spotify | Player.FM Join the discussion on our DiscordHelp support Programming Throwdown through our Patreon
★ Support this podcast on Patreon ★

Apr 10, 2023 • 1h 9min
155: The Future of Search with Saahil Jain
When it comes to untangling the complexities of what lies ahead for search engines in this age of AI, few are as deeply versed in the subject as You.com Engineer Saahil Jain. Jason and Patrick talk with him in this episode about what search even is, what challenges lie ahead, and where the shift in paradigms can be found. 00:01:16 Introductions00:02:06 How physics led Saahil to programming00:07:20 Getting started at Microsoft00:13:39 Analyzing human text input00:22:22 The exciting paradigm shift in search00:29:02 Rationales for direction00:33:40 Image generation models00:39:55 Knowledge bases00:45:12 FIFA00:49:29 Understanding the query’s intent00:51:18 Expectations00:55:38 A need to stay connected to authority repositories01:03:45 About working at You01:08:18 FarewellsResources mentioned in this episode:Join the Programming Throwdown Patreon community today: https://www.patreon.com/programmingthrowdown?ty=hLinks:Saahil Jain:Website: http://saahiljain.me/Email: saahil @ you.comGithub: https://github.com/saahil9jain/Linkedin: https://www.linkedin.com/in/saahiljain/Twitter: https://twitter.com/saahil9jainRadGraph: https://arxiv.org/abs/2106.14463VisualCheXbert: https://arxiv.org/abs/2102.11467 You.Com:Website: https://you.com/Twitter: https://twitter.com/YouSearchEngineDiscord: https://discord.gg/f9jRFH5gHP Others:On Thorium: https://www.youtube.com/watch?v=ElulEJruhRQ More Throwdown? Check out these prior episodes:E143: The Evolution of Search with Marcus Eagan: https://www.programmingthrowdown.com/2022/09/143-evolution-of-search-with-marcus.htmlE94: Search at Etsy: https://www.programmingthrowdown.com/2019/10/episode-94-search-at-etsy.html If you’ve enjoyed this episode, you can listen to more on Programming Throwdown’s website: https://www.programmingthrowdown.com/ Reach out to us via email: programmingthrowdown@gmail.com You can also follow Programming Throwdown on Facebook | Apple Podcasts | Spotify | Player.FM Join the discussion on our DiscordHelp support Programming Throwdown through our Patreon
★ Support this podcast on Patreon ★

Mar 27, 2023 • 1h 36min
154: Python Again with Jason C. McDonald
A second Jason joins this episode of Programming Throwdown! Jason McDonald – Python evangelist, author, and more – talks to Patrick and Jason about his experience with the programming language, how his disability helped and hindered his software career, and where its strengths and weaknesses lie. 00:01:05 Introductions00:02:27 Jason’s pivotal Doctor Who regeneration00:04:49 The power of dialog boxes00:10:10 Python’s power00:12:37 How disability discrimination can look00:17:40 Making vs playing games00:23:47 Jason’s POV on intention00:28:04 Why Jason stayed with Python00:40:11 Every language’s Thing00:49:42 Duck typing00:52:48 Global Interpreter Lock (GIL)01:14:16 Dependencies01:34:08 Finding Jason online01:35:20 FarewellsResources mentioned in this episode:Join the Programming Throwdown Patreon community today: https://www.patreon.com/join/programmingthrowdownLinks:Jason C. McDonald:Mastodon.Cloud: https://mastodon.cloud/@codemouse92Website: https://codemouse92.com/Github: https://github.com/CodeMouse92BugHunters Café @ iTunes: https://podcasts.apple.com/us/podcast/the-bug-hunters-caf%C3%A9/id1556496590Rural Sourcing:Website: https://www.ruralsourcing.com/Linkedin: https://www.linkedin.com/company/rural-sourcing/Book Recommendations:Dead Simple Python (Jason C. McDonald): https://www.amazon.com/Dead-Simple-Python-Idiomatic-Programmers/dp/1718500920Kill It With Fire (Marianne Bellotti): https://www.amazon.com/Kill-Fire-Manage-Computer-Systems/dp/1718501188Dreaming In Code (Scott Rosenberg): https://www.amazon.com/Dreaming-Code-Programmers-Transcendent-Software/dp/1400082471Others:Monty Python (troupe): https://en.wikipedia.org/wiki/Monty_PythonMonty Python (TV Show): https://en.wikipedia.org/wiki/Monty_Python%27s_Flying_CircusMore Python? Check out these prior episodes:E52: Scientific Python: https://www.programmingthrowdown.com/2016/03/episode-52-scientific-python.htmlE139: Scientific Python with Guido Imperiale: https://www.programmingthrowdown.com/2022/07/139-scientific-python-with-guido.htmlIf you’ve enjoyed this episode, you can listen to more on Programming Throwdown’s website: https://www.programmingthrowdown.com/Reach out to us via email: programmingthrowdown@gmail.comYou can also follow Programming Throwdown on Facebook | Apple Podcasts | Spotify | Player.FM Join the discussion on our DiscordHelp support Programming Throwdown through our Patreon
★ Support this podcast on Patreon ★