Go to the first, previous, next, last section, table of contents.

Interfacing To The World

Eric S Raymond says that one nice thing about Python is that "it comes with batteries included": It has good support out of the box for interfacing to a variety of net protocols.

Muq has a nice core engine, but it does not yet have this kind of connectivity support. An engine which cannot be hooked up to the load is pretty useless in practice, however beautiful its internals may be in principle, so I think providing such interfaces is a very high practical priority for Muq.

Particularly important:

Beyond that, the sky is the limit: LDAP, ICQ, SNMP, whatever -- the more, the merrier! CORBA support would be expecially nice. Or how about implementing support for the server end of the AlphaWorlds, Onlive! Worlds, Quake or Ultima Online protocols, say, so we can use the free clients available for them?

None of this requires knowledge or hacking of the Muq server internals: If someone else could do some of this stuff, it would free me up to spend more time improving the core server functionality.

For a first cut implementation, at least, I'd leverage (say) existing Perl implementations of these protocols, rather than re-inventing the wheel: Simple Perl scripts can be run from Muq via ]rootPopenSocket, with suitable MUF wrapper code making it all transparent to the Muq application programmer. When (and if!) the separate Perl processes become efficiency issues, we can consider doing native MUF implementations. Or See section Perl Compiler.

Similar comments apply to such things as interfacing Muq to standard engines such as gdbm: An external program linked to the relevant libraries, started up via ]rootPopenSocket and presented to the Muq application programmer via suitable wrappers can make another facet of the external world available to the Muq application programmer (and end-user).

How about a bridge allowing Muq to be used as a GIMP script language? This could allow (say) smart websites written in Muq to use the full power of GIMP to generate on-the-fly graphics. The existing Perl bridge to gimp could be re-used, at least for the first try.

Go to the first, previous, next, last section, table of contents.