

CoRecursive: Coding Stories
Adam Gordon Bell - Software Developer
The stories and people behind the code. Hear stories of software development from interesting people.
Episodes
Mentioned books

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/

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/

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

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/

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.

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

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.

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

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.

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.