7th - 13th August 2006

Ruby Weekly News is a summary of the week’s activity on the ruby-talk mailing list / the comp.lang.ruby newsgroup / Ruby forum, brought to you by Tim Sutherland.

Articles and Announcements

  • blade will be stopped
  • The ruby-talk.org mailing-list archive is down at the moment. Use nagaokaut.ac.jp instead.

  • Ruby Cookbook now in PDF format
  • Last week, many people said they would like a PDF version of the Ruby Cookbook.

    Good news, reports Leonard Richardson, “O’Reilly is now selling the Ruby Cookbook as a downloadable PDF for 50% off the cover price. AFAIK this is the first full-length O’Reilly book to be sold as PDF, and if it goes well, other O’Reilly books should follow.”

  • Ruport Day has begun!
  • Ruport Day came and went (a day to make improvements to the Ruport project, complete with prizes). Gregory Brown writes “The overall winner, who deserves massive props is James Healy, who introduced SVG Graph support, as well as a sizeable chunk of documentation to the project”.

    Ibroadfo was second, Eric Pugh third, followed by James Edward Gray II.

    Gregory would like to get in contact with the maintainer of SVG::Graph, to talk about how it could be packaged for Ruport (e.g. a gem).

  • Ruby Inside offers $100 prize for blogging about Ruby between August 12-19
  • Ruby Inside is offering a $100 prize to a random blogger who creates and posts an interesting post about Ruby and/or Ruby on Rails in the forthcoming week, along with a $15 second prize to a random person who links to the contest. As a aggregator of Ruby content, Ruby Inside is suffering during the summer lull, so perhaps this could get some new, interesting content out into the wild.

  • OS X Leopard shipping with Rails!
  • Daniel Schierbeck reported that MacOS X Leopard will include Ruby, RubyGems and Rails. Apple have been shipping Ruby with their operating system since around 2002, but in the past there have been old versions or little issues that caused problems for Rails. For this release, Apple have been communicating with the Rails core team to ensure everything’s done right.

    DHH blogs:

    It’s been no secret that Apple is held in very high regard by the Rails community. Every single Rails Core contributer is running on Apple and the vast majority of Rails developers are too. To see Apple acknowledge this and return the favor is very rewarding.

    People are particularly pleased that Apple’s using RubyGems, so updating Rails and installing other Ruby libraries will work as Rubyists expect.

  • Microsoft Phasing in Support for Dynamic Languages on .Net
  • An interesting article at eWEEK.com about dynamic languages on Microsoft’s .NET platform, with lots of quotes from IronPython creator Jim Hugunin and John Lam (of RubyCLR fame).

    “People say they love a language like Ruby because it has this simplicity and this dynamism.”

  • Tim Bray (Sun Microsystems) on Ruby
  • Tim Bray, the Directory of Web Technologies at Sun Microsystems (and recent contributor to the Ruby community) wrote a mostly-positive article On Ruby describing his initial experiences.

User Group News

Threads

Ruby stable branch is....1.9?

Is Ruby 1.9 the stable branch? No, 1.8 is still the latest stable branch, but 1.9 will become a stable branch in the future.

RubyConf in Second Life?

John Lam had an idea of holding a virtual equivalent to RubyConf in ‘Second Life’ (SL), a “a privately-owned, partly subscription-based 3-D virtual world” [wikipedia], run by Linden Labs.

Charles O Nutter said there is already a SL rubylist community that meets every first and third Thursday of each month. “Feel free to stop by, we’re interested in having more folks attend, and there’s a nice big presentation screen and plenty of seating. There’s even an in-world IRB extension to play with Ruby while you’re there.”

Einrichtung einer deutschsprachigen Ruby-Newsgroup (bitte lesen!)

Christian Janoff proposed creating the newsgroup “de.comp.lang.ruby” for German-language Ruby discussions, but Josef ‘Jupp’ Schugt suggested “de.alt.ruby” instead, as it’s much easier to create a newsgroup under “de.alt” than the general “de” hierachy.

Stefan Scholl said that the lack of traffic in “de.comp.lang.misc” was a bad sign for the proposed group, and James Britt linked to gmane.comp.lang.ruby.german.

LDAP

barjunk asked which LDAP libraries people prefer, and the answer was Net::LDAP.

Austin Ziegler pointed out that it’s the only pure-Ruby LDAP library. The alternative is ruby-ldap, a binding to a C LDAP library.

Francis Cianfrocca added: “Get Net::LDAP and read the Rdoc for Net::LDAP#open. As Austin said, this library is very disciplined (and documented) about how it uses the network (unlike the native-C libraries), and it’s pure Ruby- no compiler needed on any platform.”

why doesn't Array include Comparable

Ara T. Howard asked why Array, which does has a meaningful <=> (spaceship) operator, doesn’t include the Comparable mixin. Comparable adds <, >, <=, between? etc. methods.

A couple of people agreed that it would be useful.

