
170 episodes

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
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 ★ -
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 ★ -
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 ★ -
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
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 ★ -
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 ★
Customer Reviews
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.
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!
Bad interviews
Daniel Liebeskind is pushing his crappy 2D “mmo” that peddles NFTs and bitcoin. Unfollowed this podcast after another crappy interview.