Cover art for podcast Happy Path Programming

Happy Path Programming

62 EpisodesProduced by Bruce Eckel & James WardWebsite

No-frills discussions between Bruce Eckel and James Ward about programming, what it is, and what it should be.

episodes iconAll Episodes

#63 ZIO 2 dot Ohhhhh! with Bill Frasure

July 1st, 2022


Our co-author on Effect Oriented Programming, Bill Frasure, joins us to chat about his programming journey and his involvement in last week's ZIO 2.0 …

#62 Musing About Local-First Sync & CRDTs with Mark McGranaghan

May 27th, 2022


Mark McGranaghan joins us to talk about how the Muse app uses Conflict-free Replicated Data Types (CRDTs) for local-first data synchronization.

More details on Local-first:

#61 Compassionate Communities with Tonya Moore

May 13th, 2022


Tonya Moore has been helping build developer communities for years. We discuss how to deal with jerks and the importance of building on a foundation of compassion.

Referenced blog from Bill Venners:

#60 Kotlin Language Design with Roman Elizarov

April 12th, 2022


Kotlin Language designer Roman Elizarov, joins us to talk about finding the right balances when designing Kotlin.

Discuss this episode:

#59 Goetz's Law, Dhall, and Nix (With Gabriella Gonzalez)

March 29th, 2022


Gabriella Gonzalez joins to teach us about the Dhall configuration language they created and Nix.


The Dhall configuration language

Henk: …

#58 Scala 3: Significant indentation and other things we love (With Martin Odersky)

March 20th, 2022


Martin Odersky, creator of Scala, joins us to chat about Scala, Effects, Exceptions, Experiments, and other Exciting stuff.

Discuss this episode:

#57 Technology Trade Offs: Python & Kotlin (With Matt Anger)

March 15th, 2022


We explore with Matt Anger a blog he wrote about migrating from Python to Kotlin and the trade offs engineering teams make when deciding which …

#56 Feedback Loops & Software is Like Surgery (With Daniel Terhorst-North)

March 10th, 2022


We explore with Daniel Terhorst-North how social and technical feedback loops can help us build the right thing faster.

Discuss this episode:

#55 Apache Kafka - Like Functional Programming but for Data (With Anna McDonald)

March 3rd, 2022


We chat with the Kafka Duchess, Anna McDonald, about Apache Kafka, CQRS, Event Sourcing, and of-course Functional Programming.

Note: There was a bit …

#54 Flix: Designing a principled programming language with Magnus Madsen

February 5th, 2022


Magnus Madsen, language designer for the Flix programming language, joins us to talk about the driving principles and innovative features of the language.

Discuss this episode:

#53 Open Source: Free as in Hot Dogs (With Donald Fischer)

January 21st, 2022


Open Source is an essential foundation for pretty much everything. How do we fund it appropriately? What do we do about Log4Shell-types of issues?  Donald Fischer of Tidelift joins us to discuss these economic and human …

#52 Reveling in Nonsense With Josh Long

January 14th, 2022


A stroll through 20 years of Spring with Josh Long. Also: Bruce, James, and Josh announce their new Ska band.

Discuss this episode:

#51 James' New Kotlin PM Job

December 24th, 2021


Hope you all have a happy & healthy holiday!

Discuss this episode:

#50 Testcontainers (Like Uber but for Integration Tests) with Sergei Egorov

December 17th, 2021


Testcontainers are one of James' favorite modern technologies and in this episode we chat with Sergei Egorov, one of the project creators.  We learn …

#49 Smart Types (Like Regular Types, Only Smarter) with Jorge Vasquez

December 10th, 2021


Jorge Vasquez has been working on a way to have more precise data modeling while not sacrificing performance or ergonomics. Smart Types in ZIO Prelude are the answer, and they are amazing!

Discuss this episode:

#48 Composability in Distributed Systems - Because Math! With Heather Miller

November 19th, 2021


