The stories and people behind the code. Hear stories of software development from interesting people.

Similar Podcasts

The Cynical Developer

The Cynical Developer
A UK based Technology and Software Developer Podcast that helps you to improve your development knowledge and career, through explaining the latest and greatest in development technology and providing you with what you need to succeed as a developer.

Elixir Outlaws

Elixir Outlaws
Elixir Outlaws is an informal discussion about interesting things happening in Elixir. Our goal is to capture the spirit of a conference hallway discussion in a podcast.

Thinking Elixir Podcast

Thinking Elixir Podcast
The Thinking Elixir podcast is a weekly show where we talk about the Elixir programming language and the community around it. We cover news and interview guests to learn more about projects and developments in the community.

Moves and Borrowing In Rust With Jim Blandy

July 03, 2018 01:07:04 56.33 MB Downloads: 0

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.

Dependent Types in Haskell with Stephanie Weirich

June 13, 2018 58:44 61.98 MB Downloads: 0

At Strange loop 2017, a 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 look up in the dictionary was validated at compile time. It was a compile time error to access elements that didn't exist. Also the dictionary was heterogeneous, the elements had different types, and it was all inferred and validated at compile time. What I was seeing was Dependent types in Haskell. In today's interview Stephanie Weirich explains her efforts to add dependent types to haskell and how that example worked.   Shows Notes: Dependent Types in Haskell Talk https://www.cis.upenn.edu/~sweirich/ https://github.com/sweirich @fancytypes Dependent Types Regex

Micro Services vs Monoliths With Jan Machacek

June 06, 2018 01:06:33 56.04 MB Downloads: 0

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

Rust And Bitter C++ Developers With Jim Blandy

May 16, 2018 01:02:53 52.83 MB Downloads: 0

 Rust, the programming language, seems to be really trendy these days.  Trendy to me means shows up a lot on hacker news.  Rust is really interesting language though, and I think the growing popularity is deserved.   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.  There is even a proposal somewhere for adding HKT.  We also touch on why it is so hard to secure code. Jim works on Firefox and his insights into the difficulty of writing secure code are super interesting. Show notes Rust Programming Rust Book MESI protocol  Constraint-based Verification of Parameterized Cache Coherence Protocols Formal Methods in System Design Rust Validation  -  3d game demo - (not sure where this is, post in comments if you find it) integer overflow 

Erlang And Distributed Systems with Steven Proctor

May 02, 2018 01:01:26 51.63 MB Downloads: 0

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.   Contact Proctor: Functional Geekery Podcast @stevenproctor @fngeekery

Tech Talk: Graphql With Oleg Ilyenko

April 18, 2018 55:35 46.68 MB Downloads: 0

Tech Talks are in-depth technical discussions. Oleg Illyenko is primary creator of Sangria, a graphql implementation used by twitter, The New Yorks Times and many other companies.  We discuss the problems that graphql solves, how sangria works and the problems of api design. Show Notes: Sangria Graphql Contact Oleg: twitter medium  Talks on Sangria: youtube slides Sangria videos https://www.youtube.com/watch?v=3l--XM6j-1w https://www.youtube.com/watch?v=JC-UJwBKc2Y https://skillsmatter.com/skillscasts/9134-beyond-rest-graphql-and-sangria Graphql https://graphql.org/swapi-graphql/  

Purescript And Avocados with Justin Woo

April 04, 2018 51:06 42.91 MB Downloads: 0

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 masking tape as well as avacados and testing.   Contact Justin: twitter github website Show notes: Purescript purescript training videos     My team at Tenable is hiring.  We are a distributed team of scala developers working on static analysis of docker containers (among other things). We are a team of smart people, working fairly autonomously on interesting problems.  We are one of many teams working on interesting problems at Tenable.  I think its a great place to work. I am in Peterborough, in Canada, and our team has people working in the US, Ireland and the UK as well. Here is the job posting:  https://www.linkedin.com/jobs/view/586241797/ Tell them Adam sent you, or you can email me directly at work abell at tenable.com or use this link to apply.

FP Interview: Throw Away the Irrelevant with John A De Goes

