Ruby Weekly News 27th December 2004 - 2nd January 2005

             Ruby Weekly News 27th December 2004 - 2nd January 2005



   A summary of the week's activity on the ruby-talk mailing list / the
   comp.lang.ruby newsgroup. This summary is brought to you by Tim Sutherland

Articles and Announcements

     * [New Dublin Ruby Meetup Group]

           Antonio Cangiano created a [Dublin Ruby Meetup Group] for those
           Ruby programmers living in Ireland.

     * [Melbourne Ruby Meetup - Thursday, Jan 13]

           Matt Pattison announced "Come along to the inaugural Melbourne
           Ruby Meetup at Rubicon Cafe Bar in Errol St. North Melbourne. Once
           you "cross the Rubicon" and attend a Ruby meetup, there's no
           turning back."


   Interesting threads this week included:

  [Revival of RubyInRuby?]

   Michael Neumann recalled previous work that was done to write an
   implementation of a Ruby interpreter in Ruby itself. He thought it would
   be good to revive this, and started developing a plan to get it going
   again. Ryan Davis reported

  "We've got a fairly good start w/ our ruby2c translator. The long term
  goal is to reimplement ruby in ruby and translate it to C in much the
  same way that Squeak smalltalk does. More info:
  IRC: #ruby2c

  [Bare-bones Ruby] [2] [3]

   Leiradella, Andre V Matos Da Cunha has been using the [Lua] language for
   various projects including a plugin for a 3D modeller. He was looking for
   an OO alternative to Lua for these tasks, and had some questions about

  "1) Is it possible to build Ruby without those modules? How?
  2) How do I embed Ruby in a host program?
  3) What are the functions that must be called to make Ruby load a program,
  to create an instance of a class defined in Ruby, to call methods with this
  instance etc.? Is this API documented somewhere?
  4) Does Ruby support multiple inheritance or something similar to Java's

   For (1), gabriele renzi said that most "modules" (libraries distributed
   with Ruby) are merely loaded at runtime when a program asks for them (for
   example, require 'socket') and therefore can be deleted if they're not
   needed. gabriele also answered (2) and (3), pointing out and Robert Klemme added

   Edgardo Hames replied to (4) with a link describing modules/mix-ins in

  [Ruby Philosophy]

   Darren Crotchett was "trying to get a feel for the philosophical
   differences between Smalltalk, Ruby and Python".

  "I've been reading up on Ruby, a little. I just bought the Programming
  Ruby book. It seems to be a lot like Smalltalk. I'm thinking that I like it
  better than Python because it seems a lot more consistent like Smalltalk.
  But, then I question, if it is good because it is a lot like Smalltalk, why
  not just use Smalltalk? I'm sure there must be some good answers to this

   Nicholas Van Weerdenburg replied:

  "Versus Smalltalk, the impression I get is that Ruby is file-based with
  convenience libraries for files, text, system administration, and web
  development. That has a much bigger impact then it would seem. It's
  sort-of why sed/awk/bash can still useful, even if you know Ruby or
  Perl- they are even closer to the file and operating system items you
  want to manipulate.
  This leads to bottom-up value propositions. I can learn Ruby in a day,
  and do really useful things for scripting and automation. I can then
  incrementally extend my knowledge, and tackle bigger problems.
  So, I don't think there is anything too explicit that Ruby "fixes"
  versus Smalltalk. Rather, it's pragmatic file-based focus give a
  different feel, and a different utility and learning path then

  [GUI toolkit which separates UI specification from driving logic]

   Gavri Fernandez wanted a GUI toolkit that allows one to specify the GUI
   using markup rather than code. gabriele renzi, Zach Dennis and Nick all
   mentioned that wxRuby supports XRC, an XML-based markup scheme for the
   wxWidgets GUI toolkit.

  [[QUIZ] Cryptograms (#13)]

   Glenn Parker created this week's [Ruby Quiz]

  "GOAL: Given a cryptogram and a dictionary of known words, find the best
  possible solution(s) to the crytogram. Extra points for speed. Coding
  a brute force solution is relatively trivial, but there are many
  opportunities for the clever optimizer.
  A cryptogram is piece of text that has been passed through a simple
  cipher that maps all instances of one letter to a different letter. The
  familiar rot13 encoding is a trivial example.
  A solution to a cryptogram is a one-to-one mapping between two sets of
  (up to) 26 letters, such that applying the map to the cryptogram yields
  the greatest possible number from words in the dictionary."

   Three unsolved cryptograms were given along with a link to a dictionary
   file. Discussions and solutions were posted in the thread.

  [Merry Christmas]

   Last week we reported on this thread, which includes Christmas messages in
   the form of Ruby code. There was some additional discussion this week,
   including a [picture of a cool shirt] given to Simon Strandgaard by his

New Releases

     * [TeX::Hyphen 0.5.0]

           Austin Ziegler released what he intends to be the last version of
           TeX::Hyphen, a library for hyphenating words. New users should
           look at Austin's Text::Hyphen instead.

     * [SQLite3/Ruby 0.5.0] [SQLite3/Ruby 0.6]

           Jamis Buck made the first release of [SQLite3/Ruby], a pure-Ruby
           binding for the SQLite3 database system. (Using the 'dl' library.)
           This is an alternative to [Ruby-SQLite], which uses C to wrap the
           sqlite client library. Version 0.6 was later released with a
           couple of changes.

     * [One-Click Installer 1.8.2-14 rc11] [One-Click Installer 182-14 Final]

           Curt Hibbs announced the release candidate and then the final
           release of the Windows One-Click Installer for Ruby 1.8.2.

     * [Tar2RubyScript 0.4.2] [RubyScript2Exe 0.3.0]

           Erik Veenstra updated [Tar2RubyScript], a tool for collecting a
           Ruby program consisting of several files into one .rb script. A
           library archive can now include several libraries and an
           application can use multiple library archives. Compression was
           added to [RubyScript2Exe], a similar tool that collects a Ruby
           program along with the Ruby interpreter and other libraries into a
           single executable.

     * [AllInOneRuby 0.2.0]

           Erik Veenstra added Linux support to his tool [AllInOneRuby],
           which collects a Ruby program and the Ruby runtime into a single
           executable that can be run without the user needing to install the
           Ruby interpreter beforehand. Windows and Linux are now the
           supported platforms. This release also includes adds compression.

     * [DBus/Ruby 0.1.9]

           leon breedt improved [DBus/Ruby], a Ruby interface to [D-BUS]
           ("D-BUS is a message bus system, a simple way for applications to
           talk to one another"). Service activation is now supported and
           error messages are better.

     * [Ruby Facets, v0.6.0]

           trans declared "Ruby Facets is a cornicopia of core extensions for
           the Ruby programming language. It is unique by virtue of the
           atomicity of its design. Methods are stored in their own files,
           allowing for extremely granular control of requirements. Ruby
           Facets is a subproject of [Ruby Calibre]."

     * [Tengen 0.1.0]

           Laurent Sansonetti released [Tengen], a GNOME program for playing
           the board game Go.

     * [Nukumi2 0.1]

           Christian Neukirchen introduced his web framework tool [Nukumi2],
           created primarily for writing blogging tools.

     * [Rake 0.4.14]

           Jim Weirich updated [Rake] (a build tool like make) to work with
           Ruby 1.8.2.

     * [RubyGems 0.8.4]

           Chad Fowler released a new version of the [RubyGems] packaging
           system, bringing speed improvements and some bug fixes. Chad also
           reports that RubyGems has been downloaded over 10,000 times.

     * [rubytorrent]

           William Morgan released a Ruby BitTorrent client.