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.