[#293058] Hello, world? (#158) — Matthew D Moss <matthew.moss@...>

The three rules of Ruby Quiz 2:

41 messages 2008/03/01

[#293075] Scan HTML — Tom Arra <turtleman14789@...>

So I am new to Ruby scripting so I am not sure if this is possible or

16 messages 2008/03/01

[#293195] How do I get the server name? — "laredotornado@..." <laredotornado@...>

Hi,

13 messages 2008/03/02

[#293248] Split the string — Sijo Kg <sijo@...>

I have a string

17 messages 2008/03/03

[#293307] Normal For Loop — Cory Cory <cg821105@...>

I'm new to Ruby. Is there such thing as a C++ style (and most others)

16 messages 2008/03/03

[#293327] Class and inheritance — August0866 <august0866@...>

Hi All,

21 messages 2008/03/03

[#293399] Why is this not implemented in Ruby — Damjan Rems <d_rems@...>

16 messages 2008/03/03

[#293407] Question on the Ruby Programming Language Book — Bharat Ruparel <bruparel@...>

I have been reading The Ruby Programming Language book by David Flanagan

11 messages 2008/03/03

[#293445] Better performance than native unix commands? — Ma Sa <ntwrkd@...>

I have an issue with nfs and listing a large amount of files that I am

16 messages 2008/03/04

[#293484] jruby vs mri memory management — "Michal Suchanek" <hramrach@...>

Hello

12 messages 2008/03/04

[#293493] Re: The Ruby Programming Language - what are your thoughts? — coigner <coignerATgmail@...>

On Mon, 03 Mar 2008 22:04:55 -0500, Esmail wrote:

20 messages 2008/03/04
[#293944] Re: The Ruby Programming Language - what are your thoughts? — Clifford Heath <no@...> 2008/03/09

Esmail wrote:

[#293955] Re: The Ruby Programming Language - what are your thoughts? — Dave Thomas <dave@...> 2008/03/09

[#293982] Re: The Ruby Programming Language - what are your thoughts? — Clifford Heath <no@...> 2008/03/10

Dave Thomas wrote:

[#293994] Re: The Ruby Programming Language - what are your thoughts? — James Gray <james@...> 2008/03/10

On Mar 9, 2008, at 7:46 PM, Clifford Heath wrote:

[#293601] collect with index? — Tim Conner <plump4651@...>

simple question: how can I do a collect with index? This should be

13 messages 2008/03/05

[#293715] duplicating characters in a string — Adam Akhtar <adamtemporary@...>

If i have a string "abc" and want to make it like this "aabbcc", how do

30 messages 2008/03/06
[#293720] Re: duplicating characters in a string — Gary Wright <gwtmp01@...> 2008/03/06

[#293723] Re: duplicating characters in a string — Adam Akhtar <adamtemporary@...> 2008/03/06

[#293757] IO#Foreach -- Max line length — Tristin Davis <tristin.colby@...>

I'm trying to emulate the new feature in 1.9 that allows you to specify

13 messages 2008/03/06
[#293762] Re: IO#Foreach -- Max line length — 7stud -- <bbxx789_05ss@...> 2008/03/06

Tristin Davis wrote:

[#293809] Dynamic class thingies? (Okay, not sure how to title this one) — coigner <coignerATgmail@...>

Asking for ideas here but let me preface...

9 messages 2008/03/07

[#293927] Trac - Does it make sense to keep http://trac.edgewall.org/ticket/4315 open? — Ilias Lazaridis <ilias@...>

Response to message [1] on trac.devel (as I cannot write there, due to

13 messages 2008/03/09

[#293986] Offering to work directly for the Ruby community! — Gregory Brown <gregory.t.brown@...>

Hi folks,

21 messages 2008/03/10

[#293996] Re: Best practices for Ruby Meta-programming — John Carter <john.carter@...>

On Thu, 6 Mar 2008, harshal wrote:

10 messages 2008/03/10
[#294029] Re: Best practices for Ruby Meta-programming — "Robert Dober" <robert.dober@...> 2008/03/10

On Mon, Mar 10, 2008 at 4:06 AM, John Carter <john.carter@tait.co.nz> wrote:

[#293999] Reding unicode characters? — dare ruby <martin@...>

Hi friends,

13 messages 2008/03/10

[#294015] newbie question — Frantisek Psotka <frantisek.psotka@...>

is in ruby operator for:

15 messages 2008/03/10

[#294034] Getting files out of a .tar.gz archive — celldee <celldee@...>

Hi,

11 messages 2008/03/10

[#294059] Which is better -- method option or multiple methods? — Trans <transfire@...>

In the case of limited options, like the following example, which is

19 messages 2008/03/10

[#294081] Re: shortcut for x = [x] unless x.is_a?(Array) — Siep Korteling <s.korteling@...>

Aryk Grosz wrote:

11 messages 2008/03/10

[#294111] setting local variables via eval — ara howard <ara.t.howard@...>

16 messages 2008/03/11

[#294192] whats the error here? — Adam Akhtar <adamtemporary@...>

My IDE (aptana rails) seems to complain about syntax with this code

15 messages 2008/03/11
[#294197] Re: whats the error here? — Sebastian Hungerecker <sepp2k@...> 2008/03/11

Adam Akhtar wrote:

[#294210] Yet another Windows installer — Phillip Gawlowski <cmdjackryan@...>

Hello, list.

32 messages 2008/03/12
[#294421] Re: [ANN] Yet another Windows installer — James Tucker <jftucker@...> 2008/03/13

[#294231] sort array by some text — Ma Fe <frytaz@...>

Hi, i have array with file names

18 messages 2008/03/12
[#294233] Re: sort array by some text — "Todd Benson" <caduceass@...> 2008/03/12

On Wed, Mar 12, 2008 at 12:02 AM, Ma Fe <frytaz@gmail.com> wrote:

[#294234] Re: sort array by some text — Ma Fe <frytaz@...> 2008/03/12

well I dont know where in array i have .txt files but its sure that

[#294281] elsunless: Compiles but does not run. Standard? — Fred Talpiot <fredistic@...>

In Ruby:

10 messages 2008/03/12

[#294297] including general variables in modules — Mario Ruiz <mario@...>

I'm trying to create different scenarios so I thought to do something

14 messages 2008/03/12

[#294366] Parametric module or injecting code via class method? — Trans <transfire@...>

Which approach is better: parametric module or an injecting class

20 messages 2008/03/13
[#294474] Re: Parametric module or injecting code via class method? — ara howard <ara.t.howard@...> 2008/03/13

[#294486] Re: Parametric module or injecting code via class method? — Robert Klemme <shortcutter@...> 2008/03/13

On 13.03.2008 20:35, ara howard wrote:

[#294499] Re: Parametric module or injecting code via class method? — ara howard <ara.t.howard@...> 2008/03/13

[#294799] Re: Parametric module or injecting code via class method? — Robert Klemme <shortcutter@...> 2008/03/16

On 14.03.2008 00:42, ara howard wrote:

[#294808] Re: Parametric module or injecting code via class method? — "Sean O'Halpin" <sean.ohalpin@...> 2008/03/16

On Sun, Mar 16, 2008 at 9:30 PM, Robert Klemme

[#294481] use reqex to get the middle character and repeat it — Adam Akhtar <adamtemporary@...>

say i have the string "qxq" and i want to repeat the middle char 4 times

10 messages 2008/03/13

[#294506] What is Ruby's biggest strength ? — Tuan Minh <tanthuyhoang85@...>

I'm learning Ruby an Rails.

34 messages 2008/03/14
[#294592] Re: What is Ruby's biggest strength ? — Jeremy Henty <onepoint@...> 2008/03/14

On 2008-03-14, Avdi Grimm <avdi@avdi.org> wrote:

[#294632] Re: What is Ruby's biggest strength ? — Marc Heiler <shevegen@...> 2008/03/14

> What helps Ruby stronger than other programming languages

[#294634] Re: What is Ruby's biggest strength ? — 7stud -- <bbxx789_05ss@...> 2008/03/15

Marc Heiler wrote:

[#294522] Food Database (#159) — "Matthew Moss" <matthew.moss@...>

Note that because I am traveling tomorrow, I've posted this week's

15 messages 2008/03/14

[#294564] Robert's Ruby Riddle: Methodical Digits — "Robert Dober" <robert.dober@...>

Hi list

10 messages 2008/03/14

[#294573] How to Read Ruby API / Documentation — Chinna Karuppan <chinnakaruppan@...>

Hi,

13 messages 2008/03/14

[#294648] standard library documentation — Tom Cloyd <tomcloyd@...>

An example of a puzzle I've run into many times before -

18 messages 2008/03/15
[#294652] Re: standard library documentation — Tom Cloyd <tomcloyd@...> 2008/03/15

Tom Cloyd wrote:

[#294693] How to make net-ping thread safe? — Laurent Julliard <laurent@...>

Hi,

15 messages 2008/03/15

[#294711] WWW::Mechanize and basic_auth — "Todd A. Jacobs" <tjacobs-sndr-019fdb@...>

I'm trying to get basic authentication to work with Ruby 1.8 and

12 messages 2008/03/15

[#294746] argh! more undocumented mysteries: to_yaml — Tom Cloyd <tomcloyd@...>

Beginner woes, here, no doubt, but woes nevertheless.

29 messages 2008/03/16
[#294749] Re: argh! more undocumented mysteries: to_yaml — Stefano Crocco <stefano.crocco@...> 2008/03/16

On Sunday 16 March 2008, Tom Cloyd wrote:

[#294792] returning text between two markers without markers included — Adam Akhtar <adamtemporary@...>

12 messages 2008/03/16
[#294793] Re: returning text between two markers without markers included — Xavier Noria <fxn@...> 2008/03/16

On Mar 16, 2008, at 21:02 , Adam Akhtar wrote:

[#294794] Re: returning text between two markers without markers inclu — Adam Akhtar <adamtemporary@...> 2008/03/16

Thanks Xavier,

[#294828] For Comment: Gem Browser — "s.ross" <cwdinfo@...>

It occurred to me that the way I was finding Gems was by making notes

23 messages 2008/03/17

[#294849] Ruby "Speedup" hints? — Marc Heiler <shevegen@...>

Anyone of you has a few hints on how to speed up ruby code?

34 messages 2008/03/17
[#294888] Re: Ruby "Speedup" hints? — "Gerardo Santana Gez Garrido" <gerardo.santana@...> 2008/03/17

On Mon, Mar 17, 2008 at 12:42 PM, Marc Heiler <shevegen@linuxmail.org> wrote:

[#294894] Re: Ruby "Speedup" hints? — Paul Brannan <pbrannan@...> 2008/03/17

On Tue, Mar 18, 2008 at 02:17:22AM +0900, Gerardo Santana G?mez Garrido wrote:

[#294919] Re: Ruby "Speedup" hints? — "Gerardo Santana Gez Garrido" <gerardo.santana@...> 2008/03/18

On Mon, Mar 17, 2008 at 6:08 PM, Paul Brannan <pbrannan@atdesk.com> wrote:

[#294859] Test for Internet Connection — Cory Cory <cg821105@...>

Does anyone know a way to test to see if the computer is connected to

16 messages 2008/03/17
[#294872] Re: Test for Internet Connection — Roger Pack <rogerpack2005@...> 2008/03/17

I usually do something like this on my machine

[#295150] combine array(string) to string? — Pat Kiatchaipipat <hb.pat87@...>

str= "ABCDE"

11 messages 2008/03/20

[#295184] extending ruby with C++ — 7stud -- <bbxx789_05ss@...>

I'm using this old (2001) mini tutorial:

17 messages 2008/03/20

[#295212] including instance methods and setting an instance variable — Leon Bogaert <leon@...>

Hi all,

20 messages 2008/03/20
[#295234] Re: including instance methods and setting an instance variable — "David A. Black" <dblack@...> 2008/03/21

Hi --

[#295246] Re: including instance methods and setting an instance varia — Leon Bogaert <leon@...> 2008/03/21

Thanks for the clear explanation David!

[#295255] Re: including instance methods and setting an instance varia — Leon Bogaert <leon@...> 2008/03/21

Can I "connect" with the instance if it get's instanciated? Because I

[#295257] Re: including instance methods and setting an instance varia — Robert Klemme <shortcutter@...> 2008/03/21

On 21.03.2008 11:15, Leon Bogaert wrote:

[#295327] Re: including instance methods and setting an instance varia — Leon Bogaert <leon@...> 2008/03/21

Thanks Robert!

[#295328] Re: including instance methods and setting an instance varia — Leon Bogaert <leon@...> 2008/03/21

This guy: http://www.ruby-forum.com/topic/142444

[#295331] Re: including instance methods and setting an instance varia — "David A. Black" <dblack@...> 2008/03/21

Hi --

[#295358] Re: including instance methods and setting an instance varia — Leon Bogaert <leon@...> 2008/03/22

Ah thanks David.

[#295365] Re: including instance methods and setting an instance varia — Robert Klemme <shortcutter@...> 2008/03/22

On 22.03.2008 09:34, Leon Bogaert wrote:

[#295375] Re: including instance methods and setting an instance varia — "Robert Dober" <robert.dober@...> 2008/03/22

On Sat, Mar 22, 2008 at 11:34 AM, Robert Klemme

[#295376] Re: including instance methods and setting an instance varia — Robert Klemme <shortcutter@...> 2008/03/22

On 22.03.2008 13:43, Robert Dober wrote:

[#295288] dynamically defining a method on an instance that references vars in enclosing scope? — "Christopher J. Bottaro" <cjbottaro@...>

Hello. I want to do this.

9 messages 2008/03/21

[#295443] Sytem hook for instance names? — Jeff Patterson <jeff_patterson@...>

Is there a system hook that allows a method to get an instance's symbol

15 messages 2008/03/23

[#295468] Rich Graphic Interface with Ruby — Diego Bernardes <di3go.bernardes@...>

What is the best way to get a really nice gui in ruby?

11 messages 2008/03/24

[#295472] Bootstrapping Ruby with MinGW: selfhosted and test sandbox! — Luis Lavena <luislavena@...>

Hello List,

33 messages 2008/03/24

[#295476] functions, arguments and changing their value permantently — Adam Akhtar <adamtemporary@...>

Im coming over to Ruby from C++ after a long break from programming. One

9 messages 2008/03/24

[#295500] Beginner's question — Peter Johnsson <avokadoret@...>

This question may be a bit too "simple" for this forum which seems to

15 messages 2008/03/24

[#295591] generating unique random numbers — Jimmy Palmer <modernfossil@...>

I'm trying to generate 8 unique random numbers between 1 and 13.

15 messages 2008/03/25

[#295605] thread.rb — "Adam Bender" <abender@...>

I want to modify the Queue class in thread.rb, so I first searched for

12 messages 2008/03/25

[#295615] Why git instead of mercurial? — "John Wells" <lists@...>

It seems like the hot new thing these days in Ruby-land is to host

45 messages 2008/03/25
[#295623] Re: Why git instead of mercurial? — "Matt Todd" <chiology@...> 2008/03/25

I really don't think the internal implementation has that much

[#295736] Re: Why git instead of mercurial? — James Britt <james.britt@...> 2008/03/25

Matt Todd wrote:

[#295629] numbers of a record in an array — Bu Mihai <mihai.bulhac@...>

a have an array array=["a","b","c","a","b"]

17 messages 2008/03/25

[#295661] Pros and Cons of Ruby vs JRuby for GUI — "Victor Reyes" <victor.reyes@...>

Although I have been using Ruby for awhile, I am really a beginner as I use

11 messages 2008/03/25

[#295712] remove regex matched line question — Ikuta Lin <ikuta_lin@...>

I wrote the code to query a txt file, and tried remove matched line like

13 messages 2008/03/25

[#295714] Is possible Ruby to use CRLF instead of LF? — "Iñaki Baz Castillo" <ibc@...>

Hi, AFAIK Ruby uses LF = \n to detect newline. But now I'm coding a

11 messages 2008/03/25

[#295761] golf: tabs to bullets — "Martin DeMello" <martindemello@...>

Given:

18 messages 2008/03/25

[#295828] INTERPRETED LANGUAGE — Jitendra Rai <jitendra.vinsol@...>

IS IT NECESSARY FOR AN INTERPRETED LANGUAGE TO BE CASE SENSITIVE?

14 messages 2008/03/26

[#295854] The inject function — Shendelzare Silkwood <zerruellx@...>

I want to add together numbers in an array with the inject command. I

12 messages 2008/03/26

[#295876] "loop do IO.select([io], nil, nil)" eats 95% of CPU, any other way? — "Iñaki Baz Castillo" <ibc@...>

Hi, which is the most efficient way of receiving and processing data

14 messages 2008/03/26

[#295881] Sun's Overview of Ruby and JRuby — Veloso <starlover@...>

A very good article

11 messages 2008/03/26

[#296063] Web-based games? — Hal Fulton <hal9000@...>

Who's interested in developing a few web-based games?

25 messages 2008/03/28
[#296090] Re: Web-based games? — "M. Edward (Ed) Borasky" <znmeb@...> 2008/03/28

Hal Fulton wrote:

[#296146] Re: Web-based games? — John Joyce <dangerwillrobinsondanger@...> 2008/03/29

[#296160] Re: Web-based games? — Marc Heiler <shevegen@...> 2008/03/29

> Be careful about intellectual property, especially trademarks,

[#296064] hrpicot - cant extract what i want from page — Adam Akhtar <adamtemporary@...>

Hi im starting to use hrpicot and im having problems extracting

9 messages 2008/03/28

[#296098] Why Ruby do not optimize code at all? — Heesob Park <phasis@...>

Hi,

29 messages 2008/03/28
[#296112] Re: Why Ruby do not optimize code at all? — "Park Heesob" <phasis68@...> 2008/03/28

Hi,

[#296115] Re: Why Ruby do not optimize code at all? — ts <decoux@...> 2008/03/28

Park Heesob wrote:

[#296151] Is ruby is faster than all Object oriented Scripting langs — "bramu.ss@..." <bramu.ss@...>

Hello,

37 messages 2008/03/29

[#296173] Help on best way to gather/sort results [Array/Hash]? — Tony De <tonydema@...>

Greetings ruby fans,

18 messages 2008/03/29
[#296177] Re: Help on best way to gather/sort results [Array/Hash]? — "Todd Benson" <caduceass@...> 2008/03/29

On Sat, Mar 29, 2008 at 12:02 AM, Tony De <tonydema@gmail.com> wrote:

[#296179] Re: Help on best way to gather/sort results ? — Tony De <tonydema@...> 2008/03/29

Todd Benson wrote:

[#296180] Re: Help on best way to gather/sort results ? — Tony De <tonydema@...> 2008/03/29

Tony De wrote:

[#296182] Re: Help on best way to gather/sort results ? — Christian <chippersbox@...> 2008/03/29

Wouldn't you want something like @results.sort {|x, y| y[1] <=> x[1]}?

[#296200] rexml to slow — Bu Mihai <mihai.bulhac@...>

I have an xml file and sometimes i call the find_first_recursive method;

19 messages 2008/03/29
[#296325] Re: rexml to slow — Robert Klemme <shortcutter@...> 2008/03/30

On 29.03.2008 08:46, Bu Mihai wrote:

[#296364] Re: rexml to slow — Bu Mihai <mihai.bulhac@...> 2008/03/30

Robert Klemme wrote:

[#296371] Re: rexml to slow — Robert Klemme <shortcutter@...> 2008/03/30

On 30.03.2008 20:23, Bu Mihai wrote:

[#296379] Re: rexml to slow — Bu Mihai <mihai.bulhac@...> 2008/03/30

Robert Klemme wrote:

[#296205] RubyGems 1.1.0 — Eric Hodel <drbrain@...7.net>

= Announce: RubyGems Release 1.1.0

22 messages 2008/03/29

[#296306] inject's pathological case... — "Just Another Victim of the Ambient Morality" <ihatespam@...>

I'm not sure how I feel about inject's pathological case. What do you

28 messages 2008/03/30
[#296309] Re: inject's pathological case... — 7stud -- <bbxx789_05ss@...> 2008/03/30

Just Another Victim... wrote:

[#296311] Re: inject's pathological case... — 7stud -- <bbxx789_05ss@...> 2008/03/30

Oh, yeah:

[#296331] Re: inject's pathological case... — "Rick DeNatale" <rick.denatale@...> 2008/03/30

On 3/30/08, 7stud -- <bbxx789_05ss@yahoo.com> wrote:

[#296375] GC help — "Joey Marino" <joey.da3rd@...>

I am still running out of memory with my ruby application. For some reason,

15 messages 2008/03/30
[#296376] Re: GC help — Tim Hunter <TimHunter@...> 2008/03/30

Joey Marino wrote:

[#296477] Primes in P? — Charles Zheng <snarles2@...>

There is an algorithm that tests primes with a polynomial running time:

13 messages 2008/03/31

Re: Thread#raise, Thread#kill, and timeout.rb are unsafe

From: Roger Pack <rogerpack2005@...>
Date: 2008-03-17 15:06:47 UTC
List: ruby-talk #294877
> What should safe point declaration mechanism look like?
> 
>               matz.

Tongue in cheek I would say something like

uninterruptible do

end

or

ensureUninterruptible

end

or

uninterruptible do
  # some stuff
handle_exceptions_that_have_been_thrown
end
# where handle_exceptions is where they can all get handled.
Kind of scary still, though.

:)

Anyway my latest thought on the whole timeout difficulty is that there 
are a few difficulties with it that might be overcomeable:

Unfortunately, as a previous poster noted, using raise seems itself 
almost always inherently dangerous, so these would probably all be 
band-aids to a bigger problem.

1) if you have two nested timeouts then "you don't know where the 
timeout came from"
timeout 5 do
timeout 5 do
begin
 sleep
 rescue Exception
  # which one is it? What did I just rescue?
 end
end
end


You could overcome this by just ensuring that it throws distinct classes 
per timeout (i.e. if different timeouts).
timeout 5 do # will by default throw class Timeout::ErrorDepth1 < 
Timeout::Error
timeout 5 do # will by default throw class Timeout::ErrorDepth2 < 
Timeout::Error

I suppose this would help people decipher what is happening when 
timeouts are thrown, though not be helpful otherwise.

1.5) It creates a new thread once per call to 'timeout' which is less 
than efficient.

While I typically don't care about efficiency when using timeout, it 
might be possible to just have a "single timer thread" that handles all 
the raise'ings on the others, to save on thread creation 
(theoretically).


So something like this

(sorry if the syntax is wrong--this is just pseudo-code for now)

$timer_thread = nil # just so I remember the name--you wouldn't have to 
use a global, of course

class TimerThread < Thread
 def handle_any_requests
   # if any thread requests a timeout, add it to some list
   if some_thread_is_waiting
     sleep_until_should_wake_next_thread
     if waiting_thread_is_still_running_its_timeout_block
        waiting_thread.raise Timeout::Error
     end
   else
    sleep -1
  end
 end

 def TimerThread.add_me_to_the_queue_to_interrupt_me_in seconds, &block
    $timer_thread.add_it_to_queue Thread.current, seconds
    $timer_thread.wakeup # might need to synchronize this call so that 
we don't get confusion
    block.call # if we get interrupted between this line and the next we 
are DEAD.  Exactly the same problem that we had before--an exception 
could be raised "far in the future" to interrupt it, when it has already 
left and it shouldn't be raised.
    $timer_thread.take_me_off_the_queue_I_am_done Thread.current # might 
need to synchronize this call, too
  end

end



# begin program.  Note that you could just fire this up the first time 
the script calls Timeout::timeout
$timer_thread = Thread.new {
  loop do
     handle_any_requests
  end
}


Now when you want timeouts you do something like
TimerThread.add_me_to_the_queue_to_interrupt_me_in 5 do # seconds

  # do some stuff for a long time

end

That would help with efficiency, since you wouldn't have to spawn a new 
thread for each call (though it would, sigh, leave one running always in 
the background).  It would alleviate some concurrency problems, and 
still leave at least one in there.  Just throwing it out there.

2) nested timeouts can interrupt each other and leave and 'errant 
thread' running which raises a

timeout 5 do
timeout 50 do
begin
 sleep
end
end

This causes two threads to be generated, each with a "time out bomb" 
ticking, waiting to happen.  The outer loops' thread could (as Charles 
Nutter noted) interrupt the inner thread during its ensure block, so it 
ends up not killing its ticking "time out bomb" thread.  Which means 
that 45 seconds later it will go off and randomly raise on the parent 
thread.

To avoid this I "think" you could wrap the things with mutexes. 
However, this also doesn't work because the mutex "synchronize" stuff 
itself uses an ensure block, which could be interrupted by the same 
confusion (and does, in my experience).

<<Sigh>>

Never mind.  I give up.  The only safe way to generate asynchronous 
calls seems to be to use EventMachine or rev (which have asynchronous 
timers) and have your own "exception handling" blocks (i.e. blocks where 
it is designated to handle those exceptions).

Thanks.

-R
-- 
Posted via http://www.ruby-forum.com/.

In This Thread