Heather Miller, Computer Science professor at Carnegie Mellon, joins us to talk about her research into composability in distributed systems, the challenges with serialization, and a better approach to Chaos Engineering.

#47 The Future of Programming Rocs! With Richard Feldman

November 17th, 2021


The creator of the new Roc programming language, Richard Feldman, joins us to talk about rocking developers worlds' with better tools & paradigms.

#46 What Problem Does GraalVM Solve? All of them. Featuring Alina Yurenko

November 5th, 2021


We dive deep on GraalVM and learn from Alina Yurenko about all the problems it solves.

Discuss this episode:

#45 ZIO 2 - Better, Faster, Friendlier with Adam Fraser

October 29th, 2021


Adam Fraser is a core contributor to Scala ZIO. He joins us to chat about improvements in ZIO 2 and how we can grow adoption.

Discuss this episode:

#44 Tired of Getting N+1'd by Your ORM? A Chat With Alexander Ioffe.

October 29th, 2021


We chat with Alexander Ioffe, maintainer of the Quill library, about database access approaches and Scala metaprogramming.

Discuss this episode:

#43 Rúnar Bjarnason is Jackhammering the Foundations of Programming

October 25th, 2021


We've mentioned the futuristic Unision programming language many times but now we dive deep with one of the co-founders.

Discuss this episode:

#42 The answer to life, the universe, and everything is an abstraction with Viktor Klang

October 5th, 2021


The legendary Viktor Klang chats with Bruce & James about information loss, reactive, emergence, and many other mind expanding topics.

Discuss this episode:

#41 "Never gonna give you up" (FP that is) with Wiem Zine Elabidine

September 26th, 2021


Bruce and James hear about Wiem's journey in Functional Programming, her contributions to Scala ZIO, and how she never gave up despite the challenges she faced.

Discuss this episode:

#40 Poisoned Agile with Barry Hawkins

September 17th, 2021


Bruce and James chat with Barry Hawkins about software methodologies, their triumphs and abuses.

Discuss this episode:

#39 Cracking the Company Culture Conundrum with Sharon Schmidt

September 10th, 2021


According to James, Heroku had the best company culture / vibe of anywhere he has worked. Bruce & James talk with Sharon Schmidt who is in large …

#38 Databases are Insufficient with Jonas Bonér

August 27th, 2021


James rants about databases with Jonas Bonér, CEO of Lightbend and creator of Akka. Bruce & James also learn about the actor model, Reactive, and Akka Serverless.

Discuss this episode:

#37 The Future of Everything with Paul Snively

August 14th, 2021


Paul Snively helps us see the future of programming. Spoiler: It's Typed & Functional.

Referenced talks:

Types vs. Tests: An Epic Battle?

Type …

#36 The Freedom of Structured Unconferences

August 6th, 2021


Bruce describes his multi-decade journey running conferences and how letting go of control, while still having a structure, has led to conferences …

#35 The Pattern of Design Patterns

July 23rd, 2021


As usual, Bruce & James try to figure out monads & type classes. Then something new, as they go meta on design patterns.

Discuss this episode:

#34 Fear, Uncertainty, and Monads with Dick Wall

July 9th, 2021


FEE, FOO, FUD, and FUM (Fear, Uncertainty, and Monads) - Scala Giant, Dick Wall, joins Bruce and James to talk about life, work, and Functional Programming.

Discuss this episode:

#33 Rethinking "Thinking in Objects"

July 2nd, 2021


Object Oriented Programming might just be a series of solutions to self-created problems.

Discuss this episode:

#32 Adopting Kotlin & FP with Katie Levy

June 18th, 2021


Katie Levy joins Bruce & James to talk about how to help teams adopt Kotlin and Functional Programming.

Discuss this episode:

#31 "ZIO's not a library it's a state of mind" with Kit Langton

June 11th, 2021


Bruce and James' coauthor Bill Frasure, joins to talk with Kit Langton, creator of ZIO Magic and many other magical ZIO tools & libraries.

