CoRecursive: Coding Stories

Adam Gordon Bell - Software Developer
undefined
Aug 1, 2019 • 53min

Tech Talk: Jimmy Koppel on Advanced Software Design

Tech Talks are in-depth technical discussions. 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 dollars to drop out of university by Peter Thiel, but yet still graduated with two degrees.   The most interesting, however, about Jimmy is he is working hard to teach the world how to design better software. Due to his time working on program synthesis, he developed some unique insights into what makes software good, and what makes it bad, and he spends time teaching people his insights. Three Level of Software Peter Thiel 20 under 20 Benjamin Franklin Method  You are a Program Synthesizer Jimmy's Coaching Program Episode Page: https://corecursive.com/036-jimmy-koppel-advanced-software-design/
undefined
14 snips
Jul 15, 2019 • 1h 11min

Tech Talk: Typescript with Chris Krycho

Tech Talks are in-depth technical discussions. 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 also loves Rust and types and is a former C and FORTRAN programmers. He hosted a podcast called the New Rustacean, which he has retired from. Today we talk about TypeScript and when you should use it. We also talk about Language Server Protocols, Rust, working with large codebases, Structural types, row polymorphism and talking code over audio. Chris's Blog TypeScript New Rustacean Chris's Typescript Refinement types in TypeScript Winning Slowly Podcast https://corecursive.com/034-chris-krycho-typescript/  
undefined
Jun 15, 2019 • 1h 1min

Tech Talk: Rethinking Technological Positivism with Cory Doctorow

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 one of my favorite authors and also a public intellectual with a keen insight into the dangers we face a society. In this interview, I ask him how to avoid ending up in a techno-totalitarian society. We also talk about Turing, DRM, data mining and monopolies.   The coming war on general computation  Cory's Personal Site  Radicalized (and other books)  EFF  Website for Page
undefined
15 snips
May 31, 2019 • 56min

Tech Talk: Crafting Interpreters With Bob Nystrom

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 work on build language implementations focuses on parser and tokenizer generators then Bob's insights will be eye-opening. Also, if you've ever used regexes to pull strings apart into structured data, and I sure have, then Bob's perspective on the simplicity of hand-rolled parsers will certainly open up some new possibilities for you. Links: http://craftinginterpreters.com/ http://gameprogrammingpatterns.com/ http://journal.stuffwithstuff.com/
undefined
14 snips
Apr 30, 2019 • 59min

Tech Talk: Rethinking databases and Noria with Jon Gjengset

Jon Gjengset, a leader on the Noria project at MIT CSAIL, dives into innovative database management. He discusses how Noria redefines performance by integrating caching directly into the database, using materialized views for query optimization. Jon elaborates on the ingenious data flow model and how it enhances cache management compared to traditional systems like MySQL. He also shares insights on teaching Rust through live coding, showcasing its unique features that prevent bugs while empowering developers.
undefined
Apr 15, 2019 • 55min

Tech Talk: Learning to Think with Andy Hunt - Pragmatic Programmers guide to being productive

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 I talk to Andy about how software engineers can get better at thinking and learning. How can we develop this meta-skill and how can being aware of common mistakes our brain make us more productive? Show notes: The Pragmatic Programmer  Pragmatic Thinking and Learning  Conglommora  Webpage for Episode  
undefined
34 snips
Mar 31, 2019 • 56min

Tech Talk: Data and Scale with Pat Helland - The long view on distributed databases

Pat Helland, a longtime expert in distributed databases and currently with Salesforce, shares his insights on the complexities of modern data storage. He explains how to navigate the world of distributed systems using relatable metaphors, like comparing messaging challenges to postal communication. Helland dives into state management in microservices, the nuances of managing distributed transactions, and the significance of immutability in data handling, all while emphasizing the balance between theoretical concepts and practical business needs.
undefined
11 snips
Mar 15, 2019 • 49min

Abstraction and Learning with Runar Bjarnason

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 of abstraction for the software we write.  In this interview, he explains these concepts using examples from the real world, from SQL, from effectful computing and many other areas. We also talk about how to learn and acquire the skills necessary to understand abstract concepts like very polymorphic code and category theory. Runar also explains his latest project unison computing and how it uses the correct level of abstraction to rethink several foundation ideas in software development.   Links: Constraints Liberate Maximally Powerful, Minimally Useful Unison Computing Webpage for show
undefined
21 snips
Feb 22, 2019 • 54min

Tech Talk: Modern Systems Programming And Scala Native With Richard Whaling

Richard Whaling, author of Modern Systems Programming with Scala Native, shares his unique insights on software development, focusing on low-level system programming. He discusses how to build faster software using glibc and modern techniques like manual memory management with raw pointers. The conversation highlights the importance of optimizing performance for data processing, the challenges of integrating Scala with C, and navigating software dependencies with a self-sufficient approach. Whaling also addresses modern systems programming challenges and the potential of emerging languages.
undefined
Jan 25, 2019 • 60min

Burn out and recreational coding with Jamis Buck

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 burn out.  We discuss how his struggle lead him to write a book about generating mazes and another about building a ray tracer. His books are great fun, and all about recreational programming.  You will learn to build things with a focus not on the latest trends in software development and not even a specific programming language.  The focus instead is on fun.  

The AI-powered Podcast Player

Save insights by tapping your headphones, chat with episodes, discover the best highlights - and more!
App store bannerPlay store banner
Get the app