[#241191] object_* and instance_* methods — Daniel DeLorme <dan-ml@...42.com>

A while back there was a proposal to use a standard naming scheme for

38 messages 2007/03/01
[#241206] Re: object_* and instance_* methods — dblack@... 2007/03/01

Hi --

[#241210] Re: object_* and instance_* methods — Daniel DeLorme <dan-ml@...42.com> 2007/03/01

dblack@wobblini.net wrote:

[#241255] Re: object_* and instance_* methods — dblack@... 2007/03/01

Hi --

[#241941] Re: object_* and instance_* methods — "Trans" <transfire@...> 2007/03/05

[#241949] Re: object_* and instance_* methods — dblack@... 2007/03/05

Hi --

[#241969] Re: object_* and instance_* methods — "Trans" <transfire@...> 2007/03/05

[#241971] Re: object_* and instance_* methods — "David A. Black" <dblack@...> 2007/03/05

On 3/5/07, Trans <transfire@gmail.com> wrote:

[#242033] Re: object_* and instance_* methods — "Trans" <transfire@...> 2007/03/06

[#242085] Re: object_* and instance_* methods — Daniel DeLorme <dan-ml@...42.com> 2007/03/06

Trans wrote:

[#242171] Re: object_* and instance_* methods — "Rick DeNatale" <rick.denatale@...> 2007/03/06

On 3/6/07, Daniel DeLorme <dan-ml@dan42.com> wrote:

[#242194] Re: object_* and instance_* methods — Daniel DeLorme <dan-ml@...42.com> 2007/03/07

Rick DeNatale wrote:

[#242226] Re: object_* and instance_* methods — Brian Candler <B.Candler@...> 2007/03/07

On Wed, Mar 07, 2007 at 09:01:17AM +0900, Daniel DeLorme wrote:

[#242234] Re: object_* and instance_* methods — Brian Candler <B.Candler@...> 2007/03/07

On Wed, Mar 07, 2007 at 06:40:20PM +0900, Brian Candler wrote:

[#241237] Why does String have to_str and Integer have to_int? — Nanostuff <nanostuff@...>

That's pretty much my question :) Thanks.

10 messages 2007/03/01

[#241251] default passed block for method — Niko <niko@...>

13 messages 2007/03/01

[#241262] Newbie Question — Dick <rwk@...>

Hi,

23 messages 2007/03/01
[#241312] Re: Newbie Question — "Rick DeNatale" <rick.denatale@...> 2007/03/01

On 3/1/07, Dick <rwk@americom.com> wrote:

[#241315] Re: Newbie Question — james.d.masters@... 2007/03/01

On Mar 1, 9:37 am, "Rick DeNatale" <rick.denat...@gmail.com> wrote:

[#241322] Re: Newbie Question — Gary Wright <gwtmp01@...> 2007/03/01

[#241281] replacing the use of gettimeofday in the scheduler — Tomas Pospisek <tpo2@...>

using gettimeofday in the scheduler is problematic, since it's possible that

24 messages 2007/03/01
[#241286] Re: replacing the use of gettimeofday in the scheduler — "Avdi Grimm" <avdi@...> 2007/03/01

On 3/1/07, Tomas Pospisek <tpo2@sourcepole.ch> wrote:

[#241331] Re: replacing the use of gettimeofday in the scheduler — Eric Hodel <drbrain@...7.net> 2007/03/01

On Mar 1, 2007, at 07:12, Avdi Grimm wrote:

[#241346] Re: replacing the use of gettimeofday in the scheduler — "Tomas Pospisek's Mailing Lists" <tpo2@...> 2007/03/01

On Fri, 2 Mar 2007, Eric Hodel wrote:

[#241361] Re: replacing the use of gettimeofday in the scheduler — Eric Hodel <drbrain@...7.net> 2007/03/01

On Mar 1, 2007, at 13:30, Tomas Pospisek's Mailing Lists wrote:

[#241364] Re: replacing the use of gettimeofday in the scheduler — "Avdi Grimm" <avdi@...> 2007/03/01

On 3/1/07, Eric Hodel <drbrain@segment7.net> wrote:

[#241359] Duck Typing Hash-Like Objects — Gary Wright <gwtmp01@...>

I often find that when writing initialize (or alternate constructors)

34 messages 2007/03/01
[#241363] Re: Duck Typing Hash-Like Objects — James Edward Gray II <james@...> 2007/03/01

On Mar 1, 2007, at 4:25 PM, Gary Wright wrote:

[#241375] Re: Duck Typing Hash-Like Objects — Gary Wright <gwtmp01@...> 2007/03/01

On Mar 1, 2007, at 5:30 PM, James Edward Gray II wrote:

[#241383] Re: Duck Typing Hash-Like Objects — James Edward Gray II <james@...> 2007/03/02

On Mar 1, 2007, at 5:22 PM, Gary Wright wrote:

[#241388] Re: Duck Typing Hash-Like Objects — Gary Wright <gwtmp01@...> 2007/03/02

[#241389] Re: Duck Typing Hash-Like Objects — James Edward Gray II <james@...> 2007/03/02

On Mar 1, 2007, at 6:31 PM, Gary Wright wrote:

[#241391] Re: Duck Typing Hash-Like Objects — Gary Wright <gwtmp01@...> 2007/03/02

[#241404] Re: Duck Typing Hash-Like Objects — dblack@... 2007/03/02

Hi --

[#241418] Ruby and MS WORD — Ww Ee <poxvuibr@...>

Hello!

19 messages 2007/03/02

[#241433] GOPS (#116) — Ruby Quiz <james@...>

The three rules of Ruby Quiz:

18 messages 2007/03/02

[#241461] Smallest FizzBuzz program — Brian Adkins <lojicdotcomNOSPAM@...>

This is really bugging me. Someone posted a golf challenge to write a

33 messages 2007/03/02
[#241497] Re: Smallest FizzBuzz program — "vsv" <gm.vlkv@...> 2007/03/02

On Mar 2, 11:06 am, Brian Adkins <lojicdotcomNOS...@gmail.com> wrote:

[#241477] RubyInline — Mark Volkmann <mark@...>

I'm using RubyInline-3.6.2 and am having trouble getting this simple

19 messages 2007/03/02
[#241502] Re: RubyInline — Ryan Davis <ryand-ruby@...> 2007/03/02

[#241482] Hash keys don't work as expected — "DK" <dankee@...>

Hello. I am new to Ruby. I am more familiar with Python, whose hash

11 messages 2007/03/02

[#241499] Erlang book is in beta... — Dave Thomas <dave@...>

I love Ruby--I've done all my serious (and most of my not-so-serious)

55 messages 2007/03/02
[#241602] Re: [ADV] Erlang book is in beta... — "Kevin Jackson" <foamdino@...> 2007/03/03

> > I love Ruby--I've done all my serious (and most of my not-so-serious)

[#241610] Boy I love the Ruby community — Dave Thomas <dave@...> 2007/03/03

[#241655] Re: Boy I love the Ruby community — "Luciano Ramalho" <ramalho@...> 2007/03/03

On 3/3/07, Dave Thomas <dave@pragprog.com> wrote:

[#241607] File Question — "Yannick Grams" <yannick_grams@...>

Hello to all!

15 messages 2007/03/03
[#241613] Re: File Question — Harry <ruby.hardware@...> 2007/03/03

>

[#241619] Re: File Question — Yannick Grams <yannick_grams@...> 2007/03/03

Harry wrote:

[#241668] How to download file from web site — Timothy Hunter <TimHunter@...>

Okay, it's easy to download a file from an FTP server with Net::FTP.

17 messages 2007/03/03

[#241904] Re: Perl 6 (Was: Boy I love the Ruby community) — "Avdi Grimm" <avdi@...>

To me the most interesting thing about Perl 6, should it ever be

23 messages 2007/03/05
[#241916] Re: Perl 6 (Was: Boy I love the Ruby community) — "Daniel Berger" <djberg96@...> 2007/03/05

On Mar 5, 8:33 am, "Avdi Grimm" <a...@avdi.org> wrote:

[#241929] Re: Perl 6 (Was: Boy I love the Ruby community) — "Avdi Grimm" <avdi@...> 2007/03/05

On 3/5/07, Daniel Berger <djberg96@gmail.com> wrote:

[#241991] silly(?) request — "Kyle Schmitt" <kyleaschmitt@...>

Does anyone know if it's possible to pipe the output of a command to a

12 messages 2007/03/05

[#242013] Regular expressions - Again — "J. mp" <joaomiguel.pereira@...>

I'm really bad with this things called regular expressions, so I'm

14 messages 2007/03/06

[#242058] New "Ruby for Windows" Installer — Lothar Scholz <mailinglists@...>

Hello,

16 messages 2007/03/06

[#242115] remove duplicates of array of object based on a attribute — senthil <senthilkumar@...>

hi all,

11 messages 2007/03/06

[#242117] Attributing an old time stamp for a new file. — Peter Bailey <pbailey@...>

Hello,

12 messages 2007/03/06
[#242121] Re: Attributing an old time stamp for a new file. — ara.t.howard@... 2007/03/06

On Tue, 6 Mar 2007, Peter Bailey wrote:

[#242195] Paul Graham explains Ruby symbols — "Luciano Ramalho" <ramalho@...>

Paul Graham offers this excellent explanation for the symbol type:

26 messages 2007/03/07
[#242344] Re: Paul Graham explains Ruby symbols — "Rick DeNatale" <rick.denatale@...> 2007/03/07

On 3/6/07, Luciano Ramalho <ramalho@gmail.com> wrote:

[#242199] High ActiveRecord CPU Utilization — Brian Adkins <lojicdotcomNOSPAM@...>

When running a test that primarily involves loading up a few MySQL

32 messages 2007/03/07

[#242214] elseif v. elsif ?? — 7stud 7stud <dolgun@...>

What the?? I just spent two days trying to figure out why I couldn't

88 messages 2007/03/07
[#242222] Re: elseif v. elsif ?? — "Hans Sjunnesson" <hans.sjunnesson@...> 2007/03/07

On Mar 7, 9:56 am, 7stud 7stud <dol...@excite.com> wrote:

[#242225] Re: elseif v. elsif ?? — "Robert Dober" <robert.dober@...> 2007/03/07

On 3/7/07, Hans Sjunnesson <hans.sjunnesson@gmail.com> wrote:

[#242230] Re: elseif v. elsif ?? — Chris Lowis <chris.lowis@...> 2007/03/07

> Maybe a chapter for that kind of pitfalls could be added somewhere -

[#242235] Re: elseif v. elsif ?? — 7stud 7stud <dolgun@...> 2007/03/07

Chris Lowis wrote:

[#242238] Re: elseif v. elsif ?? — 7stud 7stud <dolgun@...> 2007/03/07

My output is:

[#242243] Re: elseif v. elsif ?? — 7stud 7stud <dolgun@...> 2007/03/07

> Perhaps at the "Ruby from other languages" page :

[#242265] Re: elseif v. elsif ?? — Chad Perrin <perrin@...> 2007/03/07

On Wed, Mar 07, 2007 at 08:08:35PM +0900, 7stud 7stud wrote:

[#242324] Re: elseif v. elsif ?? — Brian Adkins <lojicdotcomNOSPAM@...> 2007/03/07

7stud 7stud wrote:

[#242330] Re: elseif v. elsif ?? — Jenda Krynicky <jenda@...> 2007/03/07

Brian Adkins wrote:

[#242363] Re: elseif v. elsif ?? — 7stud 7stud <dolgun@...> 2007/03/07

> Don't worry. They'll go away. The Wuby moto is break what works, rename

[#242364] Re: elseif v. elsif ?? — "Austin Ziegler" <halostatue@...> 2007/03/07

On 3/7/07, 7stud 7stud <dolgun@excite.com> wrote:

[#242388] Re: elseif v. elsif ?? — "Jacob Fugal" <lukfugl@...> 2007/03/07

On 3/7/07, Austin Ziegler <halostatue@gmail.com> wrote:

[#242458] Re: elseif v. elsif ?? — Chad Perrin <perrin@...> 2007/03/08

On Thu, Mar 08, 2007 at 03:50:17AM +0900, 7stud 7stud wrote:

[#242538] Re: elseif v. elsif ?? — "Daniel Berger" <djberg96@...> 2007/03/08

On Mar 7, 11:14 pm, Chad Perrin <per...@apotheon.com> wrote:

[#242275] A better benchmarking syntax (was: Automatic Benchmark Iterations) — Daniel Schierbeck <daniel.schierbeck@...>

Reading Phrogz' post about automatic benchmark iterations, and then

16 messages 2007/03/07

[#242347] Horizontal scaling - advice needed — "Greg Loriman" <do@...>

Hi folks,

16 messages 2007/03/07

[#242518] How To Find The Name Of A Variable — Andrew Stewart <boss@...>

Hello,

15 messages 2007/03/08
[#242521] Re: How To Find The Name Of A Variable — "Gregory Brown" <gregory.t.brown@...> 2007/03/08

On 3/8/07, Andrew Stewart <boss@airbladesoftware.com> wrote:

[#242527] A couple of questions from a Ruby neophyte — "planetthoughtful" <planetthoughtful@...>

Hi All,

22 messages 2007/03/08

[#242714] SimFrost (#117) — Ruby Quiz <james@...>

The three rules of Ruby Quiz:

81 messages 2007/03/09
[#242717] Re: [QUIZ] SimFrost (#117) — "Jason Roelofs" <jameskilton@...> 2007/03/09

Quick clarification, I would assume you mean "turn 90 degrees", not 90%, as

[#242719] Re: [QUIZ] SimFrost (#117) — James Edward Gray II <james@...> 2007/03/09

On Mar 9, 2007, at 8:04 AM, Jason Roelofs wrote:

[#242721] Re: [QUIZ] SimFrost (#117) — "Robert Dober" <robert.dober@...> 2007/03/09

On 3/9/07, James Edward Gray II <james@grayproductions.net> wrote:

[#242723] Re: [QUIZ] SimFrost (#117) — James Edward Gray II <james@...> 2007/03/09

On Mar 9, 2007, at 8:16 AM, Robert Dober wrote:

[#242728] Re: [QUIZ] SimFrost (#117) — "Robert Dober" <robert.dober@...> 2007/03/09

On 3/9/07, James Edward Gray II <james@grayproductions.net> wrote:

[#242762] Re: [QUIZ] SimFrost (#117) — "Matthew Moss" <matthew.moss.coder@...> 2007/03/09

> Sorry if I was not clear, I meant the center where to put the initial freezer :)

[#242779] Re: [QUIZ] SimFrost (#117) — "Josef 'Jupp' Schugt" <jupp@...> 2007/03/09

* Matthew Moss, 09.03.2007 21:38:

[#243030] Re: [QUIZ] SimFrost (#117) — Christoffer Lern<lerno@...> 2007/03/11

It's interesting that it looks like everyone populated their grid

[#243039] Re: [QUIZ] SimFrost (#117) — James Edward Gray II <james@...> 2007/03/11

On Mar 11, 2007, at 3:07 PM, Christoffer Lernwrote:

[#243119] Re: [QUIZ] SimFrost (#117) — Christoffer Lern<lerno@...> 2007/03/12

[#243164] Re: [QUIZ] SimFrost (#117) — James Edward Gray II <james@...> 2007/03/12

On Mar 12, 2007, at 3:19 AM, Christoffer Lernwrote:

[#243180] Re: [QUIZ] SimFrost (#117) — "Albert Ng" <twinwing@...> 2007/03/12

Any suggestions for a complete beginner in generating graphics for a more

[#243185] Re: [QUIZ] SimFrost (#117) — James Edward Gray II <james@...> 2007/03/12

On Mar 12, 2007, at 9:31 AM, Albert Ng wrote:

[#242792] Find.find --- returns directories/files backwards — "Brad" <bradaskins@...>

New user question:

10 messages 2007/03/10

[#242800] GUI With Ruby — Yannick Grams <yannick_grams@...>

Just a quick question: I'm sick of using Command Prompt for my little

99 messages 2007/03/10
[#242903] Re: GUI With Ruby — Brian Candler <B.Candler@...> 2007/03/10

On Sun, Mar 11, 2007 at 02:21:23AM +0900, M. Edward (Ed) Borasky wrote:

[#242906] Re: GUI With Ruby — "Albert Ng" <twinwing@...> 2007/03/10

Um, how close is the BSD license to this "my code, don't need to quote me,

[#243058] Re: GUI With Ruby — Chad Perrin <perrin@...> 2007/03/11

On Mon, Mar 12, 2007 at 03:53:05AM +0900, Robert Dober wrote:

[#243270] Re: GUI With Ruby — "Robert Dober" <robert.dober@...> 2007/03/12

On 3/11/07, Chad Perrin <perrin@apotheon.com> wrote:

[#243288] Re: GUI With Ruby — "Rick DeNatale" <rick.denatale@...> 2007/03/12

On 3/11/07, Chad Perrin <perrin@apotheon.com> wrote:

[#243329] Re: GUI With Ruby — Chad Perrin <perrin@...> 2007/03/13

On Tue, Mar 13, 2007 at 07:31:23AM +0900, Rick DeNatale wrote:

[#243421] Re: GUI With Ruby — "Rick DeNatale" <rick.denatale@...> 2007/03/13

On 3/12/07, Chad Perrin <perrin@apotheon.com> wrote:

[#243481] Re: GUI With Ruby — Chad Perrin <perrin@...> 2007/03/13

On Tue, Mar 13, 2007 at 11:03:19PM +0900, Rick DeNatale wrote:

[#243524] Re: GUI With Ruby — "Rick DeNatale" <rick.denatale@...> 2007/03/13

On 3/13/07, Chad Perrin <perrin@apotheon.com> wrote:

[#243530] Re: GUI With Ruby — Chad Perrin <perrin@...> 2007/03/13

On Wed, Mar 14, 2007 at 06:48:27AM +0900, Rick DeNatale wrote:

[#242836] OpenStruct,, know what keys are set — Aaron Smith <beingthexemplary@...>

I need to use an OpenStruct to mimic what an object acts like in another

14 messages 2007/03/10

[#242907] Ruby.on-page.net - Evolution began — "Des" <des7ign@...>

How many times have you ever needed to find just one argument of a

24 messages 2007/03/10
[#242909] Re: Ruby.on-page.net - Evolution began — Lionel Bouton <lionel-subscription@...> 2007/03/10

Des wrote the following on 10.03.2007 20:15 :

[#242912] Re: Ruby.on-page.net - Evolution began — "Des" <des7ign@...> 2007/03/10

On Mar 10, 9:24 pm, Lionel Bouton <lionel-subscript...@bouton.name>

[#242944] get object from its object-specific class? — Thomas Hafner <thomas@...>

Hello,

16 messages 2007/03/10
[#242986] Re: get object from its object-specific class? — ara.t.howard@... 2007/03/11

On Sun, 11 Mar 2007, Thomas Hafner wrote:

[#243389] Re: get object from its object-specific class? — "Trans" <transfire@...> 2007/03/13

[#242971] #define alternative for Ruby — "Michael Strelnikov" <michaelst@...>

Hello all,

33 messages 2007/03/11
[#242990] Re: #define alternative for Ruby — Daniel Berger <djberg96@...> 2007/03/11

Michael Strelnikov wrote:

[#243070] Re: #define alternative for Ruby — "Mike" <michaelst@...> 2007/03/12

On Mar 12, 1:52 am, Daniel Berger <djber...@gmail.com> wrote:

[#243102] Re: #define alternative for Ruby — ara.t.howard@... 2007/03/12

On Mon, 12 Mar 2007, Mike wrote:

[#243118] Re: #define alternative for Ruby — Sebastian Hungerecker <sepp2k@...> 2007/03/12

ara.t.howard@noaa.gov wrote:

[#242991] Help with NET::SMTP — peter <ruby@...>

I'm trying to use Net::SMTP which appears to do most everything I need

14 messages 2007/03/11

[#243031] Trying to make Array#collect massively parallel with OpenMP — "Daniel Berger" <djberg96@...>

Hi all,

9 messages 2007/03/11

[#243082] I need to learn... — "Robert Hicks" <sigzero@...>

I would like to learn Ruby so I am looking at getting "Programming

38 messages 2007/03/12
[#243087] Re: I need to learn... — Marc Heiler <shevegen@...> 2007/03/12

I have both. My personal opinion, and I am biased, is that

[#243104] Re: I need to learn... — 7stud 7stud <dolgun@...> 2007/03/12

Marc Heiler wrote:

[#243131] Re: I need to learn... — Chad Perrin <perrin@...> 2007/03/12

On Mon, Mar 12, 2007 at 10:35:08AM +0900, Robert Hicks wrote:

[#243169] Re: I need to learn... — "Rick DeNatale" <rick.denatale@...> 2007/03/12

On 3/12/07, Chad Perrin <perrin@apotheon.com> wrote:

[#243351] Re: I need to learn... — 7stud 7stud <dolgun@...> 2007/03/13

Rick Denatale wrote:

[#243242] Why SVN? — "Trans" <transfire@...>

Should I be using SVN rather than Darcs or Git?

90 messages 2007/03/12
[#243244] Re: Why SVN? — "Glen Holcomb" <damnbigman@...> 2007/03/12

Why not SVN?

[#243246] Re: Why SVN? — "Tanner Burson" <tanner.burson@...> 2007/03/12

On 3/12/07, Glen Holcomb <damnbigman@gmail.com> wrote:

[#243299] Re: Why SVN? — "Rob Sanheim" <rsanheim@...> 2007/03/12

On 3/12/07, Tanner Burson <tanner.burson@gmail.com> wrote:

[#243300] Re: Why SVN? — Jeremy Tregunna <jtregunna@...> 2007/03/12

On 12-Mar-07, at 7:07 PM, Rob Sanheim wrote:

[#243309] Re: Why SVN? — James Edward Gray II <james@...> 2007/03/13

On Mar 12, 2007, at 6:13 PM, Jeremy Tregunna wrote:

[#243316] Re: Why SVN? — Jeremy Tregunna <jtregunna@...> 2007/03/13

On 12-Mar-07, at 8:05 PM, James Edward Gray II wrote:

[#243327] Re: Why SVN? — "Brian Mitchell" <binary42@...> 2007/03/13

On 3/12/07, Jeremy Tregunna <jtregunna@blurgle.ca> wrote:

[#246463] Re: Why SVN? — Randy Kramer <rhkramer@...> 2007/04/03

On Monday 12 March 2007 10:51 pm, Brian Mitchell wrote:

[#246468] Re: Why SVN? — Kevin Williams <kevwil@...> 2007/04/03

To comment on the original question, SVN has the following going for it:

[#246492] Re: Why SVN? — Ryan Davis <ryand-ruby@...> 2007/04/03

[#243709] Re: Why SVN? — "Austin Ziegler" <halostatue@...> 2007/03/14

On 3/12/07, Trans <transfire@gmail.com> wrote:

[#243720] Re: Why SVN? — "Brian Mitchell" <binary42@...> 2007/03/14

On 3/14/07, Austin Ziegler <halostatue@gmail.com> wrote:

[#243264] Ruby 1.8.6 has been released — "Akinori MUSHA" <knu@...>

Hello,

13 messages 2007/03/12
[#243268] Re: [ANN] Ruby 1.8.6 has been released — Timothy Hunter <TimHunter@...> 2007/03/12

Akinori MUSHA wrote:

[#243303] perl to ruby — Marcin Kulisz <marcin.kulisz@...>

hi all,

13 messages 2007/03/12
[#243308] Re: perl to ruby — "Jan Svitok" <jan.svitok@...> 2007/03/12

On 3/13/07, Marcin Kulisz <marcin.kulisz@gmail.com> wrote:> hi all,> today is my first day with ruby and I'm trying to rewrite a few of my> scripts from perl to ruby & it's not too easy. can anyone help me with> script below. I've done a few thinks but when one is working another> don't.

[#243338] CruiseControl.rb 1.0 — "Alexey Verkhovsky" <alexey.verkhovsky@...>

Hmmm. Another Continuous Integration tool? What is that, the millionth

18 messages 2007/03/13

[#243428] YAML and ruby classes — shiva.brahma@... (Matteo Cavalleri)

I need to create some objects of different (custom) classes, in

14 messages 2007/03/13

[#243588] IDEA: Ruby "offline" CD / DVD — Stian Haklev <shaklev@...>

Hi all. I hope this is the appropriate place to post my idea. I have

19 messages 2007/03/14

[#243605] A simple question regarding ruby method argument — Shin guey Wong <sgwong513@...>

Hi,

14 messages 2007/03/14

[#243643] Calculating the age given DOB — Deniz Dogan <kristnjov@...>

Hello, fellow rubyists.

27 messages 2007/03/14

[#243692] Anyone playing with higher order messaging in ruby? — Christoffer Lern<lerno@...>

For example, something that I often want to do is:

20 messages 2007/03/14
[#243698] Re: Anyone playing with higher order messaging in ruby? — Christoffer Lern<lerno@...> 2007/03/14

On Mar 14, 2007, at 20:04 , Christoffer Lernwrote:

[#243701] Re: Anyone playing with higher order messaging in ruby? — "Jason Roelofs" <jameskilton@...> 2007/03/14

I haven't personally messed with this kind of stuff but code like this just

[#243735] Re: Anyone playing with higher order messaging in ruby? — Benjohn Barnes <benjohn@...> 2007/03/14

[#243746] Re: Anyone playing with higher order messaging in ruby? — "Brian Mitchell" <binary42@...> 2007/03/15

On 3/14/07, Christoffer Lern旦 <lerno@dragonascendant.com> wrote:> For example, something that I often want to do is:>> array.each { |entry| entry.do_something(1, "a") }>> If you know you're doing things like this a lot, there is an obvious> shortcut:>> class Array>> class Forwarder> def initialize(array)> @array = array> end> def method_missing(symbol, *args)> @array.each { |entry| entry.__send__(symbol, *args) }> end> end>> def each_do> Forwarder.new(self)> end>> end>> Now you can do:>> array.each_do.do_something(1, "a")>>> In a more generalized case, you want to use a block to act as a class.>> module Trampolines> class Trampoline> def initialize(block)> @block = block> end> def method_missing(symbol, *args, &block)> args << block if block> @block.call(symbol, *args)> end> end> end>> def trampoline(&block)> raise "Missing block" unless block> Trampolines::Trampoline.new(block)> end>>> Here we could define>>> class Array> def each_do2> trampoline { |symbol, *args| each { |o| o.__send__(symbol,> *args) } }> end> end>> Which would work the same way as the previous code.>>> But you could also do things like>> def wait(time)> trampoline do |method, *args|> # queue_event executes the block after time seconds> queue_event(time) { self.__send__(method, *args) }> end> end>> And write code like:>> wait(5).shutdown("Shutdown in seconds")> wait(10).shutdown("Shutdown in 5 seconds")> wait(15).shutdown_now>> Instead of wrapping it in blocks.>>> Other people must have played around with this.>> I'd like to learn more about using these methods, so are there any> links and sites people could share with me?

[#243774] General Ruby OOP Question - using inheritance or include for shared attributes — james.d.masters@...

I have a generic Ruby OOP question. Which is the more "correct" way

10 messages 2007/03/15

[#243861] Just for fun... — "Matthew Moss" <matthew.moss.coder@...>

I posted this to another forum as part of a challenge... thought to

40 messages 2007/03/15
[#244384] Re: Just for fun... — David Kastrup <dak@...> 2007/03/19

"Trans" <transfire@gmail.com> writes:

[#244458] Re: Just for fun... — "Trans" <transfire@...> 2007/03/20

[#244459] Re: Just for fun... — Clifford Heath <no.spam@...> 2007/03/20

Trans wrote:

[#244462] Re: Just for fun... — "Trans" <transfire@...> 2007/03/20

On Mar 19, 11:15 pm, Clifford Heath <no.s...@please.net> wrote:

[#244477] Re: Just for fun... — Clifford Heath <no.spam@...> 2007/03/20

Trans wrote:

[#244680] Re: Just for fun... — "Rick DeNatale" <rick.denatale@...> 2007/03/21

On 3/20/07, Clifford Heath <no.spam@please.net> wrote:

[#244688] Re: Just for fun... — "Trans" <transfire@...> 2007/03/21

[#244857] Re: Just for fun... — Clifford Heath <no@...> 2007/03/22

Trans wrote:

[#244878] Re: Just for fun... — "Trans" <transfire@...> 2007/03/22

[#244991] Re: Just for fun... — Clifford Heath <no.spam@...> 2007/03/23

Trans wrote:

[#245011] Re: Just for fun... — "Trans" <transfire@...> 2007/03/23

[#245018] Re: Just for fun... — Mauricio Fernandez <mfp@...> 2007/03/23

On Fri, Mar 23, 2007 at 05:20:36PM +0900, Trans wrote:

[#245021] Re: Just for fun... — "Trans" <transfire@...> 2007/03/23

[#245039] Re: Just for fun... — Mauricio Fernandez <mfp@...> 2007/03/23

On Fri, Mar 23, 2007 at 07:38:28PM +0900, Trans wrote:

[#245748] Re: Just for fun... — "Trans" <transfire@...> 2007/03/29

Sorry about the delayed response. I just have too much one my mind...

[#245751] Re: Just for fun... — Phillip Gawlowski <cmdjackryan@...> 2007/03/29

Trans wrote:

[#245812] Re: Just for fun... — Chad Perrin <perrin@...> 2007/03/29

On Thu, Mar 29, 2007 at 09:56:17AM +0900, Phillip Gawlowski wrote:

[#245913] Re: Just for fun... — "Kristoffer Lundén" <kristoffer.lunden@...> 2007/03/30

On 3/29/07, Chad Perrin <perrin@apotheon.com> wrote:> 2. Certain compression programs are very well known, and "everyone" has> them (for some definition of "everyone", depending on OS platform, et> cetera). Thus, "everyone" uses them. Short of producing a hugely> popular program that handles both old and new compression algorithms (or> both old and new file formats, in other examples of this phenomenon in> action), adoption of something new is going to be very slow and prone to> failure despite any technical advantages to the new algorithm/format.> This is illustrated by the demonstration of the commercial end-user> market failure of the Betamax -- VHS won that little skirmish simply> because it was more widely available, quickly became a household word,> and prevented migration to Betamax simply by way of market inertia.>

[#243899] Need help converting Perl to Ruby (detecting integers and decimals in strings) — "Paul" <tester.paul@...>

I am trying to convert a Perl script to Ruby and have been having some

9 messages 2007/03/15

[#243986] Splitting A String — Andrew Stewart <boss@...>

Hello,

19 messages 2007/03/16

[#244041] Issues using array.delete within a loop of the same array — james.d.masters@...

This is a simplified example for what I'm trying to do but gets the

14 messages 2007/03/16

[#244126] attr_accessor question — Corey Konrad <0011@...>

how come this doesnt worh though?

18 messages 2007/03/17
[#244130] Re: attr_accessor question — "Michael Guterl" <mguterl@...> 2007/03/17

On 3/17/07, Corey Konrad <0011@hush.com> wrote:

[#244229] SciTE Alternatives — "PythonUsr" <pythonusr@...>

Are there any good SciTE alternatives that are mainly for Ruby editing

32 messages 2007/03/18

[#244337] Ideas about Smalltalk-like IDE for Ruby — "Rick DeNatale" <rick.denatale@...>

On 3/18/07, richard.j.dale@gmail.com <richard.j.dale@gmail.com> wrote

10 messages 2007/03/19

[#244354] Sorting Dates and Times in an array — "Paul" <tester.paul@...>

Hi there. I am having a bit of trouble trying to solve a particular

20 messages 2007/03/19

[#244363] A sketch for a summer of code application. — "Pedro Del Gallego" <pedro.delgallego@...>

Hi

14 messages 2007/03/19
[#244369] Re: A sketch for a summer of code application. — SonOfLilit <sonoflilit@...> 2007/03/19

Two things:

[#245386] Re: A sketch for a summer of code application. — James Edward Gray II <james@...> 2007/03/26

On Mar 19, 2007, at 1:38 PM, SonOfLilit wrote:

[#244467] fastthread 1.0 — MenTaLguY <mental@...>

Well, just when I thought I was out of the fastthread business...

13 messages 2007/03/20

[#244480] Ruby and Cryptography — Amr Kamel <amrkamel@...>

Hello everyone,

13 messages 2007/03/20

[#244493] does Ruby not support multiple "initialize" methods for a class??? — "Greg Hauptmann" <greg.hauptmann.ruby@...>

Hi,

29 messages 2007/03/20
[#244497] Re: does Ruby not support multiple "initialize" methods for a class??? — hemant <gethemant@...> 2007/03/20

On 3/20/07, Greg Hauptmann <greg.hauptmann.ruby@gmail.com> wrote:

[#244605] Re: does Ruby not support multiple "initialize" methods for a class??? — johan556@... 2007/03/20

On 3/20/07, Greg Hauptmann <greg.hauptmann.ruby@gmail.com> wrote:

[#244614] Re: does Ruby not support multiple "initialize" methods for a class??? — Chad Perrin <perrin@...> 2007/03/21

On Wed, Mar 21, 2007 at 08:32:37AM +0900, johan556@gmail.com wrote:

[#244524] Object/Relational Mapping is the Vietnam of Computer Science — "Demetrius Gallitzin" <gallitzin@...>

I have searched around, but I very rarely find any mention of Ruby

176 messages 2007/03/20
[#244543] Re: Object/Relational Mapping is the Vietnam of Computer Science — John Joyce <dangerwillrobinsondanger@...> 2007/03/20

You could describe ORM as masking a problem or you could call it

[#244704] Re: Object/Relational Mapping is the Vietnam of Computer Science — Robert Klemme <shortcutter@...> 2007/03/21

On 20.03.2007 17:55, John Joyce wrote:

[#244714] Re: Object/Relational Mapping is the Vietnam of Computer Science — John Joyce <dangerwillrobinsondanger@...> 2007/03/21

Ok, if you say so. Let's call it a describing language, but

[#244550] Re: Object/Relational Mapping is the Vietnam of Computer Science — "Austin Ziegler" <halostatue@...> 2007/03/20

On 3/20/07, Demetrius Gallitzin <gallitzin@gmail.com> wrote:

[#244554] Re: Object/Relational Mapping is the Vietnam of Computer Sci — Dave Rose <bitdoger2@...> 2007/03/20

has anybody used CACHE with ruby... it the best of both worlds and

[#244610] Re: Object/Relational Mapping is the Vietnam of Computer Sci — "Austin Ziegler" <halostatue@...> 2007/03/21

On 3/20/07, Dave Rose <bitdoger2@yahoo.com> wrote:

[#244769] Re: Object/Relational Mapping is the Vietnam of Computer Sci — "James Moore" <jamesthepiper@...> 2007/03/21

On 3/20/07, Austin Ziegler <halostatue@gmail.com> wrote:

[#244555] Re: Object/Relational Mapping is the Vietnam of Computer Science — brabuhr@... 2007/03/20

On 3/20/07, Austin Ziegler <halostatue@gmail.com> wrote:

[#244567] Re: Object/Relational Mapping is the Vietnam of Computer Science — Gary Wright <gwtmp01@...> 2007/03/20

[#244699] Re: Object/Relational Mapping is the Vietnam of Computer Science — "Eivind Eklund" <eeklund@...> 2007/03/21

On 3/20/07, Gary Wright <gwtmp01@mac.com> wrote:

[#244798] Re: Object/Relational Mapping is the Vietnam of Computer Science — "Sam Smoot" <ssmoot@...> 2007/03/21

Ok. I can stand the SQL love-in no longer. :)

[#244789] Re: Object/Relational Mapping is the Vietnam of Computer Sci — Jimmy George <mail2jimmy@...> 2007/03/21

[#244794] Re: Object/Relational Mapping is the Vietnam of Computer Sci — ara.t.howard@... 2007/03/21

On Thu, 22 Mar 2007, Jimmy George wrote:

[#244799] Re: Object/Relational Mapping is the Vietnam of Computer Sci — Chad Perrin <perrin@...> 2007/03/21

On Thu, Mar 22, 2007 at 07:17:29AM +0900, ara.t.howard@noaa.gov wrote:

[#244813] Re: Object/Relational Mapping is the Vietnam of Computer Sci — ara.t.howard@... 2007/03/21

On Thu, 22 Mar 2007, Chad Perrin wrote:

[#244815] Re: Object/Relational Mapping is the Vietnam of Computer Sci — "Austin Ziegler" <halostatue@...> 2007/03/21

On 3/21/07, ara.t.howard@noaa.gov <ara.t.howard@noaa.gov> wrote:

[#245653] Re: Object/Relational Mapping is the Vietnam of Computer Sci — Edwin Fine <efine145-nospam01@...> 2007/03/28

> Unfortunately this is true. Matz is nice so we are nice. Abusiveness

[#245706] Re: Object/Relational Mapping is the Vietnam of Computer Sci — Eleanor McHugh <eleanor@...> 2007/03/28

On 28 Mar 2007, at 09:41, Edwin Fine wrote:

[#245712] Re: Object/Relational Mapping is the Vietnam of Computer Sci — "Austin Ziegler" <halostatue@...> 2007/03/28

On 3/28/07, Eleanor McHugh <eleanor@games-with-brains.com> wrote:

[#245747] Re: Object/Relational Mapping is the Vietnam of Computer Sci — Daniel DeLorme <dan-ml@...42.com> 2007/03/29

Austin Ziegler wrote:

[#245750] Re: Object/Relational Mapping is the Vietnam of Computer Sci — "Austin Ziegler" <halostatue@...> 2007/03/29

On 3/28/07, Daniel DeLorme <dan-ml@dan42.com> wrote:

[#245757] Re: Object/Relational Mapping is the Vietnam of Computer Sci — Daniel DeLorme <dan-ml@...42.com> 2007/03/29

Austin Ziegler wrote:

[#245762] Re: Object/Relational Mapping is the Vietnam of Computer Sci — "Austin Ziegler" <halostatue@...> 2007/03/29

On 3/28/07, Daniel DeLorme <dan-ml@dan42.com> wrote:

[#245766] Re: Object/Relational Mapping is the Vietnam of Computer Sci — Daniel DeLorme <dan-ml@...42.com> 2007/03/29

Austin Ziegler wrote:

[#245770] Re: Object/Relational Mapping is the Vietnam of Computer Sci — "Austin Ziegler" <halostatue@...> 2007/03/29

On 3/28/07, Daniel DeLorme <dan-ml@dan42.com> wrote:

[#245806] Re: Object/Relational Mapping is the Vietnam of Computer Sci — Sebastian Hanigk <hanigk@...> 2007/03/29

Jochen Theodorou <blackdrag@uni.de> writes:

[#245825] Re: Object/Relational Mapping is the Vietnam of Computer Sci — Jochen Theodorou <blackdrag@...> 2007/03/29

Sebastian Hanigk schrieb:

[#245833] Re: Object/Relational Mapping is the Vietnam of Computer Sci — "Austin Ziegler" <halostatue@...> 2007/03/29

On 3/29/07, Jochen Theodorou <blackdrag@uni.de> wrote:

[#245868] Re: Object/Relational Mapping is the Vietnam of Computer Sci — Jochen Theodorou <blackdrag@...> 2007/03/29

Austin Ziegler schrieb:

[#245879] Re: Object/Relational Mapping is the Vietnam of Computer Sci — "Austin Ziegler" <halostatue@...> 2007/03/29

On 3/29/07, Jochen Theodorou <blackdrag@uni.de> wrote:

[#245889] Re: Object/Relational Mapping is the Vietnam of Computer Sci — Jochen Theodorou <blackdrag@...> 2007/03/29

Austin Ziegler schrieb:

[#245908] Re: Object/Relational Mapping is the Vietnam of Computer Sci — "Austin Ziegler" <halostatue@...> 2007/03/30

On 3/29/07, Jochen Theodorou <blackdrag@uni.de> wrote:

[#246028] Re: Object/Relational Mapping is the Vietnam of Computer Sci — Christian Neukirchen <chneukirchen@...> 2007/03/30

"Austin Ziegler" <halostatue@gmail.com> writes:

[#246116] Re: Object/Relational Mapping is the Vietnam of Computer Sci — Clifford Heath <no@...> 2007/03/31

Christian Neukirchen wrote:

[#246168] Re: Object/Relational Mapping is the Vietnam of Computer Sci — "Rick DeNatale" <rick.denatale@...> 2007/03/31

On 3/31/07, Clifford Heath <no@spam.please.net> wrote:

[#246187] Re: Object/Relational Mapping is the Vietnam of Computer Sci — "Austin Ziegler" <halostatue@...> 2007/03/31

On 3/31/07, Rick DeNatale <rick.denatale@gmail.com> wrote:

[#244525] Mountain West Ruby Conference slides, keynote? — "Daniel Berger" <djberg96@...>

Will the Mountain West Ruby Conference talks be posted? Or Chad's

11 messages 2007/03/20

[#244694] About class methods visibility (public/private) — Ruby Admirer <ruby_admirer@...>

Hi all,

23 messages 2007/03/21
[#244854] Re: About class methods visibility (public/private) — Yukihiro Matsumoto <matz@...> 2007/03/22

Hi,

[#244908] Re: About class methods visibility (public/private) — "Phrogz" <gavin@...> 2007/03/22

On Mar 22, 2:53 am, Yukihiro Matsumoto <m...@ruby-lang.org> wrote:

[#244910] Re: About class methods visibility (public/private) — "Phrogz" <gavin@...> 2007/03/22

On Mar 22, 10:21 am, "Phrogz" <g...@refinery.com> wrote:

[#244883] Knocking Lines Out Of A Multiline String — Andrew Stewart <boss@...>

Hello,

19 messages 2007/03/22
[#244888] Re: Knocking Lines Out Of A Multiline String — Robert Klemme <shortcutter@...> 2007/03/22

On 22.03.2007 15:43, Andrew Stewart wrote:

[#244897] free pdf ebook — hazal <niyazi.ates@...>

Hello everybody,

64 messages 2007/03/22
[#244901] Re: free pdf ebook — "Kyle Schmitt" <kyleaschmitt@...> 2007/03/22

Umm. No.

[#244911] Re: free pdf ebook — "Josef 'Jupp' Schugt" <jupp@...> 2007/03/22

* Kyle Schmitt, 22.03.2007 16:56:

[#244915] Re: free pdf ebook — "Kyle Schmitt" <kyleaschmitt@...> 2007/03/22

Really? What type of crime is it. Completely off topic, but it's interesting.

[#244926] Re: free pdf ebook — Phillip Gawlowski <cmdjackryan@...> 2007/03/22

Kyle Schmitt wrote:

[#244936] Re: free pdf ebook — Chad Perrin <perrin@...> 2007/03/22

On Fri, Mar 23, 2007 at 02:07:59AM +0900, Phillip Gawlowski wrote:

[#244939] Re: free pdf ebook — "Kyle Schmitt" <kyleaschmitt@...> 2007/03/22

OK guys, stop jumping down my throat for using the common term for something.

[#244943] Re: free pdf ebook — Phillip Gawlowski <cmdjackryan@...> 2007/03/22

Kyle Schmitt wrote:

[#244947] Re: free pdf ebook — "Austin Ziegler" <halostatue@...> 2007/03/22

On 3/22/07, Phillip Gawlowski <cmdjackryan@googlemail.com> wrote:

[#245002] Re: free pdf ebook — Chad Perrin <perrin@...> 2007/03/23

On Fri, Mar 23, 2007 at 03:36:35AM +0900, Austin Ziegler wrote:

[#245017] Newbie templating question: how to combine multiple files — Frank Reiff <reiff@...>

Hi,

10 messages 2007/03/23

[#245029] Question about if in Ruby — John Joyce <dangerwillrobinsondanger@...>

I've seen this in Rails, but it is just ERb, so it is Ruby...

16 messages 2007/03/23
[#245032] Re: Question about if in Ruby — Vince H&K <vince.hetk@...> 2007/03/23

John Joyce wrote:

[#245122] How to Convert String to Array — Shengzhi Li <shengzhi1@...>

Hey everyone,

14 messages 2007/03/23

[#245163] Suggestion: swap name of "puts" and "print" and rename "puts" to "put_s" — Michael Brooks <michael.brooks@...>

Hello:

24 messages 2007/03/24
[#245199] Re: Suggestion: swap name of "puts" and "print" and rename "puts" to "put_s" — Brian Candler <B.Candler@...> 2007/03/24

On Sat, Mar 24, 2007 at 11:40:05PM +0900, Michael Brooks wrote:

[#245205] Re: Suggestion: swap name of "puts" and "print" and rename "puts" to "put_s" — Brian Candler <B.Candler@...> 2007/03/24

> > At a minimum I think the "put_c", "put_s", etc... should be implemented

[#245207] class methods and instance variables in ActiveRecord::Base — "zig" <ziggurism@...>

I'm still learning my way around ruby and I seem to be confused about

12 messages 2007/03/24

[#245240] adding anotehr each method to String — unbewusst.sein@... (Une B騅ue)

f it doesn't exist allready, i'd like to add another each method to

17 messages 2007/03/25

[#245314] how to tranlsate number to binary? — Ak 756 <macro.peng@...>

Hi, I am a ruby newbie. I want to write a program which will scan a

15 messages 2007/03/26
[#245315] Re: how to tranlsate number to binary? — "Harold Hausman" <hhausman@...> 2007/03/26

On 3/26/07, Ak 756 <macro.peng@gmail.com> wrote:

[#245437] How do I implement the Unix 'tee' function for $stdout? — Larry Fast <lfast@...>

I already discovered that I can redirect $stdout just by pointing it at

14 messages 2007/03/26

[#245458] On Enterprise Ruby — "Alexey Verkhovsky" <alexey.verkhovsky@...>

Q: What the hell is "Enterprise Ruby" anyway?

60 messages 2007/03/27
[#245494] Re: On Enterprise Ruby — Alex Young <alex@...> 2007/03/27

Alexey Verkhovsky wrote:

[#245612] Re: On Enterprise Ruby — "S. Robert James" <srobertjames@...> 2007/03/28

Image and market share aside (although those are important

[#245714] Re: On Enterprise Ruby — "Kent Sibilev" <ksruby@...> 2007/03/28

On 3/27/07, S. Robert James <srobertjames@gmail.com> wrote:

[#245754] Re: On Enterprise Ruby — "S. Robert James" <srobertjames@...> 2007/03/29

Wow, some excellent discussion has been generated. I'd like to

[#245786] Re: On Enterprise Ruby — Charles Oliver Nutter <charles.nutter@...> 2007/03/29

S. Robert James wrote:

[#245545] Memory leak in ruby code — Pratik <pratiknaik@...>

Hi,

15 messages 2007/03/27

[#245651] general question (different between methods and functions)? — "Yamal Khaled Soueidan" <jkhaledsoueidan@...>

Hello everyone,

15 messages 2007/03/28

[#245922] text processing — "Stephen Smith" <4fires@...>

Hi all,

20 messages 2007/03/30

[#245981] Micrrowave Numbers (#118) — Ruby Quiz <james@...>

The three rules of Ruby Quiz:

21 messages 2007/03/30

[#246062] Find the fully qualified name of a class from a string — "Nasir Khan" <rubylearner@...>

Say you have a class definition in a string -

11 messages 2007/03/30
[#246064] Re: Find the fully qualified name of a class from a string — ara.t.howard@... 2007/03/30

On Sat, 31 Mar 2007, Nasir Khan wrote:

[#246082] Re: Find the fully qualified name of a class from a string — "Rick DeNatale" <rick.denatale@...> 2007/03/30

On 3/30/07, ara.t.howard@noaa.gov <ara.t.howard@noaa.gov> wrote:

[#246088] Re: Find the fully qualified name of a class from a string — "Nasir Khan" <rubylearner@...> 2007/03/31

> I don't think that's what he's looking for.

[#246076] New presentation on Ruby — "Chauk-Mean P" <chauk.mean@...>

Hi all,

47 messages 2007/03/30
[#246093] Re: New presentation on Ruby — "Gregory Brown" <gregory.t.brown@...> 2007/03/31

On 3/30/07, Chauk-Mean P <chauk.mean@gmail.com> wrote:

[#246111] Re: New presentation on Ruby — "Chauk-Mean P" <chauk.mean@...> 2007/03/31

2007/3/31, Gregory Brown <gregory.t.brown@gmail.com>:

[#246114] Re: New presentation on Ruby — Chad Perrin <perrin@...> 2007/03/31

On Sat, Mar 31, 2007 at 03:21:54PM +0900, Chauk-Mean P wrote:

[#246125] Re: New presentation on Ruby — "Chauk-Mean P" <chauk.mean@...> 2007/03/31

2007/3/31, Chad Perrin <perrin@apotheon.com>:

[#246430] Re: New presentation on Ruby — Ilan Berci <coder68@...> 2007/04/02

Chauk-Mean P wrote:

[#246101] Re: New presentation on Ruby — Chad Perrin <perrin@...> 2007/03/31

On Sat, Mar 31, 2007 at 12:13:52PM +0900, M. Edward (Ed) Borasky wrote:

[#246131] On banning (Was: New presentation on Ruby) — "Josef 'Jupp' Schugt" <jupp@...> 2007/03/31

* Chad Perrin, 31.03.2007 05:26:

[#246164] Where have Ruby/Tk examples gone? — Morton Goldberg <m_goldberg@...>

I have previously been able to access Hidetoshi NAGAI's examples of

13 messages 2007/03/31

[ANN] rq-3.0.0 : ruby queue gets gem'd

From: ara.t.howard@...
Date: 2007-03-02 02:02:57 UTC
List: ruby-talk #241399
NAME
   rq v3.0.0

SYNOPSIS
   rq (queue | export RQ_Q=q) mode [mode_args]* [options]*

URIS

   http://rubyforge.org/projects/codeforpeople
   http://codeforpeople.com/lib/ruby/rq

INSTALL

   gem install rq --no-wrappers


DESCRIPTION
   ruby queue (rq) is a tool used to create instant linux clusters by managing
   sqlite databases as nfs mounted priority work queues.  multiple instances of
   rq running from multiples hosts can work from these queues to distribute
   processing load to n nodes - bringing many dozens of otherwise powerful cpus
   to their knees with a single blow.  clearly this software should be kept out
   of the hands of free radicals, seti enthusiasts, and j. safran.

   the central concept of rq is that n nodes work in isolation to pull jobs from
   an central nfs mounted priority work queue in a synchronized fashion.  the
   nodes have absolutely no knowledge of each other and all communication if done
   via the queue meaning that, so long as the queue is available via nfs and a
   single node is running jobs from it, the system will continue to process jobs.
   there is no centralized process whatsoever - all nodes work to take jobs from
   the queue and run them as fast as possible.  this creates a system which load
   balances automatically and is robust in face of node failures.

   the first argument to any rq command is the name of the queue.  this name may
   be omitted if, and only if, the environment variable RQ_Q has been set to
   contain the absolute path of target queue.

   rq operates in one of the modes create, submit, list, status, delete, update,
   query, execute, configure, snapshot, lock, backup, rotate, feed, or help.
   depending on the mode of operation and the options used the meaning of
   'mode_args' may change.

MODES

   the following mode abbreviations exist

     c  => create
     s  => submit
     l  => list
     ls => list
     t  => status
     d  => delete
     rm => delete
     u  => update
     q  => query
     e  => execute
     C  => configure
     S  => snapshot
     L  => lock
     b  => backup
     r  => rotate
     f  => feed
     h  => help

   create, c :

     create a queue.  the queue must be located on an nfs mounted file system
     visible from all nodes intended to run jobs from it.

     examples :

       0) to create a queue
           ~ > rq /path/to/nfs/mounted/q create
         or simply
           ~ > rq /path/to/nfs/mounted/q c


   submit, s :

     submit jobs to a queue to be proccesed by a feeding node.  any 'mode_args'
     are taken as the command to run.  note that 'mode_args' are subject to shell
     expansion - if you don't understand what this means do not use this feature
     and pass jobs on stdin.

     when running in submit mode a file may by specified as a list of commands to
     run using the '--infile, -i' option.  this file is taken to be a newline
     separated list of commands to submit, blank lines and comments (#) are
     allowed.  if submitting a large number of jobs the input file method is
     MUCH, more efficient.  if no commands are specified on the command line rq
     automatically reads them from STDIN.  yaml formatted files are also allowed
     as input (http://www.yaml.org/) - note that the output of nearly all rq
     commands is valid yaml and may, therefore, be piped as input into the submit
     command.

     when submitting the '--priority, -p' option can be used here to determine
     the priority of jobs.  priorities may be any whole number - zero is the
     default.  note that submission of a high priority job will NOT supplant
     currently running low priority jobs, but higher priority jobs WILL always
     migrate above lower priority jobs in the queue in order that they be run as
     soon as possible.  constant submission of high priority jobs may create a
     starvation situation whereby low priority jobs are never allowed to run.
     avoiding this situation is the responsibility of the user.  the only
     guaruntee rq makes regarding job execution is that jobs are executed in an
     'oldest highest priority' order and that running jobs are never supplanted.

     examples :

       0) submit the job ls to run on some feeding host

         ~ > rq q s ls

       1) submit the job ls to run on some feeding host, at priority 9

         ~ > rq -p9 q s ls

       2) submit 42000 jobs (quietly) from a command file, marking them as
          restartable should the node they are running on reboot.

         ~ > wc -l cmdfile
         42000
         ~ > rq q s --quiet --restartable < cmdfile

       3) submit 42 priority 9 jobs from a command file.

         ~ > wc -l cmdfile
         42
         ~ > rq -p9 q s < cmdfile

       4) submit 42 priority 9 jobs from a command file, marking them as
          'important' using the '--tag, -t' option.

         ~ > wc -l cmdfile
         42
         ~ > rq -p9 -timportant q s < cmdfile

       5) re-submit all the 'important' jobs (see 'query' section below)

         ~ > rq q query tag=important | rq q s

       6) re-submit all jobs which are already finished (see 'list' section
          below)

         ~ > rq q l f | rq q s


   list, l, ls :

     list mode lists jobs of a certain state or job id.  state may be one of
     pending, running, finished, dead, or all.  any 'mode_args' that are numbers
     are taken to be job id's to list.

     states may be abbreviated to uniqueness, therefore the following shortcuts
     apply :

       p => pending
       r => running
       f => finished
       d => dead
       a => all

     examples :

       0) show everything in q
           ~ > rq q list all
         or
           ~ > rq q l all
         or
           ~ > export RQ_Q=q
           ~ > rq l

       1) show q's pending jobs
           ~ > rq q list pending

       2) show q's running jobs
           ~ > rq q list running

       3) show q's finished jobs
           ~ > rq q list finshed

       4) show job id 42
           ~ > rq q l 42


   status, t :

     status mode shows the global state the queue.  there are no 'mode_args'.
     the meaning of each state is as follows:

       pending  => no feeder has yet taken this job
       running  => a feeder has taken this job
       finished => a feeder has finished this job
       dead     => rq died while running a job, has restarted, and moved
                   this job to the dead state

     note that rq cannot move jobs into the dead state unless it has been
     restarted.  this is because no node has any knowledge of other nodes and
     cannot possibly know if a job was started on a node that died, or is simply
     taking a very long time.  only the node that dies, upon restart, can
     determine that is has jobs that 'were started before it started' and move
     these jobs into the dead state.  normally only a machine crash would cause a
     job to be placed into the dead state.  dead jobs are never automatically
     restarted, this is the responsibility of an operator.

     examples :

       0) show q's status

         ~ > rq q t


   delete, d :

     delete combinations of pending, finished, dead, or jobs specified by jid.
     the delete mode is capable of parsing the output of list and query modes,
     making it possible to create custom filters to delete jobs meeting very
     specific conditions.

     'mode_args' are the same as for list.

     note that it is NOT possible to delete a running job.  rq has a
     decentralized architechture which means that compute nodes are completely
     independant of one another; an extension is that there is no way to
     communicate the deletion of a running job from the queue the the node
     actually running that job.  it is not an error to force a job to die using a
     facility such as an ssh command spawned on the remote host.  once a job has
     been noted to have finished, whatever the exit status, it can be deleted
     from the queue.

     examples :

       0) delete all pending, finished, and dead jobs from a queue

         ~ > rq q d all

       1) delete all pending jobs from a queue

         ~ > rq q d p

       2) delete all finished jobs from a queue

         ~ > rq q d f

       3) delete jobs via hand crafted filter program

         ~ > rq q list | yaml_filter_prog | rq q d


   update, u :

     update assumes all leading arguments are jids to update with subsequent
     key=value pairs.  currently only the 'command', 'priority', and 'tag' fields
     of pending jobs can be updated.

     examples:

       0) update the priority of job 42

         ~ > rq q update 42 priority=7

       1) update the priority of all pending jobs

         ~ > rq q update pending priority=7

       2) query jobs with a command matching 'foobar' and update their command
          to be 'barfoo'

         ~ > rq q q "command like '%foobar%'" |\
             rq q u command=barfoo


   query, q :

     query exposes the database more directly the user, evaluating the where
     clause specified on the command line (or from STDIN).  this feature can be
     used to make a fine grained slection of jobs for reporting or as input into
     the delete command.  you must have a basic understanding of SQL syntax to
     use this feature, but it is fairly intuitive in this limited capacity.

     examples:

       0) show all jobs submitted within a specific 10 minute range

         ~ > rq q query "started >= '2004-06-29 22:51:00' and started < '2004-06-29 22:51:10'"

       1) shell quoting can be tricky here so input on STDIN is also allowed to
          avoid shell expansion

         ~ > cat constraints.txt
         started >= '2004-06-29 22:51:00' and
         started < '2004-06-29 22:51:10'

         ~ > rq q query < contraints.txt
           or (same thing)

         ~ > cat contraints.txt| rq q query

         ** in general all but numbers will need to be surrounded by single quotes **

       2) this query output might then be used to delete those jobs

         ~ > cat contraints.txt | rq q q | rq q d

       3) show all jobs which are either finished or dead

         ~ > rq q q "state='finished' or state='dead'"

       4) show all jobs which have non-zero exit status

         ~ > rq q query exit_status!=0

       5) if you plan to query groups of jobs with some common feature consider
          using the '--tag, -t' feature of the submit mode which allows a user to
          tag a job with a user defined string which can then be used to easily
          query that job group

         ~ > rq q submit --tag=my_jobs < joblist
         ~ > rq q query tag=my_jobs


   execute, e :

     execute mode is to be used by expert users with a knowledge of sql syntax
     only.  it follows the locking protocol used by rq and then allows the user
     to execute arbitrary sql on the queue.  unlike query mode a write lock on
     the queue is obtained allowing a user to definitively shoot themselves in
     the foot.  for details on a queue's schema the file 'db.schema' in the queue
     directory should be examined.

       examples :

         0) list all jobs

           ~ > rq q execute 'select * from jobs'


   configure, C :

     this mode is not supported yet.


   snapshot, p :

     snapshot provides a means of taking a snapshot of the q. use this feature
     when many queries are going to be run; for example when attempting to figure
     out a complex pipeline command your test queries will not compete with the
     feeders for the queue's lock.  you should use this option whenever possible
     to avoid lock competition.

     examples:

       0) take a snapshot using default snapshot naming, which is made via the
          basename of the q plus '.snapshot'

         ~ > rq /path/to/nfs/q snapshot

       1) use this snapshot to chceck status

         ~ > rq ./q.snapshot status

       2) use the snapshot to see what's running on which host

         ~ > rq ./q.snapshot list running | grep `hostname`

     note that there is also a snapshot option - this option is not the same as
     the snapshot command.  the option can be applied to ANY command. if in
     effect then that command will be run on a snapshot of the database and the
     snapshot then immediately deleted.  this is really only useful if one were
     to need to run a command against a very heavily loaded queue and did not
     wish to wait to obtain the lock.  eg.

       0) get the status of a heavily loaded queue

         ~ > rq q t --snapshot

       1) same as above

         ~ > rq q t -s


   lock, L :

     lock the queue and then execute an arbitrary shell command.  lock mode uses
     the queue's locking protocol to safely obtain a lock of the specified type
     and execute a command on the user's behalf.  lock type must be one of

       (r)ead | (sh)ared | (w)rite | (ex)clusive

     examples :

       0) get a read lock on the queue and make a backup

         ~ > rq q L read -- cp -r q q.bak

         (the '--' is needed to tell rq to stop parsing command line
          options which allows the '-r' to be passed to the 'cp' command)


   backup, b :

     backup mode is exactly the same as getting a read lock on the queue and
     making a copy of it.  this mode is provided as a convenience.

       0) make a backup of the queue using default naming ( qname + timestamp + .bak )

         ~ > rq q b

       1) make a backup of the queue as 'q.bak'

         ~ > rq q b q.bak


   rotate, r :

     rotate mode is conceptually similar to log rolling.  normally the list of
     finished jobs will grow without bound in a queue unless they are manually
     deleted.  rotation is a method of trimming finished jobs from a queue
     without deleting them.  the method used is that the queue is copied to a
     'rotation'; all jobs that are dead or finished are deleted from the original
     queue and all pending and running jobs are deleted from the rotation.  in
     this way the rotation becomes a record of the queue's finished and dead jobs
     at the time the rotation was made.

       0) rotate a queue using default rotation name

         ~ > rq q rotate

       1) rotate a queue naming the rotation

         ~ > rq q rotate q.rotation

       2) a crontab entry like this could be used to rotate a queue daily

         59 23 * * * rq q rotate `date +q.%Y%m%d`


   feed, f :

     take jobs from the queue and run them on behalf of the submitter as quickly
     as possible.  jobs are taken from the queue in an 'oldest highest priority'
     first order.

     feeders can be run from any number of nodes allowing you to harness the CPU
     power of many nodes simoultaneously in order to more effectively clobber
     your network, anoy your sysads, and set output raids on fire.

     the most useful method of feeding from a queue is to do so in daemon mode so
     that if the process loses it's controling terminal it will not exit when you
     exit your terminal session.  use the '--daemon, -d' option to accomplish
     this.  by default only one feeding process per host per queue is allowed to
     run at any given moment.  because of this it is acceptable to start a feeder
     at some regular interval from a cron entry since, if a feeder is alreay
     running, the process will simply exit and otherwise a new feeder will be
     started.  in this way you may keep feeder processing running even acroess
     machine reboots without requiring sysad intervention to add an entry to the
     machine's startup tasks.


     examples :

       0) feed from a queue verbosely for debugging purposes, using a minimum and
          maximum polling time of 2 and 4 respectively.  you would NEVER specify
          polling times this brief except for debugging purposes!!!

         ~ > rq q feed -v4 -m2 -M4

       1) same as above, but viewing the executed sql as it is sent to the
          database

         ~ > RQ_SQL_DEBUG=1 rq q f -v4 -m2 -M4

       2) feed from a queue in daemon mode - logging to /home/ahoward/rq.log

         ~ > rq q f -d -l/home/ahoward/rq.log

          log rolling in daemon mode is automatic so your logs should never need
          to be deleted to prevent disk overflow.

       3) use something like this sample crontab entry to keep a feeder running
          forever - it attempts to (re)start every fifteen minutes but exits if
          another process is already feeding.

         #
         # your crontab file - sample only
         #

         */15 * * * * /full/path/to/bin/rq /full/path/to/nfs/mounted/q f -d -l/home/username/cfq.log -q

         the '--quiet, -q' here tells rq to exit quietly (no STDERR)
         when another process is found to already be feeding so that no cron
         message would be sent under these conditions.


   help, h :

     this message

     examples :

       0) get this message

         ~> rq q help
         or
         ~> rq help


NOTES
   - realize that your job is going to be running on a remote host and this has
     implications.  paths, for example, should be absolute, not relative.
     specifically the submitted job script must be visible from all hosts
     currently feeding from a queue as must be the input and output
     files/directories.

   - jobs are currently run under the bash shell using the --login option.
     therefore any settings in your .bashrc will apply - specifically your PATH
     setting.  you should not, however, rely on jobs running with any given
     environment.

   - you need to consider __CAREFULLY__ what the ramifications of having multiple
     instances of your program all potentially running at the same time will be.
     for instance, it is beyond the scope of rq to ensure multiple instances of a
     given program will not overwrite each others output files.  coordination
     of programs is left entirely to the user.

   - the list of finished jobs will grow without bound unless you sometimes
     delete some (all) of them.  the reason for this is that rq cannot know when
     the user has collected the exit_status of a given job, and so keeps this
     information in the queue forever until instructed to delete it.  if you have
     collected the exit_status of you job(s) it is not an error to then delete
     that job from the finished list - the information is kept for your
     informational purposes only.  in a production system it would be normal to
     periodically save, and then delete, all finished jobs.

ENVIRONMENT
   RQ_Q: set to the full path of nfs mounted queue

     the queue argument to all commands may be omitted if, and only if, the
     environment variable 'RQ_Q' contains the full path to the q.  eg.

       ~ > export RQ_Q=/full/path/to/my/q

     this feature can save a considerable amount of typing for those weak of
     wrist.

DIAGNOSTICS
  success : $? == 0
  failure : $? != 0

AUTHOR
   ara.t.howard@noaa.gov

BUGS
  0 < bugno && bugno <= 42

  reports to ara.t.howard@noaa.gov

OPTIONS
   --priority=priority, -p
         modes <submit> : set the job(s) priority - lowest(0) .. highest(n) -
         (default 0)
   --tag=tag, -t
         modes <submit> : set the job(s) user data tag
   --runner=runner
         modes <submit> : set the job(s) required runner(s)
   --restartable
         modes <submit> : set the job(s) to be restartable on node reboot
   --infile=infile
         modes <submit> : infile
   --quiet, -q
         modes <submit, feed> : do not echo submitted jobs, fail silently if
         another process is already feeding
   --daemon, -D
         modes <feed> : spawn a daemon
   --max_feed=max_feed
         modes <feed> : the maximum number of concurrent jobs run
   --retries=retries
         modes <feed> : specify transaction retries
   --min_sleep=min_sleep
         modes <feed> : specify min sleep
   --max_sleep=max_sleep
         modes <feed> : specify max sleep
   --snapshot, -s
         operate on snapshot of queue
   --verbosity=verbostiy, -v
         0|fatal < 1|error < 2|warn < 3|info < 4|debug - (default info)
   --log=path, -l
         set log file - (default stderr)
   --log_age=log_age
         daily | weekly | monthly - what age will cause log rolling (default
         nil)
   --log_size=log_size
         size in bytes - what size will cause log rolling (default nil)
   --help, -h
         this message
   --version
         show version number


-a
-- 
be kind whenever possible... it is always possible.
- the dalai lama

In This Thread

Prev Next