170 episodes

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.

Programming Throwdown Patrick Wheeler and Jason Gauci

    • Education
    • 4.6 • 545 Ratings

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.

    169: HyperLogLog

    169: HyperLogLog

    Intro topic: Testing your car battery
    News/Links:

    Tech Layoffs still going on
    https://www.sfchronicle.com/tech/article/google-layoffs-california-companies-18465600.php 

    Real-time dreamy Cloudscapes with Volumetric Raymarchinghttps://blog.maximeheckel.com/posts/real-time-cloudscapes-with-volumetric-raymarching/

    Robot Rascals
    https://en.wikipedia.org/wiki/Robot_Rascals 

    Meta Quest 3 
    https://www.theverge.com/23906313/meta-quest-3-review-vr-mixed-reality-headset


    Book of the Show

    Patrick:HyperLogLog Paper
    https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/40671.pdf 


    Jason: Eureka! NVIDIA Research Breakthrough Puts New Spin on Robot Learning 
    https://blogs.nvidia.com/blog/2023/10/20/eureka-robotics-research/ 


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

    Tool of the Show

    Patrick: Techtonica: https://store.steampowered.com/app/1457320/Techtonica/ 

    Jason:
    ESP32 development board: https://amzn.to/3Qpmb20 
    WEMOS





    Topic: HyperLogLog

    MotivationCardinality 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 ★

    • 1 hr 29 min
    168: Godot

    168: Godot

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

    Pushing for a lower dev estimate is like negotiating weather with a Meteorologisthttps://smartguess.is/blog/your-estimate-is-less-than-that/

    Announcing python in excelhttps://techcommunity.microsoft.com/t5/excel-blog/announcing-python-in-excel-combining-the-power-of-python-and-the/ba-p/3893439

    7 Habits of Highly Effective Software Engineershttps://makingsmallercircles.com/articles/7-habits-of-highly-effective-software-engineers/

    Raspberry pi 5 begins shipping
    https://www.phoronix.com/news/Raspberry-Pi-5-Shipping


    Book of the Show

    Patrick:Harry Potter and the Sorcerer's Stone Illustrated Editionhttps://amzn.to/3St3L35


    Jason: The Pete and Sebastian Showhttps://podcasts.apple.com/us/podcast/the-pete-and-sebastian-show/id570256898


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

    Tool of the Show

    Patrick: Obsidianobsidian.md


    Jason:Ink by Inkle
    https://github.com/inkle/ink




    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 ★

    • 1 hr 28 min
    167: Desktop User Interfaces

    167: Desktop User Interfaces

    Intro topic: Jogging Metrics
    News/Links:

    Unholy LLM
    https://huggingface.co/Undi95/Unholy-v1-12L-13B 

    The reverse red herring  https://www.blameless.com/blog/the-reverse-red-herring

    The "ens–tification" of TikTok
    https://www.wired.com/story/tiktok-platforms-cory-doctorow/ 

    Response letter to Godot is not the new Unity
    https://sampruden.github.io/posts/godot-is-not-the-new-unity/

    https://gist.github.com/reduz/cb05fe96079e46785f08a79ec3b0ef21



    Book of the Show

    Patrick:
    Math Games with Bad Drawings by Ben Orlin
    https://amzn.to/48qlg9A


    Jason: 
    The Invisible Hook: The Hidden Economics of Pirates
    https://amzn.to/3LChBff


    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 


    StreamlitPython to web compiler

    Game EnginesUnity, 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 ★

    • 1 hr 26 min
    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 ★

    • 1 hr 12 min
    165: Differential Equations

    165: Differential Equations

    Intro topic: Revisiting the power of Spreadsheets
    News/Links:

    LK-99 Isn’t a Superconductorhttps://www.nature.com/articles/d41586-023-02585-7

    Normalizing Flowshttps://pyro.ai/examples/normalizing_flows_i.html

    How is llama.cpp possible?https://finbarr.ca/how-is-llama-cpp-possible/

    Chat with open source large language models
    https://chat.lmsys.org/


    Book of the Show

    Patrick: Math with Bad Drawings by Ben Orlinhttps://amzn.to/44dsgDz

    Jason: Overboard! https://play.google.com/store/apps/details?id=com.InkleLtd.Overboard Nhl=en_US&gl=US 

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

    Tool of the Show

    Patrick: ffmprovisr https://amiaopensource.github.io/ffmprovisr/


    Jason:Pandas read_ods() read_excel()



    Topic: Differential Equations

    Why should programmers learn about DiffEqLaw of Large Numbers

    What are differential equations?
    When you know the rate of change
    EigenVectors & EigenValues
    What is Jacobian What is Jacobian? | The right way of thinking derivatives and integrals



    Special cases
    Partial Differential Equations
    Ordinary Differential Equations


    Why solvers are important
    Numerical Stability at larger step sizes
    Example: https://medium.com/@pukumarathe/eulers-method-and-runge-kutta-4th-order-method-in-python-b4a0068a8ebe 


    Fun Examples
    Predator-Prey relationships in scipy
    https://scientific-python.readthedocs.io/en/latest/notebooks_rst/3_Ordinary_Differential_Equations/02_Examples/Lotka_Volterra_model.html 

    Physics Engines for games
    https://youtu.be/52n2qKgwW_Q 

    PageRank
    https://arxiv.org/pdf/2001.08973.pdf 







    ★ Support this podcast on Patreon ★

    • 1 hr 16 min
    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 environmentClient vs Server access

    Info on Kris & Harper:

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



    ★ Support this podcast on Patreon ★

    • 1 hr 31 min

Customer Reviews

4.6 out of 5
545 Ratings

545 Ratings

Davidcarrsglove ,

Fantastic Podcast

I have been listening for a long time and finally remembered to rate it. Fantastic podcast packed with useful information. Im always looking forward to the next episode.

Arlie K ,

Check it out!

I really love Programming Throwdown! Patrick and Jason consistently offer information-packed episodes in an easy to consume package. I learn something every time!

NeWaGe24 ,

Bad interviews

Daniel Liebeskind is pushing his crappy 2D “mmo” that peddles NFTs and bitcoin. Unfollowed this podcast after another crappy interview.

Top Podcasts In Education

Mel Robbins
CAKE MEDIA
Mark Manson
Black Girl Flow Podcast
Dr. Jordan B. Peterson
The Atlantic

You Might Also Like

se-radio@computer.org
Allen Underwood, Michael Outlaw, Joe Zack
Adam Gordon Bell - Software Developer
Changelog Media
Software Engineering Daily
The Stack Overflow Podcast