A series of blog postings, implementing a 9p server from scratch.
I wrote a 9p server and lib in Go for myself, and learnt 2 things.
Write libraries and not frameworks unless you are solving the same problem again and again. It was very hard to abstract anything a 9p server author might want… Sometimes they want one thread, sometimes a thread pool, sometimes a thread per request, it was too difficult for me to make a good abstraction… but you CAN make it easy for them to deal with the primitives like packets, and writing data over sockets, reading data and perhaps a function or two that does some of the tricky logic on a simple abstract interface that doesn’t assume control flow control. If you are going to write a framework, at least do it built up from a dependency light set of primitive libraries.
Erlang style binary matching is missing from so many languages.