All Episodes

Welcome to CoRecursive. A Podcast where each episode someone shares the fascinating story behind a piece of software being built.

  • From Burnout to Breakthrough

    From Burnout to Breakthrough

    • icon Jun 04, 24
    • icon 52 min

    Can you imagine risking your career to making coding easier to learn?

    Meet Felienne Hermans, a professor who did just that by stepping beyond academia to redefine coding education. Disillusioned by her research’s limited impact, Felienne discovered a new calling in teaching coding to underserved students. Her journey led to the creation of Hedy, a... more..

  • Coding Machines

    Coding Machines

    • icon May 03, 24
    • icon 48 min

    What if the tools you trust were actually betraying you? Join us for a riveting story where a team of software developers discovers that their compiler is compromised. What starts as suspicion of a simple bug quickly escalates into the alarming realization.

    In this 100th episode celebration past show regulars Don and Krystal join Adam... more..

  • Code, Kickflips and Crunch Time

    Code, Kickflips and Crunch Time

    • icon Apr 02, 24
    • icon 57 min

    Meet Mick West, whose career began in an unusual office setup — sandwiched between a kebab shop and a phone sex hotline. From there he worked all over Manchester, making computer games for Tiertex and Ocean.

    Career opportunies brought him to California and to his own game dev company, Neversoft. At Neversoft, navigating team growth... more..

  • Leaving LinkedIn

    Leaving LinkedIn

    • icon Mar 04, 24
    • icon 47 min

    What if your dedication to doing things right clashed with your company’s fast pace? Chris Krycho faced this very question at LinkedIn.

    His journey was marked by challenges: from the nuances of remote work to the struggle of influencing company culture, and a critical incident that put his principles to the test against the company’s... more..

  • Beautiful Code

    Beautiful Code

    • icon Feb 02, 24
    • icon 57 min

    Have you ever felt like your code could be more than just functional, that it could be beautiful?

    Greg Wilson didn’t just ponder this; he embarked on a quest to elevate software design to an art form. From a soldering iron burn that steered him away from electrical engineering to his crusade for a shared... more..

  • Code as a Lifeline

    Code as a Lifeline

    • icon Jan 02, 24
    • icon 44 min

    What if your dreams were suddenly ripped away? What if your talents vanished, your passions erased? That’s what happened to Jason McDonald when a traumatic brain injury at 16 ravaged his planned destiny of becoming a doctor. Jason painfully rebuilt his identity from scratch - relearning to read, write, even speak.

    A serendipitous discovery of... more..

  • From 486 to Vue.js

    From 486 to Vue.js

    • icon Dec 04, 23
    • icon 46 min

    From the early days of exploring creative possibilities on a 486 computer in his childhood to developing one of today’s most popular web frameworks, Evan You’s journey is a tale of passion and innovation.

    Evan started Vue.js while working at Google, just wanting to scratch his own itch for a lightweight JavaScript framework. But soon... more..

  • Platform Takes The Pain

    Platform Takes The Pain

    • icon Nov 02, 23
    • icon 48 min

    How did Spotify scale from 10 engineers to 100s to 1000s …without slowing down? Without becoming corporate?

    Facing an IPO deadline, Pia Nilsson worked with 300 teams to transform how Spotify built software. She spearheaded a movement that led them from working in silos to a unified developer platform.

    Hear the inside story of how... more..

  • Sloot Digital Coding System

    Sloot Digital Coding System

    • icon Oct 02, 23
    • icon 51 min

    Lost treasure. Conspiracy theories. Impossible tech demos.

    Jan Sloot claimed to have invented revolutionary data compression that could fit a full movie into a tiny smart card chip. Top executives and investors witnessed his demos and became true believers, ready to bankroll this company into the stratosphere.

    But was it all an elaborate illusion?

    Join... more..

  • Configuring Identity

    Configuring Identity

    • icon Sep 01, 23
    • icon 42 min

    Today we go behind the scenes at Chef - the game changing infrastructure automation tool. Adam Jacob created Chef, and it became a massively popular DevOps tool. But despite Chef’s success, Adam constantly battled self-doubt and finding his footing as a leader.

    In this raw episode, Adam shares how the pressure of going from sysadmin... more..

  • The Science of Learning to Code

    The Science of Learning to Code

    • icon Aug 02, 23
    • icon 50 min

    Learning to code can feel impossible. Like facing a sheer rock wall with no ropes or harnesses. But what if there was a path up the mountain? A trail blazed smooth by master coders who went before?

    In this episode, we’ll follow that path. We’ll hear the stories of legends like Seymour Papert, who championed... more..

  • A Dark Room - From Code Hobo to Indie Game Developer

    A Dark Room - From Code Hobo to Indie Game Developer

    • icon Jul 03, 23
    • icon 40 min

    Have you ever been frustrated with your job? Maybe not burnt out, but getting close to there? You used to love what you did, and it felt so creative and empowering, but then it starts to feel a bit more cookie cutter.

    Have you ever been frustrated with your whole life? The daily grind has... more..

  • Quitting (And Then Rejoining) Stack Overflow

    Quitting (And Then Rejoining) Stack Overflow

    • icon Jun 02, 23
    • icon 53 min

    Today, we meet Ben Dumke-von der Ehe, one of the early developers on the Stack Overflow team.

    He was on the front lines as the platform transformed how programmers worked. And he embodies the spirit of Stack Overflow: Its transparency, playfulness, and even some of its struggles to be as welcoming and friendly as it... more..

  • From Project Management to Data Compression Innovator

    From Project Management to Data Compression Innovator

    • icon May 02, 23
    • icon 59 min

    How do you accomplish something massive over time? I’ve had the chance to meet with a number of exceptional software developers and it’s something I always wonder about.

    Today, I might have an answer with the incredible story of Yann Collet.

    Yann was a project manager who went from being burnt out on corporate life... more..

  • JSON vs XML

    JSON vs XML

    • icon Apr 03, 23
    • icon 49 min

    Today’s guest is Douglas Crockford. He’s sharing the story of JSON, his discovery of JavaScript’s good parts, and his approach to finding a simple way to build software. Also, his battles against XML, against complexity, his battles to say that there’s a better way to build software.

    This is foundational stuff for the web, and... more..

  • Sun's Mobile Blunders

    Sun's Mobile Blunders

    • icon Mar 02, 23
    • icon 51 min

    Shai Almog worked at Sun on Mobile JVMs just as phones started to turn from phones into something else.

    Sun had deep expertise in mobile development, and unique engineering-driven culture, and relationships with manufacturers and operators. And yet internal politics and the collapse of its server market made it hard to get things done.

    At... more..

  • Shipping Graphing Calculator

    Shipping Graphing Calculator

    • icon Feb 02, 23
    • icon 46 min

    I’ve been on many projects that get canceled. We’re building cool stuff. We’re going above and beyond, and we’re excited. But the project encounters reality, shifting priorities, or budgeting constraints, and the work never goes anywhere. It always feels tragic, but then I move on.

    But what if I didn’t let a project get canceled?... more..

  • The Unfulfilled Engineer

    The Unfulfilled Engineer

    • icon Jan 02, 23
    • icon 42 min

    Nothing good comes from being insecure about your worth, especially at your job. That’s what today’s episode is about. That’s what today’s guest is here to discuss.

    It’s a slow burn, but if you listen to the end, I think you will value yourself more professionally. My Guest is Don Mckay. Someone longtime listeners will... more..

  • DOOMed to Fail: A Horror Story

    DOOMed to Fail: A Horror Story

    • icon Dec 02, 22
    • icon 45 min

    Today Rebecca Burger Becky Heineman shares the tale of porting Doom to the 3DO console under extreme conditions. There is an engine to tweak, deadlines to hit, hardware acceleration to get working, and dramatic rock anthems to record.

    We also learn about how game piracy led her to game development and what it was like... more..

  • Software World Tour

    Software World Tour

    • icon Nov 02, 22
    • icon 48 min

    Today’s story is from Son Luong Ngoc, who shares what it was like for him to work and live in many different countries around the world, including working for Alibaba at the Xixi campus in Hangzhou, China (Son’s photos of the Alibaba campus).

    It’s a story of a software developer finding a place that... more..

  • Android's Unlikely Success

    Android's Unlikely Success

    • icon Oct 03, 22
    • icon 60 min

    What could you accomplish if your teammates were all excited and determined to hit some project timelines? What is it like for a group of people to give it all they have? That’s what today is about.

    Chet Haase from the Android team is here to share the story of the early days of Android,... more..

  • From Prison To Programming

    From Prison To Programming

    • icon Sep 02, 22
    • icon 46 min

    I believe that getting underrepresented groups into software development is a good thing. This is not a controversial opinion until you start talking about felons.

    Today’s guest is Rick Wolter. He’s an iOS developer who served 18 years in prison for second degree murder. Rick killed somebody and for some that’s all they need to... more..

  • CPAN


    • icon Aug 01, 22
    • icon 56 min

    CPAN was the first open-source software module repository. And on this day, Aug 1st, in 1995, CPAN was first announced to a private group of PERL users.

    And why does this matter? Who is still using PERL anyhow? CPAN inspired everything that would follow: npm, maven, cargo, nuget, hackage, ruby gems, python pypi and so... more..

  • The History and Mystery Of Eliza

    The History and Mystery Of Eliza

    • icon Jul 05, 22
    • icon 44 min

    I recently got an email from Jeff Shrager, who said he’d been working hard to solve a mystery about some famous code.

    Eliza, the chatbot, was built in 1964, and she didn’t answer questions like Alexa or Siri. She asked questions. She was a therapist chatbot and quickly became famous after being described in a... more..

  • Why still 80 columns?

    Why still 80 columns?

    • icon Jun 01, 22
    • icon 39 min

    On June 1st, 2014, the following question showed up on hacker news:

    Why is 80 characters, the standard limit for code width. Why 80?

    Why not? 79 or 81 or even a hundred.

    So you probably know what happens next. People started to post their opinions and the comments and other people started... more..

  • LISP in Space

    LISP in Space

    • icon May 02, 22
    • icon 38 min

    Have you ever had a unique approach to a problem and been excited to use it, but you’re met with skepticism?

    Today’s story: what happens if you take someone who’s passionate about LISP and put them in an organization where that’s just not how they write software.

    Today’s story is about getting LISP into space.

    ... more..
  • April Fools' Is Cancelled (2014)

    April Fools' Is Cancelled (2014)

    • icon Apr 01, 22
    • icon 38 min

    On this day in 2014, “lame april fools’ jokes” were banned from hacker news.

    Today in our first This-Day-in-History segment, I want to share some of history not just of April Fools’, but of tech pranks in general, all leading up to 2014.

    Why were pranks and April Fools’ jokes traditionally celebrated in tech? Why... more..

  • The Story Graph

    The Story Graph

    • icon Mar 02, 22
    • icon 48 min

    Whenever I work on a side project, I can’t help but daydream of it taking off in a big way. For today’s guests, something like that did happen.

    When Nadia started building her side project, she didn’t know that it would end up spreading virally. She didn’t know that it would end up competing with... more..

  • Serenity OS

    Serenity OS

    • icon Feb 02, 22
    • icon 41 min

    How would you build an operating system?

    My answer is I wouldn’t. First off, I don’t know how. And the second thing is it seems like to large of a task. It took thousands of developers to build Windows XP.

    But actually, it is possible to build an operating system from scratch. My guest is... more..

  • The Internet Is Made of Duct Tape

    The Internet Is Made of Duct Tape

    • icon Jan 02, 22
    • icon 42 min

    Today, I have two of my favorite guests together: Krystal Maughan and Don McKay. We are going to be sharing strange and interesting facts about computing.

    I’m super pumped about this because, sometimes, I learn something new, and I’m excited about it. And I want to tell people about it. And so today is a... more..

  • Cocoa Culture

    Cocoa Culture

    • icon Dec 02, 21
    • icon 44 min

    The last episode, I said I wasn’t sure there was such a thing as culture, but that’s not the case. Every place I’ve worked has been a bit different, and often those differences had huge impacts on the software we built.

    The team where people roll their eyes at UX feedback will not have as... more..

  • Leaving Debian

    Leaving Debian

    • icon Nov 02, 21
    • icon 40 min

    Today’s story is an insider view of Debian. One of the oldest Linux distributions and probably one of the longest-running volunteer-based open-source projects.

    Joey Hess is my guest, and he dedicated significant parts of his adult life to working on Debian. He’s going to share what that was like. The good and the bad, and... more..

  • The Original Remote Developer

    The Original Remote Developer

    • icon Oct 04, 21
    • icon 41 min

    Today’s episode is about remote work. Well, sort of. I found someone with a different perspective on remote work and a fantastic story to share, Paul Lutus.

    I think that he might be the original remote software developer.

    He left California behind for a lower cost of living in Oregon. And from Oregon, he developed... more..

  • Quines, Polyglot Code and Other Fun Computations

    Quines, Polyglot Code and Other Fun Computations

    • icon Sep 02, 21
    • icon 61 min

    Today, previous guest and my neighbor Don Mckay and I will discuss items from the endless fascinating Cursed Computer Iceberg Meme. The Iceberg is a giant list of “the peculiarities and weirdness of computers.”

    We each a select few items from the list and alternate explaining it to each other. Don’s choices are varied,... more..

  • Full-Time Open Source

    Full-Time Open Source

    • icon Aug 02, 21
    • icon 46 min

    Today’s show: How to quit your job and work on open source full time.

    This story has it all – balancing side projects and full-time employment, building up enough supports to leave your job, and explaining quitting to your family and friends.

    And also: what do you do if your project succeeds, and then someone... more..

  • The Untold Story of SQLite

    The Untold Story of SQLite

    • icon Jul 02, 21
    • icon 38 min

    On today’s show, I’m talking to Richard Hipp about surviving becoming core infrastructure for the world. SQLite is everywhere. It’s in your web browser, it’s in your phone, it’s probably in your car, and it’s definitely in commercial planes. It’s where your iMessages and WhatsApp messages are stored, and if you do a find on... more..

  • From Competitive Programming to APL

    From Competitive Programming to APL

    • icon Jun 02, 21
    • icon 53 min

    Today on the show, we have solving algorithmic programming problems. You know when you interview for a job to write CSS and they ask you to reverse a binary tree on the whiteboard using C and in constant memory space? It’s that kind of thing. These problems have their roots in algorithmic programming contests. And... more..

  • Smart Contract Rescue

    Smart Contract Rescue

    • icon May 02, 21
    • icon 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

    • icon Apr 03, 21
    • icon 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

    • icon Mar 01, 21
    • icon 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

    • icon Feb 01, 21
    • icon 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

    • icon Jan 01, 21
    • icon 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

    • icon Dec 01, 20
    • icon 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

    • icon Nov 01, 20
    • icon 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

    • icon Oct 01, 20
    • icon 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

    • icon Sep 01, 20
    • icon 40 min

    Preparing our minds for the inevitable is hard. But, after facing terminal cancer, Kate Gregory recalled that facing death has many lessons to teach us.

    In this episode,  Kate will share the lessons she learned and explain how you can apply them to your career as a software developer and live a remarkable life.

  • We're Teaching Functional Programming Wrong

    We're Teaching Functional Programming Wrong

    • icon Aug 03, 20
    • icon 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 engineers learn best.

    Richard also delves into Elm, his approach, and how... more..

  • Software That Doesn't Suck

    Software That Doesn't Suck

    • icon Jul 01, 20
    • icon 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

    • icon Jun 10, 20
    • icon 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

    • icon May 18, 20
    • icon 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

    • icon May 05, 20
    • icon 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

    • icon Apr 17, 20
    • icon 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

    • icon Apr 03, 20
    • icon 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

    • icon Mar 16, 20
    • icon 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

    • icon Mar 02, 20
    • icon 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

    • icon Feb 15, 20
    • icon 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

    • icon Feb 01, 20
    • icon 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

    • icon Jan 16, 20
    • icon 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

    • icon Dec 17, 19
    • icon 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

    • icon Dec 02, 19
    • icon 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

    • icon Nov 16, 19
    • icon 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

    • icon Nov 01, 19
    • icon 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

    • icon Oct 01, 19
    • icon 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

    • icon Sep 15, 19
    • icon 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

    • icon Sep 01, 19
    • icon 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

    • icon Aug 16, 19
    • icon 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

    • icon Aug 15, 19
    • icon 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

    • icon Jul 15, 19
    • icon 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

    • icon Jun 15, 19
    • icon 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

    • icon May 31, 19
    • icon 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

    • icon May 15, 19
    • icon 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

    • icon Apr 30, 19
    • icon 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

    • icon Apr 15, 19
    • icon 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

    • icon Mar 31, 19
    • icon 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

    • icon Mar 15, 19
    • icon 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

    • icon Feb 22, 19
    • icon 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

    • icon Jan 25, 19
    • icon 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

    • icon Dec 18, 18
    • icon 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

    • icon Dec 01, 18
    • icon 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

    • icon Nov 14, 18
    • icon 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

    • icon Oct 22, 18
    • icon 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

    • icon Oct 03, 18
    • icon 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

    • icon Aug 31, 18
    • icon 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

    • icon Aug 17, 18
    • icon 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

    • icon Jul 27, 18
    • icon 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

    • icon Jul 03, 18
    • icon 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

    • icon Jun 13, 18
    • icon 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..

  • Microservices Architecture

    Microservices Architecture

    • icon Jun 06, 18
    • icon 66 min

    I don’t know a lot about microservices. Like how to design them and what the various caveats and anti-patterns are. I’m currently working on a project that involves decomposing a monolithic application into separate parts, integrated together using Kafka and http.

    Today I talk to coauthor of upcoming book, Reactive Systems Architecture : Designing and... more..

  • Rust And Bitter C++ Developers

    Rust And Bitter C++ Developers

    • icon May 16, 18
    • icon 62 min

    Today I talk with Jim Blandy, one of the authors of Programming Rust. We talk about what problems rust is trying to solve, the unique language features and type system of rust. It includes both algebraic data types, type classes, and generics. We also touch on why it is so hard to secure code. Jim... more..

  • Distributed Systems

    Distributed Systems

    • icon May 02, 18
    • icon 66 min

    Today’s interview is with Steven Proctor, the host of the functional geekery podcast. We talk about distributed programming in general and specifically how erlang supports distributed computing. We also talk about things he’s learned about functional programming and applying FP principles to various non FP contexts.

  • Graphql


    • icon Apr 18, 18
    • icon 55 min

    What is GraphQL and when should you use it? Oleg Illyenko is primary creator of Sangria, a graphql implementation used by twitter, The New York Times and many other companies. We discuss the problems that graphql solves, how sangria works and the problems of api design.

    According to Oleg, GraphQL gives you a type system... more..

  • PureScript


    • icon Apr 04, 18
    • icon 51 min

    Purescript is a functional programming language that compiles to JavaScript. It is a strict haskell dialect that can run anywhere that javascript does.

    Justin Woo is a self described PureScript evangelist and enthusiast. We talk about PureScript vs Elm and working with expressive type systems. Justin also had some great metaphors about phantom types and... more..

  • Throwaway the Irrelevant

    Throwaway the Irrelevant

    • icon Mar 21, 18
    • icon 68 min

    John De Goes and I talk flame wars, monad transformer performance, IO monad flavours, and reasoning about polymorphic type signatures. On the lighter side, we discuss how to write technical articles well and Zee vs Zed pronunciation.

  • Generic Programming

    Generic Programming

    • icon Mar 07, 18
    • icon 60 min

    When Miles Sabin applied to speak at a conference on generic programming, he bluffed a little bit. He would present on porting Simon Peytons Jone’s scrap your boilerplate functionality to Scala. Once his talk was accepted, he only had one thing left to do, implement it.

    Generic programming is the type of polymorphism your language... more..

  • Total Programming Using Swift

    Total Programming Using Swift

    • icon Feb 12, 18
    • icon 53 min

    In simple terms, a total function is a function that produces a well defined output for all possible inputs. A total program is a program composed of only total functions.  

    A non-total, or partial function, would be a function that can fail given certain inputs. Such as taking the head of a list, which... more..

  • Type Driven Development and Idris

    Type Driven Development and Idris

    • icon Jan 29, 18
    • icon 59 min

    Edwin Brady is the creator of the Idris programming language and Author of the book Type-Driven Development with Idris and a computer science lecturer. The book, the language and Edwin himself all seem to be chock full of ideas for improving the way computer programming is done, by applying ideas from programming language theory.

    In... more..

  • Algebraic Domain Modelling using Functions

    Algebraic Domain Modelling using Functions

    • icon Jan 22, 18
    • icon 58 min

    In object oriented languages, modeling a complex problem domain is a well understood process. Books like Domain Driven Design contain techniques for breaking down a problem domain and earlier books like the gang of four book catalogue design patterns for modeling these domains in an object oriented way.

    In today’s interview Debashish Ghosh explains how... more..

  • Design Principles From Functional Programming

    Design Principles From Functional Programming

    • icon Jan 10, 18
    • icon 51 min

    Runar Bjarnason has been exploring how writing in a functional style increases modularity and compositionality of software for many years. He is co-author of functional programming in scala, a book that teaches these principles in scala. It is a very challenging yet very rewarding book, sometimes referred to as simple ‘the red book’.

    In this... more..

  • Scala at Duolingo

    Scala at Duolingo

    • icon Jan 07, 18
    • icon 53 min

    Doulingo is a language learning platform with over 200 million users. On a daily basis millions of users receive customized language lessons targeted specifically to them. These lessons are generated by a system called the session generator.

    In this episode, Andre talks about the reasons for the rewrite, what drove them to move to scala... more..

  • Incident Response

    Incident Response

    • icon Jan 05, 18
    • icon 51 min

    As a system becomes more complex, the chance of failure increases. At a large enough scale, failures are inevitable. Incident response is the practice of preparing for and effectively recovering from these failures.

    In this interview Emil argues that we need to move beyond tribal knowledge and incorporate practices such as an incident command system... more..

  • Scala Native

    Scala Native

    • icon Jan 01, 18
    • icon 48 min

    Scala is a functional and object oriented programming language built on the JVM. Scala Native takes this language, loved by many, and brings it to bare metal. Scala Native is an optimizing ahead-of-time compiler and lightweight managed runtime designed specifically for Scala.

    Denys Shabalin is a Research Assistant at the EPFL and the primary creator of... more..

Audio Player
back 15
forward 60s

From Burnout to Breakthrough