The Eric Normand Podcast cover image

The Eric Normand Podcast

Latest episodes

undefined
Jan 30, 2023 • 15min

What is the process for coming up with a good conceptual model?

Discover a clever three-step process for crafting effective conceptual models, emphasizing the value of first principles thinking. Delve into the importance of runnable specifications, where real programming languages eclipse traditional UML visuals. This approach fosters immediate feedback, enhancing innovation and making the modeling process more dynamic and practical.
undefined
Jan 23, 2023 • 8min

What is the closure property?

Dive into the intriguing concept of the closure property, essential for nesting operations and enhancing API usability. Discover its significance in algebraic modeling with examples like addition and hash map merging. Explore how this principle applies to programming and graphics by creatively combining different elements, transforming them into something new. Gain insights into how these techniques can elevate the complexity and expressiveness of your coding and design endeavors.
undefined
4 snips
Jan 9, 2023 • 13min

All about level three, algebraic modeling

Dive into the fascinating world of algebraic modeling! Discover how the journey progresses from basic to advanced concepts. The discussion highlights the significance of formalizing operations for cleaner code. Relatable examples, like pizza operations, make complex ideas more accessible and enjoyable. Get ready to rethink how you approach algebra in programming!
undefined
Dec 26, 2022 • 11min

Why do we need to model time?

All sophisticated models need to include time. We discuss two main ways to do that.
undefined
6 snips
Dec 19, 2022 • 12min

How do you make a function total?

Explore the importance of total functions in functional programming and their advantages over partial functions. Learn three techniques to convert any pure function into a total one, enhancing robustness. Discover how to effectively handle API connection errors by using return values for clarity and simplicity. The discussion highlights the design strategies that promote better error management and improved code abstraction, ensuring a smoother user experience. Tune in for insights that make programming more reliable and efficient!
undefined
Dec 12, 2022 • 6min

What is a mutation function?

Mutation functions let you represent changing state over time. They are easily reified, used as reducing functions, and can operate on nested data.
undefined
4 snips
Dec 6, 2022 • 11min

What is Signature-Driven Development?

Signature-Driven Development means starting with function signatures before you implement them. I also discuss why we implement the hardest function first.
undefined
Nov 28, 2022 • 7min

What's the problem with using arrays for pizza toppings?

undefined
Nov 21, 2022 • 6min

Is deferring decisions about our domain a good idea?

The discussion dives into the tricky balance of domain rules and business rules. Using a pizza ordering analogy, it highlights how important it is to differentiate between the two. Simplifying your domain model can lead to greater adaptability. Delegating business decisions to the appropriate layer is key for streamlined processes. This creates a more effective and manageable system, much like creating the perfect pizza without getting bogged down in too many toppings.
undefined
Nov 14, 2022 • 9min

Can domain modeling be taught?

Discover the intriguing world of domain modeling and its practical applications. The discussion dives into whether it's a unique discipline or simply a deeper understanding of domains. Explore effective teaching strategies to enhance learning in functional programming. Learn how to navigate different representations in domain models and identify the hallmarks of good design. Unpack methodologies that can make the complex topic of domain modeling more accessible to aspiring programmers.

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