From: timsuth@... (Tim Sutherland) Date: 2004-11-01T18:38:53+09:00 Subject: Ruby Weekly News 25-31st October 2004 Here is the Ruby Weekly News for the past week. http://www.rubygarden.org/ruby?RubyNews/2004-10-25 Ruby Weekly News 25-31st October 2004 A summary of the week's activity on the ruby-talk mailing list / the comp.lang.ruby newsgroup. There were [890 messages in 176 threads]. This summary is brought to you by Tim Sutherland. Announcements * [Nitro Web Engine 0.2.0] George Moschovitis announced a new version of his web application framework. The rdoc documentation has been greatly improved and a test suite has been added. In the thread following the announcement, he explains how [Nitro] differs from [Rails] - Nitro focuses more on scalability and allowing the web developer to choose the application design. * [Ruvi 0.4.12] Alexander Kellett released version 0.4.12 of [ruvi], the VIM-clone written in Ruby, having distributed the pre-release last week. The code has been refactored for improved stability and scrolling/highlighting is faster. * [New RCRchive is open] David A. Black announced the opening of the new [RCRchive]. It has been re-written in [Rails]. This follows last week's revelation of a new [RubyGarden FAQ], also re-written in Rails by David. RCR stands for "Ruby Change Request" and is the process by which users can suggest changes to the Ruby language and standard libraries. * [New RubyGarden article: "Reflections on Rails"] Chad Fowler pointed out an [article on RubyGarden] by David A. Black which discusses his experiences with developing sites in [Rails]. Chad writes "I hope this to be the first in a long stream of articles, tutorials, and interviews to grace the pages of RubyGarden.org." Please contact him if you wish to contribute. * [Earlybird entries are about to close for OSDC] Graeme Cross noted that registrations for the Australian Open Source Developers' Conference are now open. This conference will run 1st - 3rd of December 2004 at Monash University. * [SQLite/Ruby 2.2.0] Jamis Buck released a new version of [SQLite/Ruby], a Ruby interface for the [SQLite] database engine. Statement#execute now accepts bind values as arguments. The thread also discussed supporting version 3 of SQLite (currently beta). Jamis intends to write a binding for it when the API settles down. * [Needle 0.9.0] Jamis Buck updated [Needle] a dependency injection (and service locator) container for Ruby. It has some small API changes and the log output is more readable. He has scheduled version 1.0 for November 4th, so contact him before then to report bugs or missing features. * [Matz's baby!] Jamis Buck was reading [Matz' blog] and saw that Matz now has a baby girl. Matz reports that both the mother and child are healthy. Congratulations! * [Wee goes public] Michael Neumann announced the first public release of [Wee]. It is a web application framework incorporating features from Seaside2, Iowa and Borges. * [Design by Contract for C] Charles Mills released [Design by Contract for C], a C pre-processor that generates contract testing code and documentation from DBC tags embedded in C comments. * [RubyGarden: GCAndExtensions] Tim Sutherland wrote a replacement for the GCAndExtensions page on RubyGarden. This page is for people who write C extensions for Ruby, or embed Ruby in other programs. It tells you what you need to know about Ruby's garbage collector in these situations. For example, it explains when volatile may be necessary. * [win32-eventlog 0.3.0], [win32-ipc 0.3.0] On behalf of the [Win32Utils] Team, Daniel Berger announced a new version of win32-eventlog, a Ruby interface for the Windows Event Log. You can now put a "watch" on the log to have a block called whenever a new record is added. There were some other API improvements and a bug was fixed. He also announced win32-ipc 0.3.0. This is a base class for Win32 synchronization objects. The constructor and wait methods now take blocks and the library raises an exception rather than returning nil when errors occur. Threads Interesting threads this week include ... [Compiling Extensions on Windows], [How to build Ruby on Windows] Jim Weirich asked about building C extensions on Windows. Various people pointed out that Microsoft now provide the command-line tools for Visual Studio .NET 2003 for no cost ([FreeVisualStudio]). [MinGW] (Minimalist GNU For Windows) was also listed as a solution (this uses the GNU C compiler and is link-compatible with Visual Studio). A couple of days later Matt Mower published a guide HowToBuildOnWindows for building Ruby with MinGW on Windows. [Re: eRuby for Windows], [Questions About Documenting erb.rb] The first thread started a couple of weeks ago and has turned into a discussion on writing documentation for those standard Ruby libraries which are still lacking in that area. Gavin Sinclair gave some advice for people interested helping out, mentioning the ruby-doc mailing list and listing himself as a person to send patches to. [Garden Spam], [RubyGarden wiki patch], [Flea vs RubyGarden] The problem of how to reduce the problem of scripts spamming the RubyGarden Wiki was discussed, with many people throwing in their 2 cents. [CAPTCHA] tests were a popular idea, these are tests that humans can pass but computer programs can't (easily). An example given by Gabriele Renzi is the question "what colour is a white horse?" Chad Fowler implemented a simple change to RubyGarden that only allows URLs with a capitalised protocol://. It is hoped this will have an effect for a while since it appears the spammers are not specifically targeting RubyGarden but spamming sites automatically. [Name Dropping], [Ruby on Rails presentation added to the WhyRuby repository] Curt Hibbs was preparing a presentation on [Ruby on Rails] for Java developers and wanted to "mention the names of a few well known (in our industry) people who are also Ruby enthusiasts." Ron Jeffries and Martin Fowler from the agile software development community were among the names mentioned. He later put the [presentation slides] on the web and reported that the talk was very well received. [Ruby & Oracle 10g] Anders Engstro:m asked about connecting to an Oracle 10g database with Ruby. Ollivier Robert reported that the dbd_oci8 distributed with DBI has no problem using version 10g. [[QUIZ] Sokoban (#5)], [Re: [QUIZ] Sokoban (#5) -- Games in Ruby] [Ruby Quiz] number 5 was posted by James Edward Gray II. "Ruby isn't the only good thing to come out of Japan. The computer game Sokoban, invented by Hiroyuki Imabayashi, was introduced by Thinking Rabbit of Takarazuka, Japan in 1982. This simple game of logic puzzles was an instant success. It won awards and spawned sequels. Over the years, Sokoban has been ported to a huge number of platforms. Fan support remains strong and many of those fans even produce new levels for the game. This week's quiz is to implement the game of Sokoban with the interface of your choosing and any extra features you would like to have." [Auto-completion editor/IDE] Eli Tucker asked if there are any IDEs that support auto-completion for Ruby. He'd used [RDE] but found the auto-completion limited. The inherent difficulties of doing this in Ruby were pointed out and "Rob" mentioned his jEdit macro which is based on the idea "if it quacks like a duck, it probably waddles like a duck too". "The jEdit beanshell macro executes a Ruby script that does the following: 1) determines methods that have already been called on the variable 2) uses a slightly modified version of ri to find classes that have all those methods 3) uses ri again to find all the methods available on those classes The jEdit macro then displays a popup list of the methods for the user to select from. In the case of a variable being declared like this: variable = Duck.new we know we have a duck so the script can immediately jump to step 3." [ruby-dev summary 24487-24627] Minero Aoki posted the summary of the (Japanese) ruby-dev mailing list. He reports that it looks like 1.8.2 preview 3 will be out soon. [Lint for Ruby] Matt Mower asked if there was a "Lint" program for Ruby to check for errors in code. One of Robert Feldt's students, Philippa Olofsson, wrote a thesis on the topic of static checking in Ruby: [CheckR] and there was some discussion of the ideas therein.