News for hackers. Stuff that matters.
Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by archy_ on Friday June 28, 2019 @10:06AM (#20304389)
The Unix philosophy has been abandoned at this point. What advantages have we really gained from it? More gaping security flaws? Unnecessary centralization is pushing the old Unix admins who laid the groundwork for Linuxs success into BSDs and other alternatives, and the Linux kernel will likely rot as a result. Could we consider this moment the peak of Linux development?
Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by jamespo on Friday June 28, 2019 @10:12AM (#20304442)
Not everyone likes writing shell scripts to start services
Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by johnr2 on Friday June 28, 2019 @11:03AM (#20304973)
>Not everyone likes writing shell scripts to start services

Sure, but that isn't a good reason to remove the option to do so for everyone else.

I've been using Linux for 20+ years but the apparent shift from "stable and reliable" to "new and shiny" concerns me. The feeling of being an involuntary beta tester is not a good one.

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by rkangel on Friday June 28, 2019 @12:08PM (#20305794)
> that isn't a good reason to remove the option to do so for everyone else

It really is. Accepting the status quo and abandoning progress is how software systems become stagnant and die. X is a bloated protocol, designed for a different age of computers. Sys V is an archaic system that makes the task of having a standard daemon run in a standard way surprisingly difficult (and also prevents parallelising startup). I'm not saying the replacements are perfect, but at least we're trying.

Maintaining perfect backwards compatibility would have an effect on progress somewhere between 'making it harder' and 'making it impossible'. Not that backwards compatibility should be completely abandoned. See XWayland, and also the fact that SystemD does still execute init.d shell scripts.

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by tempguy9999 on Friday June 28, 2019 @12:44PM (#20306214)
> and abandoning progress

Change is not, itself alone, progress.

Progress can be a lack of change, if that change was regression in functionality, q.v. the large and growing number of shitty interfaces.

And by interface I mean everything from boeing's mistake right down to the controls on a fan heater of mine.

I guess I need to explain the latter. I've had a period of joint pain in my hands due to a developing food intolerance (now under control). The fan heater control was a dial, partly flanged for grip. But just a fucking little flange, so as not to stick out too much. Trying to operate that with your digits hurting was a bitch. It would have been literally unusable for someone with strength loss from advanced age and some decent arthritis on top.

Interfaces are a very broad category in my view, and we have far too many bad ones. Anyway, sorry for the rant, but don't confuse change with better.

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by maximente on Friday June 28, 2019 @12:57PM (#20306363)
> designed for a different age of computers

i want to say this as kindly as possible, but every time i have heard statements to this effect (think "paradigm shift", "new age", etc.), the presumably "better" technology (which more often than not just means newer) is always oversold.

i would reconsider your line of argument, because as someone who has heard this several times throughout my career, this is almost certainly a bellwether of disappointment.

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by rkangel on Friday June 28, 2019 @01:34PM (#20306787)
But computers were different in the 80s when X was designed (to talk about one example). We don't use networked terminals to a mainframe, the graphics stack (hardware and software) works completely differently now, user expectation on compositon and visual fidelity has increased, and the security threat model has changed (in that it exists now and never used to).

There has been no one paradigm shift, merely 40 years of incremental advance leading to a different landscape with different requirements.

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by erik_seaberg on Friday June 28, 2019 @01:59PM (#20307071)
> We don't use networked terminals to a mainframe

The mainframe is now a rack of servers, still separated from the framebuffer by a long network connection. The decline of X has us so desperate that we're abusing web browsers as remote displays.

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by cesarb on Friday June 28, 2019 @03:13PM (#20307869)
> The decline of X has us so desperate that we're abusing web browsers as remote displays.

There's a fundamental difference between a X11 remote display, and an application running within a web browser. This difference becomes obvious when the network connection drops: the X11 application will immediately freeze, since all of its code was running in the remote computer, while the application within the web browser can retain some of its functionality.

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by jcranmer on Friday June 28, 2019 @02:40PM (#20307531)
Is it the decline of X11, or the fact that HTML+JS+CSS has proven to be a better model for building UI applications than X11 has?
Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by DonHopkins on Friday June 28, 2019 @03:20PM (#20307923)
Abusing? Web browsers are much better remote displays than X-Windows servers, by a long shot.
Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by the_why_of_y on Friday June 28, 2019 @03:21PM (#20307935)
Do you want that rack of servers to keylog you? That's what it would be able to do with an X11 connection.
Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by zzzcpan on Friday June 28, 2019 @12:36PM (#20306133)
Every new piece of software is not progress, very little of it is actually innovative, none is better in every way and not that much of it is even usable. Having options at least accepts that, respects people's time and allows people to avoid suffering through it until it eventually dies anyway.

Speaking of stagnation, reinventing anything "not invented here" is also stagnation, not progress.

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by eecc on Friday June 28, 2019 @02:04PM (#20307138)
Yes, but please let’s not sneak into the conversation the idea that SystemD is anything but a trainwreck
Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by fooker on Friday June 28, 2019 @02:19PM (#20307310)
Most distro maintainers disagree apparently, I wonder why.
Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by dane-pgp on Friday June 28, 2019 @04:32PM (#20308543)
Distro maintainers fall into the following categories (with the accompanying fictitious percentages):

* 50% - maintainers who don't care about systemd

* 35% - maintainers who do care, but who feel powerless to stop the Domino Effect (and don't want to echo the familiar criticisms of it, or be associated with the "haters")

* 10% - maintainers who actually like systemd, because it is optimised for their use cases (at the expense of others)

* 5% - maintainers who can't stand systemd, and leave their distro/OS over it

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by fooker on Friday June 28, 2019 @12:27PM (#20306020)
The option is still there, you can write an unit file which runs your_awesome_script.sh.
Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by Nursie on Friday June 28, 2019 @01:21PM (#20306643)
> Sure, but that isn't a good reason to remove the option to do so for everyone else.

It didn't. You can still write your init scripts.

I'm not a fan of the monolith here, I dislike the whole concept of binary logs, of tight coupling with udev and journald, but seriously - once you get into how the various systemd service and target files hang together it's a (comparative) delight. And they can still trigger your scripts.

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by hedora on Friday June 28, 2019 @10:42AM (#20304758)
I haven’t written an init script in ten years.

It is like coming home one day, and the house has been demolished. There’s a joker in a bulldozer proudly proclaiming there was some dog crap on the sidewalk, and that he took care of it for me.

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by Scramblejams on Friday June 28, 2019 @02:00PM (#20307087)
Solid analogy. In the case of Systemd, it was fixing problems for me that I never had, and creating problems that I'd also never had: It broke laptop sleep. It broke /etc/rc.local. It broke domainless local DNS lookups. It broke boot on one of my servers (fstab's new nofail argument? really?) And it (soft) broke a keyboard of mine. A keyboard! Astonishing.

I really wish Debian had not drunk that particular kool-aid. :'(

I'd go somewhere else but Debian (and by extension Ubuntu) have been doing binary package management the longest, and for me it really shows. I want these boxes to just sit there for years, be extremely low maintenance and only pick up security updates, and I've never gotten a better experience anywhere else.

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by hrangozz on Friday June 28, 2019 @02:59PM (#20307731)
I've had a similarly good low-maintenance and dependable upgrade experience with CentOS
Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by Scramblejams on Friday June 28, 2019 @06:03PM (#20309134)
CentOS ain't gonna get me away from systemd, though.
Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by nailer on Friday June 28, 2019 @02:13PM (#20307233)
> I haven’t written an init script in ten years.

Me neither, but that's because of systemd. How do you make your own SysV service without making an init script?

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by nisa on Friday June 28, 2019 @10:36AM (#20304698)
Not everyone wants to talk dbus to configure the firewall :P
Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by pas on Friday June 28, 2019 @03:00PM (#20307743)
I just put iptables shit into /etc/rc.local and it works, no dbus needed :)
Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by nisa on Friday June 28, 2019 @03:59PM (#20308280)
this was just a stupid comment on firewalld
Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by cp9 on Friday June 28, 2019 @10:25AM (#20304581)
linux is healthier than it's ever been. even microsoft is in on linux now
Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by AnIdiotOnTheNet on Friday June 28, 2019 @11:06AM (#20305020)
Considering the state of current Windows I'm not sure that's actually an endorsement.
Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by organsnyder on Friday June 28, 2019 @12:13PM (#20305844)
Care to unpack that? Windows 10 is the first Windows OS I've felt comfortable using since Windows 2000.
Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by McAtNite on Friday June 28, 2019 @12:36PM (#20306136)
Out of curiosity what do you prefer in it when compared to Win7?

For me Windows 10 has been a huge step backwards. Settings are spread out in multiple UWP style apps and the classic settings programs. The update scheme is annoying, and Microsoft is pushing out more buggy updates than ever before. Clicking “check for updates” surprise enrolls you into their beta channel. The telemetry is forced and they regularly reset your preferences.

I absolutely hate Win10, and this is coming from a guy who didn’t mind Win8.

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by NoGravitas on Friday June 28, 2019 @02:44PM (#20307571)
I'm not OP, but I much prefer the window management in 10 to 7. You can tile windows by keyboard (you could do this in 7, but it's improved in 10), and resize tiled windows together to keep their relationship to each other. There are virtual desktops without third-party utilities now.

The console is better than it was, but still not good enough to be called adequate.

I wouldn't use it at home, but I'm happier with it at work than with 7.

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by organsnyder on Friday June 28, 2019 @01:57PM (#20307051)
To be honest, I didn't seriously use Win7 much, so I probably agree with everything you said. I've used 10 a lot more (switched to a Windows-centric company and finally built a gaming rig at home). So maybe I would have liked 7 as well. I do find the settings to be confusing—I assume they're mid-transition on those.

I have also yet to be bitten by a bad update. I'm sure my time will come.

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by alpaca128 on Friday June 28, 2019 @02:18PM (#20307294)
In my experience Windows 7 was clearly the pinnacle so far. The only real new feature since then that I liked was the ability to scroll in windows that aren't in the foreground. In exchange the privacy and update issues basically exploded with Windows 10, to a point where the frequency of my system reinstallations went from "maybe once in the lifetime of the PC" to "about every 6 months". It's the main cause for my full switch to Linux and the number of reasons to not go back is only growing over time.
Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by nailer on Friday June 28, 2019 @02:15PM (#20307252)
There's 1 app called Settings. In the current Windows 10 it does nearly everything (the most recent thing they added was battery levels for Bluetooth devices and fonts).

Yes File Explorer needs an update but that's about it.

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by pjmlp on Friday June 28, 2019 @12:10PM (#20305808)
Don't mix the Linux kernel with POSIX.

Microsoft is only caring about Linux to the extent that Linux kernel ABI nowadays is more relevant than POSIX.

Managed runtimes make the underlying OS almost irrelevant.

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by DonHopkins on Friday June 28, 2019 @10:14AM (#20304462)
And for good reason! It's about time, too. The "Unix Philosophy" is intellectually bankrupt. You shouldn't have to fork a process from the shell to multiply two floating point numbers (especially when the CPU can do that in one instruction), or do simple string manipulation. That's ridiculous.
Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by pdkl95 on Friday June 28, 2019 @11:11AM (#20305094)
> The "Unix Philosophy" is intellectually bankrupt.

The rest of your post appears to be about shell (presumably Bourne) script, leaving this claim unsupported. "UNIX philosophy" != "writing shell scripts".

> You shouldn't have to fork a process from the shell to multiply two floating point numbers

I can't remember a single time in the >25 years I've been writing Bourne shell (or bash) scripts where I've wanted to "multiply two floating point numbers". I've sent large lists of floating point numbers to various programs for processing, but other languages are far more appropriate for problems that requires any amount of actual calculation (especially floating point calculations). If I did need to multiply two floats for some reason, it would be such a rare event that the few hundred milliseconds "wasted" in spawning bc is utterly irrelevant.

You seem to be complaining about shell by selecting a feature that is not actually needed in common use. What, specifically, were you doing that you needed fast floating point match but needed to use Bourne shell instead of C/Python/whatever?

> fork a process ... do simple string manipulation.

For many types of string manipulation, you don't. Manipulating strings (command lines) is what the shell was designed to do! Sometimes sed/awk/etc is useful for complex tasks, but the shell's variable expansion and other builtins are generally enough for most simple needs.

And if your needs actually are complex, the cost to start another process (which is probably much smaller than you think) is insignificant.

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by DonHopkins on Friday June 28, 2019 @04:12PM (#20308394)
>I can't remember a single time in the >25 years I've been writing Bourne shell (or bash) scripts where I've wanted to "multiply two floating point numbers".

Your attitude about not being able to imagine any reason why you'd ever need to use floating point reminds me of the HP technical support person that Steve Strassmann quoted in his email to the Unix-Haters mailing list on Apr 10, 1991:

https://medium.com/@donhopkins/the-x-windows-disaster-128d39...

>My super 3D graphics, then, runs only on /dev/crt1, and X windows runs only on /dev/crt0. Of course, this means I cannot move my mouse over to the 3d graphics display, but as the HP technical support person said “Why would you ever need to point to something that you’ve drawn in 3D?”

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by DonHopkins on Friday June 28, 2019 @11:17AM (#20305155)
You're blinded by the limitations of your tools. Of course you wouldn't do something that's impossible with the shell, because you know it's impossible, and would switch to another language if you needed to do that. That doesn't mean that you never need to use floating point numbers. It just means you need to switch languages when you need to use them. Which is my point.

And no, the kind of stuff you need to fork sed or awk to do is not "complex". It's simple. It only seems complex because you're writing a shell script, and the backflips you have to do to escape the parameters and fork the processes to do that simple string manipulation is complex, not the string manipulation itself.

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by stevekemp on Friday June 28, 2019 @01:00PM (#20306402)
I look forward to using your enhanced tools, once they're ubiquitious and fully-featured.

More seriously I can't imagine what "points" you're trying to score. Yes the shell is good at launching external processes, and yes the built-in facilities for other things are lacking in some ways. On the whole people work around them by using perl, python, and other tools.

It might be, as you say, that people resort to using such external scripts/languages because their shells suck. But I have to ask: So what? They get the job done. A "super-shell" doesn't need to be present, even if people do things the "hard-way".

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by DonHopkins on Friday June 28, 2019 @03:46PM (#20308157)
When did I every say or imply that I was writing my own shell? There are already ample real programming languages to use that can fork off and manage sub-processes just fine, thank you, instead of writing ridiculously inefficient complex hard to maintain un-modular shell scripts.

Why would I waste my time trying to fix something that's fundamentally flawed, and that nobody would use because it wasn't "standard"?

We already have Python, JavaScript, Perl, etc. Even PHP is overwhelmingly better and more modular than bash! Why try to put lipstick on a pig like bash?

My point (which I already stated) is that the "Unix Philosophy" in intellectually bankrupt, not that the shell should be extended with string manipulation and floating point to make it unnecessary to fork "sed", "awk" and "bc".

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by mixmastamyk on Friday June 28, 2019 @12:27PM (#20306016)
Perhaps you are arguing for a better shell? Which is something I could get behind. bash has always been a bit of a mess. xonsh is one example of a better one, however I am currently using fish. fish has a math and string manipulation builtin.

https://fishshell.com/docs/current/commands.html#math

https://fishshell.com/docs/current/commands.html#string

https://xon.sh/tutorial.html

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by DonHopkins on Friday June 28, 2019 @03:47PM (#20308173)
Nope. See above.
Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by mixmastamyk on Saturday June 29, 2019 @02:59AM (#20311186)
If you’re not interested in solutions then you’re wasting everyone’s time.
Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by DonHopkins on Saturday June 29, 2019 @03:49AM (#20311357)
If you're pushing a solution that's worse than existing practical widely used well supported alternatives, you're wasting everyone's time.

I have already proposed an extremely practical, totally open, standards compliant, easily predictable, inevitable solution. What is your response to my posts about pushing something like Electron down to the bare metal?

It's not as if there aren't already thousands of extremely talented people across hundreds of different companies and organizations, all working towards towards making that possible and efficient. It's not as if the tooling doesn't already exist and isn't widely supported and rapidly evolving.

There is no need for X-Windows, and no need for Wayland, because a web browser running on bare metal could do everything they do, and so much more, in a vastly more flexible, standards compliant, modular, powerful, efficient way.

And it would be a much better platform for implementing a shell, user agent, desktop, window manager, and even a visual programming environment than the half-assed mish-mash Turing Tarpit of shell scripting languages Unix has suffered with for so many decades, which themselves don't even adhere to the so-called "Unix Philosophy".

https://snap.berkeley.edu/

AND it would be truly extensible (even capable of gasp multiplying floating point numbers and doing non-trivial string manipulation without forking heavy weight processes), which X-Windows and Wayland are not, which means it can be fundamentally much more efficient, by downloading code to implement application specific protocols and local interaction, like NeWS did decades ago, but X-Windows and Wayland foolishly and stubbornly refused to do by design. (It's not like the ideas behind NeWS were unknown to the designers of X-Windows and Wayland -- they just chose to ignore them. And now here we are.)

You've got JavaScript and WebAssembly for programming, WebGL and <canvas> and <video> and DHTML and CSS for drawing (including low latency rendering with desynchronized canvases), JSON and XML and ArrayBuffer for data representation, HTTP and WebSockets and WebRTC for networking. What is it missing?

https://developers.google.com/web/updates/2019/05/desynchron...

That design has been well proven and is widely used throughout the industry. It's not a new idea, but kids these days refer to it as "AJAX". There's no need for a bunch of useless layers underneath the web browser any more. It's time for X-Windows and Wayland to fade away into the depths of history.

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by mixmastamyk on Saturday June 29, 2019 @02:01PM (#20313889)
I saw the Electron mention, but didn’t know what to make of it. What does a “web window system” have to do with unix shell script limitations? I still don’t know.

I find web programming inelegant honestly, with three languages instead of one, a clumsy interpreted programming language that doesn’t multithread. Webasm may help with the last parts, perhaps. What about performance? How to run native code in windows?

At least I’d know how to use it, that’s a big plus. There would need to be some standardization around gui widgets, don’t like how they have to be built from scratch in every project.

Gnome3 uses js and css in its desktop widgets.

Finally Wayland is pretty lean, folks complain it doesn’t do enough already. You’d have to implement a driver and drawing layer anyway, right? So not much is “useless,” perhaps the window manager.

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by DonHopkins on Sunday June 30, 2019 @11:46AM (#20318789)
So three languages instead of one is bad for the web, but just fine for bash+awk+sed+expr+bc+grep+egrep+cut+sort+find+etc?

(Plus the other languages you need to switch to and rewrite from scratch once your bash script becomes more than 12 lines long.)

"After a shell script reaches a dozen lines, it's time to port it to Python." -mixmastamyk

Why would anyone in their right mind ever start out with a language that can only handle 11 line scripts?

And are you under the impression that bash is multithreaded? That it has good performance? A just in time compiler? An ahead of time compiler? A module system? A large ecosystem of reusable modules that can plug together and call each other without conflicts? An object oriented programming system? A debugger? An IDE?

Can you compile C++ and other languages into compact BashAssembly code, call it back and forth directly from Bash, and run it really fast across all platforms?

In case you weren't aware, a hell of a lot of people write JavaScript code that runs in node.js, instead of bash scripts, and are very happy with it. And of course Electron can run any code that runs in node.

So yes, running JavaScript in node or Electron is a fine alternative to running bash scripts. It can even handle file names with space in them without shitting itself! What rocket science! And you don't even have to rewrite your scripts in another language once they reach 12 lines -- what a relief!

What I was describing that you didn't understand is implementing a visual programming shell in Electron. And if you prefer a text command line shell with a different syntax than plain JavaScript, then simply implement that syntax and the command line interpreter in JavaScript itself, so you have the complete power of JavaScript and all its libraries to draw from (including extravagant luxuries you're not used to, and couldn't imagine you'll ever need, like floating point math and string manipulation), and you can import and call any JavaScript module. That blows bash out of the water.

You say you're not even aware that there are libraries of user interface widgets for JavaScript, and falsely claim they have to be "built from scratch in every project". But there are many, some of them quite good.

So have you ever even heard of or used the Chrome debugger JavaScript console window, or have any clue what high power integrated convenience and debugging features it supports?

Google Chrome Developer Tools Crash Course

https://www.youtube.com/watch?v=x4q86IjJFag

How does that compare to your favorite bash integrated development environment and debugger? Care to tell me which one you use, and link me to a tutorial that shows how much better it is than the Chrome debugger?

Or do you firmly believe that ALL people who write bash scripts NEVER need to debug them, set breakpoints, catch errors, examine stack traces and scopes, single step through code, browse the values of variables and data structures at runtime, just like they never need to use floating point or do non-trivial string manipulation?

I admit that might be the case if you always rewrite your bash scripts in Python once they reach a dozen lines, as you say. But in the real world, most bash scripts are much longer than that, and often suffer from lots of bugs.

You sound like one of those people who complains about hating Lisp because it has too many parenthesis, then goes and writes code in bash or perl with so much punctuation and different kinds of parens and brackets and braces and single letter abbreviations and syntactic syrup of ipecac, that it looks like you lifted the phone out of your 300 baud modem's acoustic coupler and shouted into it.

As I said, you're blind to the problems and limitations of your favorite tools, and hypocritical in your criticisms of better tools.

The preface of the Unix Haters handbook perfectly describes the problem you're suffering from:

https://web.mit.edu/~simsong/www/ugh.pdf

“I liken starting one’s computing career with Unix, say as an undergraduate, to being born in East Africa. It is intolerably hot, your body is covered with lice and flies, you are malnourished and you suffer from numerous curable diseases. But, as far as young East Africans can tell, this is simply the natural condition and they live within it. By the time they find out differently, it is too late. They already think that the writing of shell scripts is a natural act.” — Ken Pier, Xerox PARC

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by mixmastamyk on Sunday June 30, 2019 @02:21PM (#20319607)
My favorite tools are Python and fish, so your insults about the others don't really hurt. I almost never use bash because I don't care for it either. Those other Unix command-line tools are arcane too, but they have a mostly compatible syntax. Don't use many of them besides a grep alternative and an occasional sort perhaps.

There are languages optimized for interactive use, and others for writing batch scripts and programs. Fish is great for interactivity, Python not so much. So they compliment each other quite well. There have been a few attempts to do both (xonsh/iPython), but none have been big hits yet.

Performance is important for long-running and/or computationally expensive apps, which are typically not interactive. When I brought it up, was thinking of Gimp filters, not "ps -ef | grep FOO".

Javascript is probably good enough these days. If you want to create a "jsh" interactive shell with the good parts have at it. Believe it is doable by a single person in a reasonable time. I'd guess a few might already exists and could use contributors.

Re: widgets, meant that few are standardized/built into the browser already and have to be downloaded, not that none exist. A silly situation (as someone who wrote GUI apps in a single language in the 90s), yet could be rectified.

But in thread about GUI Window systems you are going on and on about the limits of bash, which is why your arguments are not well received. It's really neither here nor there regarding Wayland. Shell scripting hasn't held me back since '98 or so, if it ever did. It's like complaining about vi when Sublime Text and VSC exists.

I get that you appreciate good software design, me too. But "worse is better" is the reality we live in. Things get better, eventually.

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by vthriller on Friday June 28, 2019 @04:09PM (#20308366)
> It just means you need to switch languages when you need to use them. Which is my point.

So, what's the problem with that? I read it almost like "that doesn't mean that you never need to retrieve data, it just means you need to switch to SQL". People develop DSLs for a reason.

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by DonHopkins on Friday June 28, 2019 @04:26PM (#20308505)
Python, Perl, PHP and JavaScript don't need to fork another heavy weight process each time to perform successive SQL queries.
Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by 1_player on Friday June 28, 2019 @10:21AM (#20304542)
Not sure I agree with you there: should it not fork a process to run a heavy task? Should it not fork a process for each end of a pipe, especially considering we're deep into the multicore era of processors?

The fact that the basic shell could use more builtins instead of delegating everything to external processes (like calculating a simple expression) is totally unrelated to the Unix Philosophy being bankrupt.

If fork and processes weren't so expensive, I still think multiple processes are the best way to parallelise on multicore CPUs. In fact, there's a resurgence in programming environments based on multiple communicating, yet isolated, processes, see Erlang/Elixir.

Though I definitely would like to see someone seriously exploring a different paradigm than UNIX.

EDIT: Unix philosophy also is "everything is a file", and what is a file exactly? A bag of bytes. Everything we deal with is a bag of bytes if you think about it, so I find it perfectly fitting to model our world that way.

But then again, the current construct to represent this idea such as labels organised in directories, might be a bit long in the tooth and we're due for some paradigm shift on this front as well, but I digress.

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by DonHopkins on Friday June 28, 2019 @10:57AM (#20304909)
"Everything is a file". Except ioctl. Except mmap. Except the shell makes it a huge pain in the ass to hook up arbitrary graphs of streams between processes.
Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by tntn on Friday June 28, 2019 @12:02PM (#20305716)
EDIT: I'm too old for this. Think what you want about mmap and ioctl.
Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by DonHopkins on Friday June 28, 2019 @12:04PM (#20305735)
My point is that ioctl and mmap disprove the "Unix Philosophy" idea that files are one-dimensional streams of characters that are all you need to plug programs together.
Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by uep on Friday June 28, 2019 @12:16PM (#20305891)
Do they though?

Everything as a file is an abstraction, an enormously useful abstraction. The point isn't that it has to behave like a file in every way. At the C level, the fact that open(), read(), write(), or e/poll() behave the similarly is extremely helpful.

I can have a whole suite of functions that do not care what type of file descriptor they hold, but just that those functions behave in a predictable way. Maybe only 10% of my code has to care about the differences between them, instead of 70%.

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by pjmlp on Friday June 28, 2019 @12:12PM (#20305837)
Except sockets, Sys V IPC, GPGPUs, better then?
Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by p_l on Friday June 28, 2019 @01:16PM (#20306598)
BSD Sockets were never part of "UNIX Philosophy", they are an ugly quick'n'dirty port/rewrite of code from totally alien system (TOPS-20) because DoD had to deal with vendor abandonment
Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by danarmak on Friday June 28, 2019 @01:53PM (#20307016)
And in the 35 years since, despite multiple new kernels and userlands and languages, a more unix-file-like socket API hasn't become popular. I'm not sure what does that tells us, but it's not nothing.
Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by p_l on Sunday June 30, 2019 @09:14AM (#20318024)
Interestingly enough, Go's network functions, by virtue of being native to Plan9, actually are based around Plan9's file-based network API. It works pretty nicely, though "everything is a file stream" has its issues.

Government, Politics, resistance to change, NIH syndrome, "us vs them" and a bunch of other issues all conspired to keep BSD Sockets alive.

The first is the origin of BSD Sockets at all - UCB got paid by the government to port TCP/IP to Unix and, AFAIK, provide it royalty-free to everyone, because DoD needed a replacement for TOPS-20 as fast as possible and widely available, and there were tons of new Unix machines on anything that could get paging up (and some that couldn't).

Then you have the part where TLI/XTI ends up in Unix Wars, associated with slow implementations (STREAMS), despite being superior interface. NIH syndrome also struck in IETF which left us with the issues in IPv6 development and defensiveness against better interfaces than BSD Sockets because those tended to be associated with the "evil enemy OSI" (a polish joke gets lost there, due to "osi" easily being turned into "axis").

Finally, you have a slapped together port of some features from XTI that forms "getaddrinfo", but doesn't get much use for years after introduction (1998) so when you learn programming BSD Sockets years later you still need to manually handle IPv4/IPv6 because no one is passing knowledge around.

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by 1_player on Friday June 28, 2019 @04:18PM (#20308446)
What new kernels? The three major OSes are two UNIX based, and one doing its own thing.

I don't think it's a great investment in time redesigning the whole socket API since you need to keep the old one around, unless you want to lose 35 years of source code compatibility.

The BSD socket API can definitely and easily be improved and redesigned, if only there was some new players in the field that wanted to drop POSIX and C compatibility and try something new.

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by danarmak on Friday June 28, 2019 @04:30PM (#20308528)
> What new kernels? The three major OSes are two UNIX based, and one doing its own thing.

I meant that many new and forked UNIX-like kernels have been written over the past 35 years. Just the successful ones (for their time) include at least three BSDs, OSX, several commercial UNIXes (AIX, IRIX, Solaris, UnixWare...), and many others I'm unfamiliar with (e.g. embedded ones).

It's common to add new and better APIs while keeping old ones for compatibility. Sockets are a userland API, so if everyone had adopted a different one 20 years ago, the original API could probably be implemented in a userland shim with only a small performance hit.

However, a new file-based paradigm from sockets would probably work better with kernel involvement; that's why I mentioned kernels. We've seen many experiments in pretty much every other important API straddling kernel and userland. IPC, device management, filesystems, async/concurrent IO, you name it. Some succeeded, others failed. Why are there no widely successful, file-based alternatives to BSD sockets? The only one I know firsthand is /dev/tcp and that's a Bash internal.

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by pjmlp on Friday June 28, 2019 @02:06PM (#20307158)
Except the part that BSD is one of the surviving UNIXes.
Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by darkpuma on Friday June 28, 2019 @06:32PM (#20309332)
Which should drive home the point that "everything is a file" does not accurately describe the reality of the Unix "philosophy".
Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by DonHopkins on Saturday June 29, 2019 @04:16AM (#20311426)
If none of the Unix shells are remotely compliant with the "Unix Philosophy", then what is the "Unix Philosophy" other than inaccurate after the fact rationalization and bullshit?

Name one shell that's "Unix Philosophy Compliant". To the extent that they do comply to the "Unix Philosophy" by omitting crucial features like floating point and practical string manipulation, they actually SUFFER and INTRODUCE unnecessary complexity and enormous overhead.

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by darkpuma on Saturday June 29, 2019 @08:41AM (#20312255)
> "If none of the Unix shells are remotely compliant with the "Unix Philosophy", then what is the "Unix Philosophy" other than inaccurate after the fact rationalization and bullshit?"

Precisely that! It's post-hoc rationalization and bullshit, that's the point I was driving at.

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by 1_player on Friday June 28, 2019 @04:09PM (#20308369)
Nothing is ever "pure". Linux isn't pure, ultimate Unix philosophy.

ioctl, mmap, sockets could be represented as files, why not?

`echo 1 > /root/some-file/%lock` instead of fcntl(F_SETLK) -- I just made up this syntax

`echo SIGTERM > /proc/15683/signal` instead of kill

Not sure about mmap, since its very purpose it to map a file to memory.

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by DonHopkins on Friday June 28, 2019 @04:43PM (#20308642)
>ioctl, mmap, sockets could be represented as files, why not?

The fact that they're not may be a clue to answering that question.

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by DonHopkins on Friday June 28, 2019 @10:27AM (#20304596)
So you propose making a "floating point multiply server", even though the CPU can do that in one instruction? Talk about microservices!
Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by 1_player on Friday June 28, 2019 @10:33AM (#20304664)
Au contraire, I'm saying the shell could turn your multiplication command into a single instruction, no need to call an external process.

But at some point you need to delegate to other processes. You can't have /bin/bash embed your Chrome browser in it.

But that's not even Unix philosophy. That's how DOS used to work as well.

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by DonHopkins on Friday June 28, 2019 @10:50AM (#20304845)
I'm talking about the shell that actually exists, not some hypothetical shell that doesn't exist and never will. You can't defend the "Unix Philosophy" by proposing a non-standard MONOLITHIC shell be universally adopted that totally goes against what the Unix Philosophy explicitly states: "Make each program do one thing well. To do a new job, build afresh rather than complicate old programs by adding new "features".

At least Apple figured out that floating point was useful early enough to replace INTEGER BASIC with APPLESOFT.

Forking "bc" from "bash" is the canonical way to multiply two floating point numbers in Unix, according to the "Unix Philosophy".

https://stackoverflow.com/questions/12722095/how-do-i-use-fl...

>You can't. bash only does integers; you must delegate to a tool such as bc.

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by Crinus on Friday June 28, 2019 @11:05AM (#20305010)
The shell is meant to pipe programs together, not perform computations itself. Computations are meant to be made by programs, not shell scripts.

Use the right tool for the job, do not complain that you screwdriver sucks because you cannot cut wood with it.

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by DonHopkins on Friday June 28, 2019 @11:20AM (#20305186)
You too are blinded by the limitations of your tools. Of course the shell performs all kinds of computations. Just not a useful enough set of them that you don't still need "bc" and "awk" and "sed" and "grep" and many other ridiculous "Unix Philosophy Compliant" tools.

I complain my screwdriver sucks when it's made of plastic, and it's only good for driving plastic screws into styrofoam.

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by pdkl95 on Friday June 28, 2019 @12:09PM (#20305807)
> shell ... Just not a useful enough set

    chsh - change login shell

    DESCRIPTION
      The chsh command changes the user login shell.
If you don't like the features of your shell, use a different shell.

> you don't still need ... "awk" and "sed" and "grep"

I don't need those programs - there are many other ways to solve most problems. I want to use them because they are both fast to start and execute, and make development time extremely fast.

> You too are blinded by the limitations of your tools.

You appear to be trying to use the shell for tasks that that should be done in a different language. You also don't seem to understand that some of use use the shell because discovered it was a much faster and easier to use tool for some problems than the other methods we've tried. For some tasks, complaining about the overhead to do some things like floating point or trivialities like the <100ms it takes to fork and run bc is a premature optimization.

If you don't find shell to be a useful tool for the problems you need to solve, that's fine; use whatever tool works best for you. We might be trying to solve different problems. Just because you don't like a particular tool doesn't mean it's "ridiculous".

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by vthriller on Friday June 28, 2019 @03:49PM (#20308194)
What all those "ridiculous" tools allow, among other things, is:

- Cheap parallelism. Things as easy as `grep | cut | sort` will utilize multiple cores despite shell and all the tools it spawns being single-threaded. I can't imagine threading primitives in some supercharged version of bash without some ugly syntax and a number of additional questions about deadlocks on StackOverflow. That would not be bash, but some ugly Python parody instead. (Also note that even PowerShell seems to limit itself to job control primitives despite being more capable .NET-backed language: [1].) That usually saves me much more than ability of zsh to multiply floating point numbers without forking.

- (Inter)changeability. Want to multiply complex numbers? Use another calc. Want ridiculous regexes? pcregrep. Want to scan large hard disk efficiently? ffcnt [2]. Want to do something else, and to do it efficiently? Write a program without spending a time to learn your shell's C API [3], just read stdin or parse argv. Yeah, I too wish to not spend much time serializing and deserializing data in each and every pipe, but that would require not a new shell (we already have PowerShell) but, I guess, an entirely new OS as well as ecosystem designed just for that OS, which nobody would spend much time adapting to at this time.

[1] https://stackoverflow.com/questions/3325911/how-does-threadi...

[2] https://github.com/the8472/ffcnt

[3] Really, who got time to spend on something like https://docs.python.org/2/c-api/index.html (I know, Cython exists, but there's no Cython for every language out there.)

(edit: formatting; replaced platter-walk (which is a library) with ffcnt (which uses said library))

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by Crinus on Friday June 28, 2019 @11:34AM (#20305383)
The idea is that the tools are meant to be limited to avoid complexity (this is why bash, like most GNU tools, isn't really a good example of unix philosophy - it is too complex) and instead rely on composition.
Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by darkpuma on Friday June 28, 2019 @12:46PM (#20306230)
If you browse through GNU documents, you sometimes come across strange ancient passages like

> "Avoid arbitrary limits on the length or number of any data structure, including file names, lines, files, and symbols, by allocating all data structures dynamically. In most Unix utilities, “long lines are silently truncated”. This is not acceptable in a GNU utility. "

What do you suppose the ancients meant by this? Some have taken it as evidence that in ancient times before GNU, Unix tools were not in fact "doing one thing and doing it well" as the Unix priests so often claim. This of course is blasphemy and the guilty are punished accordingly... but are they wrong?

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by DonHopkins on Friday June 28, 2019 @11:43AM (#20305494)
As if the bash syntax for simple string manipulation and piping and quoting and escaping and even determining if a string is empty wasn't unnecessarily complex.

As I said, the "Unix Philosophy" of plugging together artificially limited tools by pipes is intellectually bankrupt (and terribly inefficient). That was my whole point.

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by mixmastamyk on Friday June 28, 2019 @12:19PM (#20305917)
It is inefficient, but that doesn't matter much for interactive use. After a shell script reaches a dozen lines, it's time to port it to Python. If the job needs absolute performance you rewrite in a performant language instead.

I'm not sure why you are upset to be honest? What design would you prefer? This one seems to hit all use cases.

In another thread I mention that fish has math and string manipulation builtins.

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by hedora on Friday June 28, 2019 @11:18AM (#20305170)
Plenty of Unix shells support floating point. For example, the conveniently-named ksh93 was released in 1993, and was / is available on a wide range of systems. I’d guess the hipster-compliant fish shell can do these things too, but can’t be bothered to RTFM.

I think the takeaway is that floating point shell use cases are so vanishingly rare that no one bothers to switch shells over it.

https://unix.stackexchange.com/questions/40786/how-to-do-int...

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by hedora on Friday June 28, 2019 @11:10AM (#20305081)
Let’s compare the alternatives to forking for a floating point op (ignoring the fact that it would be easy to add this to the shell if it were common enough):

The Unix way pays to fork a process for a floating point operation in shell, then delegates the expensive work to something written in an appropriate (probably compiled, maybe vectorized/gpu optimized) language. Forking the process took 10-100s of usec. If the hard work is comparable to this, the prompt returns immediately, so it is fast enough. If the hard work is non-trivial, the fork for the floating point op is << 1% of the runtime. Either way, the fork is effectively free.

The “modern” ways (which Unix mostly killed off in the 70’s, but that are currently in revival), are to write the hard work in a high-level, and usually interpreted language or write the process control logic in a lower level language.

In the case of the high level language, the hard work is now ~2-10x slower than unoptimized logic in a compiled language, so you spend ~50-90% of your time in useless overhead.

If you move the process control to a low level language, then it is more verbose, and you also have to recompile (or jit) the bulk of the program, which is much more expensive than forking a process. It likely takes 10s or even 10,000s of milliseconds!

There is a reason Unix won back when machines were orders of magnitude more expensive than they are now. (And why is it still more usable than its competitors today.)

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by 0815test on Friday June 28, 2019 @10:28AM (#20304612)
The point of processes is to be meaningful protection boundaries, especially post Spectre and Meltdown. Maybe you shouldn't have to spawn a separate process to do a simple calculation, but spawning processes had better be as cheap as possible, and things you do from the shell will (in principle if not always in practice) be limited by the speed of human input, so the overhead of a separate process just won't matter. The Unix philosophy gives you these things, together with a reasonably-efficient common interface (byte streams) which can be used to combine independent programs in order to accomplish more complex tasks.
Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by DonHopkins on Friday June 28, 2019 @10:59AM (#20304938)
Think about how many orders of magnitude more instructions and system calls it takes to fork a process, open a new pipe, write bytes to the pipe, context switch to the new process, start it up, read bytes from the pipe, multiple two numbers, write bytes to the pipe, terminate the process, context switch back to the original process, read bytes from the pipe, and close the pipe (no matter how efficient forking and context switching and making system calls is), than it takes to execute a single floating point "fmul" instruction.
Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by Crinus on Friday June 28, 2019 @11:09AM (#20305062)
If you are doing this for a bunch of images once in a while it is meaningless to even care about the performance implications.

If you are doing this often enough where such computation affects the throughput of your application, then you are using the wrong approach - computation is not meant to be done via the shell or shell scripts, these are meant to be used to tie together applications. That you can use bc for computations is just a convenience the overall design enables you, but that doesn't mean it is how you should use it.

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by DonHopkins on Friday June 28, 2019 @11:24AM (#20305238)
>"computation is not meant to be done via the shell or shell scripts"

You are using the passive voice, which is useful when you want to obscure the subject of the sentence. So WHO does not mean for you to perform floating point calculations and string manipulation with the shell?

The shell is a human designed artifact. God did not create the category of shell scripting languages and declare that nobody should ever use them perform floating point or string manipulation.

Windows Powershell isn't ridiculously crippled like bash is. It's still a shell. That disproves your point that there is some universal definition of a shell that precludes it being useful for general purpose programming tasks.

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by Crinus on Friday June 28, 2019 @11:38AM (#20305421)
I didn't claim that there is a universal definition of shell. My comment is about how these tools are meant to be used and designed as to follow unix philosophy (btw Bash does not follow the unix philosophy as it is a very complicated program that tries to do way more than it needs to).

If the Unix Philosophy is a good thing or not is another matter, but to judge that you first have to understand it.

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by DonHopkins on Friday June 28, 2019 @11:50AM (#20305578)
If you don't mean there's a universal definition of what a shell should and should not do, then WHO do you mean proclaimed that "computation is not meant to be done via the shell or shell scripts"?

Just because Eric Raymond writes something in a book doesn't mean it's true.

I've been using Unix for at least 37 years, and other operating systems before that, so I think I have enough experience and understanding to judge the "Unix Philosophy" myself, instead of simply believing without question and regurgitating everything Eric Raymond writes. (And unlike him, I also don't believe black people are violent and stupid, or that white people's long term objective must be to break, crush and eventually destroy Islamic culture, either!)

https://en.wikiquote.org/wiki/Eric_S._Raymond

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by Crinus on Friday June 28, 2019 @12:16PM (#20305881)
> If you don't mean there's a universal definition of what a shell should and should not do, then WHO do you mean proclaimed that "computation is not meant to be done via the shell or shell scripts"?

One doesn't follow the other, the "computation is not meant to be done via the shell or shell scripts" is a statement i made and that was under the context of the Unix Philosophy.

Also you are focusing on the wrong thing here.

> Just because Eric Raymond writes something in a book doesn't mean it's true.

I haven't read any of his books nor i see what he has to do with it.

> I have enough experience to judge the "Unix Philosophy" myself

Then why are you using floating point computation with a bash script as an example for where the Unix Philosophy is bad? Bash doesn't follow the Unix Philosophy, shell scripts aren't even meant to be used for floating point computation when you consider it, instead you should either use a tool dedicated to such computations or to the specific computation you want to perform.

There are issues with the Unix Philosophy, like the simplicity it boasts only exists at a micro/local scale but it disappears at a macro/global scale - combining a few simple tools ends up with the combined complexity of all those tools plus the complexity inherent in the communication of them. To use these simple tools effectively you need to know all of them, knowledge of a single tool - despite how simple it might be by itself - is not very useful if it can only do one thing because an application almost never needs to do one thing.

This isn't a matter of performance, since nobody ever claimed that following the Unix Philosophy would be fast - but many do claim that it is simple.

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by DonHopkins on Friday June 28, 2019 @03:05PM (#20307800)
>shell scripts aren't even meant to be used for floating point computation

There you go with the passive voice again. I ask you yet again: WHO didn't mean for shell scripts to be used for floating point computation? Citations, please?

>I haven't read any of his books nor i see what he has to do with it.

He wrote "The [Brainf]Art of Unix Programming". Since you claimed to understand the "Unix Philosophy", I assume you would have at least heard of the book written by one of the self-proclaimed experts on the topic, which has a whole section including 17 rules in the Wikipedia page on "Unix Philosophy". How long have you been philosophizing away about Unix anyway? Have you seriously never heard of that book?

https://en.wikipedia.org/wiki/Unix_philosophy#Eric_Raymond's...

>Bash doesn't follow the Unix Philosophy.

Bash is no true Scotsman, huh? Bash doesn't follow the Unix Philosophy. Csh doesn't follow the Unix Philosophy. Sh doesn't follow the Unix Philosophy. Yet they are all historically the predominant shell scripting languages of the Unix versions of their time. Can you name ONE popular Unix shell that DOES actually follow the Unix Philosophy? Or does the Unix Philosophy not apply to shells? And who said so?

The "Unix Philosophy" is after-the fact rationalization and bullshit. If the main way to program it is shell scripting, but none of the official shells actually follow the Unix Philosophy, then where does that leave you?

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by mixmastamyk on Friday June 28, 2019 @01:29PM (#20306735)
> Windows Powershell isn't ridiculously crippled like bash is.

Ok, so you want a more powerful shell, see my other replies for examples.

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by nixpulvis on Friday June 28, 2019 @12:24PM (#20305979)
What kind of garbage is this.

The Unix philosophy is not about any of this. In fact X.org is an example of software running on a UNIX environment that really doesn't embrace the philosophy. It's not small, and it doesn't really do a minimal task well and compose them. It's a monolithic interface, and it works because it's been around for a long time. OpenGL or DirectX are other examples of interfaces that aren't really UNIX like.

In comes Wayland, with solutions to many outstanding issues, and design decisions. But it's new, bleeding new still.

When I think about UNIX philosophy I think of `ps -ef | rg fire | cut -d ' ' -f 2 | sort | sed '/^$/d'`, and the push towards micro kernels and stuff like that.

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by dang on Friday June 28, 2019 @03:40PM (#20308106)
> What kind of garbage is this.

Please edit such name-calling out of your comments here, as the site guidelines ask: https://news.ycombinator.com/newsguidelines.html. Your comment would be just fine without that bit.

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by cheez on Friday June 28, 2019 @12:31PM (#20306069)
Seriously. X11 is not at all in the UNIX philosophy.

Conceptually, it is. But not implementation wise.

Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by atoav on Friday June 28, 2019 @12:41PM (#20306185)
The question is how would you get a (consistent) GUI without some sort of "bigger" system. Maybe a modular structure?
Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by zzzcpan on Friday June 28, 2019 @12:46PM (#20306227)
Consistent GUIs is the problem of enforcing guidelines, not software problem, implementation details are irrelevant.
Re:Red Hat Expecting X.org to “Go into Hard Maintenance Mode... by nixpulvis on Friday June 28, 2019 @03:09PM (#20307832)
My favorite "GUI" is just text. The shell interface is, for me, the best [1]. It's very rarely ambiguous, and it works well for many people, even people without vision.

[1] https://nixpulvis.com/ramblings/2018-07-11-building-a-shell-... [1b] https://www.linuxjournal.com/content/without-gui-how-live-en... (also on the front page right now).