All Episodes - CoRecursive Podcast

All Episodes

    • Smart Contract Rescue

      Smart Contract Rescue

      • May 02, 21
      • 34 min

      Today I talk to Dan Robinson about trying to get someone their money back on Ethereum. He’s going to be battling this murky world of blockchain high-frequency bots. Along the way, we’ll learn how trades are executed on Ethereum and a bit of game theory and political philosophy.

      It’s an entertaining peek into a world... more..

    • Apple 2001

      Apple 2001

      • Apr 03, 21
      • 48 min

      David Shayer worked at Apple for 14 years, and he has a wild experience to share. Apple has a unique culture, and David will give us an insider view of what it was like for him at Apple during the 2000s, roughly between 2001 to 2015 when Apple transformed into the powerhouse that it is... more..

    • Video Game Programming From Scratch

      Video Game Programming From Scratch

      • Mar 01, 21
      • 41 min

      I’m not really a big gamer, but lately, I’ve fallen down this rabbit hole into the world of Casey Muratori, and this project that he started on Twitch in 2014. He is building a video game from scratch and explaining it all as he goes along.

      Casey is a professional video game and game engine,... more..

    • Reinforcement Learning At Facebook

      Reinforcement Learning At Facebook

      • Feb 01, 21
      • 38 min

      If you ever wanted to learn about machine learning you could do worse than have Jason Gauci teach you. Jason has worked on YouTube recommendations. He was an early contributor to TensorFlow the open-source machine learning platform. His thesis work was cited by DeepMind.

      But what I find so fascinating with Jason is he recognized... more..

    • 2020 Year End

      2020 Year End

      • Jan 01, 21
      • 34 min

      Welcome to the year-end episode. Today is all the bonus questions. Often times I have questions that I want to ask guests, but they don’t quite fit the overall theme of the episode. So today we’re going to do a whole episode of those extra questions.

      I have previously recorded questions for Brian Kernighan, the... more..

    • Frontiers of Performance

      Frontiers of Performance

      • Dec 01, 20
      • 47 min

      Did you ever meet somebody who seemed a little bit different than the rest of the world? Maybe they question things that others wouldn’t question or said things that others would never say.  Daniel is a world-renowned expert on software performance, and one of the most popular open-source developers, if you measure by Github followers.... more..

    • The Birth of UNIX

      The Birth of UNIX

      • Nov 01, 20
      • 51 min

      When you work on your computer, there are so many things you take for granted: operating systems, programming languages, they all have to come from somewhere.

      In the late 1960s and 1970s, that somewhere was Bell Labs, and the operating system they were building was UNIX.

      They were building more than just an operating system... more..

    • To The Assembly

      To The Assembly

      • Oct 01, 20
      • 41 min

      How do CPUs work? How do compilers work? How does high-level code get translated into machine code? Today’s guest is Matt Godbolt and he knows the answers to these questions.

      How he became an expert in bare metal programming is an interesting story. Matt shares his origin story and the creation of compiler explorer in... more..

    • Memento Mori

      Memento Mori

      • Sep 01, 20
      • 40 min

      Preparing our minds for the inevitable - death is hard. After facing terminal cancer, Kate Gregory reminded herself that this event can still become inspiring by focusing on the positive.

      In this episode,  Kate is going to share her success and explain how you could apply her 5 pieces of advice to your career as... more..

    • We're Teaching Functional Programming Wrong

      We're Teaching Functional Programming Wrong

      • Aug 03, 20
      • 46 min

      Today Richard Feldman shares his story of going from javascript developer to elm developer to functional programming teacher.

      Along the way, Richard finds that people are teaching functional programming wrong.  We are teaching it in a way that misses how most industrial software developers learn best.

      In this episode, Richard Feldman delves into Elm, his... more..

    • Software That Doesn't Suck

      Software That Doesn't Suck

      • Jul 01, 20
      • 37 min

      Software is just the tool and it should get out of your way. In this episode, Jim discusses how to build a great developer tool.  It all started with: “What’s the worst software that you use every day?” and led to the creation of Subversion.

    • Unproven Techology Case Study

      Unproven Techology Case Study

      • Jun 10, 20
      • 39 min

      Choosing the programming language or framework for a project can be to the success of the project.

      In today’s episode, Sean Allen shares a story of picking the right tool for a job. The tool he ends up picking will surprise you.

      His problem: make a distributed stream processing framework, something that can take a... more..

    • Krystal's Story

      Krystal's Story

      • May 18, 20
      • 40 min

      Things are easier to learn when you are passionate about something. A lot of great careers are built on curiosity and obsession including Krystal Maughan our guest for today’s episode.

      Krystal will share her journey as she chased her curiosity in programming wherever it led her.

    • Learning a new language

      Learning a new language

      • May 05, 20
      • 35 min

      There’s joy that can be found in language learning and pain as well. Whether you’re a beginner or an expert, there are still some things you can only discover by picking up a new language.

      Bruce Tate will tell us how learning new languages rekindled the spark of joy for him.

    • Portal Abstractions with Sam Ritchie

      Portal Abstractions with Sam Ritchie

      • Apr 17, 20
      • 35 min

      Today the story of how twitter engineers came up with a unique solution to data engineering.

      Adam interviews Sam about how the abstract algebra and probabilistic data structures help solve fast versus big data issues that many are struggling with.

      Adam talks to Sam Ritchie, a machine learning researcher.  Stop in to hear Adam and... more..

    • Loving Legacy Code with Jonathan Boccara

      Loving Legacy Code with Jonathan Boccara

      • Apr 03, 20
      • 26 min

      Legacy code is everywhere. I don’t think I’ve met anyone who doesn’t have to deal with legacy code in the substantial portion of his work.

      Our guest, Jonathan Boccara is a French C++ developer and the author of The Legacy Code Programmer’s Toolbox. In this episode, Jonathan will help us understand and build the correct... more..

    • The Reason For Types

      The Reason For Types

      • Mar 16, 20
      • 36 min

      Adam talked to Jared Forsyth about his journey from untyped javascript to using flow and eventually reasonml.

    • Karl L Hughes on Conference Talks

      Karl L Hughes on Conference Talks

      • Mar 02, 20
      • 50 min

      Adam talks to Karl Hughes about his path to becoming a conference speaker and the work he has done to make it easier for others to follow in his footsteps.

    • Don and Adam Discuss Folds

      Don and Adam Discuss Folds

      • Feb 15, 20
      • 36 min

      Today we try a different format. Adam invites his neighbour, Don McKay, over to ask him questions. An interesting discussion on recursion, corecursion and the naming of the podcast unfolds.

    • David Heinemeier Hansson

      David Heinemeier Hansson

      • Feb 01, 20
      • 1: min

      David Heinemeier Hansson talks to Adam about avoiding a software monoculture. He explains why we should find a programming language that speaks to us, why ergonomics matter, and why single page apps and microservices are not for him.

    • React and Scala JS

      React and Scala JS

      • Jan 16, 20
      • 38 min

      Today Adam talks to Shadaj Laddad. What is React? Why do we need front end frameworks at all. Shadaj explains modern front end web development. He also explains why he likes to use react from scala.js and built a framework to make that easy for all.

    • The Business Of Developer Tools

      The Business Of Developer Tools

      • Dec 17, 19
      • 37 min

      How do you build a business around tools for software engineers? Adam talks to Lee Edwards, a VC who spends a lot of time thinking about this question.

    • Software in Context

      Software in Context

      • Dec 02, 19
      • 53 min

      Adam talks to Author and Clojure advocate Zach Tellman about how great software is built.

    • Beautiful and Useless Coding

      Beautiful and Useless Coding

      • Nov 16, 19
      • 52 min

      Generative Art involves using the tools of computation to creative ends. Adam talks to Allison Parrish about how she uses word vectors to create unique poetry. Word vectors represent a fundamentally new tool for working with text.

      Adam and Allison also talk about creative computer programming and building twitter bots and what makes something art.

      ... more..
    • Tech Evangelism

      Tech Evangelism

      • Nov 01, 19
      • 67 min

      What makes some pieces of technology take off? Why is java popular and not small talk or Haskell?

      Gabe is a popular blogger, a former Haskell cheerleader, and creator of the Dhall configuration language. Today we talk about marketing and tech evangelism.

    • Language Oriented Design

      Language Oriented Design

      • Oct 01, 19
      • 56 min

      Adam talks to Hal Abelson about the textbook he coauthored in 1985, The Structure and Interpretation of Computer Programs and why it is still popular and influential today.

    • Open Source Health and Diversity

      Open Source Health and Diversity

      • Sep 15, 19
      • 41 min

      Heather Miller is an Assistant Professor at CMU. She is concerned that key open source projects are at risk of failure and no one is paying attention. Adam talks to her about open source, how it grows, the diversity problems it has and much more.

      Heather also shares some interesting stories about the early days... more..

    • Learning About Compilers

      Learning About Compilers

      • Sep 01, 19
      • 58 min

      What do compilers do? What is the runtime of a language? What does it mean to compile something down to bytecode and what executes the bytecode.  Throsten Ball answers these questions in this interview with Adam.

    • Advanced Software Design

      Advanced Software Design

      • Aug 16, 19
      • 53 min

      How do we create great software? What are the important skills need to properly review a PR? How do you identify assumptions of a code base and the stable contracts of a software module?

      Jimmy Koppel is working on his Ph.D. in the field of program synthesis at MIT.  He was previously paid 100 thousand... more..

    • Category Theory

      Category Theory

      • Aug 15, 19
      • 53 min

      Today Adam talks to Bartosz Milewski. He is the author of a popular blog series, lecture series, and now book on Category Theory for programmers.

      The world of functional programming is rife with terminology imported from abstract algebra and Category Theory. In fact, it may be one of the most valid criticisms of functional programming... more..

    • Using TypeScript Like A Pro

      Using TypeScript Like A Pro

      • Jul 15, 19
      • 70 min

      How do we make javascript easier to work with? Chris Krycho has been using typescript to add types to javascript since 2016.

      Chris is a software developer at LinkedIn who, at his previous gig, worked on converting one of the largest Ember apps in the world to TypeScript. I was shocked by the size. Chris... more..

    • Rethinking Technological Positivism

      Rethinking Technological Positivism

      • Jun 15, 19
      • 61 min

      Self-driving cars or armed autonomous military robots may make use of the same technologies. In a certain sense, we as software developers are helping to build and shape the future. What does the future look like and are we helping build the right one? Is technology a force for liberty or oppression.

      Cory Doctorow is... more..

    • How to Build a Programming Language

      How to Build a Programming Language

      • May 31, 19
      • 56 min

      Bob Nystrom is the author of Crafting Interpreters. I speak with Nystrom about building a programming language and an interpreter implementation for it. We talk about parsing, the difference between compiler and interpreters and a lot more.

      If you are wondering why many languages have hand-rolled parser implementations yet much content on building languages implementations... more..

    • Refinement Types

      Refinement Types

      • May 15, 19
      • 50 min

      Formal verification and type systems - how do they relate? Niki Vazou is on a mission to bring better formal verification to the masses.

      I have done a couple of episodes about dependent types and my feeling is that dependent types are super powerful and have some conceptual simplicity ( Types are a first class... more..

    • Rethinking Databases

      Rethinking Databases

      • Apr 30, 19
      • 58 min

      Can we make databases faster and remove the need for caching reads in an external cache? Can we make a distributed SQL based relational database that outperforms memcached? Jon Gjengset and the PDOS team at MIT CSAIL have done just that with Noria.

      Today I talk to Jon about Noria, about building a database in... more..

    • Learning to Think

      Learning to Think

      • Apr 15, 19
      • 53 min

      Andy Hunt is a celebrity in the world of software development. Or at least he is one to me. The Pragmatic Programmer is a classic book on software development book. He is an author of the agile manifesto and started the book company that has published many great books, including several by recent guests.

      Today... more..

    • Data and Scale

      Data and Scale

      • Mar 31, 19
      • 56 min

      Pat Helland has a wealth of knowledge on building distributed data stores. He has been working on distributed data stores since 1978, when he worked on the tandem fault-tolerant database. Since then he has been involved in many distributed database projects.

      Here is the key thing, he is also a master at explaining the key... more..

    • Abstraction and Learning

      Abstraction and Learning

      • Mar 15, 19
      • 49 min

      What is abstraction?  Can we have a precise definition of abstraction that, once understood, makes writing software simpler?

      Runar has thought a lot about abstraction and how we can choose the proper level for the software we write.

      In this interview, he explains these concepts using examples from the real world. Examples include SQL, effectful... more..

    • Modern Systems Programming

      Modern Systems Programming

      • Feb 22, 19
      • 0 min

      Richard Whaling has an interesting perspective on software development. If you write software for the JVM or if you are interested in low level system programming, or even doing data heavy or network heavy IO programming then you will find this interview interesting.

      We discuss how to build faster software in a modern fashion by... more..

    • Recreational Coding

      Recreational Coding

      • Jan 25, 19
      • 62 min

      A decade ago Jamis Buck was not loving his job. He was an important open source contributor. He worked for the hottest trendiest software company at the time, 37 signals, creator of ruby on rails.

      He was on top of the world but also he was burnt out.

      Today Jamis talks about how he overcame... more..

    • Software as a Reflection of Values

      Software as a Reflection of Values

      • Dec 18, 18
      • 79 min

      Which operating system is the best? Which programming language is the best? What text editor?

      Bryan Cantrill, CTO of Joyent says that is the wrong question. Languages, operating systems and communities have to make trade offs and they do that based on their values. So the right language is the one who’s values align with... more..

    • The Little Typer

      The Little Typer

      • Dec 01, 18
      • 67 min

      You can write more correct software and even rigorous mathematical proofs.  Prepare for some mind stretching.

      Previous guests like Edwin Brady and Stephanie Weirich have discussed some of the exciting things a dependent type system can do Miles Sabin said dependent types are surely the future. This interview is to get us ready for the... more..

    • Big Ball Of Mud

      Big Ball Of Mud

      • Nov 14, 18
      • 60 min

      In 1997, researchers analyzed the actual architectures of software in the field. The horrifying results: a large portion were best described by colorful phrases like “big ball of mud” and “sweep it under the rug.”

      Wade Waldron talks about designing reactive applications and systems and how to avoid these anti-patterns. We also cover when a... more..

    • God's Programming Language

      God's Programming Language

      • Oct 22, 18
      • 60 min

      Does God Code in Haskell?

      Professor and accomplished programming language researcher Philip Wadler believes that typed lambda calculus was discovered not invented – part of the underpinnings of the universe itself. As a result, functional programming languages are more fundamental and deeply justified than their alternatives.

      We talk about this principle, which has guided... more..

    • Concurrency and Functional Programming

      Concurrency and Functional Programming

      • Oct 03, 18
      • 62 min

      When Riccardo Terrell hit the concurrency limitations in a jvm application, he thought back to the haskell he learned in a university course and decided to rewrite the entire thing in haskell.  The immutability of the haskell solution made the concurrency bottleneck non-existent.  It is no surprise that years later, his book on concurrency in... more..

    • Test in Production

      Test in Production

      • Aug 31, 18
      • 47 min

      Today’s Interview is with Charity Majors. We talk about how to make it easier to debug production issues in today’s world of complicated distributed systems. A warning, There is some explicit language in this interview.

      I originally saw a talk by Charity where she said something like fuck your metrics and dashboards, you should test... more..

    • Domain Driven Design and Micro Services

      Domain Driven Design and Micro Services

      • Aug 17, 18
      • 49 min

      Today I talk to Vaughn Vernon about how Domain Driven Design can help with designing micro services.  The guidelines that Vaughn has developed in his work on DDD can provide guidance for where service and consistency boundaries should be drawn.  We also talk about the platform he is developing for applying these DDD concepts using... more..

    • Typeful Functional Streaming HTTP

      Typeful Functional Streaming HTTP

      • Jul 27, 18
      • 50 min

      The promise of functional programming is code that is easier to reason about, test and maintain. Referential transparency means there is no extra context to worry about, we can just focus on inputs and outputs. Examples of functional programming in the small are plentiful. Fibonacci is easy to write as a function but what about... more..

    • Moves and Borrowing In Rust

      Moves and Borrowing In Rust

      • Jul 03, 18
      • 64 min

      The surprising thing about rust is how memory management works.  Rust has the concepts of moves and borrowing.  If you have heard about Rust, you may have heard people talking about the borrow checker and trying to make it happy. In this interview, Jim Blandy walks us through what these concepts mean and how they... more..

    • Dependent Types in Haskell

      Dependent Types in Haskell

      • Jun 13, 18
      • 58 min

      At Strange Loop 2017, I wandered into a talk where I saw some code that deeply surprised me. The code could have been python if you squinted, passing dictionaries around, no type annotations anywhere.

      Yet, key lookup in the dictionary was validated at compile time. It was a compile-time error to access elements that didn’t... more..

Audio Player
back 15
forward 60s

Smart Contract Rescue