Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Poopernickel
Oct 28, 2005

electricity bad
Fun Shoe

sb hermit posted:

I like makefiles and I still make and use them.

Same, it's my preferred tool for "have to automate some random stuff in a folder"

Adbot
ADBOT LOVES YOU

BlankSystemDaemon
Mar 13, 2009



sb hermit posted:

I like makefiles and I still make and use them.
Have you seen all the fun that can be done with BSD make?

AlbertFlasher
Feb 14, 2006

Hulk Hogan and the Wrestling Boot Band

AnimeIsTrash posted:

i like linux

ya its pretty good

FlapYoJacks
Feb 12, 2009
Meson is the least-terrible build system for C/C++ these days, followed by CMake.

animist
Aug 28, 2018

Shaggar posted:

lol the unix philosophy is dumb as hell

with shaggar on this one. there's a reason everybody uses python on unix nowadays instead of chaining together terribly named string processing utilities from the 70s

hobbesmaster
Jan 28, 2008

animist posted:

with shaggar on this one. there's a reason everybody uses python on unix nowadays instead of chaining together terribly named string processing utilities from the 70s

how did you miss "awkwardly named"

RobobTheGreat
Jul 14, 2003

Mind your manners when talking to the king!

AnimeIsTrash posted:

i like linux

same.

sb hermit
Dec 13, 2016





BlankSystemDaemon posted:

Have you seen all the fun that can be done with BSD make?

No, and I'm not going to read an entire man page to find out.

My 20 year old self might be curious but now I'm twice as old and I only have time for sleep and shitposting after working too much. and anime too, of course

FMguru
Sep 10, 2003

peed on;
sexually

AnimeIsTrash posted:

i like linux
:mods:

SYSV Fanfic
Sep 9, 2003

by Pragmatica
It's not just configurations and data stored in flat text. People expect the kernel (and system) to expose interfaces directly as plain files. There's nothing wrong with /proc and /sys/. Making everything a file allows the kernel to dispatch all reads and writes through the vfs. It's less clunky than adding a bunch of system calls, or ioctl calls. It's easy for a human to parse and understand.

If you don't know a lot about linux user space - one of the ways you can get notifications from the kernel is to open one of the files in /proc or /sys and read from it. If your program needs to know if the lid just closed, you just open a file, read the messages in text, parse them to see if they contain "lid", and respond to the lid event. Your program will pause by default until there is an event to read.

It's a royal headache trying to synchronize a bunch of disparate individual daemons via those interfaces. Race conditions, stalled reads, and missed messages. If you wondered why you had to close the lid of your laptop four times for it to sleep under linux, you either had a buggy lid switch or the daemon responsible for sending the system to sleep failed to get and respond to the event . Or the bugginess with attaching headphones or speakers to your computer.

One of the complaints about systemd was that it added an intermediary layer between the daemons, the desktop environment, and whatever else stopped reading files from proc or connecting to individual sockets. Now it was more complicated than "file". Debian opts out of binary logs, but I assume they were a win for enterprise installs that parse thousands of log events a second.

hobbesmaster posted:

how did you miss "awkwardly named"
hyuck hyuck :).

SYSV Fanfic
Sep 9, 2003

by Pragmatica
Like. Early on I was against systemd on the basis poettering seemed like a jerk. The first time I ever really dug into desktop internals was in the early chromebook days. Getting linux to run before seabios was included. The acer c710 had *really, really* buggy hardware. On chromeos it wasn't a problem because they had hard coded fixes, or got rid of so much userland that it didn't matter. I fixed the worst of them, but seeing the sausage for the first time was a massive eye opener.

Later I wanted to fix the fact that there was no way to turn on aspect correction on the external hdmi of intel integrated graphics. The kernel driver supported it, but X did not. It seemed like something that should be easy to implement. I started looking at xrandr, xlib, and xproto. It was like that scene in ghostbusters where they open the refridgerator door and see some alternate plane of reality.

Sorry, but all that old poo poo needs to go.

SYSV Fanfic fucked around with this message at 05:46 on Nov 3, 2021

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome

