Factoring out a high-level interface for PulseAudio.
Month: February 2013
Episode #064: Yield or Enumerate
A number of Ruby standard library methods return an Enumerator if no block is passed to them. In this episode, we'll learn how to emulate this behavior in our own …
Episode #063: Gem-Love Part 3
Returning to my Gem-Love project in this episode, I use TDD to drive out a client-side implementation for the first feature. In the process, I talk about message-first design. Check …
Episode #062: Fiber
In this episode we'll explore Ruby's lightweight concurrency primitive by using it to emulate the Enumerator class.
Episode #061: FFI Part 6: PulseFFI Awakens
Tieing methods together with the Composed Method pattern.
Episode #060: Ascend
Now that we've been formally introduced to the Enumerator class, it's time to apply that knowledge in a concrete way. In this episode we use Pathname and Enumerator to locate …
Episode #059: Enumerator
In previous episodes we've touched on Enumerator in passing. This time it'll take center stage, as we explore just what an Enumerator is and what it's good for.
Episode #058: ARGF
This episode explores ARGF, a powerful object for working with input files in command-line programs.
Episode #057: FFI Part 5: The Mock API
Test-driving some more methods in our PulseAudio library.