March 21, 2018 01:07:41 64.97 MB Downloads: 0

  Today's interview is with John A De Goes. We talk about performance problems with monad transformer on the jvm, various flavours of IO monads and reasoning about polymorphic type signatures.  On the lighter side of things, we discuss how to write technical articles well, flame wars and Zee vs Zed pronunciation.     Show Notes: John's Website and Twitter Descriptive Variable Names: A Code Smell Data Structures Are Antithetical to Functional Programming A Modern Architecture for FP

Tech Talk: Generic Programming with Miles Sabin

March 07, 2018 01:00:38 43.68 MB Downloads: 0

Tech Talks are in-depth technical discussions. 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 does not directly support.  To me this seems paradoxical, as once you implement a solution, the language, or at least a library within the language can now support it.  This recursive definition and a speaking deadline led Miles to create shapeless. Years later he is still pushing the bounds on what you can do in Scala, including recently getting support for literal types added to scalac 2.13.

Functional Programming Interview: Total Swift Programming

February 12, 2018 53:53 53.11 MB Downloads: 0

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 can fail if giving an empty list and is therefore non-total. Total programming can be done in any language, however many languages make this easier.  Some, going so far as to require proof of totality. In this interview Andre Videla discusses how the swift program language encourages programming in a total style.  He also discusses his love of Idris, proof assistants and how his research into haskell, idris and dependant types have made him a better swift programmer.   Links: Total Programming In Swift  

Functional Programming Interview: Idris, Proofs and Haskell with Edwin Brady

January 29, 2018 59:04 58.09 MB Downloads: 0

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 this interview, we discuss dependent types, type holes, interactive and type-driven development, theorem provers, Curry–Howard correspondence, dependant haskell, total functional programming, British vs American spelling and much more.     Links: The Book Idris Lectures at OPLSS Idris Language Site

Functional Programming Interview: Domain Driven Design meets Functional Programming

January 22, 2018 56:02 53.79 MB Downloads: 0

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 to model a complex problem domain in a functional paradigm.  His solution focuses on modelling the behaviour of the software system rather than nouns it will contain.  He also focuses on an algebraic approach to api design and discusses how abstract algebra provides tools for building better software. Episode Page Episode Transcript “I first come up with what I call the algebra of the behaviors. The algebra of the behaviors refers to the basic contract, which the behavior is supposed to support, which the behavior is supposed to honor. So that's the algebra.” -Debashish Ghosh Links: Debashish's Book

Tech Talk: Design Principles From Functional Programming with Runar Bjarnason

January 10, 2018 51:12 43.0 MB Downloads: 0

Tech Talks are in-depth technical discussions. 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 interview Runar explains how writing in a functional style involves limiting side effects, avoiding exceptions and using higher order abstractions.  Writing in this style places constraints on what a module in a software system may do, but by constraining modules in this way, the software modules themselves become endlessly composable.     Enjoy Show Notes: Functional Programming In Scala Constraints Liberate

Tech Talk: Python to Scala rewrite at Duolingo with Andre Kenji Horie

January 07, 2018 53:17 44.75 MB Downloads: 0

Tech Talks are in-depth technical discussions. 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.   Andre Kenji Horie is senior engineer at Doulingo.  He wrote about the process of rewriting the session generator, as well as moving from python to scala.  and changing architecture all at the same time. In this episode Andre talks about the reasons for the rewrite, what drove them to move to scala and the experience of moving from one technology stack to another.   Show Notes: Rewriting Doulingo's Engine in Scala Jobs at DouLingo

Tech Talk: Incident Response with Emil Stolarsky

January 05, 2018 51:26 43.2 MB Downloads: 0

Tech Talks are in-depth technical discussions. 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. An engineering team can use checklists and runbooks to minimize failures. They can put a plan in place for responding to failures. And they can use the process of post mortems to reflect on a failure and take full advantage of the lessons of that failure. Emil Stolarsky is a production engineer at Shopify where his role shares many similarities with that of Google's site reliability engineers. In this episode, Emil argues that the academic study of emergency management and industries such as aerospace and transportation have a lot to teach software engineers about responding to production problems.   In this interview Emil argues that we need to move beyond tribal knowledge and incorporate practices such as an incident command system and rigorous use of checklists. Emil suggests that we need to move beyond a mindset of "move fast and break things" and toward a place of more deliberate preparation.