David Allen Black welcomed us to the conference and gave us some
background on the conference hotel. Evidently the hotel was quite the
Hollywood get-away spot for a number of years. A lot of our rooms are
named for Hollywood stars (I’m staying in the Joan Crawford room).
Top to Bottom Testing (Francis Hwang)
Some really cool ideas on testing. Francis talked about MockFS and
mocking in Lafcadio. He emphasizes the importance of testing and
making is easy (so programmers will write them) and fast (so
programmers will run them).
The question/answer period brought up the whole mock vs stub
nomenclature. There was also a lot of discussion on the use of mock
databases.
Francis talked about the ability to redefine the standard File and
Dir constants to point to the mock file system versions. During
lunch I mentioned the Constant
Injection
technique I used in my OSCON 2005dependency injection
talk.
open-uri: easy to use and extensible virtual file system (Akira Tanaka)
open-uri replaces the standard open method and will automatically
use the HTTP protocol to grab web pages and present them as regular
file reads. RubyGems uses open-uri for some of its work.
Tanaka also explored some design principles for building APIs and
applied them to the open-uri library. He then briefly talked about
how to tie into the open-uri Virtual File System (VFS).
JRuby (Charles Oliver Nutter)
I’m really excited about JRuby on many levels. If nothing else, it
lowers the barrier to those exclusive Java oriented development
organizations. After a rather long dormant period, JRuby development
has really kicked off. Charles walked through some current
implementation issues and talked a bit about the future directions.
JRuby’s new “stackless” implementation looks very interesting. I’m
wondering if using some of the same techniques in the standard C Ruby
implementation would make continuations better/faster.
YARV Progress Report (SASADA Koichi)
Koichi started his presentation with his usual humor using some
“insider” Ruby jokes (and some “insider” Japanese humor … RubyMa!)
Most of the presentation dealt with many of the techniques used by
YARV to be the fastest Ruby VM possible.
Best quote of the slides:
“Dynamicity is your friend, but my ENEMY”
MetaRuby: Reimplementing Ruby in Ruby (Eric Hodel)
MetaRuby is an interesting implementation of Ruby written entirely in
Ruby. Coupling this with the Ruby2C project will (should) give you
the ability to write almost the entire Ruby system in ruby and yet get
comparable performance to a C based system.
Eric shared some about some of the strange implementation issues they
ran into as they implemented the C code as Ruby code.