Ruby Weekly News 22nd - 28th May 2006

http://www.rubyweeklynews.org/20060528.html

Ruby Weekly News 22nd - 28th May 2006

···

=====================================

   Ruby Weekly News is a summary of the week's activity for the ruby-talk
   mailing list, and its mirror equivalents the ruby-talk google group and
   the Ruby forum. (The comp.lang.ruby newsgroup used to be equivalent, but
   is now independent.)

   This week's newsletter is brought to you by Tim Sutherland.

   [ Contribute to the next newsletter ]

Articles and Announcements

     * Recipients of Google Summer of Code awards
     --------------------------------------------

       David A. Black: "On behalf of Ruby Central, the mentoring
       organization, I am very pleased indeed to announce the students who
       have been awarded grants through the Google Summer of Code program for
       2006."

       There were 10 grants.

     * 'Ruby for Rails' book
     -----------------------

       David A. Black's eagerly anticipated book Ruby for Rails - Ruby
       techniques for Rails developers is ready and shipping, as a softbound
       print book and in PDF. It includes a foreword by David Heinemeier
       Hansson and is published by Manning Publications.

       > Ruby for Rails helps Rails developers achieve Ruby mastery. Each
       > chapter deepens your Ruby knowledge and shows you how it connects to
       > Rails. You'll gain confidence working with objects and classes and
       > learn how to leverage Ruby's elegant, expressive syntax for Rails
       > application power. And you'll become a better Rails developer
       > through a deep understanding of the design of Rails itself and how
       > to take advantage of it.

       See also the thread "Ruby for Rails Rocks!" which includes quotes
       like "It's a spectacular effort" and "It's beautifully written, and
       brilliantly sequenced".

     * Interviews at O'Reillynet
     ---------------------------

       Pat Eyler announced two interviews at the O'Reillynet blog.

       The first is with Zed Shaw, "the author of Mongrel (and a bunch of
       other Ruby frameworks and utilities", and the second is with Luis
       Lavena, a contributor to Mongrel (also available in German).

     * If It's Not Nailed Down, Steal It ...
     ---------------------------------------

       James Britt (editor-in-chief of Ruby Code & Style) mentioned an
       article by Topher Cyll entitled "If It's Not Nailed Down, Steal It:
       Pattern Matching, S-Expressions, and Domain Specific Languages in
       Ruby".

       > Ruby Code & Style is the premiere online zine by and for the Ruby
       > community. We're always on the lookout for quality articles geared
       > towards Ruby developers (and we're now able to pay the writers).

     * InfoQ Ruby Community "unlaunched"
     -----------------------------------

       Obie Fernandez announced the unlaunching of InfoQ ("Tracking change
       and innovation in the enterprise software development community"), a
       site which has news clippings and articles around Java, .NET, Ruby,
       SOA and agility.

       (Unlaunched, because it's not quite ready for the previously announced
       official lanch.)

       Obie is the Ruby community editor, and invites those who may wish to
       contribute news or articles to contact him.

       > BTW, the founder of InfoQ.com, Floyd Marinescu, is famous for
       > starting theserverside.com, one of the world's most popular
       > technical websites. He's a big fan of Ruby and Rails and we're proud
       > of working together to be the first site to give Ruby top-billing
       > along with Java, .NET and other topics such as Agile and SOA.

       (Also read the thread if you're interested in whether Ruby is a piano
       or violin, then continue into "Musical Instruments and Programming
       Languages".)

Threads

  Brite - A ruby compiler for the .NET platform
  ---------------------------------------------

   Pascal Hurni started work on a project to write a compiler for Ruby that
   targets .NET's Common Language Runtime (CLR). "Get it, try it, read it,
   and tell me what you think. Is this project worth continuing?"

   Projects with similar goals include Ruby.NET from the Queensland
   University of Technology and IronRuby by Wilco Bauwer.

   These projects differ from the Ruby .NET bridges such as Ruby/.NET Bridge
   or rubydotnet in that the bridges use the existing Ruby runtime.

  rubynuby - confused by method name "inject"
  -------------------------------------------

   Jeff Pritchard:

   > Can anybody explain to me how the Enumberable#inject method is
   > "injecting" something into something? I find it very difficult remember
   > method names when I don't "get" them.

   An inject example:

####
module Enumerable
   def sum(start=0)
     inject(start) { |total, x| total + x }
   end
end

[1, 2, 3].sum # -> 6
%w(foo bar baz).sum('') # -> "foobarbaz"
####

   Francis Cianfrocca said that the name came from the Smalltalk language,
   and others mentioned fold and reduce as names of similar functions in
   other languages. (Especially Lisp.)

   Joel VanderWerf gave a good answer: whenever you see "inject", think
   "accumulate" instead.

  Zed and Luis drop the bomb on Ruby's poor performance
  -----------------------------------------------------

   cremes pointed out two recent interviews on the O'Reillynet blog (see
   announcement above) that say the Ruby interpreter is slow (but that Ruby
   2.0 will be better, and Rails apps can be fast due to good built-in
   caching features), and asked why people on the ruby-talk list aren't
   talking about performance all the time.

   Peter Hickman and others said that the Ruby community isn't ignoring a
   performance problem, it's just that the majority of the community don't
   _have_ a performance problem with Ruby.

   (Of course, if you are working in an area where Ruby's performance is
   insufficient, you will probably choose not to use it, and won't be part of
   the community.)

   Luis Lavena commented on an area he would like to use Ruby with if it were
   faster:

   > I work with special MPEG2 playback hardware, some of them analog only,
   > others with digital interface (ASI-DVB)
   >
   > Even that I like ruby, cannot use to interface that hardware, mostly
   > because the quantity of computation needed in the results turns ruby in
   > a slow, memory comsuming pig.

   The good news is that Ruby 2.0 will include YARV (Yet Another Ruby VM),
   which will provide a nice speedup.

  Differences between Ruby 1.8 and 1.9
  ------------------------------------

   Vlad Galu asked about the differences between Ruby 1.8 (stable branch) and
   1.9 (development branch), and was directed to Mauricio Fernandez's
   "Changes in Ruby 1.9" document.

  Proposing: A new Ruby Windows installer
  ---------------------------------------

   Enterprise Astronaut had a proposal for making a Ruby Windows installer
   that uses rubygems to include libraries, thinking that this would make it
   easier to create installer releases, since the "Ruby Windows Installer
   seems to lag behind the general releases".

   Curt Hibbs:

   > The lag this time around is an anomaly. The 1.8.2 release of the
   > one-click installer, for example, was out within a week of the ruby
   > release. But there were a number of problems with the way it was built
   > that was making it harder to be timely.
   >
   > So, as Ryan pointed out, I completely rewrote the build system with the
   > goal of reducing the turnaround time. Withe the new build system it
   > should be possible to reduce that lag time to a few days.

   Curt also said that releases could be sped up if more people join the
   one-click installer team. "I have been asking for help repeatedly over the
   years without much response. So far, only Ryan Leavengood and Shashank
   Date have helped."

   Enterprise Astronaut: "Well, maybe this is the real problem with the Ruby
   community then?"
   James Britt: "You are the community. Among others, of course."

   There were discussions about compiling extensions with MSYS (GNU tools) or
   Microsoft VC++6.

   John Lam: "Jumping in real late on this thread - but I know there are
   folks on the VC++ team at MSFT who really want to help get Ruby compiling
   using C++ 14.0 (the release that ships with VS 2005)."

  Dungeon Generation (#80)
  -----------------------

   Kev Jackson came up with this week's Ruby Quiz:

   > This week's task is a dark and dangerous one. Since the late 1970's, a
   > particular type of game has appealed to a particular type of person.
   > Games? From the 70's? Yep, there can only be one type of (computer) game
   > with that lineage that's still going strong (ish) after all these years
   > - the Rogue-like game!

   "Here's the task for this week. To write a dungeon creation program that
   will generate and display a typical Rogue-like dungeon".

   David Brady: "Oh, hell yes. I hereby preemptively declare this, Best.
   Quiz. EVER."

  FasterCSV RCR?
  --------------

   James Edward Gray II said he was considering submitting the FasterCSV for
   inclusion in Ruby's standard library.

   "It's a pretty mature library now, has a CSV compatibility mode, is very
   feature rich (including many CSV lacks), and is wicked fast in comparison.
   I see it recommended regularly and get lots of positive feedback."

   There was discussion around replacing the csv.rb that's currently in the
   standard library with FasterCSV, and how it would affect compatibility.
   (Turning on compatibility mode currently has a performance hit.)

  Summer of Code Advice For Ruby Central Applications
  ---------------------------------------------------

   Ryan Leavengood: "If you submitted an application to Ruby Central in the
   Google Summer of Code and it got rejected, you may be wondering what you
   can do."

   > For one thing, don't get too upset: it isn't personal. We received 84
   > eligible applications, but Google only sponsored 10 of them. Bad news:
   > if you were of the 74, you got rejected. Good news: you had about a 1 in
   > 8 chance of being selected.
   >
   > So how can you increase your chances next year?

   He went on to give seven points of advice.

  new.ruby-lang.org
  -----------------

   James Edward Gray II pointed out http://new.ruby-lang.org/, showing the
   progress on replacing the current ruby-lang site with better design
   and content.

   Chris said "I think it looks great! Any reason we haven't switched yet?",
   to which James replied "Yes, we're not finished with the content, but we
   are hard at work on it."

New Releases

  win32-eventlog 0.4.0
  --------------------

   Daniel Berger announced a new version of win32-eventlog, on behalf of the
   Win32 Utils Team.

   It is now pure-Ruby and has a gem package, as well as an important bugfix
   for EventLog#tail.

   Botp Pena: "Works like a charm. Thank you Daniel/Park, and the rest of the
   win32 team. This is a killer util for windows admins."

  RbYAML-0.1: Pure Ruby YAML parser and emitter.
  ----------------------------------------------

   Ola Bini released version 0.1 of RbYAML, a pure-Ruby parser and emitter of
   YAML. (As opposed to the YAML C extension that's part of Ruby's standard
   library.)

  foxGUIb 0.6 released
  --------------------

   "dear (FX)Ruby hackers," wrote Meinrad Recheis as he proudly announced
   foxGUIb 0.6, an interactive GUI designer for FXRuby.

   "there is also a small surprise for you which will be announced tomorrow
   by a friend of mine ;)"

   The surprise was Mike Parr introducing a user-guide for foxGUIb.

  sls -- Sy's ls
  --------------

   Sy Ali created a simple Ruby script for associating descriptions with
   files.

   "sls allows a description to be associated [with] a filename, so that a
   directory listing will also come up with the file descriptions alongside
   each filename."

  Rant 0.5.6
  ----------

   Stefan Lang fixed some bugs in Rant, a flexible build tool written in pure
   Ruby, and released 0.5.6.

  rcov 0.4.0 (code coverage) - scriptability, accuracy, unrotten internals
  ------------------------------------------------------------------------

   Mauricio Fernandez released the latest version of his code coverage
   analysis tool for Ruby programs.

   rcov output now looks much nicer, the tool is easier to use from external
   scripts (and absolutely trivial to use from rake tasks), plus a lot of
   internal refactoring and bug-fixing.

   He offered thanks to Robert Feldt and Andre Nathan for their comments and
   suggestions that contributed to this release.

   Jeff Rose: "This is awesome. It's enlightening and sad to see the coverage
   of some of my unit tests, but without a doubt I'm hooked. Visually looking
   at the test coverage (or lack thereof) is really much more effective than
   I thought."

  Mongrel 0.3.13 Pre-Release Update -- Yep, Again
  -----------------------------------------------

   Zed Shaw announced another Mongrel 0.3.13 pre-release. "At this rate the
   0.3.13 release may just turn into 0.4."

   "Mongrel is a fast HTTP library and server for Ruby that is intended for
   hosting Ruby web applications of any kind using plain HTTP rather than
   FastCGI or SCGI. It is framework agnostic and already supports Ruby On
   Rails, Og+Nitro, and Camping frameworks."

  Ruby-VPI 0.6
  ------------

   Ruby-VPI 0.6, a Ruby interface to Verilog VPI, was released by Suraj N.
   Kurapati. "It lets you create complex Verilog test benches easily and
   wholly in Ruby."

   A comprehensive user manual is now included, and the test generation tool
   was improved.