Guidance on how to break down problems and structure solutions.
Category: Design

Episode #581
Async with Multiplexing
In our quest to coordinate asynchronous tasks, we've attempted a polling approach. Unfortunately, this strategy has some significant efficiency drawbacks. This time, we'll apply a technique known as "multiplexing", to …

Episode #570
Asynch with Polling
How can we make sure asynchronous work is done efficiently? In ep #2 of a series, we'll build one of the simplest possible solutions: a polling model.

Episode #564
Exploratory Refactoring
Playfully experiment with potentially redesigns of your Rails code, by temporarily removing ActiveRecord dependencies that would otherwise cramp your creative style. Guest chef Nick Sutterer shows you how!

Episode #559
Full Utilization
Let's talk about asynchronous code. How do we manage parallel-but-interdependent workflows without losing its place or wasting time? In the first of a series, we'll start by getting a handle …

Episode #553
The TOO HARD Code Smell
Programming is hard, but sometimes we can overcomplicate things for ourselves. Join guest Chris Doyle to learn why a problem that feels "TOO HARD" is a code smell, and what …

Episode #552
API Design for productivity
You've heard of User Experience (UX), but what about DevX? Join Aja Hammerly to learn how to give your APIs a great Developer Experience.

Episode #549
Smaller Objects, Faster Code
Join guest chef Jack Thorne to learn a little about memory architecture in modern CPUs, and how optimizing object size can lead to major performance wins!

Episode #537
Episode #537: The Message Myth with Avdi
What is the big lie at the root of modern object-oriented programming? Why is OO so difficult to learn and to teach? Find out in this new episode!

Your business rules are objects too
Have you ever struggled to place a method that seems like it belongs equally well in either of two different classes? In this screencast you'll learn an approach to resolve …