Wave Robot Ruby Client

4 views
Skip to first unread message

Sam Ruby

unread,
Jun 1, 2009, 6:35:28 PM6/1/09
to Google Wave API
Hi!

I'm interested in participating in the development of libraries for
Wave. I have some progress and some feedback:

http://intertwingly.net/blog/2009/06/01/Wave-Robot-Ruby-Client

- Sam Ruby

Austin

unread,
Jun 1, 2009, 6:48:26 PM6/1/09
to google-...@googlegroups.com
Hi Sam,

Wow this is awesome! Thanks a bunch :)

Austin

Jake Douglas

unread,
Jun 1, 2009, 6:59:48 PM6/1/09
to Google Wave API
Interesting. I'd love to see all the Python'ish semantics be gotten
rid of :)

Following on github.

Brian Kennish (Googler)

unread,
Jun 1, 2009, 7:15:40 PM6/1/09
to google-...@googlegroups.com
On Mon, Jun 1, 2009 at 3:35 PM, Sam Ruby <sa3...@gmail.com> wrote:

w00t, great work and feedback Sam!

Jack Danger Canty

unread,
Jun 1, 2009, 8:08:07 PM6/1/09
to google-...@googlegroups.com


2009/6/1 Sam Ruby <sa3...@gmail.com>


I'm interested in participating in the development of libraries for
Wave.  I have some progress and some feedback:

http://intertwingly.net/blog/2009/06/01/Wave-Robot-Ruby-Client

I've got a Ruby robot client in the works too: http://github.com/JackDanger/wave
I'm not going for a straight port of the Python client that David Byttow put together but rather a more Ruby-ish interface.  This is probably because I don't have much Python experience ;)  I can't wait to see what you come up with.  Hopefully we can collaborate on this whether we keep it as two projects or just one.

::Jack Danger Canty
 


- Sam Ruby


Sam Ruby

unread,
Jun 1, 2009, 8:54:51 PM6/1/09
to Google Wave API
On Jun 1, 8:08 pm, Jack Danger Canty <studiodan...@gmail.com> wrote:
> 2009/6/1 Sam Ruby <sa3r...@gmail.com>
If you are able to test against a live server, then I'm jealous. If
not, what documentation are you basing your implementation on?

In any case, feel fee to fork any or all of the code I created.

> ::Jack Danger Canty
- Sam Ruby

Jack Danger Canty

unread,
Jun 1, 2009, 10:55:13 PM6/1/09
to google-...@googlegroups.com
2009/6/1 Sam Ruby <sa3r...@gmail.com 
If you are able to test against a live server, then I'm jealous.  If
not, what documentation are you basing your implementation on?

In any case, feel fee to fork any or all of the code I created.

Heh, I wish I could test it.  I'm just making wild, wild guesses at this point.  Right now I have a pretty exhaustive test suite that certifies my code is, in fact, a Ruby library.  Beyond that it doesn't do much.

Yeah, I'd love to borrow what you put together.  I think we'll need a real team effort to keep up with this moving spec - especially if we never get sandbox access and I need to rely on my magic 8 ball for  guessing the API.

::Jack Danger Canty

Bastian Hoyer

unread,
Jun 2, 2009, 5:14:55 AM6/2/09
to google-...@googlegroups.com
since robots have to use app engine which only supports java and
python I guess it will be a bit complicated to test an ruby library
right now...

well... or you could create an proxy app engine project that forwards
the http calls to another server... but I guess that would reach the
quota for urlfetches fast.

Mohammady Mahdy

unread,
Jun 2, 2009, 5:29:27 AM6/2/09
to google-...@googlegroups.com
JRuby ftw ?

Bastian Hoyer

unread,
Jun 2, 2009, 6:04:59 AM6/2/09
to Google Wave API

oops. sure I forgot that .)

Sam Ruby

unread,
Jun 2, 2009, 8:08:18 AM6/2/09
to Google Wave API
On Jun 2, 5:14 am, Bastian Hoyer <daf...@gmail.com> wrote:
> since robots have to use app engine which only supports java and
> python

Clearly I'd like to see that situation change. I see nothing in the
architecture which supports such a limitation. Therefore, I'm trying
to influence the decision the only way I know how.

I believe that the earlier people like Jack Danger Canty and myself
can develop against the API, test for interop, and provide feedback on
the documentation, the better (and sooner!) the final result will be.

