Continuing with the semi-real time blogging of RubyConf.new(2004)…
Narf: revisiting a 2 year old (Patrick May)
Narf (Not Another Ruby Framework) is a web framework for Ruby. Patrick
introduced Narf at an earlier RubyConf. The latest Narf seems to have added
a number of libraries and facilities over the past few years.
One of the really interesting points in Patrick’s presentation is how
he handles vandals at his wiki site. He has created a tarpit, so that known
vandals are redirected to a parallel web site that gets restored every
night. The vandals believe they are modifying the real site, but no one
else sees the vandals changes.
Another thing to look into is the HtmlArea library for doing rich text form
editing in a browser.
ruby-doc.org: Now and the Future (James Britt)
The ruby-doc site was born at the Seattle
RubyConf then James Britt and Jim Freeze talked about pulling together
documentation for the Ruby community. The site has grown over the years and
provides some great information. The biggest downside to the site is the
difficulty finding and and navigating the information. James talked about
approaches to categorizing information automatically and easily.
|Quote:||(While James is showing how the PHP online documentation allows user
written annotations): "If you are not familiar with this, and
there is no reason you should be, …".
Bruce Williams has created a web site for pasting code. There is a section
for RubyConf folk to share code. See codepaste.org.
By the way, codepaste is a Rails application, which leads us to …
Ruby on Rails … Origin, Driver, Destination (David Heinemeier Hansson)
|Rails:||Just enough stuff to make the creation of database backed web applications
David shares how he discovered Ruby and had this wonderful experience with
it. Rails, in part, is an attempt to bring the joy of Ruby to the masses by
providing an attractive,easy to use web framework.
If you have not seen Rails, check out the ten-minute introduction flash
video at media.nextangle.com/rails/rails_setup.mov.
|Quotes:||"Frameworks are retrospectives — They are not to be built
|Quote:||"Convention over configuration — Adhere to Yesterday’s
Weather, but humor newcomers with the (appearance of) choice."
|Quote:||"Java web frameworks make everything equally hard."
Hang on! There is a rails surprised promised after everybody gets their lunch food.
(over the shoulder)
I’m sitting behind Rich Kilmer at the conference. I just saw him
bring up a web page, pause with the mouse over the submit button and glance
over at Chad. He then pressed submit. I think I just saw the first upload
of Alph software to RubyForge.
Let’s check this out (browses over to RubyForge). Yes, it’s there! Download Alph
The Many Facets of RubyGems (Jim Weirich
What can I say. I think it went well. You can see everything at onestepback.org/articles/rubygemsfacets.
YARV: Yet Another Ruby VM (SASADA Koichi)
Despite an obvious language barrier, Koichi did a great job of
communicating with the conference crowd. He showed a great sense of humor.
Furthermore, he brought greetings from Matz (who couldn’t make it
this year due to the soon to be birth of his child).
YARV is Koichi’s attempt at a VM for Ruby code. If YARV is
successful, it will become the Rite used for Ruby 2.0. This is
really exciting to see progress in something that might become
Some properties of YARV include:
- Simple stack machinge
- Ruby C extension
- Not bytecode, but wordcode
- Use Ruby’s existing infrastructure (e.g. gc, parser, API).
- YARV traverses the AST to generate code.
Currently, there are a number of basic Ruby operations that aren’t
supported (method_missing comes to mind). Over the next few months
Koichi will be implementing these missing feature, and also implementing
the JIT and AOT (Ahead of Time) compilers for YARV. YARV will also compile
direct to C code.
We wish Koichi good luck in his goals!
|Quote:||"Please ask Question in (1) Japanese, (2) Ruby, (3) C, or (4)
Java. But I prefer not Java."
|Quote:||"Matz says that names are important, but the YARV name is not. For
if it succeeds, it will be called RITE. And if it fails, no one will
"Test::Unit".downcase.sub(/::/,"/") (Nathaniel Talbott)
Nathaniel shared some insights into his understanding of the "Ruby
Way" and how it has changed over the years. He has applied these
insights toward building a more Rubyesque testing framework.
Stuff coming to test/unit:
I’m really excited about these changes. Testing in ruby is already
easy, but these changes will make it even more flexible. Cool!
|Quote:||"Newcomers to Ruby will bring pre (and mis-)
|Quote:||"Testing is not hard. Java is hard."
|Quote:||"I tell them that Java is hard and their problems are not their
fault … well, sometimes it is."
Surprise Presentation (Shashank Date)
Bill Venners has contacted the Ruby community about creating a web-based
zine focused on Ruby. Shashank has agreed to be the editor and he has an
advisory board to help him review the submitted articles. This is just a
pre-announcement, there will be something more formal around the first of
|Quote:||"We are looking for good, original articles. Of course my articles
would not qualify for they would be either good or original, but not
Sometime during the afternoon internet access through the wireless link was
lost. I can only imagine the reaction in the rest of the Ruby world as
suddenly everyone at the conference went silent on the #ruby-lang IRC
channel. We’re back now, but I still don’t know about the
Dinner … Meal supplied by Infoether
Objective-C: A Retrospective (Brad Cox)
Mr. Cox started with a review of Objective-C, some of its history and some
small details of its implementation. Objective-C is used to write most of
the Mac software these days.
After the Objective-C talk, Mr. Cox explored some ideas in the nature of
software economics. He made the following observations.
- Hardware is made of atoms
- Abides by physical convservation lays
- You can buy, sell and own it
- Software is made of bits
- Immune to physical conservation laws
- You can’t buy, sell and own it.
- Copyright based compensation cannot work
- Advertising based compensation (TV model)
- Useright base compensation never tried.
Given the above, Mr. Cox is advocating a pay-by-use/micropayments system
where some kind of accounting system tracks the number of times you call a
function (string compare for example) and charges your bank account for the
use. Considering that a good portion of the conference attendees are open
source advocates, there was a good deal of push back on these ideas. I
think I see where Mr. Cox was going, he wants to create an economic system
that pumps revenue into the creation of software. Unfortunately, I’m
not convinced that his approach really addresses the non-tangible nature of
software that he identified earlier. Nevertheless, he provided some food
You can see some of Mr. Cox’s ideas at virtualschool.edu/mybank/
After the keynote talk, a good number of attendees migrated to the hotel
lobby (where they have WiFi access). I didn’t see a lot of
programming, but there was a lot of conversations. I started out by
catching up with David Black, and then spent some time with Shashank
showing him RubyGems and talking about Rake. Shashank wants to use Rake to
control distributed processes, so we experimented with spawning threads
from within Rake. The next step would have tasks sending commands to
Rake-like Drb servers to run jobs on remote systems. It really won’t
be hard to do at all.