this feels like a silly thing to say but even though i’ve been using linux since 2004 I feel like i’m learning recently that the impact of the GNU project’s software (and its design decisions) on me is even bigger than I thought

like even just the fact that (afaik) many of them used Emacs has an impact on me today

(please no “it’s GNU/Linux”)

for example I thought the “vim vs emacs” flamewars were silly (who cares? use what you want!)

but actually I feel like some of the GNU software design decisions are really influenced by emacs (readline, info pages) and that does actually have an effect

(please don’t tell me that readline has a vi mode)

(2/?)

also this guidance on command line arguments is great, I didn’t realize these things came from the GNU project and I really appreciate them https://www.gnu.org/prep/standards/html_node/Command_002dLine-Interfaces.html#Command_002dLine-Interfaces

(via @zwol)

(3/?)

Command-Line Interfaces (GNU Coding Standards)

Command-Line Interfaces (GNU Coding Standards)

also I didn’t realize that standardizing “—help” came from the GNU project, it makes me wonder if folks have proposed adding —help to programs that predated GNU (or are from a BSD project etc) and if so what that conversation looked like

I imagine it’s not always possible to do without breaking backwards compatibility

(4/?)

@b0rk yeah. OTOH we had DOS with standardised /? , which I found missing in Unix. GNU tried but “to late”, so with too many exceptions (and so you understand why some old programs still use -? (which use a shell wildcard character). For me the best design decisions: at least 32 bits cpu (which simplify code), try not to put limits (e.g. on sizes): today smart decision is tomorrow nightmare. And working on full stack (gcc, gmake, instead of system cc/make/etc) helps