Proper Case (#89)

Elliot Temple was behind last week’s Ruby Quiz, to write a method that correctly capitalises the words in English sentences.

Pen and Paper (#90)

This week’s Ruby Quiz asks you to write a program to play a simple pen-and-paper game, involving a grid of numbers. The quiz was written by Eric Duminil.

FSF Award. Guido / Larry won it, why not matz?

Gregory Brown nominated Matz for the 2006 FSF Award for the Advancement of Free Software, noting that Guido and Larry (Python, Perl creators respectively) have previously received it.

New Releases

Mongrel 0.3.13.4 Pre-Release -- PID Files Working

Zed Shaw asks people to try out the latest Mongrel pre-release. “This release is pretty close to becoming official.”

“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.”

Pandora 0.4.3 Release

Wiki-engine Pandora has a new search function, common-book sidebar, site-wide menu, bug fixes and more, said Julian I. Kamil.

He also explained what makes it different from other Wiki engines:

it uses a ‘book’ metaphor for managing its contents. As a Pandora user, you would publish books, with chapters, and pages. As the publisher, you decide who can author the books contents, who can edit them, and who can view them. All of these and the associated user management functions are built into the system.

See The Ruby Bookshelf for an example.

Dr Nic's Magic Models

Dr Nic’s Magic Models dazzled the crowd. This is a library that lets you access your ActiveRecord objects with even less work than before.

Actually, there’s no work now. You don’t even need to declare your model classes. Say you have an empty Rails project, with a database having ‘people’, ‘groups’ and ‘membership’ tables. Just open up a console and start manipulating your objects:

>> person = Person.find(1)
=> <Person:0x3958930 @attributes={"lastname"=>"Williams", "firstname"=>"Nic", 
"id"=>"1", "email"=>"drnicwilliams@gmail.com"}>
>> person.memberships
=> [<Membership:0x393a000 @attributes={"group_id"=>"1", "id"=>"1", "person_id"=>"1"}>]
>> person.groups
=> [<Group:0x390df60 @attributes={"name"=>"Magic Models Forum", "id"=>"1", "description"=>nil}>]

The above example, taken from the Magic Models homepage, demonstrates that even has_many :through relationships are automatically discovered.

Zerenity 1.0

“Zerenity is an almost clone of Zenity for Ruby. It allows for the easy creation of simple graphical dialogs from a Ruby script.” (Using Ruby/GTK2.)

It’s written by Farrel Lifson. The 1.0 version adds a significant number of unit tests.

RFuzz 0.7 -- Win32, Bug Fix, Browser Begins

Zed Shaw put out another RFuzz release.

“RFuzz is an HTTP client library that you can use in combination with a random junk generator to conduct fuzzing tests against any HTTP server (or web app). It’s not limited to fuzzing, as the HTTP client can work as a Net/HTTP replacement, and you can easily just make regular requests.”

RubyPhone project updated

Gregarican: “This project ports the TSAPI (Telephony Services API) library to Ruby so you can create CTI applications using the power, fun, and flexibility of Ruby.”

There is now a CSTA Simulator, to simulate a PBX.

rcov 0.7.0 (code coverage for Ruby)

The rcov code-coverage tool now has an—aggregate option, to merge results from multiple runs, and some bugs were fixed, Mauricio Fernandez announced.

open4-0.5.0

Ara T. Howard added timeouts to open4, a version of the open method to ” open child process with handles on pid, stdin, stdout, and stderr: manage child processes and their io handles easily.”

Ruby Reports 0.4.21, 0.4.23

Gregory Brown optimistically released the “Probably Broken” Edition of Ruby Reports. “This is the 8th release since the start of Google’s Summer of Code”.

This development release removes the old data-structures that were exposed to Ruport designers.

It was indeed broken, and version 0.4.23 followed, fixing Ruport::Query. There is now a proof-of-concept Invoice Engine, and a tool to create skeleton config files etc.

Rails 1.1.6: Stronger fix, backports, and full disclosure

David Heinemeier Hansson announced Rails 1.1.6, with a better fix for the recent security issue around routing. Only 1.1.x releases were vunerable (1.0.x are ok), and the fix has been backported to each affected release.

The fix breaks third-party engines, but there is an interim workaround that you can use until these are updated (just block certain URLs).

There is now a rails-security mailing list (announcements only), and a #rails-security IRC channel on Freenet.

Cerberus 0.2.0

Anatol Pomozov: “Cerberus is a Continuous Builder software for Ruby. Cerberus could be periodically run from scheduler and check if application tests are broken. If it happens then Cerberus will send notification to project developers.”

Ruby In Steel 0.75

Huw Collingbourne: “This release includes significantly enhanced colour coding and collapsing for both Ruby and Rails (RHTML) files and provides support for debugging support for Ruby In Rails. Previous versions only provided debugging for standard Ruby projects. The Ruby In Steel IDE is hosted within Microsoft’s Visual Studio 2005 (Standard edition or better).”