CoRecursive: Coding Stories

Adam Gordon Bell - Software Developer
undefined
Dec 18, 2018 • 1h 19min

Tech Talk: Software as a Reflection of Values With Bryan Cantrill

Bryan Cantrill, CTO of Joyent and an expert in operating systems, argues that choosing programming languages and tools should align with personal values rather than seeking the 'best' option. He highlights the important trade-offs within languages like Rust and JavaScript, celebrating Rust’s memory safety. The conversation also touches on the historical significance of languages like Simula 4 and critiques proprietary trends, while advocating for diversity in tech choices to foster innovation. Cantrill's insights elevate how we think about technology decisions.
undefined
Dec 1, 2018 • 1h 7min

Tech Talk: The Little Typer With Daniel Friedman and David Thrane Christiansen

Tech Talks are in-depth technical discussions. When it comes to type systems "I am, so far, only in the dependent types camp" - Daniel P. Friedman 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 future. Daniel P. Friedman is famous for his "Little" series of books. Little Schemer, Little prover, Little MLer and so on. These books are held in high regard. Here is a quote from Doug Crockford:  "Little Schemer teaches one thing, a thing that is very difficult to teach, a thing that every profession programmer should know, and it does it really well. These are lessons that stick with you." The latest one is the little typer and its about types. Specifically dependent types. Dan's coauthor is David Thrane Christiansen, Idris contributor, and host of a podcast about type theory that is way over my head. Together they are going to teach us how the programming skills we already have can be used to develop rigourus mathematical proofs. Stay tuned to the end for my guide to working thru the book. Originally published at CoRecursive here Join Our Slack Community
undefined
Nov 14, 2018 • 1h 1min

Tech Talk: Big Ball Of Mud

Tech Talks are in-depth technical discussions. Evolving software under constrained resources is a challenge, and I think we kid ourselves when we don't admit this. Software that is providing value often grows in scope until it is a mess.  Today I talk to Wade Waldron about how avoid this situation or recover from it. Big ball of mud is the title of a paper presented at the 1997 Patterns Languages of Programs conference and I think it is super interesting. The researchers went out into the field to see what architectures software in industry were following. Big Ball of mud is what they found, along with other 6 other patterns with names like "sweep it under the rug" and reconstruction, which is the throw it away and start again pattern. Links: Big Ball Of Mud Paper Hexagonal Architecture Reactive Foundations Course Reactive Advanced Course Check out other episodes like this Philip Wadler: https://corecursive.com/021-gods-programming-language-with-philip-wadler/ This podcast originally published here : https://corecursive.com/22-big-ball-of-mud-architecture-and-services-with-wade-waldron/
undefined
Oct 22, 2018 • 1h 1min

Tech Talk: God's Programming Language - Philip Wadler on Haskell

Tech Talks are in-depth technical discussions. Today I talk to Professor Philip Wadler, a very accomplished programming language researcher.  Phil walks us through a principle that has guided his career.  That principle is that typed lambda calculus is not invented but a discovery of a deep truth. It is something connected to the mathematical underpinning of the universe itself. It follows from this that functional programming languages are therefore more correct or more deeply justified and fundamental than other languages.  I am probably stating things in a stronger fashion than Phil is comfortable with, but I like fp, so I can be a little hyperbolic. While explaining this principle, that has guided his career, Phil takes us through the history of computer science.  We start with Turing and Alonzo Church.  Eventually we get to what the movie Independence Day got wrong and what language a theoretical creator deity would program in. Show notes: talk paper   Web page for this episode CoRecursive On Twitter CoRecursive On Itunes
undefined
Aug 31, 2018 • 48min

Tech Talk: Test in Production and being On-Call with Charity Majors

Tech Talks are in-depth technical discussions. "Metrics and Dashboards can die in a fire and every software engineer should be on-call" - Charity Majors 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 in production more. It was a pretty hyperbolic statement, but backed up with a lot of great insights. I think you'll find this interview similarly insightful. Charity and her company are probably best known for popularizing the concept that observability in the key to being able to debug issues in production. Also if you are a talented developer with functional programming skills, I've got a job offer for you. My employer Tenable is hiring.  Tenable is a pretty great place to work. Here is a job link. Show notes: Facebook Scuba Observability Talk the-engineer-manager-pendulum HoneyComb.io   Show Link
undefined
Aug 17, 2018 • 49min

Tech Talk: Domain Driven Design And Microservices

Vaughn Vernon, an expert on domain-driven design and creator of the Vlingo platform, dives deep into the interplay between domain-driven design and microservices. He shares insightful guidelines for defining service and consistency boundaries. The discussion explores the importance of bounded contexts and the challenges of data consistency. Vaughn highlights how Vlingo supports DDD principles with its reactive architecture, while inviting developers to collaborate on open-source projects, fostering a global community for innovation.
undefined
Jul 27, 2018 • 51min

Tech Talk: Http4s and Functional Web Development With Ross Baker

Tech Talks are in-depth technical discussions. 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 fp in the large? Http4s is a web framework written in scala that takes a pure functional approach to building http services. Ross Baker is a contributor to http4s and he explains the benefits of this approach. We also touch on the benefits of working remotely, since he and I have both been doing it for some time. Links: Http4s Presentation on Http4s  Today I talk with @rossabaker about http4s and the benefits of a pure functional approach to building http services
undefined
Jul 3, 2018 • 1h 7min

Tech Talk: Moves and Borrowing In Rust With Jim Blandy

Tech Talks are in-depth technical discussions. 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 work.  We also talk about how to avoid fighting with the borrow checker at all and why the conceptual model that Rust adopts, though it may seem unusual at first, is actually more representative of how computers work and therefore an easier programming model.
undefined
Jun 13, 2018 • 59min

Tech Talk: Dependent Types in Haskell with Stephanie Weirich

In this discussion, Stephanie Weirich, a Professor at the University of Pennsylvania and an expert in dependent types, shares her insights on extending Haskell's type system. She illustrates how dependent types make type checking more powerful, allowing for compile-time validation of elements in heterogeneous dictionaries. Stephanie explains the applications of dependent types in creating safer programs, including parsing expressions. The conversation also touches on the experimental nature of Haskell and the evolution of its language features, offering a glimpse into future possibilities.
undefined
Jun 6, 2018 • 1h 7min

Tech Talk: Micro Services vs Monoliths With Jan Machacek

Tech Talks are in-depth technical discussions. I don't know a lot about micro services.  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 Implementing an Entire Distributed System.  If you want to learn some of the hows and whys of building a distributed system, I think you'll really enjoy this interview.  The insights from this conversation are already helping me. Contact Jan Machacek is the CTO at Cake Solutions. Videos long lived micro services  Book - Reactive System Architecture

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