MOO, IRC and the Web

Hi

(your comments snipped so I can archive this in www-archive)

re MOO / scalability:
Hardware's improved somewhat since those days, I imagine. Having the whole
thing in RAM is cheaper...


re running up a MOO server to shadow W3C IRC chat:
Very plausible. We already log the TAG and other chat using RDF vocab.
And I've done a bit of work in this vein...
http://ilrt.org/discovery/2001/03/rdf-moo/ for initial scribbles on a
mapping between MOO's model and RDF's.

I made some experiments with decorating an RDF graph with (shudder ;-)
Perl fragments for behaviour. Promising; halfbaked.

http://cvs.ilrt.org/cvsweb/rudolf-perl/samples/moo.rdf
http://cvs.ilrt.org/cvsweb/rudolf-perl/samples/moo.rdf?rev=1.1&content-type=text/vnd.viewcvs-markup

and
(this is the one with verbs)
http://cvs.ilrt.org/cvsweb/rudolf-perl/samples/verbmoo.rdf
http://cvs.ilrt.org/cvsweb/rudolf-perl/samples/verbmoo.rdf?rev=1.3&content-type=text/vnd.viewcvs-markup

example code:

fragment from (a verb 'look' attached to the class 'Location'):

  print (" ", moo_name $here , " \nLooking around, you can see:\n");
    print ("Details: ", moo_description $here , "\n");
    my @out =  $here->moo__locexit;
    foreach my $exit (@out) {
      my $x = new RDF::API::Node($exit, $data);
      print "\texit:  ",  $x->moo_name, " ". $x->moo_oid." ".join(" / ",$x->moo__direction ). "\n";
    }


...the RDF API used here overloads the Perl notion of methods via Perl
AUTOLOAD, which makes for confusing reading if you don't see what's going on.

RDF and MOO seem close enough for this to work, though I never got the
perl stuff to a usable state. I've since abandoned any attempt at getting
real work done in Perl, and rebuilt my RDF tools in Ruby. Haven't rebuilt
the MOO bit yet though.


> I've done quite a bit of MOO programming, actually. There are
> MOO-HTTP implementations, while you're at it.

Yes, I saw the MOO/Gopher writeup. Interesting work.

I'm hoping to animate 'classic MOO' objects by hooking them up to RDF data
sources and/or web services. Eg. the calendar in my MOO virtual office
should get its state from XML in the Web.

So two things going on here: hooking existing MOO code (xerox server +
some descent of the lambdamoo core) up to XML datasources, HTTP and IRC.
Meanwhile (more ambitious imho) rebuilding some MOO-like functionality on
top of RDF graph APIs.

The former _seems_ pretty easy. Rob (cc'd) has got all the right stuff, I
just need to make an installation on a w3c server, really. He can gateway chat
between IRC and MOO, which meaans that W3C MEmbers with telenet access but
IRC blocked by firewalls might have another way to join in.

The latter is something of a research topic... (this all being
evenings/weekends hacking for now. if there was a demand for this from W3C
AC Reps, might be able to spend a bit more time on it...).

Let me know if you've any ideas for trying this out in a W3C context,

cheers,

Dan


ps. we're chatting about this now in #rdfig
(http://www.w3.org/RDF/Interest/#irc) and the gatway stuff seems to work:

logs below (IRC first, then MOO. In the MOO it uses a 'channel'
metaphor...)




<syrinnia> danbri says, "I want to run up a copy of this on a w3c box
sometime, for folk who have telnet access but no IRC"
<syrinnia> danbri emote tries emoting
<dmiles-> well actually you can invoke the irc bot.. its almost done in
the moo.. they raun in the same object pole
<dmiles-> bsh: jamudInstance
<CycLBot> jamud.Jamud@7e8c4d
<syrinnia> danbri tries emoting in the MOO
* danbri emotes back from IRC
<danbri> logger, pointer
<logger> See http://ilrt.org/discovery/chatlogs/rdfig/2002-04-27#T17-30-51
<syrinnia> Wizard says, "logger, pointer"
<dmiles-> wow syrinnia is a MOO bot?
<dmiles-> neat
<syrinnia> danbri says, "Yes, syrinnia is Azaroth's MOO"
<dmiles-> excelent!
<syrinnia> danbri me sends a note to Larry Masinter
<azaroth> Currently I'm corifying it for Dan
[....]
<dmiles-> what language is the moo in?
<azaroth> Err, MOO ?
<dmiles-> or mud?
<azaroth> Which is to say that it's Xerox's LambdaMOO server, running a  seriously heavily modified lambdaCore

Here's the parallel log from the MOO:

[rdfig]: danbri tries emoting in the MOO
[rdfig]: [irc]: dmiles- says, "bsh: jamudInstance"
[rdfig]: [irc]: CycLBot says, "jamud.Jamud@7e8c4d"
Wizard says "And to emote, do   :<action>"
[rdfig]: [irc]: danbri emotes back from IRC
[rdfig]: [irc]: danbri says, "logger, pointer"
[rdfig]: [irc]: logger says, "See http://ilrt.org/discovery/chatlogs/rdfig/2002-04-27#T17-30-51"
[rdfig]: Wizard says, "logger, pointer"
[rdfig]: [irc]: dmiles- says, "wow syrinnia is a MOO bot?"
[rdfig]: [irc]: dmiles- says, "neat"
[rdfig]: danbri says, "Yes, syrinnia is Azaroth's MOO"
[rdfig]: [irc]: dmiles- says, "excelent!"
[rdfig]: danbri me sends a note to Larry Masinter
[rdfig]: [irc]: azaroth says, "Currently I'm corifying it for Dan"
[rdfig]: [irc]: azaroth says, "As I doubt that W3C folks really want to run around pretending to be vampires ;)"
[rdfig]: [irc]: dmiles- says, "ah opne s

Received on Saturday, 27 April 2002 13:41:15 UTC