Programming Throwdown

Programming Throwdown

By Patrick Wheeler and Jason GauciNewsEducationHow ToTech News
Download on the App Store

Programming Throwdown episodes

  • 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 Raymarching
      • https://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

    • 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 ★
    1 hr 30 min
  • 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 Meteorologist
      • https://smartguess.is/blog/your-estimate-is-less-than-that/
    • Announcing python in excel
      • https://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 Engineers
      • https://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 Edition
        • https://amzn.to/3St3L35
    • Jason: 
      • The Pete and Sebastian Show
        • https://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: 
      • Obsidian
        • obsidian.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 29 min
  • 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 
      • 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 ★
    1 hr 27 min
  • 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 13 min
  • 165: Differential Equations

    Intro topic: Revisiting the power of Spreadsheets

    News/Links:

    • LK-99 Isn’t a Superconductor
      • https://www.nature.com/articles/d41586-023-02585-7
    • Normalizing Flows
      • https://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 Orlin
      • https://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 DiffEq
      • Law 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 17 min
  • 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 ★
    1 hr 32 min
  • 163: Recursion

    Episode 163 - Recursion


    Intro topic: Electric Cars


    News/Links:

    • Snake Game in 101 Bytes in a QR Code
      • https://www.reddit.com/r/programming/comments/15ab4ct/my_qr_code_snake_game_is_now_only_101_bytes/
    • Superconductor Rumors abound
      • https://arstechnica.com/science/2023/08/whats-going-on-with-the-reports-of-a-room-temperature-superconductor/
    • OpenWorm
      • https://github.com/openworm/OpenWorm
    • Creator of vim passes away
      • https://news.itsfoss.com/vim-creator-passed-away/


    Book of the Show

    • Patrick:
      • Little Book of Common Sense Investing by Jack Bogle https://amzn.to/43YqANR
    • Jason: 
      • Mistborn Saga: https://amzn.to/3DJkUN8

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


    Tool of the Show

    • Jason:
      • reMarkable https://remarkable.com/
    • Patrick: 
      • Stellarium (iOS and Android)

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

    • Google: We have no moat and neither does OpenAI
      • https://www.semianalysis.com/p/google-we-have-no-moat-and-neither
    • Stable Diffusion QR Codes
      • https://stable-diffusion-art.com/qr-code/ 
    • Beginning to Make Music
      • https://learningmusic.ableton.com/
    • GPT4All
      • https://gpt4all.io/index.html
    • Wordnet:
      • https://wordnet.princeton.edu/
    • Inform:
      • https://en.wikipedia.org/wiki/Inform

    Book of the Show

    • Patrick:
      • White Sand https://amzn.to/43CPMKA
    • Jason: 
      • The Fortuna https://www.generativefiction.com/

    Tool of the Show

    • Jason:
      • 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: [email protected]

     

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

    • Hagay Lupesko:
      • Linkedin: https://www.linkedin.com/in/hagaylupesko/
      • Twitter: https://twitter.com/hagay_lupesko
      • Github: https://github.com/lupesko
    • MosaicML:
      • Website: https://www.mosaicml.com/
      • Careers: https://www.mosaicml.com/careers
      • Twitter: https://twitter.com/MosaicML
      • Linkedin: https://www.linkedin.com/company/mosaicml/
    • Others:
      • Amp It Up (Amazon): https://www.amazon.com/Amp-Unlocking-Hypergrowth-Expectations-Intensity/dp/1119836115
      • Hugging 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: [email protected]

     

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

    • The History of Super Mario Bros 3 100% World Records (Summoning Salt)
      • https://www.youtube.com/watch?v=_EsFyogVvkw
    • AutoGPT hits 100k stars
      • https://twitter.com/AlphaSignalAI/status/1649524105647906819
    • Build Your Own Database from Scratch
      • https://build-your-own.org/database/
    • Asking generative art AI to render mathematical theorems
      • https://twitter.com/TivadarDanka/status/1649721970886594561
    • DuckDB:
      • https://duckdb.org/

    Book of the Show:

    • Jason: Fighting Fantasy Classics
      • https://play.google.com/store/apps/details?id=com.tinmangames.ffhub&hl=en_US&gl=US
      • https://apps.apple.com/us/app/fighting-fantasy-classics/id1261201650
    • Patrick: Evolutions in Bread: Artisan Pan Breads and Dutch-Oven Loaves at Home
      • https://amzn.to/44kW4iE

    Tool 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: [email protected]

     

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

About Programming Throwdown

From the publisher's feed

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…

More shows like Programming Throwdown

Software Engineering Radio - the podcast for professional software developers by team@se-radio.net (SE-Radio Team)

Software Engineering Radio - the podcast for professional software developers

273 Listeners

Hanselminutes with Scott Hanselman by Scott Hanselman

Hanselminutes with Scott Hanselman

379 Listeners

The Changelog: Software Development, Open Source by Changelog Media

The Changelog: Software Development, Open Source

286 Listeners

Software Engineering Daily by Software Engineering Daily

Software Engineering Daily

623 Listeners

LINUX Unplugged by Jupiter Broadcasting

LINUX Unplugged

272 Listeners

Talk Python To Me by Michael Kennedy

Talk Python To Me

582 Listeners

Soft Skills Engineering by Jamison Dance and Dave Smith

Soft Skills Engineering

286 Listeners

Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

Syntax - Tasty Web Development Treats

985 Listeners

The freeCodeCamp Podcast by freeCodeCamp.org

The freeCodeCamp Podcast

484 Listeners

CoRecursive: Coding Stories by Adam Gordon Bell - Software Developer

CoRecursive: Coding Stories

188 Listeners

.NET Rocks! by Carl Franklin and Richard Campbell

.NET Rocks!

244 Listeners

The Stack Overflow Podcast by The Stack Overflow Podcast

The Stack Overflow Podcast

62 Listeners

The Real Python Podcast by Real Python

The Real Python Podcast

139 Listeners

Oxide and Friends by Oxide Computer Company

Oxide and Friends

66 Listeners

The Pragmatic Engineer by Gergely Orosz

The Pragmatic Engineer

72 Listeners