TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Cap'n Proto 0.6 released – 2.5 years of improvements

336 pointsby 0x1997about 8 years ago

14 comments

DonbunEf7about 8 years ago
As usual, nobody has said &quot;capability&quot; yet, which is unfortunate, because one of Capn&#x27;s biggest strengths is that it embodies the object-capability model and is cap-safe as a result.<p>Edit: Why does this matter? Well, first, it matters because so little software is capability-safe. Capn&#x27;s RPC subsystem is based directly upon E&#x27;s CapTP protocol. (E is the classic capability-safe language.) As a result, the security guarantees afforded by cap-safe construction are <i>extended across the wire</i> to cover the entire distributed system. This security guarantee holds even if not every component of individual nodes is cap-safe, and that&#x27;s how Sandstorm works.<p>Continuing on, there&#x27;s also historical stuff going on. HN loves JSON; JSON is based on E&#x27;s DataL mini-language for data serialization. HN loves ECMAScript; ES&#x27;s technical committee is steered by ex-E language designers who have been porting features from E into ES.
评论 #14247992 未加载
评论 #14248833 未加载
评论 #14247449 未加载
drejabout 8 years ago
This might be a contrarian view, maybe I&#x27;m misunderstanding it. To me, much of message passing is not performance critical, so it would be well served by JSON&#x2F;YAML&#x2F;XML for easy implementation&#x2F;testing&#x2F;debugging. If one needs performance, he can just send bytes over, which can be (de)serialised in a (couple) dozen SLOC. Sure, when you&#x27;re talking about very complex structures, RPC, dynamic schemas etc., then you might opt for something like this, but let&#x27;s be honest - that&#x27;s quite a minority of current users, isn&#x27;t it?<p>I never minded these frameworks, but then I wanted to write a few parsers for some file formats and they used Thrift&#x2F;Flatbuffers to encode a few ints, which seemed like a major overkill. There was no RPC, no packet loss, no nothing.
评论 #14244882 未加载
评论 #14245089 未加载
评论 #14245581 未加载
评论 #14244855 未加载
评论 #14244854 未加载
评论 #14245341 未加载
评论 #14248492 未加载
评论 #14244887 未加载
评论 #14253201 未加载
评论 #14246138 未加载
pagnolabout 8 years ago
Some time ago I wanted to use Cap&#x27;n Proto in the browser but then I found that the only existing implementation written in JavaScript hadn&#x27;t been updated in two years and the author himself recommended against its use somewhere in a thread on Stackoverflow. I would love to use Cap&#x27;n Proto but for me a robust JS implementation is a sine qua non. Does anyone here happen to know if there&#x27;s been any progress in this regard or have I missed something?
评论 #14244714 未加载
评论 #14244749 未加载
评论 #14245431 未加载
评论 #14254281 未加载
评论 #14250507 未加载
hellofunkabout 8 years ago
There is some strange geeky enjoyment from browsing all the serialization libraries out there. For my taste, I have centered on Cereal. When workind with C++ end to end, I have found it to be the easiest and fastest way to throw data around.
评论 #14244324 未加载
评论 #14244709 未加载
forrestthewoodsabout 8 years ago
Woohoo! Lack of first class Windows support always held me back. Looking forward to playing with this and seeing hopefully more regular future updates.
ipsum2about 8 years ago
Great stuff! Since this release comes after the release of GRPC and (slightly less related) Graph API and ships with a web server, how does it compare?
评论 #14244540 未加载
makmanalpabout 8 years ago
What always trips me up about capnproto is that it&#x27;s billed as a serialization library, but what it is is an in-memory storage layout, and &quot;serialization&quot; is mostly just dumping memory into a file, right? (which is cool)<p>What confuses me is, then what are the costs of migrating to this system? Am I essentially dumping my programming language&#x27;s object model for my capnproto implementation&#x27;s? When can this be annoying? Or does it vary from implementation to implementation?<p>In a similar tangent - how similar is this to apache arrow, not because of the columnar analytics part, but could I expect to just dump a bunch of data in shared memory and read it from another process to eliminate IPC serialization&#x2F;copy costs?
评论 #14248927 未加载
grandinjabout 8 years ago
Does it do protocol negotiation? i.e. can a client ask the server what interfaces it implements?
评论 #14244765 未加载
mhogomchunguabout 8 years ago
I think this[1] API among others should be renamed and &quot;future&quot; be used instead of &quot;promise&quot; to better reflect C++ naming conventions.<p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;sandstorm-io&#x2F;capnproto&#x2F;blob&#x2F;247e7f568b1664cbcca1455243da06a7ab78c6a3&#x2F;c%2B%2B&#x2F;src&#x2F;kj&#x2F;async-io.h#L54" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;sandstorm-io&#x2F;capnproto&#x2F;blob&#x2F;247e7f568b166...</a>
评论 #14247898 未加载
educarabout 8 years ago
Windows support is great but why is this a showstopper? This is a common problem in many libraries and the common solution is to mark those platforms as unsupported until sometime steps up. Also platform support is a dynamic list - platforms are kept alive by presence of contributors&#x2F;maintainers.
评论 #14244430 未加载
justforFranzabout 8 years ago
Would it kill developers of open source to provide a simple, two-sentence explanation of what their app does?
评论 #14251184 未加载
TeeWEEabout 8 years ago
Ver nice and technically better than gRPC. However i better bet my company success on a standard that the big giant Google is betting on, and other companies are embracing. Also client side libraries for all langauges is important. Probably gRPC is probably better here too?
评论 #14246933 未加载
halestockabout 8 years ago
A bit off topic, but that title banner is a massive waste of space. It takes up more than half the space on my screen (15&quot; laptop).
评论 #14247022 未加载
DonHopkinsabout 8 years ago
The name &quot;Cap&#x27;n&quot; was forever tainted for me, from my traumatic experience with &quot;Cap&#x27;n Software Forth&quot;.<p><a href="http:&#x2F;&#x2F;www.art.net&#x2F;~hopkins&#x2F;Don&#x2F;lang&#x2F;forth.html" rel="nofollow">http:&#x2F;&#x2F;www.art.net&#x2F;~hopkins&#x2F;Don&#x2F;lang&#x2F;forth.html</a><p>&quot;The first Forth system I used was Cap&#x27;n Software Forth, on the Apple ][, by John Draper. The first time I met John Draper was when Mike Grant brought him over to my house, because Mike&#x27;s mother was fed up with Draper, and didn&#x27;t want him staying over any longer. So Mike brought him over to stay at my house, instead. He had been attending some science fiction convention, was about to go to the Galopagos Islands, always insisted on doing back exercises with everyone, got very rude in an elevator when someone lit up a cigarette, and bragged he could smoke Mike&#x27;s brother Greg under the table. In case you&#x27;re ever at a party, and you have some pot that he wants to smoke and you just can&#x27;t get rid of him, try filling up a bowl with some tobacco and offering it to him. It&#x27;s a good idea to keep some &quot;emergency tobacco&quot; on your person at all times whenever attending raves in the bay area. My mom got fed up too, and ended up driving him all the way to the airport to get rid of him. On the way, he offered to sell us his extra can of peanuts, but my mom suggested that he might get hungry later, and that he had better hold onto them. What tact!&quot;