Guidance on how to break down problems and structure solutions.
Continuing with the general theme of threads and concurrency, today we look at another pattern for splitting up work in parallel.
We continue to evolve our thread-safe queue implementation. Today, we add the ability to set a bound on the queue size.
In this episode some bugs turn up in our thread-safe queue class.
Continuing to build our own thread-safe queue class, today we give it the ability to handle time out enqueues and dequeues.
As we continue to explore the fundamental building blocks of multithreaded programming, today we encounter the Condition Variable, and what it has to do with my local delicatessen.
In this episode we introduce the concept of a "critical section", and learn about one of the fundamental primitives that makes multithreaded programming possible.
Queue, somewhat surprisingly, is not enumerable. Which is all the excuse we need to have some more fun with the Enumerator class, in today's episode.
Some techniques for making boolean flag arguments read more meaningfully.
In another peek into my ongoing behind-the-scenes work on RubyTapas, today I extract the responsibility for representing a logged-in screen-scraping user-agent session into its own class.
In today's live-recorded episode I show one of the most fundamental refactorings for breaking up a large class into smaller classes. Since this is a live episode there is no …