3 ms·
Yup, I've heard of Cap'n Proto before, but unfortunately never worked with it. I was under the impression that you still had to write the specfile yourself, and
by chc4 11y ago
Yup, I've heard of Cap'n Proto before, but unfortunately never worked with it. I was under the impression that you still had to write the specfile yourself, and that deserializing malicious data was unsafe (along with being platform specific), but that doesn't seem to be the case.
Urbit RPC is how I imagine RPC should always be: sending a message to `:talk` isn't actually a procedure call, but instead just sending a noun that it pattern matches on. You just say "send %talk on ~doznec this noun [%msg 'hello world']", with ~doznec on the other side automagically verifying the type with a living spec of code and molds and calling the correct function that takes the type you sent.
The fact that this all happens completely transparently, even for sending messages to local apps (and hence embrassing remote servers), and as a core feature of the language is great.
- kentonv 11y ago> deserializing malicious data was unsafe Deserializing malicious Cap'n Proto messages is safe (barring some now security bug found in the implementation). Cap'n Proto RPC is explicitly designed to be used between mutually non-trusting parties.