4 Oct 2002 whytheluckystiff   » (Master)

wednesday i found some time to open the first public rpc server to use yaml
for passing data around.  in many ways, it's no big deal.  the script
is only 1.3k (ruby) large.  that includes client and server with built-in
introspection.  i may have gone overboard a bit on the introspection.
i have four methods found in xml-rpc servers (server.listMethods, 
server.methodHelp, server.getCapabilities and server.methodSignature),
as well as two that I added myself:

    o server.about, for giving a short description of the server.
    o server.methodBlank, returns a YAML document with a template
        for issuing a given method's request.

the server.methodBlank is going to be really useful for issuing rpc
through vim.  the goal is to be able to use vim as the client for ANY rpc
server, passing raw yaml, which is straightforward to create and edit by
hand.

boxcarring is built-in through yaml streams.  if you wanted help and signature
for examples.stringecho:

  --- !okay/rpc/method
  server.methodHelp: [ examples.stringecho ]
  --- !okay/rpc/method
  server.methodSignature: [ examples.stringecho ]

the response would come in a pair of respective documents:

  --- Accepts a string parameter, returns the string.
  --- [ str, str ]

rpc really is yaml's killer app, since typing and interoperability
between languages are already the focus of the spec.  the only trick with
designing the protocol was to find a concise way to represent the method
and its parameters.

it's a fun and difficult time for yaml.  we're pounding its spec down to obliterate
unneccessary features.  there's conflict, but there's always resolution.  what a
cool project ultimately.

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!