Episodes

  • Episode 21 - Maps, Hash Maps, Tree Maps, and Hash Tables
    Jul 1 2020
    Today in less than 20 minutes, we'll explore what maps are and how they work under the hood. We'll talk about the differences between treemaps, hash maps, and hash tables. We'll dig pretty in-depth...By the end of the episode, you'll understand how to implement hash tables using an array, hash function, and a linked list!
    Show More Show Less
    17 mins
  • Episode 20 - Static and Dynamic Systems
    Jun 23 2020
    Today we'll look into static and dynamic systems. We'll discuss what does it mean for a programming language or a framework to be static or dynamic. In the second part of the podcast, we'll focus on some of the properties of static systems and how they can help in better compile-time optimizations, development experience, and more!
    Show More Show Less
    13 mins
  • Episode 19 - Type Systems and Type Checking
    Jun 16 2020
    In this episode, we'll look at the very basics of type systems and their enforcement. We'll discuss strongly and weakly typed languages. After that, we'll dig into different enforcement strategies - runtime with dynamic typing and compile-time with static typing.
    Show More Show Less
    6 mins
  • Episode 18 - How JavaScript Bundlers Work
    May 25 2020
    In this episode, we'll look at what data structures and algorithms JavaScript bundlers use. We'll talk about ECMAScript modules, strongly connected components, depth-first search, and more! Enjoy!
    Show More Show Less
    11 mins
  • Episode 17 - Dependency Injection
    Apr 21 2020
    Today we'll talk about using dependency injection across paradigms! You'll understand what this pattern is all about and how to use it. During the episode, we'll touch on topics such as inversion of control, high-order functions, and testability.
    Show More Show Less
    10 mins
  • Episode 16 - Memoization
    Apr 14 2020
    Today we'll learn about memoization! Memoization is a practice that helps us improve the performance of our apps using caching. In the episode, we'll also discuss pure functions, caching strategies, and much more!
    Show More Show Less
    11 mins
  • Episode 15 - Compilers, Linters, and Formatters
    Apr 7 2020
    In this episode of the programming podcast, we'll discuss static analysis and code transformation. In particular, we'll look at the difference between compilers, linters, and formatters. By the end of the episode, you'll understand what tool you should use to improve your development experience and team processes.
    Show More Show Less
    9 mins
  • Episode 14 - The Four Principles of OOP
    Mar 31 2020
    In today's episode, you'll learn the four principles of object-oriented programming. We'll discuss abstraction, inheritance, encapsulation, and polymorphism. By the end of the show, you'll understand each one of them; you'll know how they relate to each other, and how to use them in practice.
    Show More Show Less
    14 mins