Jay McGavren's Journal

2009-08-08

Ooh, purty...

mouse_client.rb:

require 'rubygems'
require 'wx'
require 'rinda/rinda'

MY_URI = "druby://127.0.0.1:9999"
TIME_TO_LIVE = 10

class MouseClient  [800, 600],
      :title => "Click and Drag"
    )
    frame.evt_close {exit}
    frame.evt_motion {|event| on_mouse_motion(event)}
    frame.evt_left_down {|event| on_mouse_press(event)}
    frame.evt_left_up {|event| on_mouse_release(event)}
    frame.show
  end

  def on_mouse_motion(event)
    return unless event.dragging
    space.write ["Integer:x", event.x], TIME_TO_LIVE
    space.write ["Integer:y", event.y], TIME_TO_LIVE
  end

  def on_mouse_press(event); end
  def on_mouse_release(event); end

end

client = MouseClient.new

DRb.start_service
client.space = Rinda::TupleSpaceProxy.new(DRbObject.new(nil, MY_URI))
client.main_loop

string_length_agent.rb:

require 'rinda/rinda'
MY_URI = ARGV[0] || "druby://127.0.0.1:9999"
DRb.start_service
space = Rinda::TupleSpaceProxy.new(DRbObject.new(nil, MY_URI))

def scale(value)
  @largest_seen = value if @largest_seen == nil or value > @largest_seen
  value.to_f / @largest_seen
end

loop do
  key, value = space.take([/Integer/, nil])
  puts "#{key}: #{'|' * (scale(value) * 68.0)}"
end

The result:

Integer:x: ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Integer:y: ||||||||||||||||||||||||||||||||||||||||
Integer:x: ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Integer:y: ||||||||||||||||||||||||||||||||||||||||||
Integer:x: ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Integer:y: ||||||||||||||||||||||||||||||||||||||||||||
Integer:x: ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Integer:y: |||||||||||||||||||||||||||||||||||||||||||||
Integer:x: ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Integer:y: |||||||||||||||||||||||||||||||||||||||||||||||
Integer:x: ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Integer:y: |||||||||||||||||||||||||||||||||||||||||||||||||
Integer:x: ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Integer:y: |||||||||||||||||||||||||||||||||||||||||||||||||||||
Integer:x: ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Integer:y: |||||||||||||||||||||||||||||||||||||||||||||||||||||
Integer:x: ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Integer:y: |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Integer:x: ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Integer:y: |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Integer:x: ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Integer:y: |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Integer:x: ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Integer:y: |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Integer:x: |||||||||||||||||||||||||||||||||||||||||||||||||||||
Integer:y: |||||||||||||||||||||||||||||||||||||||||||||||||||
Integer:x: |||||||||||||||||||||||||||||||||||||||||||||||
Integer:y: |||||||||||||||||||||||||||||||||||||||||||||||
Integer:x: ||||||||||||||||||||||||||||||||||||||||||||
Integer:y: ||||||||||||||||||||||||||||||||||||||||||||
Integer:x: ||||||||||||||||||||||||||||||||||||||
Integer:y: ||||||||||||||||||||||||||||||||||||||||
Integer:x: |||||||||||||||||||||||||||||||||
Integer:y: ||||||||||||||||||||||||||||||||||||||
Integer:x: |||||||||||||||||||||||||||||
Integer:y: |||||||||||||||||||||||||||||||||
Integer:x: |||||||||||||||||||||||||
Integer:y: |||||||||||||||||||||||||||
Integer:x: |||||||||||||||||||||||
Integer:y: |||||||||||||||||||||||
Integer:x: |||||||||||||||||||||||
Integer:y: ||||||||||||||||||||
Integer:x: ||||||||||||||||||||||
Integer:y: ||||||||||||||||
Integer:x: ||||||||||||||||||||||
Integer:y: ||||||||||||||
Integer:x: |||||||||||||||||||||||
Integer:y: ||||||||||||||
Integer:x: |||||||||||||||||||||||||
Integer:y: ||||||||||||||
Integer:x: |||||||||||||||||||||||||||
Integer:y: ||||||||||||||
Integer:x: |||||||||||||||||||||||||||||||
Integer:y: ||||||||||||
Integer:x: |||||||||||||||||||||||||||||||||
Integer:y: ||||||||||||
Integer:x: ||||||||||||||||||||||||||||||||||
Integer:y: ||||||||||||
Integer:x: ||||||||||||||||||||||||||||||||||
Integer:y: ||||||||||||||
Integer:x: ||||||||||||||||||||||||||||||||||
Integer:y: ||||||||||||||||||
Integer:x: ||||||||||||||||||||||||||||||||||
Integer:y: ||||||||||||||||||||
Integer:x: ||||||||||||||||||||||||||||||||||
Integer:y: ||||||||||||||||||||||
Integer:x: ||||||||||||||||||||||||||||||||||
Integer:y: |||||||||||||||||||||||
Integer:x: ||||||||||||||||||||||||||||||||||
Integer:y: |||||||||||||||||||||||||
Integer:x: |||||||||||||||||||||||||||||||||
Integer:y: |||||||||||||||||||||||||
Integer:x: |||||||||||||||||||||||||||||||
Integer:y: |||||||||||||||||||||||||
Integer:x: |||||||||||||||||||||||||||||
Integer:y: |||||||||||||||||||||||||
Integer:x: |||||||||||||||||||||||||||
Integer:y: |||||||||||||||||||||||||
Integer:x: |||||||||||||||||||||||||||
Integer:y: ||||||||||||||||||||||
comments powered by Disqus