“Thomas Gagné” tgagne@wide-open-west.com wrote in message
news:3DDBE15E.3080600@wide-open-west.com…
I am curious if a) I can enlist anyone’s help here doing it
and b) how difficult do you think it might be?
It’s fairly easy to write Ruby extensions, and since the API is pretty
straightforward, it shouldn’t be a major concern.
I don’t know how the other language bindings were written, but given that
the entire system is socket based, it would be really nice if the client API
could be written in 100% pure Ruby.
Ruby already has good socket support and most of isectd client code is
socket abstraction in C. The benefit would be that any Ruby program would be
able to interoperate out of the box without requiring extension dll’s which
would have to be ported and installed. Furthermore, it would make the Ruby
port simpler, although writing a binding as not difficult.
If you consider 100% pure Ruby as a viable approach, I suggest reading the
DDJ article - it’s got simple client server examples and is a quick read.
Although we know Ruby better than you, you know isectd better than us, and
Ruby is not difficult. Just be aware of some socket issues on Windows that
supposedly has been fixed in Ruby stable release 1.6.8 and dev. release
1.7.3.
I’m not into Ruby on Linux, but it’s readily avaialbe. There are good
installers for Windows.
Ruby in itself functions as similar middleware and there has been written
several distributed projects - see for instance drb:
http://www.pragmaticprogrammer.com/ruby/articles/drb.html and
http://www.ddj.com/articles/2002/0209/ (DDJ seems down at the time of
writing).
Still it would be nice to plug into a cross language, cross platform system
such as isectd.
References:
http://www.ruby-lang.org
http://c2.com/cgi/wiki?RubyLanguage
Ruby kickstart:
good DDJ article: http://www.ddj.com/articles/2001/0101/0101b/0101b.htm
Presentation:
http://www.pragmaticprogrammer.com/talks/introruby/introruby.htm
There is an online version of the Pragmatic Programmers “Programming Ruby”,
aka “The Pick Axe book” which is the de facto Ruby Bible - rubycentral DNS
currently doesn’t work for the time being, so use the IP version below.
http://www.rubycentral.com/book
http://165.193.140.17/book/
Mikkel