
The Eric Normand Podcast
An off-the-cuff stream of Functional Programming ideas, skills, patterns, and news from Functional Programming expert Eric Normand of LispCast. Formerly known as Thoughts on Functional Programming.
Latest episodes

Apr 24, 2022 • 14min
Is the abstract stuff at the top or the bottom?
I explore a new perspective about what abstraction means and how it can cause problems.

8 snips
Feb 7, 2022 • 14min
The Christopher Alexander Effect
Discover the fascinating link between architectural patterns and software design. Learn how Christopher Alexander's theories shape both design and agile methodologies, benefiting seasoned pros while posing challenges for newcomers. Dive into the concept of the Christopher Alexander Effect, highlighting that true success in design and management comes from deep understanding and skill, not just following rules mechanically. Tune in to unravel why some practices resonate while others don’t!

Jan 31, 2022 • 36min
My feelings about static vs dynamic typing
Can't we all just get along?

7 snips
Jan 10, 2022 • 2h 5min
Computer Science as Empirical Inquiry: Symbols and Search
In this episode, I excerpt from and comment on Allen Newell's and Herbert Simon's 1975 ACM Turing Award Lecture.

Nov 15, 2021 • 25min
How far can we stretch technical debt?
Technical debt is a metaphor used to explain the tradeoff we all face when we have a deadline. How much is it worth to rush the code out the door? It's a good metaphor, but the term is often used these days to mean 'code I don't like'. In this episode, I examine the parts of the metaphor and ways in which technical debt differs from financial debt.

Nov 8, 2021 • 32min
How to avoid premature optimization?
Delve into the pitfalls of premature optimization and its impact on programming assumptions. Discover the significance of domain modeling as a leading indicator of maintenance costs. Learn how denotational design can simplify complex ideas, enhancing clarity and elegance in code. Explore innovative software modeling through business domain actions, emphasizing the need for alignment between domain language and programming logic to foster clearer software design.

Nov 1, 2021 • 22min
What is domain modeling?
I begin exploring the process of domain modeling with a definition.

10 snips
Sep 27, 2021 • 1h 21min
Computer Programming as an Art
I read from the 1974 Turing Award Lecture by Don Knuth.

Aug 30, 2021 • 1h 11min
Programmer as Navigator
Dive into the world of database technology and discover the career of Charles W. Bachman, a pioneer in the field. Explore the evolution from rigid models to relational databases, addressing the complexities of data integrity. Learn how programmers are adapting to new technological challenges and the importance of collaboration in tackling financial burdens. Finally, uncover how timely publication has become essential for innovation in the tech industry and the central role that databases play in modern advancements.

7 snips
Aug 2, 2021 • 2h 16min
The Humble Programmer
Dive into the world of programming philosophy with insights from Edsger Dijkstra's landmark lecture. Explore the importance of humility and the evolution of programming languages like Fortran, LISP, and Algol 60. Discover how managing complexity can enhance code efficiency and reliability. Engage with innovative solutions that prioritize manageable programming practices. Reflect on the historical challenges faced by early programmers and the concept of proof in achieving software correctness. Uncover the cognitive impacts of programming languages and the need for simplicity in development.