#30 Programming in (not with) Scala 3 but with Bill Venners

May 28th, 2021


Bruce and James chat with their long time friend Bill Venners about Scala 3 and the updates to his "Programming in Scala" book.

Discuss this episode:

#29 Contemplating Computer Cognition with Julie Amundson

May 18th, 2021


Bruce and James chat with their friend Julie Amundson about AI, Machine Learning, and many related complexities.  They explore what the journey is …

#28 PREP - Performant, Reliable, Expressive, and Productive

April 30th, 2021


Bruce, James, and their friend Bill are working on a new book about systems that are Performant, Reliable, Expressive, and Productive. This episode explores those themes with some significant detours along the way.

#27 Side-Effects of a Scala 3 Release

April 23rd, 2021


With the eminent release of Scala 3, we chat about the language changes, effect systems (ZIO), and reliability.

Discuss this episode:

#26 Dependency Injection - Why Do We Even...

April 16th, 2021


All about Dependency Injection, why we do it, and why James thinks it is terrible.

Discuss this episode:

#25 No Good Build Tools. Blocked on Reactive.

April 9th, 2021


Once again we lament build tools. Then we get blocked talking about Reactive, async, non-blocking, actors, and concurrency.

Discuss this episode:

#24 Vulnerability & Additive Hiring with Dianne Marsh

April 2nd, 2021


Bruce & James have a delightful chat with long-time friend Dianne Marsh about changing tech culture to be more vulnerable and diverse.

Note: The …

#23 The Modern Java Platform - 2021 Edition

March 19th, 2021


James shares about a blog he posted this week titled: "The Modern Java Platform - 2021 Edition"

Discuss this episode:

#22 Be the Kindness You Want to See in the Programming World

March 8th, 2021


Special guest Oli joins us to chat about Recursion Schemes, tech conferences, podcasts, and kindness.

Discuss this episode:

#21 Statically-Dynamic Programming or Dynamically-Static Programming? And Death by 1000 Language Quirks

February 26th, 2021


James is a Dynamic Programming Language Denier but realizes only a part of his code is actually statically typed. And programming languages so full …

#20 Cultures (not the petri dish variety) & Developer Marketing (also not the petri dish variety)

February 12th, 2021


Culture - the hidden force that sometimes reveals itself through code reviews. What is it & how does it form / change?

Also, Developer Marketing …

#19 Technology Evolution & Adoption - Why So Slow?

February 5th, 2021


Change happens, but slowwwwly. How can we accelerate the adoption of new & better programming language features? Should we?

Discuss this episode:

#18 "But Will it Scale?" and Other Illusions of Control

January 18th, 2021


Software architectures, organizational management, hiring practices, and many other normal part of life give us an illusion of control.  But is there …

#17 The Problem with Gradle; Java 11; SemVer Isn't

January 7th, 2021


Bruce and James have struggled with Gradle for years and Bruce this week blogged about some of his gripes: The Problem with Gradle. This prompted a lengthy response from Cédric Champeau.

James has mostly stuck to Java 8 …

#16 Kotlin for Scala Devs. Reflection is the Devil. Meta-Programming.

December 19th, 2020


James, as a Scala "True Believer," talks about his experiences with Kotlin and how they compare to Scala. Then he switches gears to rant about runtime reflection which leads to a deeper conversation about …

#15 Atomic Kotlin Done! Cloud Events. TestContainers / Serverless Cassandra. Scala ZIO CLI.

December 14th, 2020


Bruce shares exciting news about completing the Atomic Kotlin book. The rest is a mishmash of topics related to newsworthy announcements including Spring Boot Cloud Event support, Serverless + TestContainer + Kubernetes …

#14 Poly-Polymorphism

December 4th, 2020


Most developers have been exposed to inheritance based polymorphism but there are other ways to deal with overlapping functionality. In this episode …

