With some of the rough corners filed smooth (e.g. Windows support), a bit more marketing and promotion, and eventually more big names advertising their use of capnp, my job getting buy in from my peers would be much easier.
2) protobuf in the proto3 design doesn't cary default values. So if you have a bool field and want to explicitly send false, well you have to change it to some other type or use the default values all the time
3) protobuf generates incredibly large serialization/deserialization support coce for each template. For some languages like Python in can be in hundreds of kilobytes. Cap'n proto messages are significantly smaller
There is more for CnP but Protobuf has much better support and is by default used in projects like gRPC. Also new CnP is lacking speed in new development in comparison to Protobuf.
But I'm using in one of my side projects and I'm very happy with it
In our case we've now over 1T of rows. Storing default variables would be incredibly inefficient and expensive.
Is nullability of primitive types what you're missing? As in, having a boolean value that can be true, false, or null. If you need that, defining your field as google.protobuf.BoolValue instead of bool gives you that (same with the other primitive types: https://github.com/google/protobuf/blob/master/src/google/pr... ). But making primitive types never null aligns proto3 with most programming languages, making the generated code more idiomatic and performant.
Does capnproto provide similar RTTI information to walk through properties or recurse into other messages?
It's actually considerably easier to implement for Cap'n Proto since the in-memory objects are actually backed by byte buffers containing the wire format. No need to compute offsets of class members (which technically violates the C++ standard though it works on all compilers).
Does this mean that individual fields are encoded/decoded lazily?
(But every widely-used arch these days is LE.)
http://dbeck.github.io/5-lessons-learnt-from-choosing-zeromq...
Whenever I hear that I'm subvocalizing 'for now'. How do you see this in the longer term?
What kind of hostile commercial interest there might be, especially when the technology is protected by open-source licenses?
If there were a non-hostile commercial interest, akin to Citus in Postgres, won't it be a win for all?
Which, if that's the case, means that Sandstorm still is legally independent of Cloudflare, and the original Sandstorm devs can pretty much continue to do whatever they want with it. There would be some gray areas, like what will happen to future code or other IP they create for Sandstorm while employed by Cloudflare, or while using Cloudflare systems/resources; and of course their continued employment with Cloudflare may be contingent on their doing things with Sandstorm that Cloudflare likes, or at least doesn't disapprove of too strongly. But if the Sandstorm devs are just selling their future labor and not the company itself, they'll have more independence than they'd have gotten in an acqui-hire scenario.
Cap'n Proto will presumably end up with mixed copyright, but it's MIT license anyway so who cares?
CF being "cool" shouldn't put your project and its users (me!) at risk.
So in some ways better than an acquihire and in some ways worse.
Even Sandstorm not gaining traction with their B2B strategy is likely a blessing in disguise: with enterprise money coming in they would have felt a hard pull to do more things that enterprises like. No matter how much conviction you have, making payroll often trumps that.
Now, they've proven that the enterprise route doesn't work. My hope is that the project can continue to improve and gain traction to the point where it sets up or joins a foundation, then potentially try to restart a complementary commercial venture on top of that.
Well, no... I don't think we proved it didn't work, only that we lacked the expertise to make it work. With more time and some good hiring I think we could have fixed the problem, but the investor money ran out, so...
Note that Oasis is extremely stable. We haven't had an incident requiring human response in weeks -- and the only kind of issue we regularly had before that is now automated.
Personal thanks to you for both Cap'n Proto and Sandstorm.
Sorry, I meant for that to be clear in the post but I guess I failed.
This matters because Sandstorm Development Group, Inc. (and not Cloudflare!) has the ability to grant proprietary licenses to the Sandstorm codebase.
I'm currently in the process of leaving my full time job to work on my OSS stuff full time again. It's a tough move because you do eventually run out of money if you can't get enough grants, donations or a following on Patreon. That's how I ended up back in a full time gig myself.
Congratulations, I'm really happy for you, Jade, and the rest of the team.
I am sad about the projected lower development activity in Sandstorm in the coming months. You had a tremendous community/brand built up, which is very hard to do for decentralized web technology initiatives -- several independent chat groups I'm in are lamenting the news today. If you're aware of any groups discussing further development in the decentralization space, please let me know (email's in profile, or I will check this comment every hour or so).
Seriously great work so far.
Even while working full-time on Sandstorm, on weekends I'd work on "things I want to code" rather than "things I need to code".
I usually take a week vacation when there's a new FF to play. :P
But, here's the things I expect to be repeating a lot:
- Sandstorm is still an independent company, under control of Jade and myself.
- Sandstorm is "my baby" and I'm not going to stop working on it just because I have a day job. Yes, it will slow down a bit -- but on the bright side, we were previously spending the vast majority of our time trying to figure out enterprise sales (rather than actually building cool features), and we don't have to do that anymore. So, the difference may not be as big as you'd think. See: https://sandstorm.io/news/2017-02-06-sandstorm-returning-to-...
- Nevertheless I'm pretty excited about the work I'll be doing at Cloudflare as well -- which includes Cap'n Proto and other fascinating infrastructure tech.