riwsky
Joined 13 years ago
Joined 13 years ago
jj let me make changes to my git commits without fear, since version control of the git state itself let me undo those changes easily, too.
[1]: https://github.com/grpc/grpc-go/blob/06fc26a196350499dd0cf2d...
Also “tasks.create” is morally a route. Eg grpc has web transports and autogenerated CLIs too; even without those, there’s no particular reason why the OBI “client layer” couldn’t just be, say, gRPC under the hood, with the OBI specs just being used to codegen adapters from the source protocol to gRPC. It would then immediately have a much more widely understood and supported client layer, with better performance, while remaining as simple to implement as the adapters to this new custom OBI runtime protocol.
OBI is a boilerplate generator for the adapter pattern for service communication; its contracts are just another set of their own paths, payload shapes, and protocols. The distinction between “protocol” and “contract” in this context is nonsense.
Even purely on the technical level, this seemingly hasn't internalized the lessons of https://xkcd.com/927/