[#388484] ruby-doc.org has been updated — James Britt <james.britt@...>

Ruby-doc.org has been updated.

22 messages 2011/10/03

[#388492] Operator Overloading — Thescholar Thescholar <thescholar@...>

Let's suppose I have a class like this one and then I create two

28 messages 2011/10/04
[#388515] Re: Operator Overloading — "Darryl L. Pierce" <mcpierce@...> 2011/10/04

On 10/04/2011 01:11 AM, Thescholar Thescholar wrote:

[#388518] Re: Operator Overloading — Brian Candler <b.candler@...> 2011/10/04

Darryl Pierce wrote in post #1024950:

[#388519] Re: Operator Overloading — "Darryl L. Pierce" <mcpierce@...> 2011/10/04

On 10/04/2011 10:03 AM, Brian Candler wrote:

[#388520] Re: Operator Overloading — Adam Prescott <adam@...> 2011/10/04

On Tue, Oct 4, 2011 at 3:53 PM, Darryl L. Pierce <mcpierce@gmail.com> wrote:

[#388523] Local vs method vs instance (was: Operator Overloading) — "Darryl L. Pierce" <mcpierce@...> 2011/10/04

On 10/04/2011 11:11 AM, Adam Prescott wrote:

[#388526] Re: Local vs method vs instance (was: Operator Overloading) — Jes俍 Gabriel y Gal疣 <jgabrielygalan@...> 2011/10/04

On Tue, Oct 4, 2011 at 5:31 PM, Darryl L. Pierce <mcpierce@gmail.com> wrote=

[#388558] question about method — "Joseph S." <musician_joe777@...>

AC = 14

12 messages 2011/10/04

[#388595] Read thru Csv file and store it in variables — ideal one <idealone5@...>

HI All,

9 messages 2011/10/05

[#388601] How to output an instance's type — Viaduct Productions <lists@...>

Hiya folks.

21 messages 2011/10/05
[#388603] Re: How to output an instance's type — Kassym Dorsel <k.dorsel@...> 2011/10/05

By type you want the variables class ?

[#388610] Re: How to output an instance's type — Viaduct Productions <lists@...> 2011/10/05

Hi Kassym. Thanks for the post.

[#388612] Re: How to output an instance's type — Kassym Dorsel <k.dorsel@...> 2011/10/05

Viaduct Productions wrote in post #1025201:

[#388636] Re: How to output an instance's type — luke gruber <luke.gru@...> 2011/10/06

>How do I output the type of a variable?

[#388644] Re: How to output an instance's type — Viaduct Productions <lists@...> 2011/10/06

Hi Luke. Thanks for the reply.=20

[#388650] Cheapest way to host low-traffic small-footprint Rails app? — Intransition <transfire@...>

I have a commercial Radiant-based website that I manage for a small-

18 messages 2011/10/06
[#388653] Re: Cheapest way to host low-traffic small-footprint Rails app? — Phillip Gawlowski <cmdjackryan@...> 2011/10/06

On Thu, Oct 6, 2011 at 2:47 PM, Intransition <transfire@gmail.com> wrote:

[#388660] Re: Cheapest way to host low-traffic small-footprint Rails app? — Dan Nachbar <dan@...> 2011/10/06

On Oct 6, 2011, at 8:53 AM, Phillip Gawlowski wrote:

[#388662] Re: Cheapest way to host low-traffic small-footprint Rails app? — Viaduct Productions <lists@...> 2011/10/06

What do people consider "cheap"? You want scalability? Support? =20

[#388728] How to make Saas application? Is it possible? — Асет Орымбаев <asetpochta@...>

SGkgZXZlcnlib2R5IQoKSSB3YW50IHRvIGtub3csIGlzIGl0IHBvc3NpYmxlIHRvIGNyZWF0ZSBT

8 messages 2011/10/07

[#388812] require -- looking in rubygems, now "." — "charles a." <charles.agriesti@...>

irb

11 messages 2011/10/09

[#388855] why does `a + f b` not parse? — Martin DeMello <martindemello@...>

ruby-1.9.2-p0 > 2 + sqrt 5

18 messages 2011/10/11
[#388857] Re: why does `a + f b` not parse? — Wayne Brissette <waynefb@...> 2011/10/11

[#388858] Re: why does `a + f b` not parse? — Dave Aronson <rubytalk2dave@...> 2011/10/11

On Tue, Oct 11, 2011 at 06:32, Wayne Brissette <waynefb@earthlink.net> wrote:

[#388861] Re: why does `a + f b` not parse? — Phillip Gawlowski <cmdjackryan@...> 2011/10/11

On Tue, Oct 11, 2011 at 1:02 PM, Dave Aronson

[#388862] Re: why does `a + f b` not parse? — jake kaiden <jakekaiden@...> 2011/10/11

Phillip Gawlowski wrote in post #1026042:

[#388864] Re: why does `a + f b` not parse? — Bartosz Dziewoński <matma.rex@...> 2011/10/11

Yes, I think we all know that; the question is, why does 2 + sqrt(5)

[#388881] gem directory not find — Sam Porwal <pawan.porwal@...>

Hi All,

11 messages 2011/10/11

[#388945] What’s the best way of checking if an argument has been given or not? — Nikolai Weibull <now@...>

Hi!

19 messages 2011/10/14
[#388950] Re: What’s the best way of checking if an argument has been given or not? — jake kaiden <jakekaiden@...> 2011/10/14

...probably not the *best* way, but this works:

[#388952] Re: What’s the best way of checking if an argument has been given or not? — Bartosz Dziewoński <matma.rex@...> 2011/10/14

You can use this syntax, too. "args" becomes an array of all arguments given.

[#388954] Re: What’s the best way of checking if an argument has been given or not? — Nikolai Weibull <now@...> 2011/10/14

On Fri, Oct 14, 2011 at 15:29, Bartosz Dziewo=C5=84ski <matma.rex@gmail.com=

[#388958] Re: What’s the best way of checking if an argument has been given or not? — Chris Hulan <chris.hulan@...> 2011/10/14

You could do it as a wrapper:

[#388961] Re: What’s the best way of checking if an argument has been given or not? — Nikolai Weibull <now@...> 2011/10/14

On Fri, Oct 14, 2011 at 15:51, Chris Hulan <chris.hulan@gmail.com> wrote:

[#388962] Re: What’s the best way of checking if an argument has been given or not? — Chris Hulan <chris.hulan@...> 2011/10/14

You said you didn't want to manually do it, this lets the interpreter

[#388970] Re: What’s the best way of checking if an argument has been given or not? — luke gruber <luke.gru@...> 2011/10/14

Hmm, if you really don't want to use the splat *args, you could create a

[#388972] Re: What’s the best way of checking if an argument has been given or not? — Jens Wille <jens.wille@...> 2011/10/14

luke gruber [2011-10-14 17:15]:

[#388947] Beginning — "Junayeed Ahnaf Nirjhor" <zombiegenerator@...>

Hello,

19 messages 2011/10/14

[#389025] writing a poem backwards or in reverse order — Teresa Nguyen <s-unguyen2@...>

i would like to write a poem using nano and through ruby I would like to

18 messages 2011/10/16
[#389036] Re: writing a poem backwards or in reverse order — Jes俍 Gabriel y Gal疣 <jgabrielygalan@...> 2011/10/16

On Sun, Oct 16, 2011 at 2:04 AM, Teresa Nguyen

[#389026] 'gem install' help please — Kaye Ng <sbstn26@...>

Hi.

18 messages 2011/10/16

[#389037] Ruby and threading — Carter Cheng <cartercheng@...>

Hello,

32 messages 2011/10/16
[#389038] Re: Ruby and threading — Josh Cheek <josh.cheek@...> 2011/10/16

On Sun, Oct 16, 2011 at 3:50 AM, Carter Cheng <cartercheng@gmail.com> wrote:

[#389195] Re: Ruby and threading — Josh Cheek <josh.cheek@...> 2011/10/19

On Sun, Oct 16, 2011 at 4:03 AM, Josh Cheek <josh.cheek@gmail.com> wrote:

[#389340] security thesis advice — Jorge Bo <jorgebo10@...>

Hi,

19 messages 2011/10/22

[#389465] Modify only a .rb file, but not other .rb files, while still extending core classes? — Marc Heiler <shevegen@...>

Given is a small .rb file.

8 messages 2011/10/26

[#389553] "A" and "an" articles in front of words — Faith Tarcha <faith@...>

Hello guys, I have two objects that consist of arrays and I am suppose

29 messages 2011/10/29
[#389587] Re: "A" and "an" articles in front of words — jake kaiden <jakekaiden@...> 2011/10/31

hi Faith,

[#389598] Re: "A" and "an" articles in front of words — Dave Aronson <rubytalk2dave@...> 2011/10/31

On Sun, Oct 30, 2011 at 22:23, jake kaiden <jakekaiden@yahoo.com> wrote:

[#389789] Re: "A" and "an" articles in front of words — steve ross <cwdinfo@...> 2011/11/06

Sorry to be late to the party on this one, but a regex seems a bit of a =

[#389791] Re: "A" and "an" articles in front of words — Hassan Schroeder <hassan.schroeder@...> 2011/11/06

On Sun, Nov 6, 2011 at 12:59 PM, steve ross <cwdinfo@gmail.com> wrote:

[#389795] Re: "A" and "an" articles in front of words — Peter Camilleri <pdc.cse@...> 2011/11/06

Indeed. My understanding is that the usage of a/an depends on the

[#389859] Re: "A" and "an" articles in front of words — Gonçalo C. Justino <goncalo.justino@...> 2011/11/08

> Indeed. My understanding is that the usage of a/an depends on the

[#389590] Vim Ruby Config — "Junayeed Ahnaf Nirjhor" <zombiegenerator@...>

Hello,

13 messages 2011/10/31

Re: Ruby and threading

From: Tony Arcieri <tony.arcieri@...>
Date: 2011-10-19 17:00:33 UTC
List: ruby-talk #389215
On Wed, Oct 19, 2011 at 8:32 AM, Josh Cheek <josh.cheek@gmail.com> wrote:

> When it's in a lib you don't control, it's useful. A wrapped C lib is
> probably the best example, but even if its in someone else's gem, it's
> relevant. Debugging libs takes a lot of time and effort, especially for
> something nondeterministic that may or may not reproduce itself.
>
> Rbx / JRuby / MacRuby will need resources to educate their users about how
> to write safe code, and may also need to maintain a list of safe gems.
>

The GIL doesn't eliminate the importance of writing thread safe code, it
just masks the symptoms of unsafe code in certain cases.

It's not some magical panacea. Users of Ruby 1.9 who use threads need to be
just as vigilant about the thread safety of their code. Otherwise their
programs are working by accident, such as your "needs_gil.rb". The fact that
program works is an implementation detail of the GIL on 1.9.2, it's not as
if Matz has said "all operations on arrays should be automatically thread
synchronized", which is still possible on VMs without a GIL (although I'm
surprised the above doesn't trigger a ConcurrentModificationException on
JRuby)

As an example of thread safety problems even with a GIL, try running the
following on 1.9.2:

-- snip --
require 'thread'

numbers = [0]
threads = []
#lock = Mutex.new

100.times do
  threads << Thread.new do
    size = nil

    begin
      #lock.synchronize do
        value = rand(101)
        if value == numbers.last + 1
          sleep 0.01
          numbers << value
        end

        size = numbers.size
      #end
    end while size < 100
  end
end

threads.each(&:join)
p numbers
-- snip --

It's a bit contrived and goofy, but whatever. The output should look like
this:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
97, 98, 99,100]

However if you run the above code with the lock commented out, even on 1.9.2
you'll get something like this instead:

[0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2]

Broken, thread-unsafe code is broken, thread-unsafe code. It doesn't matter
if it magically happens to work by accident in 1.9.2. It's still broken. The
GIL doesn't mean you can avoid teaching users of threads about thread
safety, or that you don't need to maintain a list of safe gems (
railsplugins.org is trying to do this, BTW, although I wish it were built
into RubyGems). You still need to do these things on 1.9.2. The difference
is the GIL will *mask* certain thread safety bugs, but not all of them.

"I don't need to worry about thread safety because the GIL will take care of
it for me" is definitely the wrong attitude.

-- 
Tony Arcieri

In This Thread