http://www.rubygarden.org/ruby?RubyNews/2004-11-1

Thanks to Gabriele Renzi for writing this week's Ruby Weekly News.


                     Ruby Weekly News 1st-7th November 2004
		     --------------------------------------

   A summary of the week's activity on the ruby-talk mailing list / the
   comp.lang.ruby newsgroup. There were 946 messages in 171 threads. This
   summary is brought to you by Gabriele Renzi.

Announcements
-------------

     * [RSS::Maker 0.1.0]

           Kouhei Sutou announced the availability of RSS::Maker, a module
           intended to ease the production of RSS feeds. This library is the
           other side of RSS::Parser.

     * [NARF 0.6.1]

           Patrick May announced a tiny update to the narf lib, a library
           that is supposed to be a better cgi.rb, with a focus on
           testability and rapid development.

     * [DBC for C 1.1.2 (1.2.0)]

           Charles Mills updated his useful tool that adds design by contract
           to C code. An article about it is on [ONLamp.com] and some
           feedback is available at [OSNews.com]. Charles later released the
           1.2.0 version, featuring a brand new StringScanner-based parser,
           resulting in a 50% speed increase.

     * [KDialog 0.1 (and 0.2 and 0.3)]

           Just when we had no easy enough KDE bindings, Edgardo Hames
           realized KDialog bindings, so you can use the KDE tool to write
           simple graphical interfaces. It should allow you to write:

  ruby -rkdialog -e" `dont-rm -fr /` if Kdialog.new('test').yesno("Fun time?")

           A little later he released 0.2, and 0.3.

     * [rq 0.1.7]

           In a continuing effort to push Ruby in places where you would not
           expect it, Ara Howard announced this tool to build a distributed
           queue of batch jobs. "instant linux clusters" is probably the
           coolest quote of the week.

     * [Nitro 0.3.0]

           George Moschovitis announced the update of his web application
           engine, featuring a newish database system known as
           Og/objectgraph, but new features of it remain yet unveiled...

     * [Needle 1.0]

           Jamis Buck announced the mystical one-point-oh release of his
           Inversion of Control / Dependency Injection container. Needle is
           the more Rubyish successor of Copland, based on feedback received
           during RubyConf 2004. Now that this is done, Jamis should go on
           with Net::SSH, SQLite 3, and many other things. People start to
           suspect he is more than one man :-)

     * [dirwatch 0.0.6]

           Ara Howard announced an updated version of this tool, which allows
           us to write systems that are driven by file-system events.

     * [Transaction::Simple 1.2.0]

           Austin Ziegler published the latest incarnation of Tsx::Simple; a
           library that provides a way to add transactional support to
           Marshal-able objects. An interesting thread come out when Michael
           Neumann said he has a similar thing in his toolbox.

     * [lockfile 1.2.0 ]

           A. Howard's third release of the week. This one is a bugfix update
           of his library lockfile, used for creating NFS-safe lockfiles.

     * [Ruby 1.8.2 Package for MacOS X]

           Mark Hubbart kindly packaged the latest 1.8 Ruby snapshot for
           MacOS? X. The pkg includes ri docs, Oniguruma and GNU Readline.

     * [GemServer as Windows Service]

           In case you want to serve gems from a Windows box, Daniel Berger
           put together a tutorial to run a gemserver as a Windows service.

     * [Alexandria 0.4]

           Dafydd Harries announced the 4th release of Alexandria, a GNOME
           application written with ruby-gnome2 and aimed at library
           management. This release spots the new GTK file selector, lots of
           importing/exporting choices, barcode support and many other
           things.

     * [RubyConf presentations online]

           Thanks to Ryan Davis, presentations from RubyConf04 are now
           available online. Go get some ideas!

     * [Catapult 0.1]

           James Britt announced Catapult, a simple way to publish Ruby
           objects as WEBrick services.

     * [ruby-gettext 0.8.0]

           Masao Mutoh released a new version of his gettext package. He's
           looking for translators so if you can speak a language other than
           French/English/Spanish/Japanese/Swedish go help him :) This
           package is even available from the preliminary ruby production
           archive.

     * [RubyDocBar 0.1.0]

           James Britt packaged the Ruby SideBar for Mozilla and made it
           available on rubyforge.

Threads
-------

   Interesting thread in the week included:

  * [new boolean semantics]

   People brainstorming about block-based if which would bring you
   user-defined syntax and semantics for conditions. Unlikely to apear in
   Ruby, but very simple to implement.

  * [ruby on OSX]

   It seem that the latest MacOS? X ships by default with an Ruby 1.6. The
   thread explored chances to encourage Apple to include a newer Ruby, what
   should be included in it, and whether or not rpa and rubygems should be
   included.

  * [FastCGI performance]

   fastcgi is a good way to speed up performance of Ruby-based web stuff, but
   it may be not obvious how to tune it or what methods to use (i.e. each vs
   each_cgi). Then the thread someway evolved into a discussion of what
   'Singleton' means.

  * [berkeley db support for ActiveRecord]

   J. D. asked if ActiveRecord? (AR) could ever support Berkeley DB (BDB).
   The answer is no, I mean, yes or, somewhat. The abstract adapter class
   used in AR depends too much on SQL, but it is very possible to have an
   AR-like interface for different datasources (i.e. Madeleine or ActiveLDAP
   or BDB or PStore).

  * [outsourcing to C]

   The old ["Ruby is a slow performer"] thread evolved in a debate of what
   should be coded in straight C vs pure Ruby. The other thread quietly kept
   going.

  * [Recursive brace matching]

   Jason Sweat is a newcomer to Ruby (welcome Jason!) and is playing with
   regexen. Ruby does not support recursive matching with the old engine, yet
   it does with Oniguruma. People posted their solution to the problem, and
   debated around what a regular expression really is, (strangely nobody
   pointed out RACC).

  * [RubyQuiz.new('gedcom parser')]

   Ever wondered what people use to transfer genealogical data nowadays?
   Well, the quiz is a parser for GEDCOM, the format used for these
   transmissions. The solutions are [here].