Logo
    Search

    Programming Throwdown

    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.
    en-usPatrick Wheeler and Jason Gauci173 Episodes

    Episodes (173)

    172: Transformers and Large Language Models

    172: Transformers and Large Language Models

    172: Transformers and Large Language Models


    Intro topic: Is WFH actually WFC?

    News/Links:


    Book of the Show


    Patreon Plug https://www.patreon.com/programmingthrowdown?ty=h


    Tool of the Show


    Topic: Transformers and Large Language Models

    • How neural networks store information
      • Latent variables
    • Transformers
      • Encoders & Decoders
    • Attention Layers
      • History
        • RNN
          • Vanishing Gradient Problem
        • LSTM
          • Short term (gradient explodes), Long term (gradient vanishes)
      • Differentiable algebra
      • Key-Query-Value
      • Self Attention
    • Self-Supervised Learning & Forward Models
    • Human Feedback
      • Reinforcement Learning from Human Feedback
      • Direct Policy Optimization (Pairwise Ranking)



    ★ Support this podcast on Patreon ★

    171: Compilers and Interpreters

    171: Compilers and Interpreters

    Intro topic: Monitor setups

    News/Links:


    Book of the Show


    Patreon Plug https://www.patreon.com/programmingthrowdown?ty=h


    Tool of the Show


    Topic: Compilers and Interpreters (Request by Jessica W.)

    • Machine Code
      • Architecture Specific
    • Assembly
      • Single vs Two Pass Compiler
    • High level Languages
      • Intermediate Representation
      • JVM ByteCode vs Machine Code for portability
    • Scripting/Interpreters
    • JIT
    • Profile Guided Optimization
    • Resources
    ★ Support this podcast on Patreon ★

    170: 2023 Holiday Special Live

    170: 2023 Holiday Special Live

    Predictions:
    Jason 

    • VR for Work
    • Lowering AI training cost/ improved efficiency
    • RISC-V takeoff


    Patrick

    • Ai claim of AGI
    • Ai peer reviewer
    • Ai Video Generator
    • More space vehicles reaching orbit

    Early career, finding role at FAANG, liaising vs shipping code. Startup?

    3 part. 1. How and when current hype for AI will end? 2. Shape of the show 3. Upcoming in tech

    What are essential programmer knowledge items?

    CS Student, how to organize life and goals? What purpose life should serve?

    What kind of programmer were you in college?

    Happy Holidays!

    ★ Support this podcast on Patreon ★

    169: HyperLogLog

    169: HyperLogLog

    Intro topic: Testing your car battery

    News/Links:

    Book of the Show

    Patreon Plug https://www.patreon.com/programmingthrowdown?ty=h


    Tool of the Show


    Topic: HyperLogLog

    • Motivation
      • Cardinality Counting
    • LinearCounting
      • Hash + expectation of collision based on how full
      • Bloom Filter
    • LogLog
      • Use first N bits as bucket
      • Use max sequential 0s in each bucket
      • Average
    • HyperLogLog
      • Handle empty buckets
      • Use correction factor like linear counting for low counts (number of empty buckets) and high counts
    • Distributing

      • Transfer bucket counts

    ★ Support this podcast on Patreon ★

    168: Godot

    168: Godot

    Intro topic: What are expectations on developers that have nothing to do with programming

    News/Links:

    Book of the Show

    Patreon Plug https://www.patreon.com/programmingthrowdown?ty=h


    Tool of the Show


    Topic: Godot

    • What is a game engine?
      • Graphics, animation, particle effects
      • Tilemaps
      • Entity component systems
      • Physics
      • Sound
      • I/O
      • Input handling (touchscreen, joystick)
      • GDScript
    • Why use a game engine?
      • Portability
      • Allow for testing individual components of the game
      • Libraries for ads, in-app-purchases
    • Godot
      • Open source
      • Focused on 2-D but now many 3-D features
      • Great development environment
    • AI Hero
      • Started in phaser (development rut)
      • Moved to Godot, rapid prototyping


    ★ Support this podcast on Patreon ★
    Programming Throwdown
    en-usNovember 20, 2023

    167: Desktop User Interfaces

    167: Desktop User Interfaces

    Intro topic: Jogging Metrics

    News/Links:

    Book of the Show

    Patreon Plug https://www.patreon.com/programmingthrowdown?ty=h


    Tool of the Show

    • Patrick: 
      • Factorio (Desktop Game)
    • Jason:
      • AI Hero (iOS and Android)


    Topic: Desktop user interfaces

    • What is a user interface?
    • Web and Mobile UI toolkits
    • Desktop options
      • Qt
        • Cross platform, custom UI elements
        • Qt creator, code generator
      • WxWidgets
        • Cross platform, uses native UI elements 
        • WxFormDesigner, code generation
        • Can look different on different operating systems
      • Electron
        • Local nodejs webserver
        • Html/JavaScript technology
        • Requires interprocess communication to use other languages  
      • Jupyter notebooks
        • Mathematica-like notebook 
        • Not for distribution 
      • Streamlit
        • Python to web compiler
      • Game Engines
        • Unity, Godot, Unreal
    • Tips for building desktop UI
      • UI is slow (startup time, interaction time)
      • Separate the UI from the engine & business logic

    ★ Support this podcast on Patreon ★

    166: Speedy Database Queries with Lukas Fittl

    166: Speedy Database Queries with Lukas Fittl

    - pganalyze: https://pganalyze.com/

    - Weekly series "5mins of Postgres": https://www.youtube.com/channel/UCDV_1Dz2Ixgl1nT_3DUZVFw

    - How Postgres chooses which index to use: https://pganalyze.com/blog/how-postgres-chooses-index

    - CMU databases courses: https://db.cs.cmu.edu/courses/

    - Postgres community: https://www.postgresql.org/community/


    As well as social links:

    - Mastodon: https://hachyderm.io/@lukas

    - Twitter/X: @pganalyze, @LukasFittl

    - GitHub: @pganalyze, @lfittl

    - LinkedIn: https://www.linkedin.com/in/lfittl/ , https://www.linkedin.com/company/pganalyze/

    ★ Support this podcast on Patreon ★

    165: Differential Equations

    165: Differential Equations

    Intro topic: Revisiting the power of Spreadsheets

    News/Links:

    Book of the Show

    Patreon Plug https://www.patreon.com/programmingthrowdown?ty=h


    Tool of the Show

    Topic: Differential Equations

    ★ Support this podcast on Patreon ★

    164: Choosing a Database For Your Project With Kris Zyp

    164: Choosing a Database For Your Project With Kris Zyp

    Things to consider when choosing a database

    • Speed & Latency
    • Consistency, ACID Compliance
    • Scalability
    • Language support & Developer Experience
    • Relational vs. Non-relational (SQL vs. NoSQL)
    • Data types
    • Security
    • Database environment
      • Client vs Server access


    Info on Kris & Harper:

    • Website: harperdb.io
    • Twitter: @harperdbio, @kriszyp
    • Github: @HarperDB, @kriszyp


    ★ Support this podcast on Patreon ★

    163: Recursion

    163: Recursion

    Episode 163 - Recursion


    Intro topic: Electric Cars


    News/Links:


    Book of the Show

    Patreon Plug https://www.patreon.com/programmingthrowdown?ty=h


    Tool of the Show

    Topic: Recursion

    • What is it
      • Divide-And-Conquer
      • Fibonacci numbers
    • How to (not) teach recursion
    • Practical Applications
      • Graph operations
        • Tree retrieval, balancing
        • Graph Search
      • Spatial partitioning
    • Pitfalls
      • Stack size
    • How 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 ★

    162: Interactive Fiction

    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 Introductions

    00:00:39 To hard mode or not to hard mode

    00:08:58 No moats in Google

    00:16:37 Stable Diffusion blows Jason’s mind

    00:21:31 Putting beats together

    00:23:38 GPT4All

    00:27:44 White Sand

    00:35:28 Fortuna

    00:38:55 Patrick’s ‘dirty’ secret

    00:47:20 Wordnet

    00:53:56 Procedural generation

    00:57:29 On tabletop RPGs

    01:00:48 Inform

    01:07:27 Farewells


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

    Book of the Show

    Tool of the Show

     

    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 Discord

    Help support Programming Throwdown through our Patreon

    ★ Support this podcast on Patreon ★

    161: Leveraging Generative AI Models with Hagay Lupesko

    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 Introductions

    00:02:09 Hagay’s circuitous career journey

    00:08:25 Building software for large factories

    00:17:30 The reality of new technologies

    00:28:10 AWS

    00:29:33 Pytorch’s leapfrog advantage

    00:37:24 MosaicML’s mission

    00:39:29 Generative AI

    00:44:39 Giant data models

    00:57:00 Data access tips

    01:10:31 MPT-7B

    01:27:01 Careers in Mosaic

    01:31:46 Farewells


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

     

    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 Discord

    Help support Programming Throwdown through our Patreon

    ★ Support this podcast on Patreon ★

    160: Position Localization

    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 Deck
    00:11:22 Summoning Salt on Mario
    00:16:49 100k stars
    00:24:26 ChatGPT spam call
    00:25:31 Build Your Own DB (from scratch)
    00:29:50 DuckDB
    00:35:07 Jason has an idea
    00:37:58 Fighting Fantasy Classics
    00:41:52 Patrick’s bread
    00:47:52 Support the show
    00:53:54 Awkward CRM emails
    00:56:07 Rill
    01:00:29 Position localization in detail
    01:17:15 Common filter
    01:25:22 Simultaneous localization
    01:28:59 Farewells

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

    Book of the Show:

    Tool of the Show:

    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 Discord

    Help support Programming Throwdown through our Patreon

    ★ Support this podcast on Patreon ★

    159: GraphQL with Tanmai Gopal

    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 Introductions

    00:01:48 Tanmai’s late start in programming

    00:05:48 Plinko

    00:13:06 Coursera

    00:23:28 The question of API development

    00:30:30 API layer functionality

    00:34:58 How Hasura leverages JSON

    00:39:08 GraphQL

    00:42:49 Worse than an API call

    00:49:15 The potential REST minefield

    00:53:41 JSON Web Tokens

    01:11:34 Scaling writes

    01:15:17 Careers with Hasura

    01:22:35 Farewells


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

    •  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 Discord

    Help support Programming Throwdown through our Patreon

    ★ Support this podcast on Patreon ★

    158: Software Supply Chain with Bill Manning

    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 Introductions

    00:00:40 Bill’s plethora of job titles

    00:09:33 The excitement of learning a language

    00:15:08 Mechanical keyboards

    00:21:17 Bill’s advice on adapting

    00:27:55 What a supply chain is

    00:34:28 Castle analogies

    00:40:55 Unpacking legalities

    00:52:11 Log4J

    00:54:41 What JFrog does

    01:01:16 What can go wrong

    01:08:08 Getting started in this space

    01:14:15 Careers in JFrog

    01:20:23 Farewells


    Resources 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:
      • Bill Manning:
        • Website: https://about.me/billmanning
        • Linkedin: https://www.linkedin.com/in/williammanning/
        • Twitter: https://twitter.com/williammanning
      • JFrog:
      • 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_dependency

    More Throwdown? Check out this prior episode:

    • 153: ChatGPT: https://www.programmingthrowdown.com/2023/03/153-chatgpt.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 | Youtube

     

    Join the discussion on our Discord

    Help support Programming Throwdown through our Patreon 

    ★ Support this podcast on Patreon ★

    157: Kubernetes with Craig Box

    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 Introductions

    00:03:39 Craig’s early internet speed experience

    00:07:46 An adventure towards Google

    00:16:55 Project Seven

    00:21:17 Mesos

    00:26:42 The origin of Kubernetes

    00:28:36 DS9’s influence on naming conventions

    00:37:49 Getting more results with the same resources

    00:47:13 IPv4

    00:53:44 Craig’s thoughts on learning Kubernetes

    01:06:59 Kubescape

    01:18:12 Working at ARMO

    01:23:16 Programming Throwdown on Youtube

    01:23:55 Farewells


    Resources 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

     

    More Throwdown? Check out this prior episode:

    • E135: Kubernetes with Aran Khanna: https://www.programmingthrowdown.com/2022/06/135-kubernetes-with-aran-khanna.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 | Youtube

     

    Join the discussion on our Discord

    Help support Programming Throwdown through our Patreon

    ★ Support this podcast on Patreon ★

    156: Perl and Regular Expressions

    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:

    Book of the Show:


    Tool of the Show:

     

    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 Discord

    Help support Programming Throwdown through our Patreon

    ★ Support this podcast on Patreon ★

    155: The Future of Search with Saahil Jain

    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 Introductions

    00:02:06 How physics led Saahil to programming

    00:07:20 Getting started at Microsoft

    00:13:39 Analyzing human text input

    00:22:22 The exciting paradigm shift in search

    00:29:02 Rationales for direction

    00:33:40 Image generation models

    00:39:55 Knowledge bases

    00:45:12 FIFA

    00:49:29 Understanding the query’s intent

    00:51:18 Expectations

    00:55:38 A need to stay connected to authority repositories

    01:03:45 About working at You

    01:08:18 Farewells


    Resources mentioned in this episode:

    Join the Programming Throwdown Patreon community today: https://www.patreon.com/programmingthrowdown?ty=h

    Links:

     

    More Throwdown? Check out these prior episodes:

     

    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 Discord

    Help support Programming Throwdown through our Patreon

    ★ Support this podcast on Patreon ★

    154: Python Again with Jason C. McDonald

    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 Introductions

    00:02:27 Jason’s pivotal Doctor Who regeneration

    00:04:49 The power of dialog boxes

    00:10:10 Python’s power

    00:12:37 How disability discrimination can look

    00:17:40 Making vs playing games

    00:23:47 Jason’s POV on intention

    00:28:04 Why Jason stayed with Python

    00:40:11 Every language’s Thing

    00:49:42 Duck typing

    00:52:48 Global Interpreter Lock (GIL)

    01:14:16 Dependencies

    01:34:08 Finding Jason online

    01:35:20 Farewells


    Resources mentioned in this episode:

    Join the Programming Throwdown Patreon community today: https://www.patreon.com/join/programmingthrowdown

    Links:

    More Python? Check out these prior episodes:

    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 Discord

    Help support Programming Throwdown through our Patreon

    ★ Support this podcast on Patreon ★

    153: ChatGPT

    153: ChatGPT

    ChatGPT has made a mark on the world as we know it, but that’s only the tip of the AI iceberg. Join us as we discuss how the field of artificial intelligence is growing – including some developments that might not be on your radar!


    00:00:23 Introductions

    00:02:01 Jason’s attic adventure

    00:06:09 Comparing saws

    00:10:57 Patrick’s surprisingly useful thing

    00:12:21 SpaceX

    00:17:31 Human motion diffusion model

    00:20:47 37Signals

    00:29:30 Polars

    00:35:37 Books of the Show

    00:46:11 Neon

    00:50:33 Patrick’s player search

    00:53:47 ChatGPT

    01:17:12 The threat to Google

    01:28:06 Jason and Patrick’s future prognostications

    01:32:13 Farewells


    Resources mentioned in this episode:

    Join the Programming Throwdown Patreon community today:  https://www.patreon.com/programmingthrowdown?ty=h


    News/Links:


    Book of the Show:


    Tool of the Show:


    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 Discord

    Help support Programming Throwdown through our Patreon

    ★ Support this podcast on Patreon ★
    Programming Throwdown
    en-usMarch 13, 2023