animist posted:

with shaggar on this one. there's a reason everybody uses python on unix nowadays instead of chaining together terribly named string processing utilities from the 70s

lmao

let me just, uh, install pandas and theano, two very well named python utilites

BlankSystemDaemon
Mar 13, 2009



eschaton posted:

it’s really something to use, say, V7 and see just how spare it is compared to a modern BSD, even moreso to skim the code
I went to take a look because I had to keep myself harmlessly entertained, and it is indeed very spare - but that's not necessarily a good thing.

You know that little thing called stack sizes? Yeah, it didn't even have that.
Stack sizes were introduced with 4BSD.

pseudorandom name
May 6, 2007

hobbesmaster posted:

how did you miss "awkwardly named"

that's tr-ible

animist
Aug 28, 2018

hobbesmaster posted:

how did you miss "awkwardly named"

catastrophically named

Nomnom Cookie
Aug 30, 2009



the unix philosophy is hagiography. unix was some people building something because they needed it and trying some interesting ideas along the way. some of those ideas worked and some didn't. there is no coherent theory of system design to extract from unix because the people building it did not have one.

BlankSystemDaemon
Mar 13, 2009



sb hermit posted:

No, and I'm not going to read an entire man page to find out.

My 20 year old self might be curious but now I'm twice as old and I only have time for sleep and shitposting after working too much. and anime too, of course
I'm curious about this attitude, it's not exactly uncommon among Linux users.
What makes you say that "reading an entire man page" makes it not worth it?

As far as I'm concerned, they're a concise way of looking up something - ie. treating it as a reference work.
And what's the alternative - GNU info? :v:

pseudorandom name
May 6, 2007

oh gently caress off reading dense technical manuals in pursuit of some nebulous unspecified “fun” thing is not a reasonable request you lunatic

Nomnom Cookie
Aug 30, 2009



BlankSystemDaemon posted:

I'm curious about this attitude, it's not exactly uncommon among Linux users.
What makes you say that "reading an entire man page" makes it not worth it?

As far as I'm concerned, they're a concise way of looking up something - ie. treating it as a reference work.
And what's the alternative - GNU info? :v:

good job being an even worse poster than notorious bsd, its an impressive accomplishment. you should be...proud?

mystes
May 31, 2006

BlankSystemDaemon posted:

I'm curious about this attitude, it's not exactly uncommon among Linux users.
What makes you say that "reading an entire man page" makes it not worth it?

As far as I'm concerned, they're a concise way of looking up something - ie. treating it as a reference work.
And what's the alternative - GNU info? :v:
do all posters with bsd-related names live in the 90s or something?

Cybernetic Vermin
Apr 18, 2005

no one in the 90s thought that casually linearly reading through a man page from top to bottom was anything but a huge waste of time. if bsd make has some relevant feature feel free to post about it, but i think even with a very short compelling summary i am incredibly unlikely to use it (or even read that post).

BlankSystemDaemon
Mar 13, 2009



Wait, since when is any reference work "something you read from top to bottom" instead of quickly look through to find what you need?
I wanted to demonstrate the things things that set BSD make apart, and the manual page lists all of them, that's all.

Instead I'm apparently now Posting Enemy #1. :confused:

Cybernetic Vermin
Apr 18, 2005

BlankSystemDaemon posted:

Wait, since when is any reference work "something you read from top to bottom" instead of quickly look through to find what you need?
I wanted to demonstrate the things things that set BSD make apart, and the manual page lists all of them, that's all.

Instead I'm apparently now Posting Enemy #1. :confused:

let me just go reference the make man page section "the stupid poo poo that blanksystemdaemon is opaquely posting about" real quick

Poopernickel
Oct 28, 2005

electricity bad
Fun Shoe
protip: you can search manpages by pressing / in man

I'm kind of amazed that GNU info is so lovely though considering how much documentation is in that format. How is that in tyool 2021 we don't have an info replacement that uses the mouse?

don't say emacs

Poopernickel
Oct 28, 2005

electricity bad
Fun Shoe

BlankSystemDaemon posted:

Wait, since when is any reference work "something you read from top to bottom" instead of quickly look through to find what you need?
I wanted to demonstrate the things things that set BSD make apart, and the manual page lists all of them, that's all.

Ganoo slash Make is the best Make

Although I admit BSD make does have some neat features, GNU Make is way more powerful overall

infernal machines
Oct 11, 2012

we have sealed ourselves away behind our money, growing inward, generating a seamless universe of self.

BlankSystemDaemon posted:

Wait, since when is any reference work "something you read from top to bottom" instead of quickly look through to find what you need?
I wanted to demonstrate the things things that set BSD make apart, and the manual page lists all of them, that's all.

Instead I'm apparently now Posting Enemy #1. :confused:

i think the idea is that if you present something as comparatively unique you should itemize the things you feel are unique rather than say posting a link to the entire reference document for the tool and telling the people you're conversing with to figure it out themselves.

otoh, the way you did it is true to the *nix experience

sb hermit
Dec 13, 2016





BlankSystemDaemon posted:

I'm curious about this attitude, it's not exactly uncommon among Linux users.
What makes you say that "reading an entire man page" makes it not worth it?

As far as I'm concerned, they're a concise way of looking up something - ie. treating it as a reference work.
And what's the alternative - GNU info? :v:

I'm not going to rehash the good points that a lot of other people made. But I agree that man pages are better than GNU info. However, when reading man pages, I would generally search directly for whatever I'm looking for, rather than leisurely read it from top to bottom to really absorb the information, then compare it against gnu make.

I wouldn't be above doing it if I had a jack and coke and some free time, though.

sb hermit
Dec 13, 2016





Also, my above statements might be influenced by the fact that I generally pass no parameters to make except the targets to be generated. And usually, the first target in my makefiles is "all", so I usually pass no arguments anyway. If I had to compare make behavior between gnu and bsd, I'd have to actually open two manpages.

I think the only parameter I know is "-C" which is "change to this directory first, before running any makefiles". Very useful for shell scripting.

Cybernetic Vermin
Apr 18, 2005

i am kind of cranky because i was fooled into spending 5 minutes of my one short life scanning a manpage for something that looked good and the obviously different thing were absolutely horrendous-looking stuff like really bad for loops:


i am perfectly willing to believe that there are good things in there too, but it would probably take an hour of cross-referencing manpages for rather crufty tools to tell what they are.

sb hermit
Dec 13, 2016





Cybernetic Vermin posted:

i am kind of cranky because i was fooled into spending 5 minutes of my one short life scanning a manpage for something that looked good and the obviously different thing were absolutely horrendous-looking stuff like really bad for loops:


i am perfectly willing to believe that there are good things in there too, but it would probably take an hour of cross-referencing manpages for rather crufty tools to tell what they are.

This is gold! Thank you. I would never use for loops in a makefile... I imagine it would not be fun to explain to someone who had to maintain it. Might as well just use a script to loop over a set.

Buck Turgidson
Feb 6, 2011

𓀬𓀠𓀟𓀡𓀢𓀣𓀤𓀥𓀞𓀬
i like info. the keyboard shortcuts/nav is a bit confusing but decent info docs at least present you with a table of contents, so you have some idea where to find poo poo

there's ways to dump info and man pages to html or read them in a browser. man has a --html option, KDE's browser lets you read info pages on the system, gnome has a tool called yelp that displays man and info pages that i think lets you use a mouse

BlankSystemDaemon
Mar 13, 2009



infernal machines posted:

i think the idea is that if you present something as comparatively unique you should itemize the things you feel are unique rather than say posting a link to the entire reference document for the tool and telling the people you're conversing with to figure it out themselves.

otoh, the way you did it is true to the *nix experience
I thought I already did that with an earlier post:

BlankSystemDaemon posted:

Mind you, BSD Makefiles contain conditionals, built-ins, more variable types, extensive modifiers, looping, and special attributes not found in other versions of make - but they're all documented in make(1).

I can see why people might not link the two though, so I apologize for coming off as an asshat.

mystes posted:

