[#66078] Re: your BMW fku — "jam_kernovitch@..." <jam_kernovitch@...>
[#66079] gc_sweep(): unknown data type 48 — Mauricio Fern疣dez <batsman.geo@...>
Hi,
On Sat, Mar 01, 2003 at 07:26:58PM +0900, nobu.nokada@softhome.net wrote:
Hi,
Hi,
On Sun, Mar 02, 2003 at 12:55:48AM +0900, Yukihiro Matsumoto wrote:
Hi,
[#66088] Anything like Class::DBI from Perl — pw-googlegroups@... (Peter Wilkinson)
We've been doing some work using Class::DBI in Perl which makes access
[#66112] Additions to pop.rb... — "Frank S.Fejes III" <frank@...>
Hello all. I don't quite know if this is the place to post these types of
[#66119] GUI toolkit supporting Global IME? — bsl04@... (Brian)
I'm unable to confirm which if any of the Ruby GUI toolkits support
[#66137] Ruby 1.8.0 bug — Child <child@...9.ds.pwr.wroc.pl>
Hi,
On Sunday 02 March 2003 09:47 am, nobu.nokada@softhome.net wrote:
[#66185] Bug in date.rb? — Child <child@...9.ds.pwr.wroc.pl>
Hello
[#66202] Ruby/GNOME2 as multi-platform GUI toolkit — Gour <gour@...>
Hi!
[#66217] Prolly a simple question — <ghost-no-spam@...>
Sorry if these questions have come up before, but google searching hasn't
[#66229] ANN: coco/rb ver 0.5.0 — Mark Probert <probertm@..._acm.org>
[#66245] TCPSocket delay problem — Seth Kurtzberg <seth@...>
Matz,
Hi,
On Tuesday 04 March 2003 05:55 am, Yukihiro Matsumoto wrote:
>>>>> "S" == Seth Kurtzberg <seth@cql.com> writes:
[#66262] any ruby news aggregators out there? — "Chris Morris" <chrismo@...>
I checked RAA and didn't see anything out there. Anyone working on an
[#66269] OSCON — ptkwt@...1.aracnet.com (Phil Tomson)
For those coming to OSCON this year...
Hi,
[#66274] EBCDIC -> ASCII — Matt Lawrence <matt@...>
I'm trying to write a Ruby script that will translate data in EBCDIC and
[#66297] minor glitch in numeric.c — "Shashank Date" <sdate@...>
I was compiling ruby-1.8.0-preview1 from source using VC++ 6.0 on Win XP
[#66315] system command expansion after PTY.spawn — Christian von Mueffling <cvm@...>
Hi!
Hi,
>>>>> "n" == nobu nokada <nobu.nokada@softhome.net> writes:
On Thu, Mar 06, 2003 at 10:06:36PM +0900, ts wrote:
[#66317] Newbie question regarding drives — "Sperberg, Roger" <roger.sperberg@...>
Can someone advise me of how to find out within my Ruby program what drives
[#66330] cookies in eruby mod_ruby — Daniel Bretoi <lists@...>
Can someone explain how to set/delete cookies using mod_ruby (eruby)?
[#66332] Russian Ruby resource and Ruby Course — leikind@... (Yuri Leikind)
Hi all,
In article <003201c2e3fb$59b1b4b0$c20ca8c0@gfb>,
[#66348] Module#require — Eugene Scripnik <Eugene.Scripnik@...>
Is there require method implementaion, which loads library in the
[#66352] puts sometimes gives:in `write': Interrupted system call (Errno::EINTR) — Hugh Sasse Staff Elec Eng <hgs@...>
I sometimes get the error message:
Hi,
[#66361] Re: Is there a way to 'unload' a script/module/class ? — "Bennett, Patrick" <Patrick.Bennett@...>
That won't work since I need to instantiate a class within the loaded
>>>>> "B" == Bennett, Patrick <Patrick.Bennett@inin.com> writes:
[#66392] DRB and threads — Brian Candler <B.Candler@...>
I wonder if anyone can give me some hints on the interactions between dRuby
On Fri, Mar 07, 2003 at 07:15:29PM +0900, Robert Klemme wrote:
On Fri, 7 Mar 2003, Brian Candler wrote:
On Sat, Mar 08, 2003 at 11:38:31AM +0900, ahoward wrote:
On Sat, 8 Mar 2003, Brian Candler wrote:
On Sat, Mar 08, 2003 at 04:40:17PM +0000, ahoward wrote:
On Sun, 9 Mar 2003, Brian Candler wrote:
On Sun, Mar 09, 2003 at 06:40:35PM +0900, ahoward wrote:
On Mon, 10 Mar 2003, Brian Candler wrote:
[#66440] Solving the 'strange language' documentation problem — "Josef 'Jupp' Schugt" <jupp@...>
Dear Rubyists,
EHLO
Hello,
> IMHO, what we need is 'Writing documents in English
On Sunday 09 March 2003 07:46 am, Mike Campbell wrote:
> > IMHO, what we need is 'Writing documents in English
[#66455] Debugging in Test::Unit::TestCases — Robert Feldt <feldt@...>
Hi,
>>>>> "R" == Robert Feldt <feldt@ce.chalmers.se> writes:
[#66466] I'm to give short talk on ruby at work, anybody have material/outlines they can donate/ — Sam Roberts <sroberts@...>
On Saturday 08 March 2003 04:20 pm, Sam Roberts wrote:
[#66469] What character sets are available in Ruby ? — peterjohannsen@... (pj)
There is a Ruby FAQ which I read that said that Ruby only supports
[#66471] install.rb problem - ri and rdoc think OS X is windows! — Sam Roberts <sroberts@...>
I think this is the problem:
[#66482] rdoc - how to exclude internal APIs, and use :title: and :main:? — Sam Roberts <sroberts@...>
I'm sorry if I'm missing the obvious, but i'm staring at the docs, and
[#66489] $0 == false ?? — Tim Bates <tim@...>
I'm running a script under mod_ruby, and for some reason $0 is set to false.
[#66502] Suggestion for setsockopt — Brian Candler <B.Candler@...>
Extract from ruby-1.6.8:
>>>>> "B" == Brian Candler <B.Candler@pobox.com> writes:
[#66522] Thinking of learning Ruby — "anonimous" <n.thomp@...>
I have abour 3 or 4 years experience with Linux, and about 2 years
> Althoug getting a job in programming is a concern of mine, I think
[#66530] Protocols — "Ray Capozzi" <Ray_Capozzi@...>
Is there a preferred set of ruby libraries for client/server solutions? As
> "Ray Capozzi" <Ray_Capozzi@hotmail.com> wrote in message
On Sunday 09 March 2003 07:35 pm, jbritt@ruby-doc.org wrote:
Hi,
Hi,
On Sunday 16 March 2003 08:58 pm, NAKAMURA, Hiroshi wrote:
[#66551] RDoc 0.9 — Dave Thomas <dave@...>
It's been a while since the last RDoc release. In the meantime, I've
[#66556] YAML on solaris: problem with libiconv — Joel VanderWerf <vjoel@...>
[#66570] DRb: remote methods not running remotely??? — Hugh Sasse Staff Elec Eng <hgs@...>
I have a drb server on one machine, which is basically started with:
Hugh Sasse Staff Elec Eng (hgs@dmu.ac.uk) wrote:
On Tue, 11 Mar 2003, Eric Hodel wrote:
On Tue, 11 Mar 2003, Hugh Sasse Staff Elec Eng wrote:
Hugh Sasse Staff Elec Eng (hgs@dmu.ac.uk) wrote:
On Tue, 11 Mar 2003, Eric Hodel wrote:
[#66580] Limited Support for Multiple Inheritance in SWIG/Ruby — "lyle@..." <lyle@...>
All,
[#66586] project design issues — Travis Whitton <whitton@...>
Hello all - I've been using Ruby quite happily over the last year, and I have
[#66609] Debian & Gentoo installation instructions — Daniel Carrera <dcarrera@...>
I'm writing installation instructions for Ruby. I'd like to double
On Monday 10 March 2003 01:05 pm, Daniel Carrera wrote:
[#66629] Problem with log4r — Markus Jais <info@...>
hello
[#66633] Threads and DRb — "Hal E. Fulton" <hal9000@...>
I changed the title here because this is not
----- Original Message -----
----- Original Message -----
----- Original Message -----
[#66650] PSE as Ruby module and an RAA question — "Josef 'Jupp' Schugt" <jupp@...>
Hi!
[#66655] How to destroy a TkToplevel window — Daniel Carrera <dcarrera@...>
Hello,
[#66681] debugging — "Ramakrishnan Subramanian" <ramakrishnan.subramanian@...>
[#66690] SCGI — ahoward <ahoward@...>
[#66714] Ruby extension to get mount information in Linux — anonimous <n.thomp@...>
Is there a library for getting information in drives that can be mounted and
[#66718] scanning strings — "MikkelFJ" <mikkelfj-anti-spam@...>
I want to scan a string for breaks. I want to pick both the breaks and the
[#66720] IRC — Tommy Hallgren <thallgren@...>
Hi!
[#66736] Spanish documentation — Daniel Carrera <dcarrera@...>
Does anyone know of any Spanish Ruby books or other documentation?
[#66738] a newbie question — Ben Thomas <trickster@...>
Hi,
[#66770] Gentoo Administration — Bruce Williams <bruce@...>
This isn't really worth an [ANN], so I'm not making it one.
[#66774] Coding challenge: Recurring stream — Martin DeMello <martindemello@...>
Given a stream of numbers that, at some point, recurs with period k,
It's nasty (as in geometric-scaling as string size increases) *and*
[#66788] Re: Spanish documentation — Victor Manuel Reyes Viloria <vmreyes@...>
[#66804] Re: Problem with Mysql in win ruby 1.6.8 — "J.Hawkesworth" <J.Hawkesworth@...>
Greg,
J.Hawkesworth wrote:
ラ, 13.03.2003, ラ 08:56, Greg Brondo ホチミノモチフ:
At 10:12 +0900 3/13/03, Sergei Dolmatov wrote:
[#66805] Ruby newbie uninstall question? — "Colin Coates" <colin@...>
Hello Everyone,
[#66809] Prevent method override? — James Davis <jd204c@...>
Is there a way to prevent a subclass from overriding a method that was
[#66814] DBI and MSAccess — "Rasmus Debitsch" <Debitsch@...>
I want to access a MSAccess database with Ruby. I'm new to databases and
[#66838] UML software for linux — anonimous <n.thomp@...>
I was never big on learning UML but I think it would make programming a
[#66845] next iteration within a block — Wojciech Kaczmarek <schatten@...>
What is the most short/elegant way of ending the current iteration
[#66850] Ruby / Eiffel ? — <cailloux@...>
Hello evry body
also, related, does anyone know if there is a good reason for the absense
On Fri, 14 Mar 2003 05:59:33 +0900
On Fri, 14 Mar 2003, Ryan Pavlik wrote:
[#66853] raised access floor biz oppty! — "Meng Chaohua" <ebmail@163.com>
恊彰議人薩
[#66858] ruby accounts for 25 Hours in a day (2003-03-30) — "Ricardo Nogueira" <rnog2438@...>
I have reported this to ruby-lang bugs a week ago (incoming #639),
On Thu, 13 Mar 2003 18:29:36 +0900, Yukihiro Matsumoto wrote:
[#66869] Etc module in _The Ruby Way_ — Ollivier Robert <roberto@...>
In _The Ruby Way_, page 415, there is an interesting module mentionned: the
[#66878] Rubuy 1.8.0 preview2 debug doesn't stop at breakpoints — Jeff Putsch <putsch@...>
Howdy,
this is fixed in the snapshot
On Fri, Mar 14, 2003 at 03:53:20AM +0900, Seth Kurtzberg wrote:
[#66906] Syck 0.08 -- Next-generation of YAML.rb — why the lucky stiff <yaml-core@...>
citizens,
Works great under OS X and Ruby 1.8!
You're joking. Open up that Apple and make sure for me will ya? Wow. Gotta
On Sat, 15 Mar 2003, why the lucky stiff wrote:
why the lucky stiff wrote:
On Friday 14 March 2003 01:40 pm, Daniel Berger wrote:
syck doesn't build out of the box under FreeBSD-4.7 with its standard byacc.
On 14/03/03 00:16 -0700, why the lucky stiff wrote:
On Friday 14 March 2003 12:48 pm, Brian Ingerson wrote:
On 14/03/03 13:20 -0700, why the lucky stiff wrote:
On Friday 14 March 2003 02:54 pm, Brian Ingerson wrote:
[#66916] method call on terminated object [W2k,1.6.8} — Michael Bruschkewitz <brusch2@...>
Hello,
[#66927] dynamically create a method — Rudolf Polzer <abuse@...>
Is there a possiblilty to dynamically create a method, like this?
[#66958] a library versioning package — ahoward <ahoward@...>
[#66965] Overloaded operator interprets block as hash — ptkwt@...1.aracnet.com (Phil Tomson)
[#66974] The onion truck strikes again ... Announcing rake — Jim Weirich <jweirich@...>
Ok, let me state from the beginning that I never intended to write this
A couple of comments.
On Fri, 2003-03-14 at 23:06, Seth Kurtzberg wrote:
[#67013] ANN: vcard 0.1 - a vCard decoding library — Sam Roberts <sroberts@...>
http://raa.ruby-lang.org/list.rhtml?name=vcard
This is awesome...welcome to the contributing community members!
Quoteing rich@infoether.com, on Sun, Mar 16, 2003 at 04:15:57AM +0900:
I think the index method [] returning the preferred field (if pref is
[#67019] |FXRUBY] contextual menu in an Icon List — Pierre Baillet <oct@...>
Dear rubyists,
[#67030] Your favorite Ruby web library? was: Working on a CGI... — "Hal E. Fulton" <hal9000@...>
Got no replies to this one... (except one re: databases,
[#67033] mapping $? to text message — Joel VanderWerf <vjoel@...>
[#67037] Hash load and GC — Xiangrong Fang <xrfang@...>
Hi Guys,
[#67059] ruby-dev summary 19773-19824 — Takaaki Tateishi <ttate@...>
Hello,
On Mon, Mar 17, 2003 at 12:48:46AM +0900, Takaaki Tateishi wrote:
[#67062] Question about Amrita — kwa@... (makotz)
Hi,
[#67063] Iterator using Continuations — Hans =?iso-8859-15?q?J=F6rg=20Hessmann?= <hessmann@...>
Hi,
[#67071] How do I get irb to use readline, (with OS X)? — Sam Roberts <sroberts@...>
I'm sure I saw something about this somewhere, but I've been searching,
On Monday, 17 March 2003 at 5:38:45 +0900, Sam Roberts wrote:
Sorry for being vague. What I want is simpler that that - I want to be able to
[#67074] ANN: Madeleine 0.1 — Anders Bengtsson <ndrsbngtssn@...>
> http://sourceforge.net/project/showfiles.php?group_id=74624
On Mon, Mar 17, 2003 at 07:00:35AM +0900, Anders Bengtsson wrote:
--- Brian Candler <B.Candler@pobox.com> skrev:
On Mon, Mar 17, 2003 at 11:37:56PM +0900, Anders Bengtsson wrote:
--- Brian Candler <B.Candler@pobox.com> wrote:
On Tue, Mar 18, 2003 at 01:18:09AM +0900, Anders Bengtsson wrote:
[#67099] T-shirts — Armin Roehrl <armin@...>
Hi all,
[#67166] Accessing hash values sorted by their keys — "Josef 'Jupp' Schugt" <jupp@...>
Is an elegant way of doing this?
[#67174] CursWrap [n]Curses module — vangczung@... (Julian Snitow)
This weekend I wrote a ruby module that aims to provide a friendlier
[#67182] ruby + windows + apache — "RaymondLHW" <raymondlhw@...>
what should I do if I want to run ruby on apache ( windows ) ?
[#67185] Substitution in a string in a string — Tim Bates <tim@...>
I am using eval to dynamically define a method, and at some point, I want to
[#67222] OT: XML too hard (YAML opportunity?) — ptkwt@...1.aracnet.com (Phil Tomson)
On /. today there is a discussion about a weblog entry by an XML
> On /. today there is a discussion about a weblog entry by an XML
----- Original Message -----
> But beyond
I got this weird sense that people were talking about me...and here you
jbritt@ruby-doc.org wrote:
> jbritt@ruby-doc.org wrote:
[#67228] How to get the Windows handle for a socket — Tom Felker <tcfelker@...>
On Windows, I do the following (trying to get a nonblocking socket):
[#67233] OT: Getting at client headers from CGIs — Dave Thomas <dave@...>
Folks:
[#67260] Thoughts about native Ruby widget set — Idan Sofer <idan@...>
Looking at RAA's listing:
[#67277] Why does basic cgi example fail on Apache/Windows? — "Chris Morris" <chrismo@...>
This has come up in the past, but why does this bare-bones cgi example (from
[#67283] Digest::MD5 on Mac OS X — Ben Schumacher <ben@...>
Hello-
[#67293] Find::Bin, use lib, in ruby — Daniel Bretoi <lists@...>
Hi,
[#67302] Frequency of announcements — "Josef 'Jupp' Schugt" <jupp@...>
Hi!
Josef 'Jupp' Schugt wrote:
[#67304] Strong advantages over Python — Greg McIntyre <greg@...>
Hi lovely Ruby people,
Seth Kurtzberg <seth@cql.com> writes:
On Saturday 22 March 2003 02:09 pm, Johann Hibschman wrote:
On Sun, Mar 23, 2003 at 07:11:36AM +0900, Seth Kurtzberg wrote:
Greg McIntyre wrote:
Good list. Amalgamated with http://www.ruby-lang.org/en/whats.html, it
Greg McIntyre wrote:
Okay, not to feed the flames too much here, but I figured I may as well
I'm not going to go back and forth on preferences, but just talk about
Thanks to all of you who answered and cleared up some of my perceptions
Greg McIntyre wrote:
On Sun, 2003-03-23 at 16:17, Paul Prescod wrote:
On Mon, Mar 24, 2003 at 06:17:49AM +0900, Paul Prescod wrote:
Hi --
Mark Wilson <mwilson13@cox.net> wrote:
Jim Weirich <jweirich@one.net> wrote:
mike@ratdog.stok.co.uk (Mike Stok) wrote:
[#67337] eRuby/mod_ruby hosting proposal — trimmed@... (George Jempty)
I successfully installed mod_ruby on a virtual private server free
[#67342] Solaris2.5.1, ruby-1.8.0 snapshot 19-MAR-2003 — Hugh Sasse Staff Elec Eng <hgs@...>
I have just tried to build the nightly snapshot I picked up
On Fri, 21 Mar 2003, Yukihiro Matsumoto wrote:
[#67346] class level Exception handling — Xiangrong Fang <xrfang@...>
Hi
Great! This is much simpler than the last approaches. However, I'd make a
[#67366] Newbie question: 9/5=1 ? — Thomas Jollans <nospam@...>
while learning ruby i wanted to program a simple fahrenheit to celsius
On Thu, 20 Mar 2003, Thomas Jollans wrote:
Thomas Jollans wrote:
On Fri, Mar 21, 2003 at 04:05:42AM +0900, Joel VanderWerf wrote:
[#67381] which site_ruby dir? — "Chris Morris" <chrismo@...>
Probably a stupid question, but I can't find the answer.
[#67387] Ruby tutorial download — Daniel Carrera <dcarrera@...>
Someone asked that I make the ruby tutorial available for download,
----- Original Message -----
[#67415] Proposal: new operator: '<-' (for assignments) — ptkwt@...1.aracnet.com (Phil Tomson)
On Fri, 21 Mar 2003 11:20:27 +0900, Phil Tomson wrote:
[#67436] cvs.ruby-lang.org access — "Hal E. Fulton" <hal9000@...>
Hi, all.
[#67438] infinite Time — ahoward <ahoward@...>
Hi,
[#67446] Ruby & LaTeX — Walter Cazzola <cazzola@...>
Dear Ruby Experts,
On Friday, 21 March 2003 at 18:06:56 +0900, Walter Cazzola wrote:
[#67514] Rake problem? — manfred.lotz@... (Manfred)
Hi,
On Fri, 2003-03-21 at 14:44, Manfred wrote:
[#67515] ruby and cron help — Mark Probert <probertm@..._acm.org>
Hi, rubyists.
[#67525] Time::INFINITY — ahoward <ahoward@...>
rubyists-
On Sat, Mar 22, 2003 at 05:25:16AM +0900, ahoward wrote:
[#67545] Looking for Total Windows Solution — Jim Freeze <jim@...>
Hi:
Jim Freeze wrote:
[#67546] Expression results — debitsch@... (Rasmus)
Hello,
----- Original Message -----
--- "Hal E. Fulton" <hal9000@hypermetrics.com> wrote:
On Sat, Mar 22, 2003 at 07:39:02AM +0900, Hal E. Fulton wrote:
In article <20030321231000.GA65019@uk.tiscali.com>,
[#67567] List of Ruby-related RSS feeds? — <jbritt@...>
I'd like to put together a list of all known Ruby RSS/RDF feeds, and have
[#67586] up key doesn't work in irb — Emmanuel Touzery <emmanuel.touzery@...>
Hello,
[#67592] Quick Question about Queue's — duemoko <spam@...>
I am putting together a small app that will need a message queue. There
[#67634] exiting a loop — Daniel Carrera <dcarrera@...>
Hello,
Daniel Carrera wrote:
----- Original Message -----
On Mon, Mar 24, 2003 at 01:13:33PM +0900, Chris Pine wrote:
On Mon, 24 Mar 2003, Daniel Carrera wrote:
[#67660] Question about behavior of Array.new — Jeremy <thinker5555@...>
Hi,
[#67711] Iterate over two lists in parallel — Gavin Sinclair <gsinclair@...>
On Monday, March 24, 2003, 1:54:53 PM, Julian wrote:
----- Original Message -----
----- Original Message -----
>
On Tue, Mar 25, 2003 at 05:02:19PM +0900, Julian Snitow wrote:
[#67733] Building Ruby with MinGW help needed — Gour <gour@...>
Hi!
On Mon, 24 Mar 2003, Gour wrote:
[#67738] Call for first ruby programs — Chad Fowler <chadfowler@...>
Hello all,
[#67764] exec : Zero Sized Reply — "\"RayZ\" Andrew V Rumm" <rayz@...>
My cgi-script contains
>>>>> "R" == \"RayZ\" Andrew V Rumm <RayZ> writes:
[#67769] Writing a new method in C for a subclass — David Landrith <dlandrith@...>
Given the available documentation and having gone through the ruby
On Tue, Mar 25, 2003 at 01:07:40AM +0900, David Landrith wrote:
[#67796] acgi - a fastcgi alternative? — ahoward <ahoward@...>
On Tue, Mar 25, 2003 at 07:20:18AM +0900, ahoward wrote:
[#67804] defout vs stdout — ahoward <ahoward@...>
Hi,
On Tue, 25 Mar 2003 nobu.nokada@softhome.net wrote:
[#67859] ruby-fcgi: proposed patch — Brian Candler <B.Candler@...>
Here is a patch against Moonwolf's excellent ruby-fcgi-0.8.2, inspired by
[#67877] Garbage collector problems — "Jaen Saul" <jaen@...>
Note: I assume you know basic facts about the C stack, I'm using the x86
[#67880] question about include and modules — mhm26@... (matt)
ruby -v
>>>>> "m" == matt <mhm26@drexel.edu> writes:
On Wed, Mar 26, 2003 at 06:22:23PM +0900, ts wrote:
>>>>> "M" == Mauricio Fern疣dez <Mauricio> writes:
[#67882] Inheriting from WIN32OLE — ashokiitm@... (xellos)
Can anyone tell me why this does not work?
[#67900] tee in ruby while catching status — Daniel Bretoi <lists@...>
Hi all,
maybe something like this:
Thanks for your help so far guys.
[#67906] changing a stream of 'print' method to a string — kwa@... (makotz)
Hi,
[#67915] Conditionally make a method private? — Jeremy <thinker5555@...>
Hello again!
John Johnson wrote:
[#67920] Re: What kind of book is PickAxe? — "Pe, Botp" <botp@...>
[#67942] Dir.glob and space in folders names — Pierre Baillet <oct@...>
Hello,
[#67961] What are the differences between Ruby's blocks and Python's lambdas? — sdieselil@... (sdieselil)
See subject.
As was mentioned, Ruby has lambdas, but they are commonly called "procs".
On Thu, Mar 27, 2003 at 12:50:04AM +0900, Chris Pine wrote:
On Thu, Mar 27, 2003 at 01:01:25AM +0900, Mauricio Fern疣dez wrote:
On Thu, Mar 27, 2003 at 02:20:48AM +0900, Paul Brannan wrote:
On Thu, Mar 27, 2003 at 04:40:40AM +0900, Mauricio Fern疣dez wrote:
On Thu, Mar 27, 2003 at 05:17:47AM +0900, Paul Brannan wrote:
On Thu, Mar 27, 2003 at 06:00:09PM +0900, Mauricio Fern疣dez wrote:
>>>>> "B" == Brian Candler <B.Candler@pobox.com> writes:
On Thu, Mar 27, 2003 at 09:07:47PM +0900, ts wrote:
>>>>> "B" == Brian Candler <B.Candler@pobox.com> writes:
On Thu, Mar 27, 2003 at 10:03:14PM +0900, ts wrote:
[#67974] Programming Ruby in more formats? — Xavier Noria <fxn@...>
Are the LaTeX sources, or a dvi, ps, or pdf version of "Programming Ruby"
[#67977] Hurd and ruby 1.8preview2 — Manfred Hansen <manfred@...>
Hello,
[#67985] Need help running RDE on WIN2000 — Jim Freeze <jim@...>
On Wednesday, 26 March 2003 at 6:52:58 +0900, Daniel Berger wrote:
[#67987] syntax — "daniel" <offstuff@...>
hello,
[#67996] Regular Expresison in Method Problem — "Nick" <nick.robinson@...>
Hi,
[#68021] pack — Daniel Carrera <dcarrera@...>
Hi,
[#68027] Debugging Ruby itself. — John Carter <john.carter@...>
For various reasons I'm using the CVS latest version of Ruby....
[#68042] Caveats of rb_global_variable() ? — Julian Snitow <vangczung@...>
Fellow Rubygoers,
[#68054] 1.8 docs in progress? — Hugh Sasse Staff Elec Eng <hgs@...>
Is there any current work in progress on the 1.8 docs?
[#68058] Comparable, String and == — han.holl@... (Han Holl)
Maybe I'm doing something very stupid, but consider this.
[#68080] How to call super with different arguments — Han Holl <han.holl@...>
On Fri, Mar 28, 2003 at 07:02:09AM +0900, Han Holl wrote:
[#68082] Array question — walter@...
Any one know why Array.join can't take a code block and join that
Hi,
On Fri, Mar 28, 2003 at 06:00:59PM +0900, Yukihiro Matsumoto wrote:
On Fri, 28 Mar 2003 7:37 pm, Daniel Carrera wrote:
--- Robert Klemme <bob.news@gmx.net> wrote:
Hi,
--- Yukihiro Matsumoto <matz@ruby-lang.org> wrote:
[#68089] Windows Platform - changing directory of caller? — "Nick" <nick.robinson@...>
Hi,
[#68099] Article on secure code — Daniel Carrera <dcarrera@...>
Hello,
il Mon, 31 Mar 2003 03:06:52 +0900, "Josef 'Jupp' Schugt"
[#68103] Newbie question:Does Ruby have the structure of hash's array like Perl does? — Weng Lei-QCH1840 <LeiWENG@...>
Something like below doesn't work:
[#68110] Re: Newbie question:Does Ruby have the structure of hash's array like Perl does? — Weng Lei-QCH1840 <LeiWENG@...>
Thx!
On Fri, Mar 28, 2003 at 05:09:09PM +0900, Weng Lei-QCH1840 wrote:
On Fri, Mar 28, 2003 at 05:15:49PM +0900, Daniel Carrera wrote:
[#68151] new 1.8-snapshot regex warning — Brad Hilton <bhilton@...>
I just installed the latest 1.8 snapshot from 3/27 and found that I now
[#68171] Need #collect! on partial array — Jim Freeze <jim@...>
Hi:
[#68174] The Phrasebook Design Pattern, SQL and YAML — Daniel Berger <djberge@...>
Hi all,
[#68199] Ruby 1.6.8 vs Ruby 1.8.0 preview 2 - benchmarks — djberg96@... (Daniel Berger)
Hi all,
[#68201] Weighted random selection -- how would you do this? — "Hal E. Fulton" <hal9000@...>
Here's a little question for you.
In article <20030329063108.GA2300@math.umd.edu>,
In article <048601c2f5e4$b88d1ec0$0300a8c0@austin.rr.com>,
[#68233] C-API: Setting a Ruby-Object in a wrapped C struct — Lenny <kudling@...>
Hi,
[#68254] Saving code written during an irb session — Bil Kleb <W.L.Kleb@...>
OK, so I admit: I'm stupid. How do I save the code I've generated
[#68264] writing a 4 byte Integer to socket — gabriele renzi <surrender_it@...1.vip.lng.yahoo.com>
I need to write a value (it should be a Fixnum, but I'm not sure) over
[#68267] xml-simple 0.6.0 — Maik Schmidt <contact@...>
Yo!
[#68268] inspect question/request — "Chris Pine" <nemo@...>
Hello,
Hi,
Hi,
Hi,
[#68271] Hard coded newline characters — David King Landrith <dave@...>
There are a surprising number of ruby source files that have newline
Hi,
On Sunday, March 30, 2003, at 08:06 PM, nobu.nokada@softhome.net wrote:
David King Landrith wrote:
Hi,
[#68293] Re: Saving code written during an irb session — "Pe, Botp" <botp@...>
[#68297] How to allow iteration over a collection that can be enumerated in multiple ways? — Sam Roberts <sroberts@...>
Kind of a general question.
[#68318] syntax highlighting problem in vim — "Josef 'Jupp' Schugt" <jupp@...>
Hi!
Negative. It is correct for me. How is it displayed at you?
> On 0331, Josef 'Jupp' Schugt wrote:
On Mon, Mar 31, 2003 at 11:25:25PM +0900, KONTRA Gergely wrote:
On Tuesday, April 1, 2003, 1:58:45 AM, Mauricio wrote:
[#68323] Change to /.../.match("foo") behaviour in 1.6.8? — Austin Ziegler <austin@...>
In 1.6.7 and 1.7, I had the following line work:
Hi --
[#68367] GUI development under Ruby — jennyw <jennyw@...>
I was wondering what people were using for GUI development. I've seen a
il Tue, 1 Apr 2003 07:52:38 +0900, jennyw <jennyw@dangerousideas.com>
Re: Is Ruby slower?
"gabriele renzi" <surrender_it@remove.yahoo.it> wrote in message news:9ed46v0r2nn4r7ehchcl6s4ci8t7ccl23h@4ax.com... > il Sun, 2 Mar 2003 17:12:28 +0100, "MikkelFJ" > <mikkelfj-anti-spam@bigfoot.com> ha scritto:: > >This is because a cache-miss is expensive (many hundred > >instruction cycles). An extra memory access in a small hash table is likely > >to happen in memory that is already conveniently in cache. > > I don't grok what you mean talking about the cache :( I'll try to explain although I'm not sure what part you are missing. You are probably aware of most that I cover: 1) how expensive memory access can be 2) when memory access happens. 1) I'm no expert on cache systems, but there are several layers of cache starting from virtual on-disk memory through TLB hits/misses (the virtual memory addressing system) to 2nd level cache, 1st level cache and actual CPU registers. The further down the pipeline, the more costly the access. I believe an in-memory cache miss can range from hundreds to thousands of missed instructions and paged memory is out of the scale. In comparioson, a major cost of process context switching seems to be the flush of the TLB cache. Memory in 1st level cache may be as fast as CPU registers. 2) There are two major ways of avoiding cache penalties: a) keeping you data smaller such that more fits into a cache closer to the CPU. b) locality of reference - i.e. the next access is cheap of close to a previous access and therefore will be loaded into fast cache along with the first access. There are differnt hash table implementation strategies, but a hash works by spreading data all over the place. First a bucket is located in a bucket table. This is a once per lookup operation. If the bucket table is small and there are many lookups, there is a good chance that the next lookup will find a bucket in fast cache and avoid many hundres worth of instructions missed on failed cache. Once the bucket is located, there is a list of possible matches, all with same hash key. The better the hash, the shorter the list. The list is typically searched from head to tail. Each visit risks a cache miss. The good thing is that all entries can be stored close to each other in an array, so the risk of a cache miss is proportional to the actual data stored. This is contrary to the bucket table where the risk is proportional to the total number of buckets. Fortunately the bucket table can be as small as a single pointer. It therefore makes sense to use about as much memory on buckets as on stored hash entries. If the entry table is allocated in one block, it will on average be 50%-75% depending on expansion scheme. Thus an easy option is to set the bucket table to 50% of entry table, but this can only be tuned by careful performance measures as there are many factors. A bucket size the same as the average load of the entry table will on average give 1 entry per bucket and have equal load on the cache as the entry table - a larger bucket table may just consume too much memory and reduce cache effiency - but this also depends on the quality of the hash key. The next cache problem, is the number of key comparison operations. If the bucket size is chosen as mentioned above, we will only expect slightly more than one entry per bucket on average, although collisions will occur - especially with a bad hash. For the purpose of illustration, assume a collision list on average is 4 entries long, then on average 2 keys must be examined for each lookup. If the key is small enough to be stored in the hash entry itself, this comparison is cheap. If the key is stored in external data, each key may potentially be a cache miss as well. An external key may also be slow to compare for other reasons than potential cache miss: long string comparions, function calls to compare function etc., so collisions should be avoided. One technique to avoid accessing external keys more often than necessary is to compare the full hash key before visiting the key: Typically a hash key is 32 bit and the crunched to bucket table size either using modulo prime or in the case of Jenkins, the much faster modulo power of two. By storing the full hash key in the hash entry, the collision list is effectively made much shorter because the risc of collisions in the full hash is much smaller than the risc of collisions in the full hash. It is very cheap to compare the full hash if it is the original output of the hash operation and fits a machineword (or two). We still may need to visit all entries in the collision list, but probably only compare a single external key. Storing the hash key in the hash entry makes the entry larger and therefore increases the risc of cache misses. Storing the hash key has another benefit: growing the hash table can avoid recalculating the hash keys. A typical hash table entry would therefore be: <hash-key, key or link to key, data, next-collison link> or the minimum: <link to key and data, next-collision link> Or to put a long story short: CPU is much faster than memory, so any performance optimization should first and foremost minimize the number of memory accesses that are far apart. If the typical case is access to a single location, or access to data in the same cache, a complex algorithm reducing memory accesses may be too expensive. Notably a tight loop is faster than most things. Code is also subject to cache misses in the instruction pipeline so an algorithm can get too complex. > It seems to me that 1-at-a-time didn't depend on accessing memory more > than jenkins. This is true. As soon as the first bit of the key is peeked at, the entire key is probably already in fast cache. This is an example of locality of reference. Therefore it probably doesn't really matter that much. You are looping more frequently but then there are predictive branching and Jenkins has other overhead. Loop unrolling is difficult on variable length keys, but the compiler might unroll one-at-time to handle an entire word per loop. Thus the result is blurred. As long as the end result is a high quality hash and the hash isn't too slow, it may be more important how many collisions can be avoided. You simply have to performance test. > Using a big hash would stress the caching system, but we won't be > measuring the hash performance . Not in a major way, perhaps you are missing the point? I'm talking about using the 32bit (machine word) that is typically resulting from a hash key, not a full MD5 signature (although in some cases that might be relevant). It is true that storing the hash key takes up more memory and it may not necessarily pay off as discussed above. > Probably I misunderstood something, would you please explain me what > problem this algorithm could have with the cache stuff? The quality of the hash key affects the number of memory accesses and therefore the risc of cache miss. > I agree that maybe jenkins could exploit modern CPU superscalar arch, > but we miss the ability to inline the code reducing the number of > operations from 9n to 5n. Perhaps - but you could specialize the hash for short keys as I did for 32 bit. A lot of keywords are short. Jenkins did create the core Mix operation as a macro. But your argument may be valid and performance tests are, as usual, in place. Indeed I have had a very fast datastructure loose 50% or more of its performance on a lost inline opportunity in the lookup method (new processors may change this - IA64 have fast function calls using rolling stack). One thing that a typical performance test will not capture is the number of cache misses in real life operations because the test is constanly banging against the same datastructure and therefore downplays the risk of cache misses. This will give a worse but faster hash key an advantage, but it is equally likely to overestimate the need for large hash tables where the quality probably matters the most. > And, > (I didn't passed passed my CPU-related exam so good, so maybe I'm > wrong) having the work on 1 char per time won't damage the > parallelism, the cpu could work on more than one char at a time > anyway. I'm not up to speed on the latest CPU architectures, so I can only produce a qualified guess. I believe your point is not an unrealistic assumption for modern achitectures. Some older processors perform much worse on unaligned memory access (and some do not allow it, forcing the compiler to insert shift and mask instructions in the code). And some operate only on 8 bit anyway (microcontrollers, still going strong). The faster the processor, the less important the parallelism is (and hash function performance generally) because it is going to wait on the memory. By the way, speaking of achitectures, someone made the point that DDR RAM sometimes result in poor performance because it supposedly isn't very effective at filling meeting random access requests. That is, streamlined access as in video streaming is fast, but hash table lookups may be poor. Also, don't forget to add the cost of taking modulo prime on the final hash result in the non-Jenkins case. The modulo prime can be expensive. If the search key is short and the lookup hits perfect cache conditions, the modulos may take significant time - but then the latest processors may already have changed that. > It seems that 1-at-a-time scales well, and that it is actually better > than what we have in current ruby, at least it got less collision. I thought Jenkins carefully chose his function to produce fewer collisions, but that may be a tradeoff with avoding the use of modulo prime. > And well, the perl guys won't put it in 5.8 if it was'nt someway > better than the old :) Again, the hash key calculation cost is probably only the significant factor significant for small frequently used small hash tables. In conclusion there are so many different operating conditions, that it is difficult to predict what hash function will be best, or even if a hash table is the best overall. I have been working a lot with variants of B-Trees because they are more than adequately fast in most scenarios and scale pretty well when cache constraints starts to be significant, even (or especially) on-disk if allocation is done appropriately. A lot of people claim that the much simpler skip-list datastructure perform better than B-Trees. It doesn't. Someone made the counter-argument that B-Trees are faster due to the poor cache behavior of skip-lists and backed it up with tests. I reproduced the tests by implemting a skiplist and compared to a B-Tree implementation I had already made. The scan through a buffer of a small-fanned B-Tree node is fast both in terms of CPU and memory cache. Therefore I have great respect for cache behavior in datastructures. Mikkel