Anyway, the reality is we *don’t* use processes and pipes for important things, *because* they fail roughly like this. You can say “but error codes” all you want, we don’t do this with browsers or ssh or gzip or REPLs (hello, Jupyter) or anything else. Because this hits a wall.https://twitter.com/marcan42/status/996231278276919296 …
This is a backwards compatibility argument. gpg was designed with streamability in mind. Sure, you could add an --unbuffered argument, but then you'd break many existing use cases. We both know "secure by default" choices are hard when your public interface is frozen.
-
-
This is by no means exclusive to gpg. We've seen it time and time again where 20/20 hindsight tells you you could've done a better job making things more intuitive or eliminating pitfalls by default. It's a difficult problem.
-
I agree. The point is not to say “this shouldn’t have happened” as much as “what do we learn from this, how does this experience redirect resources?” I hate the individual blamestorming but I do not hate lessoned learned.
- Show replies
New conversation -
-
-
They are. You tend to get to reset expectations with a major rev, which we do everywhere else every so often. libssh2 didn’t always exist.
-
This is harder with commandline apps (especially ones as dedicated to backwards compat as gpg) because people don't tend to introduce "gpg2" style "new interface here" breaks. It's a bigger change than library sonames (where you can at least install both at once).
- Show replies
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.