Czemu nie działa Rinda?

Witam.
Robię przykład z książki i nie wiem czemu nie działa:
Uruchamiam serwer nasłuchujący na porcie tak jak pokazano w literaturze:

[code]require ‘rinda/tuplespace’

ts=Rinda::TupleSpace.new
DRb.start_service(‘druby://localhost:1234’, ts)
gets[/code]
A potem uruchamiam klienta 2-wątkowego. Coś ta krotka nie chce działać.
O CO CHODZI?
Myslalem ze linux jest walniety, zainstalowalem pod windowsem i to samo.
Efekt - nic się nie wyświetla

[code]require ‘rinda/tuplespace’

DRb.start_service
ts=DRbObject.new(nil,‘druby://localhost:1234’)

producer = Thread.new do
item=0
loop do
sleep.rand(0)
puts “Wysylka #{item}”
ts.write[“Item”,item]
item += 1
end
end

consumer = Thread.new do
loop do
sleep rand(0)
tuple= ts.take[“Item”,item]
word,item = tuple

puts “Odbior #{item}”
end
end

sleep 60[/code]

Jakoś nie widzę w tym drugim kodzie Rindy tylko DRbObject… a to nie to samo przecież.

No nie do końca chyba. Po pierwsze, to jest z książki. Dokładnie dzisiaj jeszcze poczytałem. I poszukałem w necie. Niżej linki.
A po drugie to jest logiczne: bo uruchamiasz usługę DRb, podajesz do niej adres IP+port i dodajesz obiekt - właśnie przestrzeń krotek (w moim przykładzie dodaję jako drugi argument-obiekt ts=Rinda::TupleSpace.new)

A klient używa DRbObject.new po to, żeby tę krotkę z tego rejestru doczytać.
Zatem u klienta nie musi być widoczne Tuple.Space.

Tutaj masz linka, gdzie jest analogicznie pokazane już na samym początku. Dalsza część przykładu opiera się o RingServer, ale początek jest analogiczny jak mój:
http://www.datanoise.com/articles/2006/8/24/what-is-rinda-anyway

A tutaj cytat:

"When it is started, it will print URI that a client script can use to find our TupleSpace. Below is the code that a client script should use to find our TupleSpace:

[quote]require “rinda/rinda”

URI = "..." # our TupleSpace URI
include Rinda
DRb.start_service

ts = DRbObject.new(nil, URI)[/quote]
To chyba jakiś bug w rubym czy co?