do all posters with bsd-related names live in the 90s or something?
Nah - besides, the 80s had better music.
The issue is, the code is influenced by bits dating that far back.

Poopernickel posted:

protip: you can search manpages by pressing / in man

I'm kind of amazed that GNU info is so lovely though considering how much documentation is in that format. How is that in tyool 2021 we don't have an info replacement that uses the mouse?

don't say emacs
Is that a difference between Linux and the BSDs I didn't know about until just now?
In the BSDs, (compressed) mdoc files are stored on-disk and are rendered by mandoc then displayed by the less(1) pager (by default, unless you set PAGER to something else or define LESS_IS_MORE to a non-zero value.

Also, I just found out that less has --mouse, which is kinda cool.

Besides, we all know emacs is a perfectly fine OS - it's just a shame about the lack of good editor.

Poopernickel
Oct 28, 2005

electricity bad
Fun Shoe

BlankSystemDaemon posted:

Is that a difference between Linux and the BSDs I didn't know about until just now?
In the BSDs, (compressed) mdoc files are stored on-disk and are rendered by mandoc then displayed by the less(1) pager (by default, unless you set PAGER to something else or define LESS_IS_MORE to a non-zero value.

Manpages and texinfo documents are different things on Linux, displayed by different tools. Linux manpages work like you said, or something close to it. Texinfo documents are more like books. "info <FOO>" will give you the texinfo document if it's available, or the manpage otherwise.

As an example - if the "make-doc" package installed on your Linux, you can read the entire GNU Make manual (HTML here: https://www.gnu.org/software/make/manual/html_node/index.html) by running "info make".

BobHoward
Feb 13, 2012

The only thing white people deserve is a bullet to their empty skull

Poopernickel posted:

As an example - if the "make-doc" package installed on your Linux, you can read the entire GNU Make manual (HTML here: https://www.gnu.org/software/make/manual/html_node/index.html) by running "info make".

* - if by "read the entire GNU Make manual" you mean "be dumped into a horrible quasi hypertext interface to said manual, implemented in emacs"

hope you know emacs keybinds, sucker

BobHoward
Feb 13, 2012

The only thing white people deserve is a bullet to their empty skull
gnu info would be about a thousand times better if it consisted of invoking the web browser of your choice on HTML docs (lynx if no graphical browser is available, obvs)

Kazinsal
Dec 13, 2011



so many man pages in gnu land end with “for more detailed documentation type “info progname””

it’s impressive their insistence on writing actually decent documentation and locking it behind a tool that nobody outside of actual gnu fanatics will ever actually intentionally touch because it’s *so bad*

props to whoever it was who PMed me an alternative tool for reading texinfo docs but honestly the fact that such a thing exists is a testament to how bad the idea of gnu info is

SYSV Fanfic
Sep 9, 2003

by Pragmatica
Keeping info horrible is in the best interest of the GNU project. How else are they going to sell printed documentation?

Poopernickel
Oct 28, 2005

electricity bad
Fun Shoe

Kazinsal posted:

so many man pages in gnu land end with “for more detailed documentation type “info progname””

it’s impressive their insistence on writing actually decent documentation and locking it behind a tool that nobody outside of actual gnu fanatics will ever actually intentionally touch because it’s *so bad*

props to whoever it was who PMed me an alternative tool for reading texinfo docs but honestly the fact that such a thing exists is a testament to how bad the idea of gnu info is

what's the alt tool? I like GNU tools and documentation, but emacs and GNU info can ligma

Poopernickel
Oct 28, 2005

electricity bad
Fun Shoe

BobHoward posted:

* - if by "read the entire GNU Make manual" you mean "be dumped into a horrible quasi hypertext interface to said manual, implemented in emacs"

hope you know emacs keybinds, sucker

agreed, GNU info is hot garbage even if the underlying documents are good

Adbot
ADBOT LOVES YOU

Kazinsal
Dec 13, 2011



Poopernickel posted:

what's the alt tool? I like GNU tools and documentation, but emacs and GNU info can ligma

pinfo, it's lynx-style instead of emacs-style

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply