I've used protocol buffers on a large project, evolving the messages over time. They are a fine choice.
The tone of this article is a little less than objective which I feel discredits it a bit. But hey it made it to the front page of hacker news so...