[beepcore-ruby-discuss] Re: Decisions, decisions
Status: Planning
Brought to you by:
dmoniz
|
From: Dan M. <dn...@po...> - 2002-09-28 09:22:06
|
In a previous mail to the list that I didn't see because I wasn't
subscribed (oops!), Jim Greer wrote:
>Greetings, all. I'm Jim Greer, a fellow Ruby enthusiast who is interested
>in BEEP, though I can't claim significant work using either. I am
>interesting in contributing to this project. I have a few questions, though:
>
>Q1) What is this project?
>
>That is, what is the scope of the intended work?
>
>A reference implementation of BEEP in Ruby? (correct)
>The definitive core implementation of BEEP in Ruby? (correct & good)
>A complete BEEP implementation in Ruby? (complete)
I started the project originally with the intent to provide an
implementation of the "BEEP core" as defined in RFC 3080 and RFC 3081 in
Ruby. This fulfills the second description and the third description, as
long as you don't include things like APEX and Reliable Syslog, which are
built with BEEP (on top of BEEP) in the idea of a "complete BEEP
implementation".
Having said that, once the core is done, APEX and friends are definitely
things I want to work with. The core needs to be there first, however, for
everything else to work.
>Q2) How will this project differ from other BEEP implemetations?
>
>By language of implementation only? (Ruby)
>By reflection of language idiom(s) for more natural expression of the
>problem? (Rubyifed BEEP)
I think it'll differ in both the ways mentioned, starting out with the
first criteria as it's most obvious and hard to escape. Over time, the
second criteria will naturally be met if we do a good job -- a BEEP core in
Ruby that reads like Tcl or Java wouldn't be very good Ruby.
There will likely be some growing pains as each of transitions from what we
know to Ruby, so I don't expect code to be perfect idiomatic Ruby for quite
a while, instead, we'll evolve towards it as we get a better sense of BEEP
and the mapping to Ruby as a language. Until then, I fully expect to crib
from other existing BEEP core implementations to use as a skeleton.
>Q3) Have any of you thoughts about your initial and long-term design and
>implementation strategies?
>
>{ natural implications from above }
>Candidate objects, anyone?
>
>Use SWIG + reference C-BEEP, concentrating on integration level work?
>Use SWIG + custom C-BEEP?
>'Native' BEEP implementation?
If I understand your question correctly, I'm going after a native
implementation in 100% pure Ruby. Again, I expect to do a lot of hard
looking at other BEEP core implementations (namely beepcore-java and
potentially beepcore-tcl) and copying the general layout where it makes
sense to do so, to give the project a starting point.
>Q4) Has anyone got a driver project that we can use to tout our
>implementation?
Well, I _did_, when I originally started this. I had planned to build
beepcore-ruby out in the open and use it internally at the company I was
working for at the time to prototype a lot of ideas we had kicking about.
We were in the peer-to-peer network and application space, and I really
thought we should be using BEEP and APEX at the time, rather than crafting
our own ad hoc protocols.
Michael wants to use BEEP to power MUES, a MUD he's building. Michael, can
you talk about that in some detail?
>Q5) Any ideas on timeline/goals?
As it is, I'm way past all my original idyllic deadlines, but that's okay.
I've also been dragging my feet since Michael first contacted me and got me
rolling on this again, but thanks to increasing interest, such as from
people like you, I'm more motivated than ever. I'm trying very hard to make
beepcore-ruby my primary free-time hacking project. We'll see how it goes.
As for general immediate milestones, I promised Michael a rough design doc
months ago and still haven't gotten that out. After that, it's time to
build the scaffolding that'll follow the design and allow us to start
writing code. I expect and hope for a lot of discussion at this stage so
that we can get everyone's thoughts in.
Thanks for your questions!
--
Dan Moniz <dn...@po...> [http://www.pobox.com/~dnm/]
|