Short TODO list. There sure is more things to do. - Make server really >2GB proof. - Implement a server library that can be integrated to other programs. - Add timeout parameters to client libraries. Or at least make read/write calls to fail if server seems to be jammed forever. - Implement connection timeout in server side at least for situations where server has pending writes and client doesn't seem to read it in reasonable time. - Password exchange mechanism that doesn't reveal password to the eavesdropper. - Protocol version 1.1 with encryption.