[JA] Make your own synchronization mechanism.
Ruby by default comes bundled with synchronous mechanisms for asynchronous programming. Most applications work fine with existing libraries, so for many people these synchronous mechanisms are taken for granted.
However, occasionally you may have the inclination to design your own synchronous mechanisms. Maybe you just learned about some elegant synchronous mechanism (Linda), or about popular mechanisms in other languages (channels in Go), or maybe you were pressured by the creators of popular libraries to come up with a better design yourself. All this leads you to consider the "primitives" of synchronous programming, and give your ideas a try.
In this session, we will learn techniques for implementing synchronous mechanisms, like channels in Go, in Ruby, by actually designing and implementing some of your own. Together we will discover the joy of designing a minimal interface, and the joy of implementing one.
Masatoshi Seki is a Ruby committer and the author of several Ruby standard libraries including dRuby, ERB, and Rinda. He’s an expert in object-oriented programming, distributed systems, and eXtreme programming. He has been speaking at RubyKaigi every year since 2006 when the Kaigi first started.