Danopia, as he goes by online, commenced Ruby on Sails – a pun on both Google Wave and his programming language of choice, Ruby – on the 19th October. Within this short timeframe he has already produced a federated Google Wave provider.
During his project, Danopia created a reusable ProtoBuffer class that can be used by any Ruby project needing to parse or encode Google ProtoBuffers and will no doubt be built upon by Wave-related Ruby projects to come.
Additionally, for testing and debugging, Danopia constructed a lightweight telnet server to dump the list of waves to the terminal along with history. As well as being useful for administration in its own right, the code shows how simple it can be to interact with his Sails server.
Danopia is particularly proud of his achievement in implementing Federation. To the best of his knowledge, he has developed the only non-Google-written server with semi-working federation. Federation essentially means two distinct systems can interoperate; in other words, users of different Wave providers can send messages to Sails and vice versa.
Danopia’s project is impressive on two fronts; firstly, it is the work of a high schooler in between homework and classes. Danopia has taken on a project which is topical and current and which may intimidate older and more experienced developers.
Secondly, Danopia’s code is concise. The main Ruby code file is 865 lines including whitespace. The telnet server is 50 lines.
You can inspect Danopia’s implementation and GitHub project via the links on his blog.