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)

    133: Solving for the Marketplace Problem with Andrew Yates

    133: Solving for the Marketplace Problem with Andrew Yates

    As anyone who listens to the show regularly knows, I've always been fascinated by marketplaces.  How do we figure out what to charge for something, and how do we match buyers and sellers?  How does a company like Uber match drivers to riders so quickly?  Today we have Andrew Yates, Co-Founder & CEO at Promoted.ai, to talk about marketplaces and how to optimize for this two-sided problem.

     

    00:00:15 Introduction

    00:00:27 Introducing Andrew Yates

    00:00:50 Andrew’s Programming Background

    00:04:19 Andrew at Promoted.AI

    00:08:17 What is a Marketplace?

    00:17:45 Marketplace Rankings

    00:22:50 Short-term vs Long-term Experience

    00:24:43 Machine Learning and the Marketplace

    00:34:57 Measurements

    00:37:09 Promoted.AI Integration

    00:38:31 How Promoted.AI Measures Success

    00:41:14 Auction Theory

    00:46:08 Experience with YCombinator

    00:50:34 Promoted.AI as a Company

    00:55:47 Farewells

     

     



     

    Resources mentioned in this episode:

     

    Andrew Yates, Co-Founder & CEO at Promoted.ai:

     

    Promoted.ai:


    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 ★

    132: Funding Open-Source Projects

    132: Funding Open-Source Projects

    00:00:15 Introduction

    00:01:24 Gaming setups

    00:12:25 News

    • 00:12:27 I was wrong, CRDTs are the future
    • 00:17:18 How we lost 54k Github stars
    • 00:21:10 DALL-E
    •  00:25:45 Inside the Longest Atlassian Outage of All Time

    00:35:11: Sponsor

    00:36:22 Book of the Show

    • 00:36:38 Indie Boardgame Designers Podcast
    • 00:37:24 The Laundry Files

    00:40:35 Tool of the Show

    • 00:40:39 Zapier
    • 00:42:21 Earthly

    00:46:46 Funding open-source projects

    01:19:44 How to get funding for open-source projects

    01:22:47 Farewells

     

     

    Resources mentioned in this episode:

    Media:

    News:

    Books:

    Tools:

    Adam Gordon Bell:

     

     

    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 ★

    131: Supporting your Favorite Creators with Brave with Jimmy Secretan

    131: Supporting your Favorite Creators with Brave with Jimmy Secretan

    I've been a big fan of Brave Browser ever since attending a presentation from Brandon Eich back in 2017.  Brave was one of the first browsers to aggressively block the ability for websites to share information on your computer without your consent (i.e. third party cookies).  I'm so excited to sit down with Jimmy Secretan, VP of Ads and Premium Services of Brave, and talk about all things Brave, from the Browser to the other products to the way Brave takes privacy on the internet to a whole new level, while also empowering content creators and advertisers who depend on ads for income and to promote their businesses.


    00:00:15 Introduction

    00:00:44 Introducing Jimmy Secretan

    00:01:10 How Brave started

    00:09:33 Brave and internet advertising

    00:21:13 Local machine learning

    00:32:07 What is BAT (Brave Attention Tokens) 

    00:42:59 Cross-platform data synchronization 

    00:44:28 Chromium

    00:50:22 Public and Private key encryption and authentication

    00:54:27 Brave for Content Creators

    00:59:03 Where is Brave now and what is its trajectory

    01:05:40 Opportunities in Brave

    01:13:10 Farewells



    Resources mentioned in this episode:

    Jimmy Secretan, VP of Ads and Premium Services:

     

    Brave:



    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 ★

    130: Ethical Hacking with Ted Harrington

    130: Ethical Hacking with Ted Harrington

    "Hacking" is a word that evokes awe from the public, laughter from developers, and pure fear from technology leaders.  But what really is hacking?  What does trust really mean and how do we acquire and keep trust on the Internet?  It turns out that, while hacking is associated with computers, the methods behind it have been around since the dawn of time.  Today we have Ted Harrington from ISE to dive deep into hacking, all the way from the medieval times to today.

     

    00:00:15 Intro

    00:01:25 Introducing Ted Harrington

    00:07:10 Ethical Hackers, Non-Ethical Hackers, and Productivity

    00:11:58 Starting out in Ethical Hacking/Security

    00:14:40 Imposter Syndrome

    00:19:34 What is Hacking?

    00:30:48 Is Hacking like magic?

    00:38:14 Defense in Depth

    00:42:04 Earning trust and The Departed movie (Spoiler alert)

    00:59:52 DEF CON® Hacking Conference

    01:02:46 Tips on how not to get hacked

    01:10:08 ISE.io culture and opportunities

    01:24:13 Farewells

     

     

     

     

     Resources mentioned in this episode:

      Companies:

        ISE (Independent Security Evaluators)

    o    Website: https://www.ise.io/

    o    LinkedIn: https://www.linkedin.com/company/independent-security-evaluators

    o    Twitter: https://twitter.com/ISEsecurity

    o    Facebook: https://facebook.com/ISE.infosec

     

    People:

        Ted Harrington

    o   Website: https://www.tedharrington.com/

    o   LinkedIn: https://www.linkedin.com/in/securityted/

    o   Twitter: https://twitter.com/SecurityTed

    o   Book: https://www.amazon.com/Hackable-How-Application-Security-Right/dp/154451767X

     

     

    Sponsor:

        MParticle

    o   Website: https://www.mparticle.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 

     

    Join the discussion on our Discord

    Help support Programming Throwdown through our Patreon 

    ★ Support this podcast on Patreon ★

    Episode 129 - Web3.0: Breaking free from the Client Server Model with Michelle Lee

    Episode 129 - Web3.0: Breaking free from the Client Server Model with Michelle Lee

    Brief Summary:

     

    What is Web 3.0? Guest speaker Michelle Lee, Product Lead of Protocol Labs, shares how web 3.0 will revolutionize the Internet and bring trust back into the web.

     

    00:00:25 Introduction

    00:01:36 Michelle Lee’s career 

    00:03:10 What is human-computer interaction?

    00:04:55 The Google Sheets user experience

    00:06:19 Google Checkout, user feedback, and emails

    00:10:23 Code for America

    00:13:47 The real power of Open Source

    00:14:14 Web 3.0

    00:23:04 IPFS network accessibility

    00:26:14 How does IPFS handle bogus content?

    00:38:56 Network storage costs

    00:43:03 Privacy and identification on IPFS

    00:45:23 Content moderation from the Web 3.0 perspective

    00:49:48 Audius

    00:54:20 Protocol Labs and IPFS

    00:55:26 Working with Protocol Labs

    01:05:00 Farewells

     

     

     

    Resources mentioned in this episode:

       

    Companies:

     

     

     

    Social Media:

     

     

    Sponsor:


     




    Download the episode here

    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 ★

    128: WebAssembly with Kevin Hoffman

    128: WebAssembly with Kevin Hoffman

    Summary:


    What is WebAssembly? Guest speaker Kevin Hoffman, CTO of Cosmonic shares what WebAssembly is, why it exists, and what kind of things you can do with it.

    Notes:


    00:00:16 Introduction

    00:00:52 Cosmonic during COVID

    00:02:45 Kevin Hoffman’s career and Cosmonic’s begginings

    00:12:39 WebAssembly integrations

    00:16:20 What is WebAssembly?

    00:27:30 The developer experience

    00:30:30 WebAssembly, JSON, and other object interactions

    00:36:35 Rollbar

    00:41:08 Compiler linking

    00:49:27 wasmCloud

    00:54:21 Decoupling clouds

    01:01:51 Cosmonic fostering wasmCloud/WebAssembly

    01:03:28 Cosmonic as a company

    01:09:33 Opportunities at Cosmonic

    01:13:03 Farewells

    Resources mentioned in this episode:
    Companies:



    People:

    Sponsor:

    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 ★

    127: AI for Code with Eran Yahav

    127: AI for Code with Eran Yahav

    Brief Summary:


    Programming is difficult as it is, but imagine how difficult it was without all the current tools, compilers, synthesizers, etc. that we have today. Eran Yahav, Chief Technology Officer at Tabnine shares how AI is currently helping with code writing and how it could change in the future.


    00:00:16 Introduction

    00:00:51 Eran Yahav’s programming background

    00:08:11 Balance between Human and the Machine

    00:11:49 Static Analysis

    00:29:42 Similarities in Programming Constructs

    00:25:30 Average vs Tailored tooling

    00:36:19 Machine Learning Quality Metrics 

    00:38:27 Rollbar

    00:40:19 Model Training vs Statistic Matching

    00:50:19 Developers Interacting with their Code in the Future

    01:00:18 Tabnine

    01:08:17 Farewells

    Resources mentioned in this episode:

    Companies:

    Social Media:

    Sponsor:

    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 ★

    126 - Serverless Computing with Erez Berkner

    126 - Serverless Computing with Erez Berkner

    Brief Summary:


    Erez Berkner, CEO of Lumigo, talks about his company, going serverless, and why you should too. He shares his experience and tips regarding serverless computing and its ever-growing opportunities in modern computing.


    00:00:16 Introduction

    00:01:43 Introducing Erez Berkner

    00:06:27 The start of Lumigo

    00:10:42 What is Serverless

    00:20:10 Challenges with going serverless

    00:39:53 Securing Lambdas

    00:46:50 Lumigo and breadcrumbs 

    00:55:46 How to get started with Lumigo

    • 00:57:06 Lumigo and databases
    • 00:58:20 Lumigo pricing

    01:00:28 Lumigo as a company

    01:06:30 Contacting Lumigo

    01:11:01 Farewells


    Resources mentioned in this episode:


    Companies:

    Socials:


    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 ★

    125 - Object Caching Systems

    125 - Object Caching Systems

    Download

    We are sponsored by audible! http://www.audibletrial.com/programmingthrowdown

    We are on Patreon! https://www.patreon.com/programmingthrowdown

    T-Shirts! http://www.cafepress.com/programmingthrowdown/13590693

    Join us on Discord! https://discord.gg/r4V2zpC

    Object Caching Systems


    Many people have heard the names "redis" or "memcached" but fewer people know what these tools are good for or why we need them so badly.  In this show, Patrick and I explain why caching is so important and how these systems work under the hood.


    Intro topic: 
    Public database & cache services (Planetscale & Upstash)

    News/Links:


    Book of the Show


    Audible Plug http://www.audibletrial.com/programmingthrowdown


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


    Tool of the Show


    Topic: Object Caching Systems

    • The need
      • Latency
      • In memory
      • Caching
    • Disadvantages compared to DB
      • Size limits (memory)
      • Limited query support
      • Limited persistence options
      • Stale caches
    • How it works
      • Key-value stores
      • Special operations for multi-get /multi-step
      • Expiry timers on each key
      • Hashing
    • Examples
      • Redis
      • Memcached
      • DynamoDB
      • Google datastore
      • Firebase database


    00:00:15 Introduction

    00:00:54 New Year’s Resolutions

    00:03:59 Saving money on cloud servers

    00:17:20 Scan of the Month

    00:20:14 Hyrum’s Law

    00:25:30 Make the Internet Yours Again with an Instant Mesh Network 

    00:31:45 Book of the Show 

    00:31:56 AI 2041 

    00:35:25 Don Shard

    00:37:35 Tool of the Show

    00:38:17 Swagger

    00:59:10 ripgrep

    0:45:31 Object Caching Systems

    01:10:22 High Frequency Trading

    01:14:07 Farewells




    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 DiscordYou can also help support Programming Throwdown through our Patreon


    ★ Support this podcast on Patreon ★

    124 - Holiday Episode 2021!

    124 - Holiday Episode 2021!

    In this holiday episode, Jason and Patrick answer questions from listeners. They also look back at the past year’s challenges and victories.


    00:15:35 (Kevin)

    What's been the biggest thing that pushed you to learn more during your career?
    Was it taking a new job and moving somewhere, doing stuff in your spare time or something like a new hobby or anything else?


    00:29:38 (Kevin)

    Favorite city to live in or visit?


    00:31:29 First Winner (James B.)


    00:32:21 (Clever Clover/James)

    Next biggest tech prediction.


    00:36:28 (Paul) 

    If we could standardize all the code there is out there to one particular language, which language would it be and why would it be Python?


    00:40:40 Second Winner (Collin G.)


    00:41:21 (Necrous)

    If you could redo your career and education path, what would you change?


    00:47:12 Third Winner (Matt I.)


    00:47:48 (MQNC)

    What is the dirtiest hackiest anti-pattern piece of code you ever wrote in full consciousness and even maybe enjoying the thrill and why was it the way to go?


    00:54:36 (Leedle)

    Thoughts on server side rendering React and NextJS?


    00:57:00 Fourth Winner (Glenn S.)


    00:57:25 (NC Plattipus)

    The visual programming language, LabVIEW?


    01:05:02 Fifth Winner (James F.)


    01:05:53 (Gethan)

    Future technology or big technologies, what about AR? 


    01:10:18 (Gethan)

    On the topic of getting a master's degree or classes, do you see a benefit of getting certifications? 


    01:18:16 Sixth Winner (Don R.)


    01:19:38

    Predictions we made last 2020 and how they held up.


    01:26:00

    Farewells

    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 ★

    123 - Project Planning

    123 - Project Planning

    How do you stay focused when working on large projects that span many months?  In this duo episode, we talk about Project Planning techniques and trends!  We also cover solving personal data storage problems and building CNC machines & printers. 

    00:00:15 Introduction

    00:01:33 UML

    00:05:22 Home NAS and other personal storage solutions

    00:18:09 Homebrew CNC machine

    00:29:37 Raft (Consensus Algorithm)

    00:36:54 The Mathematics of 2048

    00:45:44 Book of the Show

    • 00:45:57 Manager Tools 
    • 00:49:10 Make Magazine

    00:57:50 Tool of the Show

    • 00:57:51 Workflowy
    • 00:59:10 GitHub Desktop

    01:01:00 Project Planning

    01:22:11 Farewells

    Resources mentioned in this episode:


    Tools:


    Companies:


    Other references: 


    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 ★

    122 - Building Conversational AI's with Joe Bradley

    122 - Building Conversational AI's with Joe Bradley

    When you ask Alexa or Google a question and it responds, how does that actually work?  Could we have  more in-depth conversations and what would that look like?  Today we dive into conversational AI with Joe Bradley and answer these questions and many more.


    Thanks for supporting the show!

    00:00:15 Introduction

    00:01:24 Introducing Joe Bradley

    00:04:44 How Joe got into Conversation AI

    00:21:35 Zork and WordNet

    00:27:48 Automatic Image Detection/Captioning

    00:39:31 MuZero

    00:45:27 Codex

    00:50:15 GPT and businesses

    00:55:16 Artificial General Intelligence

    01:00:05 What is LivePerson

    01:16:30 Working at LivePerson

    01:21:18 Job opportunities in LivePerson

    01:27:04 How to reach Joe

    01:32:40 Farewells


    Resources mentioned in this episode:


    Companies:


    • LivePerson: liveperson.com
    • PyTorch: pytorch.org
    • TensorFlow: tensorflow.com
    ★ Support this podcast on Patreon ★

    121 - Edge Computing with Jaxon Repp

    121 - Edge Computing with Jaxon Repp

    What is "The Edge"?  The answer is that it means different things to different people, but it always involves lifting logic, data, and processing load off of your backend servers and onto other machines.  Sometimes those machines are spread out over many small datacenters, or sometimes they are in the hands of your customers.  In all cases, computing on the edge is a different paradigm that requires new ways of thinking about coding.  We're super lucky to have Jaxon on the show to share his experiences with edge computing and dive into this topic!!

    00:00:23 Introduction

    00:01:15 Introducing Jaxon Repp

    00:01:42 What is HarperDB?

    00:08:10 Edge Computing

    00:10:06 What is the “Edge”

    00:14:58 Jaxon’s history with Edge Computing and HarperDB

    00:22:35 Edge Computing in everyday life

    00:26:12 Tesla AI and data

    00:28:09 Edge Computing in the oil industry

    00:35:23 Docker containers

    00:42:33 Databases

    00:48:29 Data Conflicts

    00:55:43 HarperDB for personal use

    01:00:00 MeteorJS

    01:02:29 Netflix, as an example

    01:06:19 The speed of edge computing

    01:08:43 HarperDB’s work environment and who is Harper?

    01:10:30 The Great Debate

    01:12:17 Career opportunities in HarperDB

    01:18:56 Quantum computing

    01:21:22 Reach HarperDB

    01:23:53 Raspberry Pi and HarperDB home applications

    01:27:20 Farewells

    Resources mentioned in this episode:


    Companies


    Tools


    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 ★

    The Art of Vacations

    The Art of Vacations

    We are sponsored by audible! http://www.audibletrial.com/programmingthrowdown

    We are on Patreon! https://www.patreon.com/programmingthrowdown

    T-Shirts! http://www.cafepress.com/programmingthrowdown/13590693

    Join us on Discord! https://discord.gg/r4V2zpC

    The Art of Vacations


    Taking a good vacation is as important as getting a good night's sleep (*very important*).  It may sound silly on its face, but planning a vacation and planning around your vacation is extremely important to ensure that you are in the right headspace the rest of the year.  This is especially true in the COVID era where many of us are working from home.  In this episode, we dive into why vacations are so important, how to plan a relaxing vacation, and how to make sure that your team is supported while you are out.


    Intro topic: 
    Virgin Galactic and Virgin Orbit and Blue Origin

    News/Links:


    Book of the Show


    Audible Plug http://www.audibletrial.com/programmingthrowdown


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


    Tool of the Show

    • Jason: 7 Billion Humans
    • Patrick: Moss (Oculus VR, PC VR, PS VR)


    Topic: Vacations

    • Why
      • 7 types of rest https://ideas.ted.com/the-7-types-of-rest-that-every-person-needs/
      • Gives you energy for the next crunch
      • Stepping back provides perspective
      • Preparing the team for unexpected absences
    • Why not
      • Can lose context
      • Missed opportunities
      • Slipped deadlines
    • How to set up the perfect vacation
      • Handing off responsibility
      • Documenting code
      • Decide how much to work on vacation
    • How to be on vacation
      • Pre-cation
      • Handling crises / unexpected events
      • Post-cation
    • How to come back from vacation
      • Create email filters / smart folders
      • Skim new pull requests / scrum documents
      • Review chat logs 
    • Types of vacations
      • 1-3 days: delay results
      • 1-2 weeks: Deputize
      • 3+ weeks: Replace


    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 DiscordYou can also help support Programming Throwdown through our Patreon


    ★ Support this podcast on Patreon ★

    Building a Robotics Software Platform with Abhay Venkatesh

    Building a Robotics Software Platform with Abhay Venkatesh

    You’ve seen the dancing Boston Dynamics dogs, Honda’s ASIMO greeting people at malls, and the half-court-shooting robot at the Olympics, among other awe-inspiring robot stories that nowadays are getting increasingly more common. But equally fascinating, especially for us programmers, is the amount of programming and structure needed to make sure these robots work as intended. In this episode, we talk with Abhay Venkatesh, Software Engineer at Anduril Industries, about Platforms for Robotics (PFRs), and the intricacies happening inside these mechanical wonders.


    This episode touches on the following key topics and ideas:


    00:00:24 Introduction

    00:01:10 Introducing Abhay Venkatesh

    00:03:00 What robotics is as a field or practice

    00:07:18 Platform for Robotics (PFRs)

    00:10:07 OODA loop

    00:12:27 What makes up a Platform for Robotics?

    00:14:17 Raspberry Pi 

    00:15:30 Nvidia Tegra

    00:17:17 Edge computing

    00:19:29 Telemetry

    00:22:06 Ad: SignalWire, a next-gen video collaboration platform

    00:23:30 Real-time constraints and safety challenges

    00:28:31 Formal verification and defensive programming

    00:32:28 Operating systems in robotics

    00:34:27 Nix and reproducible hermetic builds

    00:37:52 Key aspects in robotics software development

    00:41:14 Deployment

    00:46:24 Simulation

    00:48:51 Google testing pyramid 

    00:52:01 Actuators

    00:55:27 Future of PFRs

    01:02:49 Farewells


    Resources mentioned in this episode:


    Companies


    Tools


    Our sponsor for this episode is SignalWire

    https://signalwire.com/

    Use code THROWDOWN for $25 in developer credit


    Abhay’s website: https://abhayvenkatesh.com/

    Abhay on Twitter: https://twitter.com/AbhayVenkatesh1


    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 ★

    117 - Authentication with Aviad Mizrachi

    117 - Authentication with Aviad Mizrachi

    Brief Summary:


    Authentication has become a necessity in a digital world that’s ever-increasing in complexity. What can you do to arm yourself against the constant threat of data breaches and hacks? In this episode Jason sits down with Aviad Mizrachi, CTO and Co-Founder of Frontegg, to give us valuable insight into how Authentication works, and how these help you become more defensible against attacks.


    This episode touches on the following key topics and ideas:


    00:00:24 Introduction

    00:01:10 Introducing Aviad Mizrachi

    00:04:36 The login

    00:06:32 The many intricacies of Authentication

    00:10:25 How are passwords sent to servers?

    00:11:26 Query param

    00:16:59 Multi-factor authorization (MFA)

    00:20:11 Time-based One-Time Password (TOTP)

    00:28:05 Single Sign-on (SSO) Cross-site scripting

    00:33:38 Ad: SignalWire, a next-gen video collaboration platform

    00:35:03 Session tokens

    00:36:36 Cross-site scripting (XSS)

    00:39:24 JSON web tokens (JWTs)

    00:41:24 Difference between session token and refresh token

    00:49:33 More about Frontegg, Aviad’s company

    00:54:14 SQL injection attack

    00:56:11 Auditing and audit logs

    00:59:42 Authentication in mobile apps

    01:00:50 Frontegg hiring and intern opportunities

    01:05:22 Frontegg product offerings


    Resources mentioned in this episode:


    Tools


    Articles:


    Our sponsor for this episode is SignalWire

    https://signalwire.com/


    You can reach Aviad on:

    LinkedIn | GitHub


    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

    You can also help support Programming Throwdown through our Patreon

    ★ Support this podcast on Patreon ★

    Hash Maps

    Hash Maps

    In this duo episode, Jason and Patrick introduce us to the world of hash maps, from buckets and hash functions, to differences between open and closed addressing, to minimal perfect hashes and locality sensitive hashing. A familiarity with hash maps is an oft-overlooked but highly sought-after skill, and it can be a valuable asset for those eyeing a career in programming.


    Along with the main topic, Jason and Patrick also talk about some of their latest interests: books, gadgets, tools and games.


    This episode touches on the following key topics and ideas:


    00:01:27 Playing games with Oculus Quest: Acron, Racket: Nx, Gorn, Superhot 

    00:11:05 News: “I Made a Water Computer” by Steve Mould

    00:14:56 colinfurze

    00:15:52 News: Comprehensive guide to Attention Mechanisms

    00:21:53 News: Starship SN15

    00:25:18 News: MailSync now Open source (GPL)

    00:28:34 Jason’s Book of the Show: Elon Musk

    00:32:04 Patrick’s Book of the Show: Ready Player Two

    00:33:40 Jason’s Tool of the Show: Datadog

    00:38:44 Patrick’s Tool of the Show: I Expect You to Die

    00:40:30 Escape rooms

    00:45:39 Sudoku

    00:48:35 Hash maps: the promise and idea

    00:50:59 Hash Functions

    00:52:34 Examples of hash functions: Cryptographically Secure and Non-Crypto

    01:01:05 Load Factors

    01:03:43 Open vs Closed Addressing

    01:15:10 Minimal Perfect Hash

    01:16:25 salts

    01:19:00 Locality Sensitive Hashing


    Resources mentioned in this episode:


    Tools


    Books

    • Elon Musk: Tesla, SpaceX, and the Quest for a Fantastic Future by Ashlee Vance 
    • Ready Player Two by Ernest Cline


    Gadgets


    Games


    Videos:


    Articles:


    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

    You can also help support Programming Throwdown through our Patreon

    ★ Support this podcast on Patreon ★

    Route Planning with Parker Woodward

    Route Planning with Parker Woodward

    Ever wondered how route planning apps, well, plan routes? In this episode, we navigate through this fascinating topic, a field as data-driven and systemic as it is magical and compelling. 


    Joining us is Parker Woodward, Route Expert and Marketing Director for Route4Me. We discuss how route planning works, the intricacies behind it, and how services like Route4Me perform complex balancing acts between machine learning and user-generated feedback.


    This episode touches on the following key topics and ideas:


    00:00:23 Introducing Parker

    00:01:54 Becoming a Route Expert

    00:04:22 Getting started through smaller startups

    00:12:41 Leveraging technology for the greater good

    00:14:36 The magic of route planning

    00:23:30 Homomorphism and satisfiability

    00:31:18 Geocoding

    00:33:06 User-generated feedback

    00:37:08 Importance of statistics knowledge

    00:39:34 The degree of automation in route planning

    00:42:54 Inverse decision-making

    00:48:47 Operations Research

    00:53:42 Dwarf Fortress

    00:56:40 US vs European routes

    00:57:51 What Route4Me does

    01:05:38 Working at Route4Me

    01:10:26 Route4Me API


    Resources mentioned in this episode:


    Tools


    Books

    • Sapiens by Yuval Noah Harari


    Games


    Links


    Reach out to Parker via email: parker@routeforme.com

    Catch Parker on LinkedIn


    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

    You can also help support Programming Throwdown through our Patreon

    ★ Support this podcast on Patreon ★

    Code Documentation with Omer Rosenbaum and Tim Post

    Code Documentation with Omer Rosenbaum and Tim Post

    What makes for good documentation? In this episode, we dive into one of the most important yet overlooked facets of coding. With us are Omer Rosenbaum and Tim Post of Swimm.io. Swimm is an app that allows you to create docs coupled with your code, which are auto-synced and integrated into your workflow. It makes for much more efficient, elegant, and accessible documentation. 


    Omer is the CTO of Swimm, and Tim is Principal Development Relations and User Advocate. They are the experts who will guide us through good code documentation practices and tools, as well as share some fascinating real-life examples and stories.


    This episode touches on the following key topics and ideas:


    00:01:20 Introducing Omer and Tim

    00:03:28 Omer: learning tech while in the military

    00:06:36 Israel Tech Challenge

    00:08:32 Impostor Syndrome

    00:12:15 Tim: the consulting career route

    00:18:15 Stack Overflow elected moderator

    00:20:59 ZFS and Btrfs 

    00:22:49 What is good code documentation?

    00:34:48 Documentation and remote work

    00:36:99 Good practices

    00:40:37 Code comments

    00:45:20 How to write documentation

    00:46:59 Signs of bad code documentation

    00:48:05 Swimm overview

    00:53:21 PyTorch documentation

    00:54:45 PHP documentation

    00:56:34 Swimm’s CLI tools

    01:01:16 Code documentation horror stories

    01:07:26 Swimm offers for open-source projects and enterprises

    01:13:47 Working at Swimm

    01:19:54 The value of remote work


    Resources mentioned in this episode:


    Tools


    Catch Swimm on:

    Twitter | Facebook | LinkedIn


    If you’ve enjoyed this podcast, you can listen to more programming news and updates like this one on Programming Throwdown’s website: https://www.programmingthrowdown.com/, or send us an email at programmingthrowdown@gmail.com.


    You can also follow Programming Throwdown on 

    Facebook | Apple Podcasts | Spotify | Player.FM 


    You can also help support Programming Throwdown through our Patreon.

    ★ Support this podcast on Patreon ★