Follow

Is it Unix Philosophy to create a domain-specific environment mimicking Unix but living inside a single Unix program?

IOW, if I make a tool that allows you to define various pipelines composed of various filters within the tool, is it still The Unix Way?

There are a few tools like that already, eg. jq, ffmpeg, gstreamer.

@kline @Wolf480pl oh, I think there is, and it's called "get shit done"

@kline @Wolf480pl what has linux stuff to do with the UNIX philosophy tho?

@kline @Wolf480pl I don't really see the argument here. You say there is no unix philosophy. I say there is, and your answer to that is "but systemd and my unix philosophy"...
So to support your claim that there is no unix philosphy you use the fact that there is one?

@rnxpyke @Wolf480pl I'm saying that "Unix Philosophy" is just an empty shell that many people use as a non-sequitur to mean "whatever my strongly held but dubiously implemented beliefs are".

It's different to everyone, it's not a rationalised, agreed upon phrase, and just about every definition is massively ignored in any way that you slice the userbase of unix-like systems.

@kline
I think there is, and at the very least it includes the Do One Thing And Do It Well rule.

@Wolf480pl well, someone needs to tell @rnxpyke that because they think it's "get shit done".

Also, if you want your system to be unix philosophy, you need to bin bash - it's a (bad) shell, a (bad) system automation tool, and a (bad) foundation for an init system.

