Close; at least with a machine you can poke around inside the activations and see what it's thinking. Closest with a human is an fMRI (which is much lower resolution, though to me still bordering on the miraculous) or an implant (each chip is limited a very small number of cells, and in general they can only be put in certain parts of the brain).
On the other hand, there's a more fundamental problem is we don't really know what "nice" even means, and even with machines whose inner states we can see relatively easily, we don't know how to interpret those inner states well enough to tell if we're looking at superficial or deep motivations, the difference between "be nice today" and actually being motivated about your best interest.
Nice is a state, just like any other feeling, which means the nice organism is advantageous to your well-being _right now_.
The thing is, all of these states are constantly in flux, and a personality is kind of like a trend on the organism's feeling states. AKA: There's no guarantee that something nice today will be nice tomorrow, and just because it's nice today doesn't mean it's beguiling you to be mean tomorrow.
Yes, that it's impossible is what I was pointing at with my question.
Dropping the subtlety, I think the following is self-evident (but the perspective's rareness suggests that Upton Sinclair's famous comment on salaries and comprehension may apply):
If you can't ever prove the capricious genie is trustworthy, then you should not summon it at all.
If people have, you should do all you ethically can to limit the damage and persuade them to not do it again.
You could throw your hands up and say "It can't be done." You might be right.
With that attitude, we'd still have legalized chattel slavery and children under twelve working in factories, so I submit it is not a constructive or worthwhile mindset to hold onto.
While not a direct competitor to protobufs, if you are working in the video game space where struct versioning is not needed, there is an alternative language called "schema" that supports C, C++, C#, Golang, Rust and JavaScript.
Multiplayer games typically deploy both client and server at the same time, and refuse to connect a client if it doesn't speak the exact same protocol as the server.
Thus all the versioning overhead of protobufs is not needed for this wire protocol.
(Yes, games still use versioning everywhere else where it makes sense: save games, asset data, config etc...)
You can do this but if it's too granular (like you have no concept of version compatibility) then it can heavily split your matchmaking.
Plus the headaches of keeping many out of date builds up to date enough to deploy.
Even if you don't care about in game compatibility, all your servers still talk to some centralized data store and that will likely want a single deploy that handles old clients
Yes there is. Same way there is any other kind of content without a justification. Make a comment, provide zero supporting arguments.
If you have a justification and don't provide it, the comment is worthless regardless of the subject. Of course you have an opinion different than other people: many people do, that is not interesting and is a waste of people's time.
reply