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/?)

anyway i’ve been thinking about how to understand the way “the terminal” works it feels really important to understand the cultural impact of specific programs or projects (like xterm, the GNU project, etc)

i think it’s something a lot of people are intuitively aware of just from using the terminal and noticing patterns

(5/?)

@b0rk in '94 I used (sun's) db (dbg?, does anyone remember?) and a friend asked me why I didn't use gdb. It was such an amazingly different experience, the gdb ui seemed to be designed with care---dare I say love?---for an actual human (me!) using it.

I went to read all of gnu.org, the philosophy (empowering the user instead of keeping them ignorant), the coding standards (info instead of elitist manual pages, no arbitrary limits, etc ...) and decided I wanted to be part of this.

The reason some of us prefer to say GNU/Linux is rooted in the idea that even people that have been using "Linux" for decades, may not have heard about GNU.

@janneke oh interesting what do you mean when you say man pages are elitist?

@b0rk

https://www.gnu.org/prep/standards/html_node/GNU-Manuals.html#GNU-Manuals

"GNU Manuals
The preferred document format for the GNU system is the Texinfo formatting language. Every GNU package should (ideally) have documentation in Texinfo both for reference and for learners."

Info manuals usually have a philosophy section, an introduction, a tutorial and describe the relationship of the software with other softwares. Some manual pages nowadays also give examples, but in the 90s the main feature of a man page, as I experienced it as a newbie, was terseness with no regard for (dare I say a elitist disregard?) for learners like myself.

GNU Manuals (GNU Coding Standards)

GNU Manuals (GNU Coding Standards)

@b0rk Just imagine how amazing it would have been if there would have been an info manual for Linux and for git?
@janneke I mean I spent 20 years using Linux every day without even realizing that info pages existed (beyond maybe once when I tried to use the `info` viewer and gave up instantly) so it's hard for me to personally relate to the idea that more info pages would have been helpful

@b0rk yeah, the info experience outside of emacs is pretty terrible. I believe there was a short period where GNOME/Yelp would seamlessly present info pages.

Info manuals tell a story, for power users and learners alike. Link between different concepts. Usually have a tutorial. All of that is missing, for example--not wanting to single out one non-gnu project-- in an avalanche of manual pages.

If you want to learn about Linux (the kernel), wouldn't it be amazing if there was a manual for that? There is one for the Hurd.

@janneke I'm glad to hear that info pages were helpful to you! I think you're the one of the first people I've heard say that and it's interesting to hear what your experience has been like
@janneke it reminds me of how someone told me they went to a free software conference and they were really surprised that almost everyone there was an emacs user, feels like there's a bit of a cultural divide between "free software" culture and the "tech industry" (even though of course a lot of folks in the "tech industry" rely on and care about free software)

@b0rk we have been living in mostly different bubbles.

When I read "We will use Emacs as our editor" and I realized that was the single one statement that I had a problem with (being a happy VI user for some years), it occurred to me that this was probably caused by a problem with my perspective.

I then spent three summers to try to learn Emacs. That's some 25y ago. I can't say whether it was having context aware info pages with just a keystroke away next to your program text, being able to copy stuff without even having to glance at your mouse. Or whether it was the automagical (re-)indentation of code. Or something like the debian-changelog-mode when creating a Debian package.

Together with a friend I went to create GNU LilyPond which was often praised because of its documentation. I now hear similar praise about our Guix manual.

@janneke that's awesome, the LilyPond website looks really clear!

@b0rk thank you! It's all generated from [tex]info and is thus (mostly) also browsable offline as info pages.

If only the #GNU project would have taken this up, have improved and standardized it. Twenty years ago.

@b0rk of course, especially at the time, the (projected) LilyPond user base included musicians rather than programmers.
@janneke I've been appreciating the fish shell's approach to documentation recently, where `help THING` opens an HTML manual page (stored locally) in a browser.

@b0rk that seems useful (unless maybe when you're running a shell inside de Emacs, you prolly don't want a GUI browser to spawn, bt that's details).

Which reminds me, I believe there was a proposal to add up, previous, next semantics to html and it got rejected.

One of the amazing things about info (esp in emacs) is that you can read the whole document just by hitting the space bar. For, next screen and next section alike. No such thing exists in web browsers today. Similarly you isearch or regexp-search, go to node, jump to index entries. Once you're used to it, using HTML documentation becomes terribly cumbersome in comparison.

@b0rk @janneke I failed to read Info manual although I consider myself comfortable with Emacs and tried several times over the years. Well, local manuals in HTML format missed me… a lot! Then one day, reading yet another message by some Guix wizard advocating for Info, I decided tp try again, so to force myself to only rely on Info for two weeks… Today, I don’t look back. 😀

Even, today, I “regret” that Info isn’t the standard for locally browsing any documentation. 😁

@zimoun @b0rk @janneke In comparison, freebsd man and manual are really great for newcomers.
@b0rk @janneke I find them really useful for browsing documentation offline, especially when I'm trying to work on something without an internet connection. But I'm also an Emacs user, and the info reader there is definitely much better than the default terminal one
@b0rk I found that I had to implement a simple, #bootstrappable C library for my GNU Mes project. The glibc info pages would explain things about libc functions, provide example client code, and even give hints, for example when better to use another function, where the man page would just list the return values and the parameters.