[#45938] How to make a virtual 2nd column!!! — Kurt Euler <keuler@...>
All-
[#45942] win32ole and excel — Martin Stannard <martin@...>
Hi,
[#45948] "gets" blocking process not thread (in Windows only) — Matt Pattison <mfp@...>
The problem with my program is that (in Windows) gets seems to block the entire
Hi,
On Fri, Aug 02, 2002 at 10:31:15AM +0900, nobu.nokada@softhome.net wrote:
Hi,
[#45998] vim indenteation for ruby — Daniel Bretoi <lists@...>
[#46004] Checking whether a process exists (unix) — Harry Ohlsen <harryo@...>
To check whether a process with a given ID is still running on unix, I would
[#46023] Style: where to require in libs? — <bbense+comp.lang.ruby.Aug.01.02@...>
-----BEGIN PGP SIGNED MESSAGE-----
[#46030] IO.readlines is slow ? — "Shashank Date" <ADATE@...>
I really like the convenience of doing:
[#46048] RE: GetoptLong#to_hash — "Berger, Daniel" <djberge@...>
[#46072] How to Load Script from a C Extension? — William Djaja Tjokroaminata <billtj@...>
Hi,
[#46091] JRuby changes breaking code? — adamon@... (Damon)
I am running the sample code straight out of Ruby Developer's Guide,
[#46105] Ruby on the Sharp Zaurus PDA — Ian Macdonald <ian@...>
Hi,
Hi,
On Sun 04 Aug 2002 at 06:26:20 +0900, Jerome Gotangco wrote:
[#46107] embed or swig? — ptkwt@...1.aracnet.com (Phil Tomson)
I'm working a C++ project for a contract I'm doing. Originally, the
"Massimiliano Mirra" <list@NOSPAMchromatic-harp.com> wrote in message
i was just reading over a little of the swig docs and HOLY CODING! from
I'm working on a wxWindows port for Ruby (called, predictably, wxRuby),
[#46125] Deprecation and Unicode — Danny van Bruggen <danny@...>
Hello all,
[#46128] Assoc Class (Hash Pairs) — Tom Sawyer <transami@...>
i've been thinking about posting this as an RCR.
> i've been thinking about posting this as an RCR.
----- Original Message -----
Hello --
On Sun, 2002-08-04 at 06:40, David Alan Black wrote:
Hi --
[#46132] mini-ANN: Magnetic Poetry via TkCanvas — Phlip <phlip_cpp@...>
Rubies:
[#46136] Should this work? — "Hal E. Fulton" <hal9000@...>
Should multiple assignment work for the
[#46151] String -> Integer anomoly? — "Gavin Sinclair" <gsinclair@...>
Why does "09".to_i return 9
[#46192] Detecting when an instance variable is created/set — Harry Ohlsen <harryo@...>
Imagine we have a class like ...
On Sun, 2002-08-04 at 06:03, Harry Ohlsen wrote:
> > Can I write a method (of class Object or Kernel, perhaps) that will be
On Sun, Aug 04, 2002 at 10:32:44PM +0900, Harry Ohlsen wrote:
> Would it be enough for you to catch creation of instance variables in
On Mon, Aug 05, 2002 at 04:59:40AM +0900, Harry Ohlsen wrote:
[#46264] Dynamic creation of classes and methods — Tomasz Wegrzanowski <taw@...>
I want to create classes and methods on fly.
>>>>> "T" == Tomasz Wegrzanowski <taw@users.sourceforge.net> writes:
On Mon, Aug 05, 2002 at 05:51:58PM +0900, ts wrote:
>>>>> "T" == Tomasz Wegrzanowski <taw@users.sourceforge.net> writes:
[#46270] Regex question — "Gavin Sinclair" <gsinclair@...>
Folks,
Hello --
On Mon, Aug 05, 2002 at 11:37:12AM +0900, David Alan Black wrote:
> On Mon, Aug 05, 2002 at 11:37:12AM +0900, David Alan Black wrote:
[#46296] ruby-dev summary 17714-17874 — Takaaki Tateishi <ttate@...>
[#46326] RE: EW is unable to deliver — "Hammond, Tony (ELSLON)" <T.Hammond@...>
[#46337] Super-iterator? (long) — "Hal E. Fulton" <hal9000@...>
Here's an idea for you. I've worked on it a couple of days.
[#46341] More questions on automation from na誰ve Windows user. — Chris Gehlker <gehlker@...>
Hi all,
> I do have IE and it's supposedly scriptable. I just
[#46356] Coding challenge (on Ruby Garden) — David Alan Black <dblack@...>
Hello --
On Mon, 2002-08-05 at 18:58, David Alan Black wrote:
Hi --
David Alan Black <dblack@candle.superlink.net> wrote in message news:<Pine.LNX.4.30.0208052056270.15880-100000@candle.superlink.net>...
[#46357] Compiling Ruby to Native Code? — web2ed@... (Edward Wilson)
Having looked at OCaml, after following a post to this group, one
On Tue, Aug 06, 2002 at 10:19:54AM +0900, Edward Wilson wrote:
%% > Game over, if Java or Ruby provides native compilation; it won't make
"Rafael 'Dido' Sevilla" <dido@imperium.ph> wrote in message news:<20020807033226.GB1745@imperium.ph>...
On Thu, Aug 08, 2002 at 08:45:07AM +0900, Lothar Scholz wrote:
[#46393] Writing a method that's added to both Fixnum and Bignum — Harry Ohlsen <harryo@...>
A mate of mine just asked me an interesting question. He had written a method
[#46426] Is There an Inverse of 'rb_define_method'? — William Djaja Tjokroaminata <billtj@...>
Hi,
[#46427] performance about "..." and '...' — tran55555@... (Email55555)
Hi,
[#46442] COM on Unix? — Chris Gehlker <gehlker@...>
As part of my crusade to make Ruby an automation language I read up a little
[#46443] Dup and Clone — "Justin Johnson" <justinj@...>
Could anyone kindly point out the difference between 'dup' and 'clone'?
[#46452] HT delete all files in a directory... — Kurt Euler <keuler@...>
Rubites:
[#46468] sort problem — Ian Macdonald <ian@...>
Hi,
[#46475] Named paramters again — "Justin Johnson" <justinj@...>
Hi --
[#46520] Something that corresponds to Perl's -T and -B tests? — Lloyd Zusman <ljz@...>
I've searched the Ruby documentation, and I can't find descriptions of
>>>>> "L" == Lloyd Zusman <ljz@asfast.com> writes:
ts <decoux@moulon.inra.fr> writes:
[#46523] XHTML output — Francois GORET <fgoret@...1.loxinfo.co.th>
Hi,
[#46532] Class hierarchy... for data — Tom Gilbert <tom@...>
Hey,
[#46539] A very small challenge — "Hal E. Fulton" <hal9000@...>
This is a very minor piece of code,
[#46550] GUI's and the Rouge, Part IV — Kero van Gelder <kero@...>
Funny, two savannah accounts for the same objective:
[#46558] Non trivial features changes in 1.7.2 via CVS — <bbense+comp.lang.ruby.Aug.07.02@...>
-----BEGIN PGP SIGNED MESSAGE-----
<bbense+comp.lang.ruby.Aug.07.02@telemark.stanford.edu> writes:
[#46565] Re: Unicode in Ruby now? — "Marcin 'Qrczak' Kowalczyk" <qrczak@...>
Wed, 7 Aug 2002 16:41:18 +0900, Curt Sampson <cjs@cynic.net> pisze:
On Thu, 8 Aug 2002, Marcin 'Qrczak' Kowalczyk wrote:
Curt Sampson <cjs@cynic.net> wrote in message news:<Pine.NEB.4.44.0208081139480.17422-100000@angelic.cynic.net>...
On Sat, 10 Aug 2002, Bret Jolly wrote:
[#46587] Bug in TkText — Albert Wagner <alwagner@...>
Ruby-1.6.7;Tcl/Tk-8.3.4
[#46615] The whole 'Spades' thing: GA and cardbots — "Hal E. Fulton" <hal9000@...>
OK, I have more useful things to be doing.
[#46646] RE: struct needs to be a constant? — "Berger, Daniel" <djberge@...>
>>>>> "B" == Berger, Daniel <djberge@qwest.com> writes:
Hi,
>>>>> "n" == nobu nokada <nobu.nokada@softhome.net> writes:
Hi,
>>>>> "n" == nobu nokada <nobu.nokada@softhome.net> writes:
[#46663] ruby sample code runtime problem — markgriffin@... (mark G)
Hello all,
[#46669] Testing for mod_ruby (was "how do i mock the presence / absence of a constant w/out getting warnings?") — patrick-may@... (Patrick May)
Currently, the only reliable way to test for the mod_ruby enviroment
[#46672] Variable validation — "Chris Morris" <chrismo@...>
I've got a class that has a number of instance variables, some of which must
[#46681] Dr. Dobbs Ruby Article — " JamesBritt" <james@...>
The September issue of Dr Dobbs has an article by Phil Tomson on distributed
> The September issue of Dr Dobbs has an article by Phil Tomson on
[#46696] Ruby in EETimes — ptkwt@...1.aracnet.com (Phil Tomson)
When it rains it pours, it seems:
[#46698] Ruby/LibGlade: multiple GladeXML objects — Tom Sawyer <transami@...>
hi,
[#46715] Getting the file name from a File::Stat object? — Lloyd Zusman <ljz@...>
Is there a way to get the file name from a File::Stat object?
At Fri, 9 Aug 2002 22:46:32 +0900,
[#46730] nil || // — Paul Brannan <pbrannan@...>
Why does this not work in Ruby 1.6:
[#46732] ambiguity between local variable assignment and writter method — Tom Sawyer <transami@...>
does anyone else find it annoying that local variable assignment is
Hi --
On Fri, 2002-08-09 at 22:50, dblack@candle.superlink.net wrote:
Hi --
> class A
Hi, Tom. I see a pattern to all of your expectations for Ruby. Are you a
On Sat, 2002-08-10 at 17:44, Albert Wagner wrote:
On Sunday 11 August 2002 02:07 pm, Tom Sawyer wrote:
On Sat, Aug 10, 2002 at 03:00:28AM +0900, Tom Sawyer wrote:
On Fri, 2002-08-09 at 12:05, Paul Brannan wrote:
Tom Sawyer <transami@transami.net> writes:
At Sat, 10 Aug 2002 03:44:45 +0900,
GOTO Kentaro <gotoken@notwork.org> writes:
On Fri, 2002-08-09 at 13:30, Dave Thomas wrote:
How about:
On Fri, 2002-08-09 at 15:19, Rich Kilmer wrote:
Tom Sawyer <transami@transami.net> writes:
[#46776] Unit testing is considered harmful — "MikkelFJ" <mikkelfj-anti-spam@...>
I'm sorry, I could help it. I just find this considered harmful thing
[#46780] The problem with using $1 in regexps — Philip Mak <pmak@...>
sub _num_quotes {
[#46827] Economics of E-books? ( was re: Dr. Dobbs Ruby Article) — " JamesBritt" <james@...>
Re: USD $5 for a single Dr. Dobbs article
[#46841] Ah, I'm finally back from Japan ... — Dossy <dossy@...>
Not like anyone cares (or noticed) but my two week stay in Japan
----- Original Message -----
[#46845] extend Html4? — Philip Mak <pmak@...>
Suppose I have this code:
Hello --
On Sun, Aug 11, 2002 at 09:16:01AM +0900, dblack@candle.superlink.net wrote:
[#46875] To be a Module, or not to be... — Holden Glova <dsafari@...>
-----BEGIN PGP SIGNED MESSAGE-----
>>>>> "H" == Holden Glova <dsafari@paradise.net.nz> writes:
-----BEGIN PGP SIGNED MESSAGE-----
>>>>> "H" == Holden Glova <dsafari@paradise.net.nz> writes:
On Sun, 2002-08-11 at 03:40, ts wrote:
>>>>> "T" == Tom Sawyer <transami@transami.net> writes:
[#46892] empty file returns nil not empty string? — Thomas Sdergaard <thomass@...>
Hello,
[#46902] "ri test" tells me to see page 430? — Philip Mak <pmak@...>
$ ri test
[#46906] subclassing and @@variable — Philip Mak <pmak@...>
I have the following test code:
Philip Mak wrote:
[#46911] Choosing ruby? — Rhymes <raims@...>
[#46957] Handling forms on database driven websites — Philip Mak <pmak@...>
Ever since I learned Perl, Ruby and MySQL, I've built several database
[#46965] replacing values in some files: line endings etc — Tobias Reif <tobiasreif@...>
Hi,
[#47000] Primary Key Hash help — "Chris Morris" <chrismo@...>
I have a huge data file with rows like this:
> I have a huge data file with rows like this:
[#47053] ruby-dev summary 17875-17964 — TAKAHASHI Masayoshi <maki@...>
There was a lot of discussions in ruby-dev this week.
[#47060] Problem with REXML — Andreas Pinkert <the_supernova@...>
Hi!
[#47080] class === class often false? — "Bill Kelly" <billk@...>
Hi,
----- Original Message -----
[#47113] ruby-mode / inferior ruby — Bjn Nordb<bn@...>
Emacs' ruby-mode doesn't seem to work too well. I would be most happy if
[#47134] Data_Make_Struct Considered Dangerous? — William Djaja Tjokroaminata <billtj@...>
Hi,
ts <decoux@moulon.inra.fr> wrote:
Hi,
>>>>> "W" == William Djaja Tjokroaminata <billtj@z.glue.umd.edu> writes:
Two things:
[#47163] YAML.rb 0.38 -- Objects in plain text — why the lucky stiff <yaml4r@...>
Pleased to announce the latest YAML.rb product.
[#47199] Is this array operation correct? —
Hi,
[#47202] Minimum version of windows for ruby? — ian <spammapsglenizrainmapsspammaps@...>
Hi -
[#47212] Ruby Weekly News — Dave@...
Please don't take this as a knock of the efforts required to produce the
----- Original Message -----
----- Original Message -----
[#47218] Cannot input Thai character in TkEntry — "nongluk" <nonglukb@...>
Hi,
[#47228] Re: 1.7.2 v. the latest and 1.7.2 windows dist — Andrew Hunt <andy@...>
>> The front page of ruby-lang.org lists 1.7.2 as the current development
[#47240] RE: A few newbie questions... — "Bennett, Patrick" <Patrick.Bennett@...>
You're really going to like Ruby. :>
[#47244] RE: How to use the safe_unlink method? — Kurt Euler <keuler@...>
Guy-
[#47270] Legendary Chaos Computer Club goes Ruby — "MikkelFJ" <mikkelfj-anti-spam@...>
The Chaos Computer Club that spawned legendary hackers in the 80'ties
[#47292] Thought question: Where does "new" come from? — "Hal E. Fulton" <hal9000@...>
I've been brooding again on the circularities
----- Original Message -----
Hi --
Hello --
Hi --
[#47344] eruby editor — "Kyle Wilson" <kyle.wilson@...>
Hello. I was wondering if anyone knows of a text editor which will
Here's what I have - 91 characters with everything you'd need for a Flash
[#47348] robust hardware to run ruby newtwork service — Tom Sawyer <transami@...>
i know this is bit off topic, but since you all are my "computer family"
[#47350] ruby email client; why? — Michael Campbell <michael_s_campbell@...>
I find this thread somewhat interesting. When I'm shopping around
[#47360] Is it possible?---ruby xxx.rb arg1 arg2... — "Chai, Xinwei" <ChaiXV@...>
Hellow guys:
[#47375] How do I find the URL of the .rhtml that's being served? — sera@... (Francis Hwang)
I have a utility class that's being used inside a bunch of different
[#47440] Help with a segv in mod_ruby — Dave Thomas <Dave@...>
> I'm getting a segv in mod_ruby:
[#47441] Narf cgi library alpha release — patrick-may@... (Patrick May)
Information: http://narf-lib.sourceforge.net/
[#47461] How do I dup file descriptors in ruby? (diverting STDERR) — "Richard A. Ryan" <ryan@...>
Hello,
[#47464] IDE vs. editor — Holden Glova <dsafari@...>
-----BEGIN PGP SIGNED MESSAGE-----
>>>>> "Holden" == Holden Glova <dsafari@paradise.net.nz> writes:
On Sat, Aug 17, 2002 at 10:49:20AM +0900, Jim Weirich wrote:
On Sun, Aug 18, 2002 at 03:45:00AM +0900, Massimiliano Mirra wrote:
On Sun, Aug 18, 2002 at 03:57:22AM +0900, Alan Chen wrote:
-----BEGIN PGP SIGNED MESSAGE-----
-----BEGIN PGP SIGNED MESSAGE-----
[#47504] FreeRide install problem — Armin Roehrl <armin@...>
Hi,
[#47545] How can I avoid "Insecure operation - stat (SecurityError) " — " JamesBritt" <james@...>
I'm trying to get some ruby code, running under mod_ruby, to retrieve the
[#47547] Re: What Ruby needs. — "Shashank Date" <ADATE@...>
I do not have any problem with item 1) on your wish list as long as I don't
[#47559] Ruby Bot — Giuseppe Bilotta <bilotta78@...>
Hello,
Well, with rbot 0.9.4 there was an error about SIGHUP not being a
[#47585] equivalent of python's __debug__ — David Garamond <davegaramond@...>
python can compile in two modes, normal and optimized. in optimized
[#47598] ruby-dev summary 17965-18021 — Minero Aoki <aamine@...>
Hi all,
[#47618] drb -- distrib'd ruby and marshalling, question about methods — john@... (John van V.)
Hello, I have been moving perl objects around for years and I was very
[#47640] Perl -> Ruby: assistance wanted (offlist) — "Hal E. Fulton" <hal9000@...>
Hello all...
[#47643] thread control — "Shashank Date" <ADATE@...>
I am trying to write a ruby script (Ruby 1.7.2 mswin32) which does the
[#47669] Data_Make_Struct and ALLOC Considered Harmful? — billtj@... (Bill Tj)
Hi,
[#47680] quines (again) — "Bill Kelly" <billk@...>
Hi,
[#47688] the power of ruby — AW <sturmpanzer@...>
Hi,
[#47695] What makes a "good" Ruby extension? — Tim Hunter <cyclists@...>
So I'm reading the "Comparing Gui Toolkits" wiki page
Tim Hunter wrote:
> I think this is a question that a lot of Ruby programmers struggle
[#47749] What New Language After Ruby? — William Djaja Tjokroaminata <billtj@...>
To Andrew Hunt and David Thomas:
Although activity seems to have died down, here are some links
Hi,
Thanks a lot, Marcin, for the valuable information. The description on
On Fri, 2002-08-23 at 15:18, William Djaja Tjokroaminata wrote:
Hi,
Hi,
Nat Pryce <nat.pryce@b13media.com> writes:
Hi,
[#47757] Puzzeled by Range object — Robert McGovern <duemoko@...>
I was just writing an example for the "power of ruby" thread, using ranges.
[#47767] RE: Some comments on the 167-1 installer — Andrew Hunt <andy@...>
>Rich says:
[#47799] select on solaris — Jeff Putsch <putsch@...>
Howdy,
[#47802] ANN: scanf for Ruby — "Hal E. Fulton" <hal9000@...>
This is the product of the Austin Ruby Codefest 2002,
[#47817] A Repeat: New Language After Ruby? — William Djaja Tjokroaminata <billtj@...>
Hi,
The lsnguage you mention most is C. Why not learn advanced C?
Peter Hickman <peter@semantico.com> writes:
[#47826] RE: select on solaris — "Berger, Daniel" <djberge@...>
[#47842] Newbie question. How to install a new package? — Giuseppe Bilotta <bilotta78@...>
Well, I installed URI by simply popping it into the \lib\ directory,
[#47864] nohup -g and ruby-1.6.7 on Solaris9 — Hugh Sasse Staff Elec Eng <hgs@...>
Given the following:
[#47867] RE: Newbie question. How to install a new package? — CRIBBSJ <CRIBBSJ@...>
[#47888] RE: Newbie question. How to install a new package? — CRIBBSJ <CRIBBSJ@...>
> -----Original Message-----
[#47918] Win32 Scripting — Sean Middleditch <elanthis@...>
Hi,
----- Original Message -----
On Fri, Aug 23, 2002 at 02:36:48AM +0900, Sean Middleditch wrote:
[#47932] Can I write to DATA? — Jim Freeze <jfreeze@...>
Hi:
[#47945] Paul Graham essay on language popularity — HotFusionMan@... (Albert Davidson Chou)
I don't read the list/group anymore, so I'm not sure whether this
[#47958] Tk and Gtk — Robert Warning <cleeker@...>
Okay this isn't exactly a ruby question, but in the near future I want
Sean Middleditch wrote:
[#47995] converting rows into structs — Eugene Scripnik <Eugene.Scripnik@...>
I have a methods that converts all DB rows into structs using Struct
On 2002.08.23, Eugene Scripnik <Eugene.Scripnik@itgrp.net> wrote:
Friday, August 23, 2002, 2:19:53 PM, you wrote:
On 2002.08.23, Eugene Scripnik <Eugene.Scripnik@itgrp.net> wrote:
[#48000] Converting Perl scripts to Ruby? — Giuseppe Bilotta <bilotta78@...>
Is there some (semi)automatic way to attempt such a thing? Or does it
[#48001] new ruby from cvs — Eugene Scripnik <Eugene.Scripnik@...>
I installed new ruby 1.7.2 (2002-08-21) from cvs and get warning in
[#48013] Perl Exegesis 5 — "Mike Wilson" <wmwilson01@...>
You can find the Perl Exegesis 5 here:
In article <F249FbCUalRlUwViKaZ000117d8@hotmail.com>,
At 3:19 AM +0900 8/24/02, Phil Tomson wrote:
On Sat, Aug 24, 2002 at 03:37:04AM +0900, Dan Sugalski wrote:
[#48035] Why Ruby Uses Mark-and-Sweep GC? — William Djaja Tjokroaminata <billtj@...>
Hi,
[#48062] Ruby and Judy — Joseph McDonald <joe@...>
Joseph McDonald wrote:
[#48082] Distributed Object Container — junderdown@... (Jason Underdown)
Is anyone out there in the Ruby community working on an object
----- Original Message -----
> J2EE - more specifically, EJB - enables those nice things like pooling,
> > But how can you have Enterprise *Java(tm)* Beans without, well,
>
"Gavin Sinclair" <gsinclair@soyabean.com.au> wrote in message news:<000201c24d03$2caa8ad0$0c6332d2@nosedog>...
> Yes, you are right, J2EE is just a standard implemented by several app
> > Yes, you are right, J2EE is just a standard implemented by
[#48114] CompareByValue — Ryan King <rking@...>
I put a challenge up at:
On 2002.08.25, Ryan King <rking@panoptic.com> wrote:
On 2002.08.25, Dossy <dossy@panoptic.com> wrote:
On 2002.08.27, Ryan King <rking@panoptic.com> wrote:
On 2002.08.29, Dossy <dossy@panoptic.com> wrote:
[#48165] RDoc: .png files are empty — Joel VanderWerf <vjoel@...>
[#48168] warning modifying constant & 'global constant' — David Garamond <davegaramond@...>
1. if someone attempts to modify a constant, why does ruby choose to
[#48217] Getting list of classes in a module? — Philip Mak <pmak@...>
How do I get the list of all classes that are defined in a module
[#48219] Tk scrollbar with elided text — Albert Wagner <alwagner@...>
I am using a TkText as a base for an editor, with folding implemented by using
[#48223] Ruby Based App Server — junderdown@... (Jason Underdown)
I posted a similar question a few days ago, but didn't get any
> I've worked on web applications built on the J2EE platform as well as
[#48227] Bug report: $irbrc does not affect IRB — Brian Marick <marick@...>
In both the IRB from Ruby 1.6.4 and irb-0.9-02.07.03.tgz from RAA,
[#48233] Question about Ruby extension API — "Bennett, Patrick" <Patrick.Bennett@...>
I've looked all over but can't find the function call for doing a simple =
[#48234] Hybrid hash and array? — Philip Mak <pmak@...>
When programming radio buttons on a website, I find myself using this
[#48264] Ruby developers: help push RPKG development and usage forward!! (it is like CPAN.pm, only Ruby) — itsnewsforme@... (M S)
A big complaint from people looking into Ruby is that they don't see
Intro: sorry for the long post, I wanted to speak, hope you won't mind
>>>>> "M" == M S <itsnewsforme@yahoo.ca> writes:
Actually, it would be nice to have them online, but not necessarily
On Tue, Aug 27, 2002 at 09:39:32PM +0900, Rich Kilmer wrote:
http://kt-www.jaist.ac.jp/~ttate/ruby/ruby-dl.html
On Tue, 2002-08-27 at 19:32, Rich Kilmer wrote:
You can just install it in another directory and then go to that
uh, sorry, how do i get 1.7.2? i tried anonymous cvs but it said NO. did
Nightly CVS snapshot:
just complied and drew up an error:
From Tom Sawyer <1030511597.793.982.camel@silver>
Hi,
thanks matz,
On Tue, Aug 27, 2002 at 06:47:30PM +0900, ts wrote:
[#48274] ANN: RJudy-0.1 - Judy Arrays for Ruby — Lyle Johnson <lyle@...>
All,
[#48320] compile time type checking — "Volkmann, Mark" <Mark.Volkmann@...>
I think the main reason that languages such as Ruby, Python, Perl and TCL
[#48333] Temporary VALUE Needs to Be Protected? — William Djaja Tjokroaminata <billtj@...>
Hi,
[#48352] c-api: rb_str_new — Matthias Veit <matthias_veit@...>
[#48420] Is anybody working on a ruby compiler (rb->exe) — "Kontra, Gergely" <kgergely@...>
Hi!
[#48434] RE: Is anybody working on a ruby compiler (rb->exe) — christopher.j.meisenzahl@...
[#48446] How to read files in all subdirectories? — Kurt Euler <keuler@...>
Ruby experts:
[#48467] Novice needs help with FX Ruby — lucidlife@... (ck)
Hi,
ck wrote:
[#48468] Compile error — "C. David Wilde" <cdw@...>
Hello,
[#48477] Newbie converting brain from perl — William Pietri <william-news-383910@...>
[#48494] next statement — "David Douthitt" <DDouthitt@...>
I thought there was a way to use "next" (or similar) to escape an arbitrary=
[#48521] Ruby/DL with GTK gtk_signal_connect — Tom Sawyer <transami@...>
hi all, i'm working with Ruby/DL, binding to GTK. it is very cool. but i
[#48544] Best GC for Ruby? — "Justin Johnson" <justinj@...>
Hi,
[#48556] RE: Is anybody working on a ruby compiler (rb->exe) — christopher.j.meisenzahl@...
> > >Cool... but are there any english docs on exerb? How
-----BEGIN PGP SIGNED MESSAGE-----
On Fri, Aug 30, 2002 at 08:14:20AM +0900, michael libby wrote:
[#48558] gethostbyname() requires reverse lookup to work? — Paul Brannan <pbrannan@...>
We ran into a problem last night where we could ping a host, telnet to
[#48564] YAML.rb 0.40 -- Circular references, Emitter enhancements — yamlrb@...
Aha! A new YAML.rb is out at long last: >
[#48573] FXRuby Threading Problem Solved? — Lyle Johnson <lyle@...>
All,
[#48584] suggestions to the Ruby community — stibbs <stibbs@...>
Hi, first i would like to state that i absolutely love Ruby more than any
I've encountered the same complaints from my co-workers and
instead of everyone writing your own documentation, wouldnt a wiki
-----BEGIN PGP SIGNED MESSAGE-----
> >I was surprised just now to find that there is no absolute requirement
-----BEGIN PGP SIGNED MESSAGE-----
Hi
[#48633] Can We Pass Block from Function to Function? — William Djaja Tjokroaminata <billtj@...>
Hi,
[#48648] How to write scripts with plug-in support [long] — gabriele renzi <surrender_it@...>
Hi all,
[#48657] ICFP Programming Contest — Alan Chen <alan@...>
http://icfpcontest.cse.ogi.edu/task.html
On Sat, 31 Aug 2002, Alan Chen wrote:
[#48678] proper upgrade to 1.7.3 — Tom Sawyer <transami@...>
so i went ahead and started moving over to 1.7.
[#48703] RE: suggestions to the Ruby community — "Pe, Botp" <botp@...>
> From: JamesBritt [mailto:james@jamesbritt.com]
> James, you've said it all (kindly and clearly, too).
[#48705] Ruby aesthetics — vegai@...
Hello. I've been checking into python lately quite a lot, and I
----- Original Message -----
My two reasons for disliking Python's aesthetics:
Gavin Sinclair (gsinclair@soyabean.com.au) wrote:
Hi,
----- Original Message -----
Yukihiro Matsumoto graced us by uttering:
>
On Wed, 2002-09-04 at 02:56, Gavin Sinclair wrote:
> On Wed, 2002-09-04 at 02:56, Gavin Sinclair wrote:
----- Original Message -----
I am really amazed if Ruby is really compared against Java, especially in
----- Original Message -----
On Thu, 5 Sep 2002, Hal E. Fulton wrote:
Hi,
On Thu, 5 Sep 2002, William Djaja Tjokroaminata wrote:
Paul Prescod wrote:
Hi,
On Thursday 05 September 2002 12:08 pm, Christian Szegedy wrote:
Hi,
On Fri, 6 Sep 2002, William Djaja Tjokroaminata wrote:
I think we have communicated very well; I agree with all you said. May I
On Fri, 6 Sep 2002, William Djaja Tjokroaminata wrote:
Hi Matz,
Hi,
On Sat, 7 Sep 2002, Yukihiro Matsumoto wrote:
Hello --
----- Original Message -----
Hi,
Data_Make_Struct and ALLOC Considered Harmful?
Hi,
This is a follow-up of the thread with title "Data_Make_Struct
Considered Dangerous?". Rather than making the thread larger and
larger, I try to start discussing the issue with a fresh start.
All this discussion is using ruby -v: ruby 1.6.7 (2002-03-01)
[i686-linux].
Data_Make_Struct is defined in ruby.h as
#define Data_Make_Struct(klass,type,mark,free,sval) (\
sval = ALLOC(type),\
memset(sval, 0, sizeof(type)),\
Data_Wrap_Struct(klass,mark,free,sval)\
)
As we can see, the sequence is first ALLOC() is called, and then the
memory is set to zero by using memset(). ALLOC() is just an alias of
xmalloc(), which is just an alias of ruby_xmalloc(). ruby_xmalloc()
is defined in gc.c as
void *
ruby_xmalloc(size)
long size;
{
void *mem;
if (size < 0) {
rb_raise(rb_eNoMemError, "negative allocation size (or too big)");
}
if (size == 0) size = 1;
malloc_memories += size;
if (malloc_memories > GC_MALLOC_LIMIT) {
rb_gc();
}
RUBY_CRITICAL(mem = malloc(size));
if (!mem) {
rb_gc();
RUBY_CRITICAL(mem = malloc(size));
if (!mem) {
if (size >= 10 * 1024 * 1024) {
rb_raise(rb_eNoMemError, "tried to allocate too big memory");
}
mem_error("failed to allocate memory");
}
}
return mem;
}
As we can see, rb_gc() may be called before the memory is returned.
rb_gc(), in turn, calls all the rb_gc_mark() functions. Therefore,
one particular issue is:
"Unless the C programmer is very careful, when using ALLOC it is very
possible that the marking function is called before a memory space is
properly initialized".
Suppose we assume that the marking functions are really proper, i.e.,
they always check the state of each memory before rb_gc_mark is called
such as:
if (ptr) rb_gc_mark (...);
Suppose also we have a struct such as
typedef struct
{
struct_A *data1;
struct_B *data2;
} struct_C;
which is involved in some rb_gc_mark() because struct_C is part of
(but not direct) internal data of some class. Now, the following code
may fail:
....
ptr = ALLOC (struct_C);
ptr->data1 = ALLOC (struct_A); /* may fail here because of
rb_gc() */
ptr->data2 = ALLOC (struct_B);
but the following code will never fail:
....
ptr = SAFE_MALLOC (struct_C);
ptr->data1 = SAFE_MALLOC (struct_A);
ptr->data2 = SAFE_MALLOC (struct_B);
where SAFE_MALLOC is just a wrapper of malloc() that deals with
out-of-memory. The only way to solve the ALLOC problem is to do
"double-initialization":
....
ptr = ALLOC (struct_C);
ptr->data1 = NULL;
ptr->data2 = NULL; /* or just use one memset when it is proper
*/
ptr->data1 = ALLOC (struct_A);
....
We see that the initialization to zero by memset in Data_Make_Struct
does not really help here. It only helps when struct_C is a direct
data part of some class, in which case it was created using
obj = Data_Make_Struct (cClass, struct_C, ..., ..., ptr);
But when ptr is some other level deeper inside obj, the above problem
occurs.
Therefore, rather than dealing with this extra issue, why don't we
simply not use ALLOC()? Yes, when used properly, nothing is harmful.
But just like the GO TO statement, it creates a potential pitfall for
the unaware C programmer. This stems from the fact that structured
programming was created to minimize the "jumping around" problem with,
for example, the GO TO statement. But ALLOC(), with its rb_gc(), with
its rb_gc_mark(), follows some "jumping around" pattern too.
Not using ALLOC also has this benefit: Let Ruby manage its own memory
and let the C part manage its own memory. There is no need for the C
part to be involved in Ruby memory management. (If really necessary,
the C part can call rb_gc() explicitly.) There was a comment in the
previous thread that by not using ALLOC, the Ruby heuristic of when to
start the next GC might be way off; but isn't that this problem also
occurs when the C part is not there? (For example, with
GC_MALLOC_LIMIT of 8000000, isn't that there is always a potential of
Ruby of wasting 7999999 bytes of memory, whether it is pure Ruby or a
mix of Ruby and C? If the pure Ruby already has some mechanism of
getting rid the wasted 7999999 bytes, then there is no need for the C
part to interfere.)
Finally, any Ruby function that allocates some memory (such as
rb_str_new2) has the potential of invoking rb_gc_mark(). I don't see
any other way around this problem. However, when we don't use
ALLOC(), we reduce the possibility of error. I guess it is the same
as the GO TO statement. When used properly, it is not dangerous; and
even when it is removed, a language like C is still "dangerous"
because of pointers. The removal (or disuse) of the GO TO statement
does not make a language 100% safe, but it seems that now people do
not use GO TO very-very often anymore because people have understood
the issue.
Therefore, to summarize:
1) Use malloc() (or some SAFE_MALLOC()) to allocate memory; don't
use ALLOC
2) Because of 1), use Data_Wrap_Struct; don't use Data_Make_Struct
3) Be aware that before calling any Ruby function that may
allocate memory (such as Data_Wrap_Struct() and rb_str_new2()), all
memory should be proper (double-initialization may be required)
4) In the absence of 3), using malloc() a C programmer can proceed
as usual: allocate memory and then initialize it (no need for
double-initialization)
Regards,
Bill
A particular note to Guy: If you have not understood the issue : don't
response.
We have no need for a technical-less "it is stupid" comment.
============================================================================
Data_Make_Struct() is *not* dangerous. The goal of Data_Make_Struct()
is
to call ALLOC(), initialize all members of the struct to zero then
call
Data_Wrap_Struct()
If you have not understood this : don't use it.
Guy Decoux