@Wolf480pl @rnxpyke (so really I'm getting back to my point that "the unix philosophy" isn't a thing, it's just a buzzword people use to somehow imply what they believe is an ancient, holy practice)

@kline @Wolf480pl the "get shit done" as a summary of the "do one thing well" together with "write stuff that works together" idea.
To explian: As Bell labs, who could control the design of the whole system, it's way easier to reuse tools already produced. The consequence of targeting (fast) working software where in turn using the existing interface, namely bytestreams and pipes.

@rnxpyke @Wolf480pl bell labs hasn't been influential in unix for many years, and the system you described has barely existed in this millennium

@kline @Wolf480pl that doesn't really matter, because they created unix and coined the term "unix philosophy".
My argument to why there exists a unix philosphy is basically an apeal to authority.
In this case, the creators of the damn thing

@rnxpyke @Wolf480pl i reject your appeal to authority on account of the fact it's not worked the way they designed it to work since basically I've been alive.

Long-dead authority can claim that "unix philosophy" is some definition but no one practices that or even agrees when invoking it. You can appeal to authority all you want, but if that authority is the ghost of an old man sitting in the corner who can't be heard over the debate the actual movers and shakers are having and implementing on, that's not authority - it's just nostalgia

@kline
I disagree. From my POV, many devs in the Linux and BSD ecosystems take inspiration from the form done at Bell Labs.

And no, it doesn't have to be bash. Look at eh. skarnet.org/software/
@rnxpyke

@kline @Wolf480pl
The authority isn't meant in the way that they can *enforce* the philosophy, just that they created it.

Just like you'd give freud the authority about interpreting his psychoanalysis work, even tho he was mosty proven wrong later.

The fact that an idea is not implemented in society doesn't make it's definition invalid is what I'm saying.

The thing still has a clear definition. In freuds case it turned out that his idea is mostly wrong, and unix philosphy wasn't adopted, but they still exist as ideas.

@rnxpyke @Wolf480pl few people create new systems of thinking and practice and call it "Freudian".

If we had 100 different tribes each touting radically varied and contradicting definitions of "The" Freudian system, then I would say that "The" Freudian system no longer exists, it's just a label to describe many people riding on the coat tails of fame and authority. You might argue that one is more important than another, or that it is the true One Way of Freud, but even within bell labs there appears to be several conflicting definitions.

@kline @Wolf480pl I think this is a bad argument and you have the burden of proof here.
Which "tribes" claim to implement the "Unix Philosophy" on current Linux systems?

@rnxpyke @Wolf480pl devuan claim to do it, as do slackware.

They also claim that by self-inconsistent rules, other tribes do not. Even within cohesive groups, there is no agreement on what "The Unix Philosophy" is. If it ever did exist, what is actually was appears to be gone, and we practice a collection of varied other systems instead.

There is no Unix Philosophies. Just philosophies about Unix.

@rnxpyke @Wolf480pl But I mean, we agree: it's basically just an appeal to authority. How it's actually implemented doesn't matter, it's about making sure that your set of beliefs trump another by pretending that it's some ancient, inviolable rite.

@kline @Wolf480pl and we don't agree. It actually does matter how you implement your software, *iff* you want to implement the Unix philosophy. It's just that most systems don't want to do that anymore.

It's also not about what is *better*. I think what you appeal to is not using systemd because it is "bloated". This makes software using a simpler init system than systemd better, if you assume bloat is bad. which man do.

The argument that they think less bloat is good *because* of the unix philosophy is plain wrong.

@rnxpyke @Wolf480pl so what you're telling me is that there are many different groups of people all saying they implement the unix philosophy, but you do not believe that they do so correctly?

@kline no. I'm saying that there are *some* groups of people who *try* to stay close to the unix philosphy. They agree about what that is, and they don't claim to implement everything 100%

@rnxpyke they forked an OS specifically to use an init system that is no closer to the purported philosophy.

Either they have a different definition to many other people, or the big bang event that caused their formation is completely unrelated to the philosophy they claim is their founding platform.

Ultimately though, I think that our disagreement comes from nothing to do with Unix - you believe that a group of diverse and conflicting ideas can still be a single philosophy. I believe that this is just a way of highjacking the phrase as an appeal to authority.

@kline they forked an OS to not use systemd. An init system that (in their eyes) is even worse at beeing close to the UP than the alternative they choose.
The alternative is (arguably) less bloated and therefore conforms more to the mantra "do ONE thing, and do one thing well".

Your assumption is therefore wrong, as is the stuff you try to follow from it.

Our disagreement lies in the fact that you think the diffrent implemtations claiming to be *trying* to be close to the UP are actually different interpretations of the UP. They are not.
These groups actually are quite in agreement about what the UP is.

But you are not.

@kline @Wolf480pl and about devuan I couldn't even find a clear statement about any philosophy...

@rnxpyke @Wolf480pl devuan.org/os/debian-fork/

it was quite nicely packaged up in their primary announcement email and blog.

Slackware has mostly managed to say it without saying it, because they were around before people touted phrase as a talisman.

@kline @Wolf480pl Devuan will do its best to stay minimal and abide to the UNIX philosophy of
"doing one thing and doing it well".
-quote
They say that they "try" to adhere to *the* unix philosphy, using exactly the definition that one would expect. They don't make up another one, and they even explain further down in the paragraph in which way they differ.

Seems like this source supports my point

@rnxpyke they say that, but they do not practice it according to the definition that many hold. They practice *A* Unix Philosophy.

@kline Do you see how implementing the Unix Philosophy as is and trying to stay close to the unix philosophy while maintaining a system that is familiar to the people of 2019 are diffrent things, referencing the *same* base idea?

@kline to clarify.
Yes, you could argue that they practice some derivation of the unix philosophy. But they don't really claim otherwise. And they especially *don't* claim that the way that they are doing it is *the real* unix philosophy.

@rnxpyke I think you'd need to do some more research into their mailing lists to see that's not really true. I don't much care for init arguments because they have become incredibly vitriolic, but there is a non-negligible group of people, core to devuan, who believe that a number of deliberate decisions have been made that are The unix philosophy when not all would agree.

They might say that the whole system is not perfect, but they have made specific, containable decisions that they say really are, but are open to a degree of questioning.

@kline I won't really go into a case by case discussion. And I don't really know a lot about devuan. But that's besides the point. If they really want a modern hardcore UP implementation, then good for them.
That doesn't mean that they can't be wrong about stuff. There just are some things were we don't know how they would be implemented in a unix way, because they are new.

But trying things out and claiming that they conform to the UP, while beeing up to discussion is the way to find out how a modern UP system would look like.

I still don't really see how devuan contributes to a fragmentation of UP interpretations. I'd think they build and expand upon the UP. That is, as long as they are true to their statement about beeing close to UP to begin with.

Show more

@kline @Wolf480pl well, it's basically you that linked this:
en.wikipedia.org/wiki/Unix_phi

Third link in the systemd criticism paragraph

@rnxpyke @Wolf480pl I can acknowledge that the phrase "unix philopshy" exists, but that doesn't make it a rationalised system of beliefs and practices.

The page linked is just one such group of ideas touted as "The" (a) unix philosophy.

There is no "The Unix Philosophy", just some of many different philosophies that people label so in order to add cultural sugar to their arguments. It's insubstantive.

@kline @Wolf480pl See my other reply. An Idea doesnt have to be rationalised or be practitioned to make its definition well known and agreed upon.

@kline @Wolf480pl To add to that: An Idea/Concept *exists* as soon as it's defined.

@kline @Wolf480pl and no, you don't really need bash. Theoretically speaking, you just need something to compose diffrent programs. Bell Labs just choose the shell because that's what they already had

@Wolf480pl none of these things are Unix style, no. ffmpeg is not really a Unix tool, it's a tool that runs on Unix.

@sir
Even jq? IMO it's pretty much lime awk, but for json. Or is awk also a non-unix tool running on unix?

@Wolf480pl I would say that about both awk and jq, yes. But I would also point out that C isn't very Unix, aside from the fact that it was made there. There are useful programs that exist outside of the "Unix way"

@sir
Yeah I don't doubt there are good programs that don't adhere to the Unix Way.
But would those programs be better if they did? Or are there cases where Unix Way is not applicable?

Also, does the Unix Way include a "make a DSL for it" rule?
AFAIU, you claim it doesn't.

@Wolf480pl yeah I don't think DSLs are unix. The plan 9 approach is to make the organization of data consistent throughout the system, so that one universal tool can be used to query it in a reasonably straightforward way.

@Wolf480pl I guess it can be seen as breaking the "rules" of Unix, but that's assuming that the pipeline-ing and filtering could be done outside that tool, at least in a usable way. The other way to see it is as borrowing a "syntax" from The Unix Way as we know it and using it in a program, maybe to make it more accessible.

@Wolf480pl they are tools that do one thing - media filtering.

It could be argued that having a separate tool for each conversion or filter is "more unixy", but that's a degenerate case in my opinion.

@Wolf480pl to address the issue:
the real unix way would be to rework the kernel to support typed streams instead of only the bytestreams (files) we currently have.

Sign in to participate in the conversation
niu.moe

Welcome to your niu world ! We are a cute and loving international community O(≧▽≦)O !