[#231977] General Programming Books — Mark Woodward <markonlinux@...>

Hi all,

17 messages 2007/01/01

[#232004] Re: Status of Cardinal (was Re: Proposal to create a new mailing list) — "Martin DeMello" <martindemello@...>

On 12/31/06, M. Edward (Ed) Borasky <znmeb@cesmail.net> wrote:

8 messages 2007/01/01

[#232143] Detecting holidays — "Daniel Berger" <djberg96@...>

Hi all,

22 messages 2007/01/02

[#232198] Any projects need rdoc documentation help? — Jay Bornhoft <jbornhoft@...>

As part of my effort to become increasingly more involved in the Ruby

13 messages 2007/01/02

[#232214] Calculating roman numerals — "Shiloh Madsen" <shiloh.madsen@...>

Ok, I'm having trouble with another exercise in this book. It has

13 messages 2007/01/02

[#232335] Problem in Unit Testing Methods that start new threads — Hemant Kumar <gethemant@...>

I have a bit of doubt, in Unit Testing Programs that start new threads.

13 messages 2007/01/03

[#232347] Memory Leak Madness — Brandon Casci <brandon@...>

I'm having one hell of a time trying to find and stop a memory leak in a

19 messages 2007/01/03

[#232374] Scriptable text editor with Ruby? — "Dolazy" <francis.rammeloo@...>

Hi all!

37 messages 2007/01/03

[#232694] How can I do this better? — "Sam Kong" <sam.s.kong@...>

Hi,

14 messages 2007/01/05

[#232719] Word Blender (#108) — Ruby Quiz <james@...>

The three rules of Ruby Quiz:

57 messages 2007/01/05
[#233040] Re: [QUIZ] Word Blender (#108) — Daniel Finnie <danfinnie@...> 2007/01/07

I made two this time. One plays a game and one just picks the word.

[#233042] Re: [QUIZ] Word Blender (#108) — "Fedor Labounko" <fedor.labounko@...> 2007/01/07

On 1/7/07, Daniel Finnie <danfinnie@optonline.net> wrote:

[#232806] removing Ruby success stories page from Ruby-lang.org — "Rahul" <vrahul@...>

38 messages 2007/01/05
[#232808] Re: removing Ruby success stories page from Ruby-lang.org — dblack@... 2007/01/05

Hi --

[#232821] Re: removing Ruby success stories page from Ruby-lang.org — "Jeremy McAnally" <jeremymcanally@...> 2007/01/05

Notable stories that should be added that I'm aware of:

[#232839] Re: removing Ruby success stories page from Ruby-lang.org — James Britt <james.britt@...> 2007/01/05

Jeremy McAnally wrote:

[#232865] SparseFile — "Erik Veenstra" <erikveen@...>

I had to send huge files over a network to another machine.

13 messages 2007/01/06

[#233008] Sending SMS Messages With Ruby — James Edward Gray II <james@...>

I'm going to need to send SMS messages from a Ruby server I am

11 messages 2007/01/07

[#233037] a most undangerous Hash#store! — "Trans" <transfire@...>

Hi--

32 messages 2007/01/07
[#233054] Re: a most undangerous Hash#store! — Florian Gross <florgro@...> 2007/01/08

On 2007-01-08 02:00:10 +0100, dblack@wobblini.net said:

[#233059] Re: a most undangerous Hash#store! — dblack@... 2007/01/08

Hi --

[#233095] Re: a most undangerous Hash#store! — Robert Klemme <shortcutter@...> 2007/01/08

On 08.01.2007 02:59, dblack@wobblini.net wrote:

[#233096] Re: a most undangerous Hash#store! — Mauricio Fernandez <mfp@...> 2007/01/08

On Mon, Jan 08, 2007 at 08:20:05PM +0900, Robert Klemme wrote:

[#233098] Re: a most undangerous Hash#store! — dblack@... 2007/01/08

Hi --

[#233107] Re: a most undangerous Hash#store! — Mauricio Fernandez <mfp@...> 2007/01/08

On Mon, Jan 08, 2007 at 09:37:05PM +0900, dblack@wobblini.net wrote:

[#233133] Tattle - The Ruby Census — "Chad Fowler" <chad@...>

Greetings and Happy New Year, Rubyists!

118 messages 2007/01/08
[#233181] Re: [ANN] Tattle - The Ruby Census — Pit Capitain <pit@...> 2007/01/09

Chad Fowler schrieb:

[#233245] Re: [ANN] Tattle - The Ruby Census — Ryan Davis <ryand-ruby@...> 2007/01/09

[#233253] Re: [ANN] Tattle - The Ruby Census — Ben Bleything <ben@...> 2007/01/09

On Wed, Jan 10, 2007, Ryan Davis wrote:

[#233261] Re: [ANN] Tattle - The Ruby Census — Eric Hodel <drbrain@...7.net> 2007/01/09

On Jan 9, 2007, at 09:31, Ben Bleything wrote:

[#233265] Re: [ANN] Tattle - The Ruby Census — Ben Bleything <ben@...> 2007/01/09

On Wed, Jan 10, 2007, Eric Hodel wrote:

[#233278] Re: [ANN] Tattle - The Ruby Census — Eric Hodel <drbrain@...7.net> 2007/01/09

On Jan 9, 2007, at 10:42, Ben Bleything wrote:

[#233284] Re: [ANN] Tattle - The Ruby Census — Ben Bleything <ben@...> 2007/01/09

On Wed, Jan 10, 2007, Eric Hodel wrote:

[#233393] Re: [ANN] Tattle - The Ruby Census — Eric Hodel <drbrain@...7.net> 2007/01/10

On Jan 9, 2007, at 13:03, Ben Bleything wrote:

[#233333] Re: [ANN] Tattle - The Ruby Census — Ryan Davis <ryand-ruby@...> 2007/01/10

[#233338] Re: [ANN] Tattle - The Ruby Census — Ben Bleything <ben@...> 2007/01/10

On Wed, Jan 10, 2007, Ryan Davis wrote:

[#233345] Re: [ANN] Tattle - The Ruby Census — Ryan Davis <ryand-ruby@...> 2007/01/10

[#233352] Re: Tattle - The Ruby Census — Evan Weaver <eweaver.spamtrap@...> 2007/01/10

Ryan Davis wrote:

[#233399] Re: Tattle - The Ruby Census — Eric Hodel <drbrain@...7.net> 2007/01/10

On Jan 10, 2007, at 02:02, Evan Weaver wrote:

[#233416] Re: Tattle - The Ruby Census — Evan Weaver <eweaver.spamtrap@...> 2007/01/10

Eric Hodel wrote:

[#233456] Re: Tattle - The Ruby Census — "Austin Ziegler" <halostatue@...> 2007/01/10

On 1/10/07, Evan Weaver <eweaver.spamtrap@gmail.com> wrote:

[#233586] Re: Tattle - The Ruby Census — "Daniel Berger" <djberg96@...> 2007/01/11

[#233625] Re: Tattle - The Ruby Census — "Gregory Brown" <gregory.t.brown@...> 2007/01/12

On 1/11/07, Daniel Berger <djberg96@gmail.com> wrote:

[#233633] Re: Tattle - The Ruby Census — "Jeremy McAnally" <jeremymcanally@...> 2007/01/12

But the question is would the hoe developers use this? They seem

[#233665] Re: Tattle - The Ruby Census — "Austin Ziegler" <halostatue@...> 2007/01/12

On 1/12/07, Jeremy McAnally <jeremymcanally@gmail.com> wrote:

[#233769] Re: Tattle - The Ruby Census — "Chris Carter" <cdcarter@...> 2007/01/13

On 1/12/07, Austin Ziegler <halostatue@gmail.com> wrote:

[#233158] Why is there a seperate Math class? — Daniel Finnie <danfinnie@...>

Why does everything have to be Math.<func>(num)? Isn't num.func more

22 messages 2007/01/09

[#233180] Problems with Posting to comp.lang.ruby, due to gateway to Ruby-Talk — Ronald Fischer <ronaldf@...>

Hello

11 messages 2007/01/09

[#233189] inheritance concept in ruby — Kumar Tnj <senvenit2003@...>

Hi,

19 messages 2007/01/09

[#233209] sortung a structured array on more than one criteria — Josselin <josselin@...>

I can sort an array like that :

11 messages 2007/01/09

[#233238] Elements of Ruby Style — "Jeremy McAnally" <jeremymcanally@...>

Hello all,

14 messages 2007/01/09

[#233285] Re: String performance — "Gavin Kistner" <gavin.kistner@...>

From: Vincent Fourmond

11 messages 2007/01/09

[#233386] return_on — "Trans" <transfire@...>

Sometimes i do this:

24 messages 2007/01/10

[#233424] building Ruby with dmalloc — Young Hyun <youngh@...>

Has anyone managed to build Ruby with dmalloc support? I'm having

11 messages 2007/01/10

[#233584] Finding path to ruby script argument — "Matthew Hailstone" <matthew.hailstone@...>

When I execute a ruby script by the following:

11 messages 2007/01/11

[#233640] Why doesn't Ruby allow for overloaded methods within a class — Wes Gamble <weyus@...>

(from a Java refugee)

12 messages 2007/01/12

[#233671] Number Spiral (#109) — Ruby Quiz <james@...>

The three rules of Ruby Quiz:

29 messages 2007/01/12

[#233676] DRY gsub... — Josselin <josselin@...>

I wrote the following ruby statements.. I get the result I need , I

33 messages 2007/01/12

[#233714] RCR again (Integer#succ!, Integer#pred!) — "Robert Dober" <robert.dober@...>

I am definitely in an RCR mood ;)

13 messages 2007/01/12

[#233763] Running Webrick alongside IIS on port 80 — Prashant Deva <prashant.deva@...>

Hi,

12 messages 2007/01/12

[#233889] checking if a string matches a regexp - am I missing something? — "Rob Sanheim" <rsanheim@...>

I figure that I must be missing something really obvious with this

11 messages 2007/01/14

[#233914] Hoe poisoned in Rubyforge — Eric Hodel <drbrain@...7.net>

Somehow hoe-1.1.7 has become poisoned in the RubyGems index:

50 messages 2007/01/14
[#233958] Re: Hoe poisoned in Rubyforge — "Chris Carter" <cdcarter@...> 2007/01/14

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

[#233961] Re: Hoe poisoned in Rubyforge — SonOfLilit <sonoflilit@...> 2007/01/14

So if I have a RubyForge account I can upload a modified gem, of, say,

[#233993] Re: Hoe poisoned in Rubyforge — Tom Copeland <tom@...> 2007/01/14

On Mon, 2007-01-15 at 00:56 +0900, SonOfLilit wrote:

[#233999] Re: Hoe poisoned in Rubyforge — Tom Copeland <tom@...> 2007/01/14

On Sun, 2007-01-14 at 13:20 -0500, Tom Copeland wrote:

[#233938] "soemthing".pluralize/at/from/... -> NoMethodError — David Krmpotic <david.krmpotic@...>

Hello,

11 messages 2007/01/14

[#233963] possible to un-warn? — "David Chelimsky" <dchelimsky@...>

Hi all,

12 messages 2007/01/14

[#233969] how to translate base 10 number into base 2 number — chen li <chen_li3@...>

Hi all,

15 messages 2007/01/14

[#234052] keybox 1.0.0 Released — Jeremy Hinegardner <jeremy@...>

keybox version 1.0.0 has been released.

15 messages 2007/01/15

[#234063] Can anyone try to solve this problems? — Cyrus Gabilla <gabilla19992004@...>

Hi to everybody.

20 messages 2007/01/15
[#234160] Re: Can anyone try to solve this problems? — David Madden <moose56@...> 2007/01/15

[#234170] Q: How can a Rake task know the caller's directory? — James Britt <james.britt@...>

I'm increasingly using rake files for common system tasks. Since Rake

20 messages 2007/01/15

[#234183] Hi all! — Mustapha! <mail_gw_ruby@...>

Hi! I hate america!

23 messages 2007/01/15

[#234254] Ruby and E.V.E. Paradox — GD <garthy_lmkltybr@...>

I have been using Ruby for several years. Most importantly I have been using

30 messages 2007/01/16
[#234269] Re: Ruby and E.V.E. Paradox — "gga" <GGarramuno@...> 2007/01/16

[#234434] RubyGems 0.9.1 — Eric Hodel <drbrain@...7.net>

= Announce: RubyGems Release 0.9.1

19 messages 2007/01/16

[#234529] Intensive computing: Ruby? Ruby/C? Pure C++? — "Shot (Piotr Szotkowski)" <shot@...>

Hello, ruby-talk. I have a question about choosing between Ruby, Ruby

20 messages 2007/01/17

[#234646] Struggling With RubyGems — James Edward Gray II <james@...>

I can't seen to query or install gems over here. Is anyone else

18 messages 2007/01/17
[#234649] RubyGems 0.9.1 problem (was Re: Struggling With RubyGems) — Gregory Seidman <gsslist+ruby@...> 2007/01/17

On Thu, Jan 18, 2007 at 06:29:09AM +0900, James Edward Gray II wrote:

[#234655] Re: RubyGems 0.9.1 problem (was Re: Struggling With RubyGems) — James Edward Gray II <james@...> 2007/01/17

On Jan 17, 2007, at 3:42 PM, Gregory Seidman wrote:

[#234659] Re: RubyGems 0.9.1 problem (was Re: Struggling With RubyGems) — "David Goodlad" <dgoodlad@...> 2007/01/17

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

[#234667] Re: RubyGems 0.9.1 problem (was Re: Struggling With RubyGems) — James Edward Gray II <james@...> 2007/01/17

On Jan 17, 2007, at 4:17 PM, David Goodlad wrote:

[#234668] Re: RubyGems 0.9.1 problem (was Re: Struggling With RubyGems) — "Tim Pease" <tim.pease@...> 2007/01/17

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

[#234732] Ruby text editor for beginner — "Shawn Wa..." <shawnw@...>

I'm looking for a simple text editor for Ruby to work under WinXP SP2.

29 messages 2007/01/18

[#234744] Ruby and Python, questions (not a flamewar!) — Drew Olson <olsonas@...>

I've been using ruby for the past 6 months and I must say I am extremely

19 messages 2007/01/18

[#234800] auto assign arguments? — "David Chelimsky" <dchelimsky@...>

I see where to put bugs and patches, but this is a feature request. Is

35 messages 2007/01/18
[#234826] Re: auto assign arguments? — "Daniel Berger" <djberg96@...> 2007/01/18

[#234830] Re: auto assign arguments? — James Edward Gray II <james@...> 2007/01/18

On Jan 18, 2007, at 3:35 PM, Daniel Berger wrote:

[#234832] Re: auto assign arguments? — "Gregory Brown" <gregory.t.brown@...> 2007/01/18

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

[#234839] Re: auto assign arguments? — gwtmp01@... 2007/01/18

[#234842] Re: auto assign arguments? — "David Chelimsky" <dchelimsky@...> 2007/01/18

Wow. You guys are all coming up w/ great alternatives, but would

[#234919] Re: auto assign arguments? — dblack@... 2007/01/19

Hi --

[#234922] Re: auto assign arguments? — "Robert Dober" <robert.dober@...> 2007/01/19

On 1/19/07, dblack@wobblini.net <dblack@wobblini.net> wrote:

[#234925] Re: auto assign arguments? — Yukihiro Matsumoto <matz@...> 2007/01/19

Hi,

[#234889] rubyforge.org questions — Peter Szinek <peter@...>

Hello,

15 messages 2007/01/19
[#234901] Re: rubyforge.org questions — "Jan Svitok" <jan.svitok@...> 2007/01/19

On 1/19/07, Peter Szinek <peter@rubyrailways.com> wrote:

[#234908] Re: rubyforge.org questions — Vincent Fourmond <vincent.fourmond@9online.fr> 2007/01/19

Jan Svitok wrote:

[#234902] OFFTOPIC: How to pronounce Ruby? — Peter Szinek <peter@...>

Is it more similar to 'dummy' or 'dubi(ous)'? (or neither :-)

13 messages 2007/01/19

[#234949] Minor Change Proposal for Classes 'Object' and 'Method' — =?ISO-8859-15?Q?Wolfgang_N=E1dasi-Donner?= <wonado@...>

Minor Change Proposal for Classes 'Object' and 'Method'

98 messages 2007/01/19
[#234953] Re: Minor Change Proposal for Classes 'Object' and 'Method' — Yukihiro Matsumoto <matz@...> 2007/01/19

Hi,

[#234972] Re: Minor Change Proposal for Classes 'Object' and 'Method' — Yukihiro Matsumoto <matz@...> 2007/01/19

Hi,

[#235124] Re: Minor Change Proposal for Classes 'Object' and 'Method' — Robert Klemme <shortcutter@...> 2007/01/20

On 19.01.2007 19:33, Yukihiro Matsumoto wrote:

[#235126] Re: Minor Change Proposal for Classes 'Object' and 'Method' — "Phrogz" <gavin@...> 2007/01/20

Robert Klemme wrote:

[#235137] Re: Minor Change Proposal for Classes 'Object' and 'Method' — Robert Klemme <shortcutter@...> 2007/01/20

On 20.01.2007 18:54, Phrogz wrote:

[#235144] Re: Minor Change Proposal for Classes 'Object' and 'Method' — dblack@... 2007/01/20

Hi --

[#235148] Re: Minor Change Proposal for Classes 'Object' and 'Method' — Wolfgang N疆asi-Donner <wonado@...> 2007/01/20

dblack@wobblini.net schrieb:

[#235150] Re: Minor Change Proposal for Classes 'Object' and 'Method' — dblack@... 2007/01/20

Hi --

[#235153] Re: Minor Change Proposal for Classes 'Object' and 'Method' — gwtmp01@... 2007/01/20

[#235155] Re: Minor Change Proposal for Classes 'Object' and 'Method' — dblack@... 2007/01/20

Hi --

[#235166] Re: Minor Change Proposal for Classes 'Object' and 'Method' — dblack@... 2007/01/20

Hi --

[#235192] Re: Minor Change Proposal for Classes 'Object' and 'Method' — gwtmp01@... 2007/01/21

[#235238] Re: Minor Change Proposal for Classes 'Object' and 'Method' — dblack@... 2007/01/21

Hi --

[#235254] Re: Minor Change Proposal for Classes 'Object' and 'Method' — Wolfgang N疆asi-Donner <wonado@...> 2007/01/21

dblack@wobblini.net schrieb:

[#235262] Re: Minor Change Proposal for Classes 'Object' and 'Method' — dblack@... 2007/01/21

Hi --

[#235274] Re: Minor Change Proposal for Classes 'Object' and 'Method' — =?ISO-8859-15?Q?Wolfgang_N=E1dasi-Donner?= <wonado@...> 2007/01/21

dblack@wobblini.net schrieb:

[#235280] Re: Minor Change Proposal for Classes 'Object' and 'Method' — dblack@... 2007/01/21

Hi --

[#235347] Re: Minor Change Proposal for Classes 'Object' and 'Method' — Yukihiro Matsumoto <matz@...> 2007/01/22

Hi,

[#235352] Re: Minor Change Proposal for Classes 'Object' and 'Method' — dblack@... 2007/01/22

Hi --

[#235354] Re: Minor Change Proposal for Classes 'Object' and 'Method' — Yukihiro Matsumoto <matz@...> 2007/01/22

Hi,

[#235361] Re: Minor Change Proposal for Classes 'Object' and 'Method' — dblack@... 2007/01/22

Hi --

[#235388] Re: Minor Change Proposal for Classes 'Object' and 'Method' — Yukihiro Matsumoto <matz@...> 2007/01/22

Hi,

[#235443] Re: Minor Change Proposal for Classes 'Object' and 'Method' — dblack@... 2007/01/22

Hi --

[#235448] Re: Minor Change Proposal for Classes 'Object' and 'Method' — Yukihiro Matsumoto <matz@...> 2007/01/22

Hi,

[#235567] Re: Minor Change Proposal for Classes 'Object' and 'Method' — dblack@... 2007/01/23

Hi --

[#235575] Re: Minor Change Proposal for Classes 'Object' and 'Method' — Yukihiro Matsumoto <matz@...> 2007/01/23

Hi,

[#235578] Re: Minor Change Proposal for Classes 'Object' and 'Method' — ara.t.howard@... 2007/01/23

On Tue, 23 Jan 2007, Yukihiro Matsumoto wrote:

[#235653] Re: Minor Change Proposal for Classes 'Object' and 'Method' — "Robert Dober" <robert.dober@...> 2007/01/23

On 1/23/07, ara.t.howard@noaa.gov <ara.t.howard@noaa.gov> wrote:

[#235680] Re: Minor Change Proposal for Classes 'Object' and 'Method' — Pit Capitain <pit@...> 2007/01/23

Robert Dober schrieb:

[#235684] Re: Minor Change Proposal for Classes 'Object' and 'Method' — ara.t.howard@... 2007/01/23

On Wed, 24 Jan 2007, Pit Capitain wrote:

[#235013] I don't get rspec — "nicknameoptional" <dorrenchen@...>

I just discovered rspec today, reading the example and tutorials,

45 messages 2007/01/19
[#235021] Re: I don't get rspec — James Britt <james.britt@...> 2007/01/19

nicknameoptional wrote:

[#235035] Re: I don't get rspec — "nicknameoptional" <dorrenchen@...> 2007/01/20

> There is a good Google video about rspec and Behavior Driven

[#235492] Re: I don't get rspec — Christian Neukirchen <chneukirchen@...> 2007/01/22

"nicknameoptional" <dorrenchen@gmail.com> writes:

[#235539] test/spec -- was Re: I don't get rspec — Joel VanderWerf <vjoel@...> 2007/01/22

Christian Neukirchen wrote:

[#235747] Re: test/spec -- was Re: I don't get rspec — Christian Neukirchen <chneukirchen@...> 2007/01/23

Joel VanderWerf <vjoel@path.berkeley.edu> writes:

[#235770] Re: test/spec -- was Re: I don't get rspec — "David Chelimsky" <dchelimsky@...> 2007/01/23

On 1/23/07, Christian Neukirchen <chneukirchen@gmail.com> wrote:

[#235031] Learning Japanese — "Gerardo Santana Gez Garrido" <gerardo.santana@...>

Thanks to Ruby I've learned a lot recently about programming languages

11 messages 2007/01/20

[#235046] "postgres" module needs work, author gone, patch included — Jeff Davis <ruby@...>

The "postgres" module is old and it's been a long time since there's

12 messages 2007/01/20

[#235141] FreeRIDE - Way too many warnings — Ab Cd <grauenwolf@...>

Whenever I start FreeRIDE I get a ton of warnings. It takes a long time

29 messages 2007/01/20
[#235145] Re: FreeRIDE - Way too many warnings — matt <matt@...> 2007/01/20

On Sun, 2007-01-21 at 03:32 +0900, Ab Cd wrote:

[#235172] Re: FreeRIDE - Way too many warnings — Jonathan Allen <grauenwolf@...> 2007/01/20

matt wrote:

[#235173] Re: FreeRIDE - Way too many warnings — matt <matt@...> 2007/01/20

On Sun, 2007-01-21 at 08:43 +0900, Jonathan Allen wrote:

[#235181] Re: FreeRIDE - Way too many warnings — Jonathan Allen <grauenwolf@...> 2007/01/21

[#235184] Re: FreeRIDE - Way too many warnings — Timothy Hunter <TimHunter@...> 2007/01/21

Jonathan Allen wrote:

[#235191] Re: FreeRIDE - Way too many warnings — matt <matt@...> 2007/01/21

On Sun, 2007-01-21 at 10:41 +0900, Timothy Hunter wrote:

[#235198] Re: FreeRIDE - Way too many warnings — Jonathan Allen <grauenwolf@...> 2007/01/21

matt wrote:

[#235180] Hash pairs at? — "Trans" <transfire@...>

Seesm like there should be a mehtod for this:

32 messages 2007/01/21

[#235197] Getting the version number for rubygems? — "Gregory Brown" <gregory.t.brown@...>

Hi,

22 messages 2007/01/21
[#235202] Re: Getting the version number for rubygems? — Eric Hodel <drbrain@...7.net> 2007/01/21

On Jan 20, 2007, at 20:11, Gregory Brown wrote:

[#235203] Re: Getting the version number for rubygems? — "Gregory Brown" <gregory.t.brown@...> 2007/01/21

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

[#235204] Re: Getting the version number for rubygems? — "Jeremy McAnally" <jeremymcanally@...> 2007/01/21

require 'rubygems'

[#235205] Re: Getting the version number for rubygems? — "Gregory Brown" <gregory.t.brown@...> 2007/01/21

On 1/21/07, Jeremy McAnally <jeremymcanally@gmail.com> wrote:

[#235206] Re: Getting the version number for rubygems? — Devin Mullins <twifkak@...> 2007/01/21

Gregory Brown wrote:

[#235208] Re: Getting the version number for rubygems? — "Gregory Brown" <gregory.t.brown@...> 2007/01/21

On 1/21/07, Devin Mullins <twifkak@comcast.net> wrote:

[#235248] uninstalling the mac tiger version of ruby — "libsfan01" <mcyi2mr3@...>

hi all

20 messages 2007/01/21
[#235251] Re: uninstalling the mac tiger version of ruby — "libsfan01" <mcyi2mr3@...> 2007/01/21

My reason for wanting to uninstall is that ive tried to install the

[#235258] Re: uninstalling the mac tiger version of ruby — Timothy Hunter <TimHunter@...> 2007/01/21

libsfan01 wrote:

[#235287] Re: uninstalling the mac tiger version of ruby — "libsfan01" <mcyi2mr3@...> 2007/01/21

[#235294] Re: uninstalling the mac tiger version of ruby — Timothy Hunter <TimHunter@...> 2007/01/21

libsfan01 wrote:

[#270097] Re: uninstalling the mac tiger version of ruby — Aaron Massey <amassey@...> 2007/09/20

I have a similar problem. I installed a manually compiled version of

[#270098] Re: uninstalling the mac tiger version of ruby — "Peter Cooper" <peter@...> 2007/09/20

On 9/20/07, Aaron Massey <amassey@csoft.net> wrote:

[#235283] module global variables — Stefano Zacchiroli <zack@...>

Is there a way to define per-module global variables? My best

14 messages 2007/01/21
[#235289] Re: module global variables — "Trans" <transfire@...> 2007/01/21

[#235290] Re: module global variables — Stefano Zacchiroli <zack@...> 2007/01/21

On Mon, Jan 22, 2007 at 02:52:58AM +0900, Trans wrote:

[#235384] Can't install rubygems — lijie <cpunion@...>

The rubygems installer can't finish, and CPU is 100% used in several hours.

14 messages 2007/01/22

[#235460] ebedded: calling a C function from script. — Shea Martin <shea@...>

I have my embedded interpreter running my scipt. Now I would like my

12 messages 2007/01/22

[#235464] Method notation question — "Avdi Grimm" <avdi@...>

I've been using Ruby for years, and it just occurred to me to ask:

15 messages 2007/01/22

[#235574] Placing tabs in strings in irb — "Michael W. Ryder" <_mwryder@...>

Is there any reason I cannot embed tabs in a string while using irb? I

16 messages 2007/01/23

[#235624] I need a more efficient algorithm for this problem. — "Sam Kong" <sam.s.kong@...>

Hi,

15 messages 2007/01/23

[#235633] Ruby for massively multi-core chips? — Bil Kleb <Bil.Kleb@...>

How to best evolve Ruby to accommodate 80-core

13 messages 2007/01/23

[#235880] Trickery in the ancestors chain — "Paolo Nusco Perrotta" <paolo.nusco.perrotta@...>

Try this:

12 messages 2007/01/24

[#235938] Ruby IDE for Windows 98? — Bart Braem <bart.braem@...>

Hello,

26 messages 2007/01/24
[#235973] Re: Ruby IDE for Windows 98? — Olivier <o.renaud@...> 2007/01/24

> With Ruby. (We have good reasons, I'll explain them

[#235980] Re: Ruby IDE for Windows 98? — "Robert Dober" <robert.dober@...> 2007/01/24

On 1/24/07, Olivier <o.renaud@laposte.net> wrote:

[#236140] A Ruby Operating System (no bashing please) — "Andr蘂 <andre.nho@...>

Hello,

12 messages 2007/01/25

[#236217] cartesian product of arrays — Thomas Hafner <thomas@...>

Hello,

31 messages 2007/01/26

[#236240] Counting Toothpicks (#111) — Ruby Quiz <james@...>

The three rules of Ruby Quiz:

55 messages 2007/01/26
[#236445] Re: [QUIZ] Counting Toothpicks (#111) — "Andrey Falko" <ma3oxuct@...> 2007/01/27

Hi everyone,

[#236489] Re: [QUIZ] Counting Toothpicks (#111) — James Edward Gray II <james@...> 2007/01/28

On Jan 27, 2007, at 12:21 PM, Andrey Falko wrote:

[#236241] simple question about Ruby Regext — Peter Bailey <pbailey@...>

Hi,

22 messages 2007/01/26

[#236243] Rubygem install "Invalid argument - sources-0.0.1.gem" — Jeremy Lecour <jeremy.lecour@...>

Hi,

16 messages 2007/01/26
[#236475] Re: Rubygem install "Invalid argument - sources-0.0.1.gem" — Eric Hodel <drbrain@...7.net> 2007/01/27

On Jan 26, 2007, at 06:05, Jeremy Lecour wrote:

[#236530] Re: Rubygem install "Invalid argument - sources-0.0.1.gem" — Jeremy Lecour <jeremy.lecour@...> 2007/01/28

Eric Hodel wrote:

[#236333] pass by reference? — Andy Koch <andy.koch@...>

Hello,

46 messages 2007/01/26
[#236335] Re: pass by reference? — Vincent Fourmond <vincent.fourmond@9online.fr> 2007/01/26

Andy Koch wrote:

[#236342] Re: pass by reference? — "Phrogz" <gavin@...> 2007/01/27

On Jan 26, 4:32 pm, Vincent Fourmond <vincent.fourm...@9online.fr>

[#236344] Re: pass by reference? — "Martin C. Martin" <martin@...> 2007/01/27

[#236346] Re: pass by reference? — dblack@... 2007/01/27

Hi --

[#236491] Net::HTTP Closes STDIN — James Edward Gray II <james@...>

Kenneth Kalmer has brought up a HighLine issue and I'm trying to look

30 messages 2007/01/28
[#236947] Re: Net::HTTP Closes STDIN — gwtmp01@... 2007/01/30

[#236950] Re: Net::HTTP Closes STDIN — ara.t.howard@... 2007/01/30

On Wed, 31 Jan 2007 gwtmp01@mac.com wrote:

[#236611] Ruby << is ambiguos — Neville Franks <subs@...>

Hi, I working on syntax highlighting for ED4W and have problem with <<

18 messages 2007/01/28

[#236687] FastRI 0.3.0: standalone mode (qri, DRb not needed), additional search methods, extended class info — Mauricio Fernandez <mfp@...>

13 messages 2007/01/29
[#236727] Re: [ANN] FastRI 0.3.0: standalone mode (qri, DRb not needed), additional search methods, extended class info — Pe, Botp <botp@...> 2007/01/29

From: Mauricio Julio Fern疣dez Pradier

[#236800] Sane #hash implementation? — "Shot (Piotr Szotkowski)" <shot@...>

I have a Set subclass, Block. I need two blocks to be considered the

18 messages 2007/01/29
[#236833] Re: Sane #hash implementation? — Eric Hodel <drbrain@...7.net> 2007/01/30

On Jan 29, 2007, at 14:38, Shot (Piotr Szotkowski) wrote:

[#236988] tinderbox 1.0.0 Released — Eric Hodel <drbrain@...7.net>

tinderbox version 1.0.0 has been released!

18 messages 2007/01/31

[#237012] Ruby and an efficiency — "Miroslaw Maziarz" <miroslaw.maziarz@...>

Hi,

15 messages 2007/01/31

[#237036] proper usr/bin/env ruby shebang — "Rob Sanheim" <rsanheim@...>

I'm trying to convert some bash scripts to use /usr/bin/env ruby

23 messages 2007/01/31
[#237040] Re: proper usr/bin/env ruby shebang — Nobuyoshi Nakada <nobu@...> 2007/01/31

Hi,

Embedded Ruby crashing with profiling? (was Re: Ruby and E.V.E. Paradox)

From: GD <garthy_lmkltybr@...>
Date: 2007-01-21 23:34:40 UTC
List: ruby-talk #235341
Hey everyone,

Tracking down this problem was NOT easy, but here we go.

I created a small program that made some basic embedded API calls, mirroring
the functionality I was trying to add into E.V.E. Paradox. It worked
perfectly, suggesting the problem was not Ruby.

I then took the existing E.V.E. Paradox code and tried to add traces and extra
calls in to find the problem. Basically I added calls that repeatedly called
rb_funcall at various points. Basically at various points in my code it was
possible to call rb_funcall successfully, branch off into other code, then
make the exact same call again and have it crash.

Tracking it down further was a nightmare. Basically the point of the bug moved
as extra calls were added to perform traces and call rb_funcall. The
probability of a crash tended towards zero in any region of code as more
traces and calls were added. Thus as I got closer to the problem, it would
move somewhere else. It suggested some kind of stack dependency from Ruby or
corruption being caused in my code or the libraries I was using.

For a while I thought the cause was a poor interaction between Ruby and
freetype, as it most commonly crashed after calls relating to font
manipulation when inside that library.

However, I was finally able to create some isolated code that crashed with
high frequency. So it's not E.V.E. Paradox or freetype. I did this by writing
a function that simulates API calls being made in the context of a larger
program through controlled recursive calls and alloca. Basically the call
wraps various Ruby interactions inside and alongside repeated adding and
removing of stack frames through nested calls.

This code is included below (NB: Linux only).

Interestingly enough, I haven't seen it crash yet when profiling is disabled.
Only when it is enabled. Is there some negative interaction between the
profiling code in the gcc 4.* series and Ruby? Anyway, I thought it
interesting.

As for running the code, simply build it with make (you may need to fix the
path to Ruby) and run it in one of these four modes:

./foo 0

This will run a simple set of code that outputs an series of annoying
traces. No stack trickery is done. It works.

./foo 1

This will run a simple set of code that calls an embedded Ruby script,
which calls a callback in the code. It works.

./foo 2

This performs the same traces but uses "messy" to fire them off within
differing stack contexts. It is slow, but works.

./foo 3

This performs the same set of Ruby calls, but uses "messy" to fire them off
within differing stack contexts. It is slow, and eventually crashes.

Thus Embedded Ruby works fine in simple code, but put it in the context of
a larger body and it has the potential to crash.

At some point I will have a play around with different versions of Ruby to
see if they also trigger this crash, and if I can work around the problem
this way.

Anyway, what I'd like to ask of the ordinary Ruby users like me and of the
Ruby Gods is:

- Does the test code look okay? Did I make any mistakes? I'm only human, and
   the crash test isn't trivial.
- Does "./foo 3" also crash on your machine? Or is it just mine?
- Are there any Ruby Gods for whom the code crashes with the skill to
   diagnose the problem with Ruby itself? I fear this may be beyond me (but
   I'll be giving it a shot).

Other info:

- The rest of E.V.E. Paradox and the multiple external libraries work fine
   with profiling enabled. *IF* it is a compiler/profiler bug, it affects Ruby
   *only*.
- My development machine is pretty stable, quite able to perform days-long
   tests and compiles consistently- although I have to admit the DVD tray
   mechanism is a bit touchy. This isn't a memory or solar flare thing.
- I use alloca to simulate calls to functions with different stack depth
   requirements. If you object to alloca, please note that mode 2 of the
   test program works perfectly fine- this is heavy alloca use without Ruby
   calls. It crashes only when we add Ruby calls to the mix.
- As noted, I think it only happens if profiling is enabled. I can't guarantee
   it doesn't crash without, I just haven't seen it do so.
- "Don't enable profiling" isn't really an acceptable workaround when it
   works fine for the rest of the large body of code and external libraries
   and my development build includes it by default. I really don't want to
   have to rebuild the whole project when I'm after timing information...
   Besides, "does not work with profiling" appears to be a significant bug.

Anyway, this is enormously frustrating, as after all of this struggle I've
been able to put together a proof-of-concept that I *can* use the embedded
Ruby interface in my code, but I cannot actually keep it due to the
stability issues. :(:(

I am available for questions, further information, and testing should anyone
with the requisite knowledge to diagnose the problem need my input. Please
feel free to drop me an email if I can help (see the contact page at
www.entropicsoftware.com for my direct email).

Further detailed information below. Apologies in advance for the huge post,
but there is a lot of relevant detail to convey.

Garth

-------------

============================================================================
== Contents of foo.cpp:
============================================================================

#include <ruby.h>

#include <iostream>
#include <string>
#include <fstream>
#include <sstream>

#define MYRAND(r) (rand()%r)

using namespace std;

static VALUE obj;

typedef void (MessyFunc)(void *);

typedef VALUE (*RubyGenericFunc)(...);

static int mode = 0;
static bool use_messy;
static bool use_ruby;

static VALUE RubyP(int argc, VALUE *argv, VALUE self)
{
   VALUE str = rb_str_new("", 0);
   for (int i=0; i<argc; i++)
   {
     if (i > 0)
       rb_str_cat(str, ", ", 2);
     rb_str_concat(str, rb_inspect(argv[i]));
   }
   cerr << "Ruby P: " << RSTRING(str)->ptr << "\n";
   return Qnil;
}

static VALUE RubySafeGCX(VALUE a)
{
   rb_gc();
   return Qnil;
}

static VALUE RubySafeGC()
{
   int status;
   VALUE rv = rb_protect(RubySafeGCX, Qnil, &status);
   if (status)
   {
     VALUE einfo = rb_obj_as_string(ruby_errinfo);
     cerr << "Ruby reported error: " << status
          << " " << RSTRING(einfo)->ptr << ".\n";
   }
   return rv;
}

static void RubySafeGCZ(void *t)
{
   RubySafeGC();
}

static void InitRuby(void *t)
{
   ruby_init();
   RubySafeGC();
}

static void InitRuby2(void *t)
{
   rb_define_global_function("p", (RubyGenericFunc)RubyP, -1);
}

static void InitRuby3(void *t)
{
   int status;
   rb_eval_string_protect(
     "class Foo\n"
     "  def initialize(z)\n"
     "    @a = z\n"
     "  end\n"
     "   def update(v)\n"
     "     p(v)\n"
     "   end\n"
     "end\n"
     , &status);
   if (status)
   {
     VALUE einfo = rb_obj_as_string(ruby_errinfo);
     cerr << "Ruby reported error: " << status
          << " " << RSTRING(einfo)->ptr << ".\n";
   }
}

static void InitRuby4(void *t)
{
   VALUE c_foo = rb_const_get(rb_cObject, rb_intern("Foo"));
   VALUE c_bar = INT2NUM(555);
   obj = rb_funcall(c_foo, rb_intern("new"), 1, c_bar);
}

static void update(int i)
{
   rb_funcall(obj, rb_intern("update"), 1, INT2NUM(i));
}

static void update2(void *t)
{
   update(*((int *)t));
}

static void badger(int i)
{
   cerr << (((i % 6) < 4) ? "Badger  " : "Mushroom") << " " << i << "\n";
}

static void badger2(void *t)
{
   badger(*((int *)t));
}

static void Nothing(void *t)
{
}

static void messy2(MessyFunc t, void *td, int depth, bool &done)
{
   // Add random crap to the stack that will be checked and reclaimed at
   // the end.
   int ss = MYRAND(40)*4+8;
   int mv = MYRAND(256);
   unsigned char *data = (unsigned char *)alloca(ss);
   memset(data, mv, ss);

   for (int i=0; i<ss; i++)
   {
     if (data[i] != mv)
     {
       cerr << "Stack corrupted immediately.\n";
       cerr << (int)(data[i]) << " " << mv << "\n";
       exit(1);
     }
   }

   //cerr << "D: " << depth << "\n";
   if (depth < 0)
     return;

   for (int i=0; i<(MYRAND(3)+1); i++)
     messy2(t, td, depth-1, done);
   if ((depth == 0) && (!done) && (t))
   {
     (*t)(td);
     done = true;
   }
   for (int i=0; i<(MYRAND(3)+1); i++)
     messy2(t, td, depth-1, done);

   for (int i=0; i<ss; i++)
     if (data[i] != mv)
     {
       cerr << "Stack was corrupted.\n";
       cerr << (int)(data[i]) << " " << mv << "\n";
       exit(1);
     }
}

void messy(MessyFunc t, void *td = NULL)
{
   int depth = MYRAND(5)+6;
   bool done = false;

   if (use_messy)
     messy2(t, td, depth, done);
   else
   {
     if (t)
       (*t)(td);
   }
}

int main(int argc, char *argv[])
{
   if (argc != 2)
   {
     cerr << "Usage: foo <mode>\n";
     cerr << "   0 - Simple Badger.\n";
     cerr << "   1 - Simple Ruby.\n";
     cerr << "   2 - Badger with stack use.\n";
     cerr << "   3 - Ruby with stack use.\n";
     exit(1);
   }
   mode = atoi(argv[1]);
   use_messy = (mode & 2);
   use_ruby = (mode & 1);

   cerr << "Mode " << mode
        << ". Messy " << (use_messy ? "enabled" : "disabled")
        << ". Ruby " << (use_ruby ? "enabled" : "disabled")
        << ".\n";

   cerr << "Empty test...\n";
   messy(Nothing);

   // Initialise.
   cerr << "Initialising...\n";
   if (use_ruby)
   {
     messy(InitRuby);
     messy(RubySafeGCZ);
     messy(InitRuby2);
     messy(RubySafeGCZ);
     messy(InitRuby3);
     messy(RubySafeGCZ);
     messy(InitRuby4);
     messy(RubySafeGCZ);
   }

   // Test over and over.
   cerr << "Thrashing...\n";
   for (int i=0; i<10000; i++)
   {
     if (use_ruby)
     {
       messy(RubySafeGCZ);
       messy(update2, &i);
       messy(RubySafeGCZ);
     }
     else
       messy(badger2, &i);
   }

   // Clean up.
   cerr << "Done thrashing.\n";
   if (use_ruby)
   {
     messy(RubySafeGCZ);
   }

   cerr << "Everything was okay.\n";
}

============================================================================
== Contents of Makefile:
============================================================================

foo: foo.o
	g++ -Wall -pg -g -o foo foo.o -L/packages/ruby/lib -lruby

foo.o: foo.cpp
	g++ -Wall -pg -g -c -o foo.o foo.cpp -I/packages/ruby/lib/ruby/1.8/i686-linux

clean:
	rm -f foo.o foo *~

============================================================================
== Extra Notes
============================================================================

 > uname -a
Linux notimportant 2.6.18-1.2798.fc6 #1 SMP Mon Oct 16 14:54:20 EDT 2006 i686 
athlon i386 GNU/Linux

 > cat /etc/fedora-release
Fedora Core release 6 (Zod)

 > ldd foo | grep ruby
         libruby.so.1.8 => /packages/ruby/lib/libruby.so.1.8 (0x00110000)

 > ls -la /packages/ruby/lib/libruby.so*
lrwxrwxrwx 1 root root      16 Jan 15 23:19 /packages/ruby/lib/libruby.so -> 
libruby.so.1.8.5
lrwxrwxrwx 1 root root      16 Jan 15 23:19 /packages/ruby/lib/libruby.so.1.8 -> 
libruby.so.1.8.5
-rwxr-xr-x 1 root root 1897472 Jan 15 23:18 /packages/ruby/lib/libruby.so.1.8.5

 > ls -la /usr/lib/libruby.so*
ls: No match.

 > echo $LD_LIBRARY_PATH | grep /packages/ruby/lib | wc -l
1

 > g++ -v
Using built-in specs.
Target: i386-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man 
--infodir=/usr/share/info --enable-shared --enable-threads=posix 
--enable-checking=release --with-system-zlib --enable-__cxa_atexit 
--disable-libunwind-exceptions --enable-libgcj-multifile 
--enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk 
--disable-dssi --enable-plugin 
--with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre --with-cpu=generic 
--host=i386-redhat-linux
Thread model: posix
gcc version 4.1.1 20061011 (Red Hat 4.1.1-30)

 > ruby -v
ruby 1.8.5 (2006-12-25 patchlevel 12) [i686-linux]

##########################

# Ruby was built from source with:

tar xfz ../ruby-1.8.5-p12.tar.gz
cd ruby-1.8.5-p12 || exit 1
./configure --enable-shared --prefix=/packages/ruby-1.8.5-p12 || exit 1
make || exit 1
make install || exit 1


# Also note:

 > ls -lad /packages/ruby
lrwxrwxrwx 1 root root 14 Jan 15 23:19 /packages/ruby -> ruby-1.8.5-p12

##########################

 > make
g++ -Wall -pg -g -c -o foo.o foo.cpp -I/packages/ruby/lib/ruby/1.8/i686-linux
g++ -Wall -pg -g -o foo foo.o -L/packages/ruby/lib -lruby

 > ./foo 3

Mode 3. Messy enabled. Ruby enabled.
Empty test...
Initialising...
Thrashing...
Ruby P: 0
Ruby P: 1
[ ... lines removed ... ]
Ruby P: 124
Ruby P: 125
(eval):7: [BUG] Segmentation fault
ruby 1.8.5 (2006-12-25) [i686-linux]

Abort

##########################

gdb ./foo
GNU gdb Red Hat Linux (6.5-8.fc6rh)
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux-gnu"...Using host libthread_db 
library "/lib/libthread_db.so.1".

(gdb) set args 3
(gdb) run
Starting program: /home/garthy/dev/test/ruby/foo 3
Mode 3. Messy enabled. Ruby enabled.
Empty test...
Initialising...
Thrashing...
Ruby P: 0
Ruby P: 1
[ ... lines removed ... ]
Ruby P: 124
Ruby P: 125

Program received signal SIGSEGV, Segmentation fault.
0x004935fe in st_lookup (table=0x0, key=6905, value=0xbfd83c08) at st.c:250
250         hash_val = do_hash(key, table);
Current language:  auto; currently c
(gdb) bt
#0  0x004935fe in st_lookup (table=0x0, key=6905, value=0xbfd83c08) at st.c:250
#1  0x0042aa7c in search_method (klass=3085892280, id=6905, origin=0xbfd83c38)
     at eval.c:480
#2  0x0042aadd in rb_get_method_body (klassp=0xbfd83c68, idp=0xbfd83c74,
     noexp=0xbfd83c78) at eval.c:501
#3  0x00434263 in rb_call (klass=3085892280, recv=3085892320, mid=6905,
     argc=1, argv=0xbfd83ca0, scope=1) at eval.c:6024
#4  0x00434866 in vafuncall (recv=3085892320, mid=6905, n=1, ar=0xbfd83d04)
     at eval.c:6125
#5  0x004349d0 in rb_funcall (recv=3085892320, mid=6905, n=1) at eval.c:6142
#6  0x08048ce3 in update (i=126) at foo.cpp:101
#7  0x08048d02 in update2 (t=0xbfd8440c) at foo.cpp:106
#8  0x080491bd in messy2 (t=0x8048cea <update2>, td=0xbfd8440c, depth=0,
     done=@0xbfd843cf) at foo.cpp:150
#9  0x08049151 in messy2 (t=0x8048cea <update2>, td=0xbfd8440c, depth=1,
     done=@0xbfd843cf) at foo.cpp:147
#10 0x08049151 in messy2 (t=0x8048cea <update2>, td=0xbfd8440c, depth=2,
     done=@0xbfd843cf) at foo.cpp:147
#11 0x08049151 in messy2 (t=0x8048cea <update2>, td=0xbfd8440c, depth=3,
     done=@0xbfd843cf) at foo.cpp:147
#12 0x08049151 in messy2 (t=0x8048cea <update2>, td=0xbfd8440c, depth=4,
     done=@0xbfd843cf) at foo.cpp:147
#13 0x08049151 in messy2 (t=0x8048cea <update2>, td=0xbfd8440c, depth=5,
     done=@0xbfd843cf) at foo.cpp:147
#14 0x08049151 in messy2 (t=0x8048cea <update2>, td=0xbfd8440c, depth=6,
     done=@0xbfd843cf) at foo.cpp:147
#15 0x08049151 in messy2 (t=0x8048cea <update2>, td=0xbfd8440c, depth=7,
     done=@0xbfd843cf) at foo.cpp:147
#16 0x0804934b in messy (t=0x8048cea <update2>, td=0xbfd8440c) at foo.cpp:171
#17 0x08049611 in main (argc=2, argv=0xbfd844b4) at foo.cpp:223



In This Thread