Yes, I am fully aware that the protocol will change, potentially
dramatically. In fact, I'm hoping it will!

- Sam Ruby

Jason Rush

unread,
Jun 2, 2009, 1:12:10 PM6/2/09
to Google Wave API
> I've got a Ruby robot client in the works too:http://github.com/JackDanger/wave

I've also spun up a project to create a robot client for Ruby:
http://github.com/diminish7/rave.
It's a similar approach to Jack Danger's in that it is trying to
replace Python-isms with Ruby-isms. We should discuss collaborating!

Jason Rush

Sam Ruby

unread,
Jun 2, 2009, 5:45:36 PM6/2/09
to Google Wave API
Given that we can't test yet with a real server, what is most
important to me is that the Python tests be ported and maintained;
hence that's how I started.

Both of you have focused on cleaner APIs. If the tests I ported could
be upgraded to the newer APIs while retaining the original function of
the tests, then that's an effort I could get behind.

> Jason Rush

- Sam Ruby

Jack Danger Canty

unread,
Jun 2, 2009, 6:37:38 PM6/2/09
to google-...@googlegroups.com


2009/6/2 Sam Ruby <sa3...@gmail.com>
Both of you have focused on cleaner APIs.  If the tests I ported could
be upgraded to the newer APIs while retaining the original function of
the tests, then that's an effort I could get behind.
- Sam Ruby

Agreed.  I'm hoping to write a really, really clean api for small embeddable Ruby robots a la:

Wave::Robot.define "Greeter",
                             :image_url => "/img.jpg",
                             :profile_url => "/greeter.html" do |robot|
  robot.wavelet_participants_changed do |wavelet, participants, etc.|
    # greet the new folks on the wavelet
  end
end

But the actual implementation of applying operations to documents is something I'm still a ways off from writing.  I'm hoping somebody else does it all first.

::Jack Danger Canty


Sam Ruby

unread,
Jun 2, 2009, 10:42:09 PM6/2/09
to Google Wave API
On Jun 2, 6:37 pm, Jack Danger Canty <studiodan...@gmail.com> wrote:
> 2009/6/2 Sam Ruby <sa3r...@gmail.com>
>
> > Both of you have focused on cleaner APIs.  If the tests I ported could
> > be upgraded to the newer APIs while retaining the original function of
> > the tests, then that's an effort I could get behind.
> > - Sam Ruby
>
> Agreed.  I'm hoping to write a really, really clean api for small embeddable
> Ruby robots a la:
>
> Wave::Robot.define "Greeter",
>                              :image_url => "/img.jpg",
>                              :profile_url => "/greeter.html" do |robot|
>   robot.wavelet_participants_changed do |wavelet, participants, etc.|
>     # greet the new folks on the wavelet
>   end
> end

Cool. I hope that this uses rack.

> But the actual implementation of applying operations to documents is
> something I'm still a ways off from writing.  I'm hoping somebody else does
> it all first.

Everything that the Python client does, I've ported to Ruby. Every
test that the Python client has, I've not only ported to Ruby, but got
to pass. Whether this is sufficient coverage or not, I can't say.

MikeSofaer

unread,
Jun 4, 2009, 10:30:54 PM6/4/09
to Google Wave API
Hi Sam,

I've started to work on a simple Jruby/Sinatra/WaveAPI robot. I hope
I can get something basic but functional put together soon, for people
who want to build robots in Ruby. Thanks for the head-start with the
porting!

-Michael

Jorge Vargas

unread,
Jun 7, 2009, 12:29:53 AM6/7/09
to google-...@googlegroups.com
On Tue, Jun 2, 2009 at 8:08 AM, Sam Ruby<sa3...@gmail.com> wrote:
>
> On Jun 2, 5:14 am, Bastian Hoyer <daf...@gmail.com> wrote:
>> since robots have to use app engine which only supports java and
>> python
>
> Clearly I'd like to see that situation change.  I see nothing in the
> architecture which supports such a limitation.  Therefore, I'm trying
> to influence the decision the only way I know how.
>

I'm 99% sure the appengine restriction is so they can kill a bot that
is misbehaving.

Brett Morgan

unread,
Jun 8, 2009, 6:04:43 AM6/8/09
to google-...@googlegroups.com
I suspect the app engine team might have issues with that. =)
--

Brett Morgan http://brett.morgan.googlepages.com/
Reply all
Reply to author
Forward
0 new messages