#12 The Rise of Python & (Unrelated) Making Illegal States Unrepresentable

November 6th, 2020


Python usage surpasses Java to second place on the Tiobe Index (behind C). Is developer productivity the primary driver? We then switch gears to talk about the concept of "Making Illegal States Unrepresentable" where …

#11 Small talk about Smalltalk

October 30th, 2020


Our friend Joey Gibson joins us to talk about Smalltalk, the well known grandfather of Object Oriented Programming.  James is assigned some homework to get a Smalltalk web app running on Google Cloud Run, which he did …

#10 Gazing Into the Programming Crystal Ball and Can Organizations Adopt Inner Source?

October 20th, 2020


We start off discussing what the future of programming might be... Can developers stop thinking about resource limitations?  Can we make the "right path" easy?  Then we dive into Inner Source and the organizational …

#9 Buildpacks, Containers, Kubernetes, Happy Path Programming, Rust, and gRPC

October 16th, 2020


We start off talking about Cloud Native Buildpacks and Containers which of-course leads to James trying to explain Kubernetes.  Then we dive into what "Happy Path Programming" means and how, while the term is somewhat …

#8 Kotlin Revisited with Cedric Beust

October 6th, 2020


Long-time Java author & expert, Cedric Beust, joins us to revisit some of the topics from our Kotlin episodes.  We talk more deeply about checked …

#7 Why Adopt New Technology? And Monads! Monads! Monads!

September 29th, 2020


What are the reasons to adopt or migrate to a new technology?  What prevents you from doing so?  We explore that question and the differences between …

#6 The Crusade Against Custom Declarative Languages and Meta-Bike-Shedding

September 25th, 2020


James officially launches his crusade against custom declarative languages and then we bike-shed about bike-shedding; exploring ways to make decisions for trivial problems.

Discuss this episode:

#5 Developer Productivity, Non-Violent Agile, and Organizational Structures

September 17th, 2020


We begin by talking about personal developer productivity but then expand the scope to "collective" / team productivity.  This leads us to grapple …

#4 Why is Developer Experience Often Terrible?

September 16th, 2020


In this episode we discuss things that are often overlooked in developer experience and what underlying values make developer experience an afterthought.

Discuss this episode:

#3 Nulls, ADTs, and Code Formatting

September 15th, 2020


A bike-shedless discussion about nulls, algebraic data types, and code formatting.

Discuss this episode:

#2 More Kotlin!

September 14th, 2020


In episode 2 we continue the conversation about Kotlin, things we enjoy and things that could be better.

Discuss this episode:

#1 Adventures in Kotlin

September 13th, 2020


In our first episode we discuss features of the Kotlin programming language that we like.

Discuss this episode:

Loading ...

Are you the creator of this podcast?

Verify your account

and pick the featured episodes for your show.

Listen to Happy Path Programming


A free podcast app for iPhone and Android

  • User-created playlists and collections
  • Download episodes while on WiFi to listen without using mobile data
  • Stream podcast episodes without waiting for a download
  • Queue episodes to create a personal continuous playlist
RadioPublic on iOS and Android
Or by RSS
RSS feed

Connect with listeners

Podcasters use the RadioPublic listener relationship platform to build lasting connections with fans

Yes, let's begin connecting
Browser window

Find new listeners

  • A dedicated website for your podcast
  • Web embed players designed to convert visitors to listeners in the RadioPublic apps for iPhone and Android
Clicking mouse cursor

Understand your audience

  • Capture listener activity with affinity scores
  • Measure your promotional campaigns and integrate with Google and Facebook analytics
Graph of increasing value

Engage your fanbase

  • Deliver timely Calls To Action, including email acquistion for your mailing list
  • Share exactly the right moment in an episode via text, email, and social media
Icon of cellphone with money

Make money

  • Tip and transfer funds directly to podcastsers
  • Earn money for qualified plays in the RadioPublic apps with Paid Listens