If you’ve been in this industry for any time at all, you’ve seen most things get rewritten time and time again. Why did we all need new databases four years ago? Why do we need containers now? Weren’t they invented years ago? Didn’t virtualization exist way back in the Unix days?
And if you’ve been at all successful in this industry, you’ve learned that sometimes, yes, things need to be rewritten, and sometimes, no, they don’t.
At this point, Kenton Varda knows he’s repeating himself. He’s the guy who wrote most of Google’s open-source Protocol Buffers 2.0. Now, however, as cofounder of Sandstorm.io, he’s been focusing on rewriting that work in the form of Cap’n Proto.
Cap’n Proto, as Varda puts it, is like Protocol Buffers, only faster. It comes with not only the RPC side of the equation, it also contains a data interchange format, which he says is like JSON but binary.
Cap’n Proto encoding works both as a data interchange format and as an in-memory representation, allowing developers to quickly and easily write bytes to disk. Therefore, there is no encoding and decoding of the sent data, making Cap’n Proto significantly faster than traditional Protocol Buffers.
Cap’n Proto popped up this weekend as a popular link in a few development communities, prompting Varda to surface and comment on the work. He has not actually versioned Cap’n Proto since the 0.5.0 release, and his work at Sandstorm.io meant his Cap’n Proto commits of late go right to master, without version numbers.
However, the increased attention to Cap’n Proto through developer link sites and Hacker News prompted Varda to opine that he’d like to put together a new release of the platform in the coming weeks.
What’s holding him back, he said in a comment on Hacker News, is that a full release means testing on Windows and Mac, which he has not done in some time. Sandstorm.io is fully Linux-based, so he has not been keeping Cap’n Proto up to date with, for example, the latest C++11 support in Microsoft’s tool chains.
With any luck, though, Varda may be pushing out a new version of this interesting take on Protocol Buffers before the end of the year.