86J8oyZv
Joined 7 years ago
Joined 7 years ago
The most straightforward option we have is to fund true public education, without credentials or metriculation. Simple, public class-by-class grades and recommended tests would suffice, and could be done with nothing more than HTTPS servers and .edu domains. We have no need for all the other cruft keeping people uneducated.
(If you want a "registry," the better approach would be to have something that uses all the services as dependencies to consolidate their protos.)
2) Going along with this approach, gRPC has a reflection service; most server implementations can expose this (I have personally done it with Tonic/Rust but I know Golang and Java bindings, probably Ruby and others, support it). If you use something like gRPCurl against a server with reflection, the only "path flags" you have to worry about are, like... just the method names. It can't really get more terse than it is with gRPCurl and gRPC reflection, though autocomplete would be nice to have I guess.
The basic intent of gRPC - indeed, its advantage over JSON - is to promote composable, decoupled services. Unless you're monorepoing all your services, putting all protos in a "registry" type repo, that everything depends on, only makes things harder for everyone that needs to do things with those protos.
I feel compelled to also add that while it seems well-meant, I think the tone of your last paragraph is a bit unproductive. A lot (most? all?) of us, at some point, fall out of the habit of exercising our senses of curiosity and wonder and trying new things. This can be caused by many combinations of family, economic, and social conditions, or for some, because of chemistry (ie “serious depression”). Therapy is indeed a good way to develop the skills to work against this and identify whether it’s actually a chemical problem in need of a chemical solution. But it doesn’t help to go straight to calling this “serious depression” needing “professional help.” Literally all of us can benefit from therapy, and making it out to be a big deal and putting labels on people makes many less likely to pursue it.
However, Ruby does have auto-loading conventions. So you could define “module Baz{ module Bar { def foo end; } }” in “baz/bar.rb” from the root of your project. You should then be able to call “Baz::Bar::foo()” from any other file in your project structure without a “require” at all. This is not standard Ruby IIRC, but Rails and other frameworks use it.
If Reddit execs thought they could take the same approach on desktop (forcing us all into desktop apps with unblockable ads and more system access), they absolutely would. They see that Slack and Discord did accomplish this effectively, and probably want to catch up.