There are so many neo-shells that go crazy with colors, autocompletions, & SQL-like features while the most basic problems (like handling of newlines/spaces/international chars) are mostly swept under the rug with -null/-print0, which is more hack than solution. I think Tom Duff's rc shell was an excellent start in that direction, which sadly went nowhere.
I am writing a quoting module now, but the key point is that it's a powerful enough language to do so. It is more like Python or JS; you don't have to resort to sed to parse and quote strings.
I posted the quote-argv solution above -- in YSH it will likely be:
var argv = :| ls 'arg with space' | # like bash argv=()
ssh example.com $[quote.sh(argv)]
But you can write such a function NOW if you like
---
quote.sh follows the (subtle) idiom of replacing a single quote ' with
'\''
which means it works on systems with remote POSIX sh, not just YSH !
e.g. "isn't" in POSIX shell is quoted as
'isn'\''t'
which is these three word parts:
'isn' \' 't'
YSH also has:
- JSON, which can correctly round trip every Unicode string, without writing your own parsing functions
- JSON8, an optional extension that can round trip every byte string you get from the Unix kernel
It is kind of a journey in an annoying way. Like, do we really need to know all the stuff about: this man page says to sanitize input, this one doesn’t, blah blah blah.
Or, let’s just look at an excerpt, here’s the section “proper solution:”
I’ve emphasized the actionable advice.
> The proper solution would be dropping that broken tool immediately, securely erasing it from your hard-drive, then running and screaming that tool's name out-loud in shame... (Something akin to Game of Throne's walk of atonement...)
Joke
> I'm not kidding... This kind of broken tools are the cause of many stupid bugs, ranging from the funny ups-rm-with-spaces (i.e. rm -Rf / some folder with spaces /some-file), to serious security issues like the formerly mentioned shellshock...
Joke/contentless stakes raising.
> So, you say someone holds you at gun point, thus you must use that tool? Check if the broken tool doesn't have a flag that disables calling sh -c, and instead properly executes the given command and arguments directly via execve(2). (For example watch has the -x flag as mentioned.)
Here it is, the paragraph that has something!
> Alternatively, given that most likely the tool in question is an open-source project written by someone in his spare time, perhaps open a feature request describing the issue, and if possible contribute with a patch that solves it.
This doesn’t seem practically actionable, at least in the short term—most projects might ignore your patch, or maybe it will take multiple years to get pushed out to distros.
> Still no luck? Make some popcorn and prepare for the latest block-buster "convoluted solutions for simple problems in UNIX town"...
The original post asserted the article is nonsense; you're trying to justify that by saying you don't like the author's writing style. Two separate things...
The article is mostly correct, although it makes some weird claims (e.g., the Shellshock bug had nothing to do with the class of bugs the article is complaining about - it was a vulnerability in the shell itself). It definitely has a "newcomer hates things without understanding why they are the way they are" vibe, but you actually need that every now and then. The old-timers tend to say "it was originally done this way for a reason and if you're experienced enough, you know how to deal with it", but what made sense 30-40 years ago might not make much sense today.
I dunno, "mostly" normally means some large fraction, maybe 50% or 90% depending on the person.. Given that executing commands by itself is neither a bug nor a security vulnerability (those only occur from bad/lack-of quoting), the majority of the article is wrong.
This is true. I've had so many problems where the pills and creams were time and money down the drain, and the solution was to cut something out of my diet or lifestyle. Less is more.
The water in Brussels must be leaded. If it weren't for redhat constantly breaking things, the "year of the Linux desktop" would have happened 10 years ago. And what do these EU goons choose as their base? Fedora.
are there any good open-source porn-detector models out there? if i ran an image board in 2025, that would be job #1, since it’s really just a weapon, and we don’t speak or print with our genitals—well, most of us anyway…
Have to wonder about the sincerity of this after Yasha Levine illustrated the ties between big tech and the EFF, when big tech’s present theory of copyright is:
> Suppose, hypothetically, you invented an actually effective weight loss drug—one that leads to permanent and healthy change.
> Let’s say it’s a drug that both decreases leptin resistance and prevents simple carbs from triggering the brain’s reward centers. And suppose it doesn’t require someone to keep taking it for the rest of their life, as long as they don’t fall back into obesity.
> Now, imagine you’re not interested in getting rich—you legitimately want to solve the obesity epidemic.
> But then you realize the weight loss industry is a multi-billion-dollar machine, not to mention the pharmaceutical companies profiting off obesity-related health issues. They’re not just going to let this drug come out without a fight.
> Suppose you don’t even care that you're likely to end up falsely accused of rape by women you've never met, and probably dead soon after, with a “suicide note” conveniently found next to your body. You just want to find the best way to get this drug out there and available to the public.
> Assume, for the moment, that no one but you and a small group of trusted researchers know about this discovery—and you stumbled across it accidentally while researching something else.
> What would be the best approach to make this drug available to the public, knowing that powerful, interested parties would do everything in their power to suppress it?
> moles from certian big corp are boycotting any substantial work on Xorg, in order to destroy the project
That's what I've always thought. The "X11 developers" pushing for Wayland weren't original developers so much as RedHat "maintainers," who (understandably) wanted a frontier to explore rather than janitorial work. All I know for certain is that X11 (even as of 15 years ago) mostly worked, while Wayland of 2025 is still full of headaches & breakages.
Thanks for your anecdotes. Here's a couple of counter-anecdotes:
---
X has "just worked" for me since at least ubuntu 8.04 (that's 2008, april, over 17 years ago, for those counting), probably earlier.
I don't recall having any particular issues with X on the fedora machines I ran before I switched to ubuntu 8.04, but I don't recall clearly enough to be able to confidently say that I didn't have any X issues.
OTOH, I also don't specifically recall having X issues since some time around Red Hat 6 or so, which would be around 1998 or 1999, so it might be more like 25-26 years since X didn't "just work" for me.
---
About a year ago, I heard that wayland might be approaching a usable state. So I decided to give it a try on a raspberry pi that I was setting up.
It took literally about 15 minutes before I ran into a problem where I wasn't able to do something I've been doing for decades on X. And I want to stress that I was hoping it would work - I was not out to find a reason not to use wayland, I just happened to run into one inside of about 15 minutes.
I spent a couple of hours trying to figure out how to do what I wanted to do on wayland. I put a nontrivial amount of effort into trying to solve the issue on wayland. During the course of this, I found several different/conflicting pieces of advice, none of which worked for me. I think IIRC I found one option which sounded promising but which meant recompiling the compositor, or something very-nontrivial like that.
I balked at that and switched the system over to X.
And the problem instantly went away, and everything started working again. And that machine currently has an uptime of well over a hundred days.
I would love for wayland to be a thing that actually works to the point that it's a viable replacement for X, but I grow more and more skeptical every year that this doesn't happen. I Expected it like a decade ago.
The reason X "just worked" is that it's very bad, obolsete software that nobody would touch so we all just got used to the things that didn't work.
High DPI, multiple monitors, hot-plugging, OpenGL... these things were hacks and pretty much never worked right. There's also very necessary for modern computers. We all just didn't care.
So what if my thunderbolt dock needed a reboot to connect a monitor? So what if youtube drops a few frames here or there? So what if I need to enforce vsync across the entire desktop just so I don't get splitting? So what if vertical bars appear for a few seconds after suspend? So what if 1.25 scaling looks like ass?
> The reason X "just worked" is that it's very bad
Yeah, sure, most bad software "just works", and there's nothing contradictory about this statement at all.
> High DPI, multiple monitors, hot-plugging, OpenGL
Of these 4 examples, I have literally never had any problems with 75% of them since at least 2008 - maybe 1999 - they all "just work". And I've never tried to do the other one, it may or may not.
You can argue about how old == bad as much as you like. Meanwhile I'll be getting work done using the bad old tech, rather than trying to debug the new broken thing.
> So what if my thunderbolt dock needed a reboot to connect a monitor?
Well if you needed to reboot, i.e restarting X didn't solve it, then that sounds like it's not an X problem at all. Maybe something in the USB stack.
> So what... So what... So what...
So what if the new thing people are trying to force on us doesn't support features we've enjoyed using for decades and use every day to get work done? So what if I've been using network transparency just fine for over a quarter century? So what if the new protocol doesn't support really basic things like screen savers properly? So what if it's suddenly a problem if an application has multiple windows, or wants to record the screen, or automate desktop usage, or reparent some other program, or have a not-rectangular window?
I'm talking about very, very basic features like changing input/output at runtime, graphics acceleration, and scaling.
These are janky on X. I'm sorry, they are and we all know it, across many drivers, not just nvidia.
Yes, Wayland is missing some very niche usecases. For my money, I'd rather be able to plug in a monitor without a restart than have a "not-rectangular window". If your priorities are different then fine, I can't argue with lived experience.
Also, for the record, some X "features" were always a bad idea. The whole "every application being to record everything at any time with no permission model" isn't a feature, it's just a vulnerability. Yes, that means we now have to be much more deliberate with how we control these things, so we have popups and portals and whatnot. But that is actually a big improvement from the alternative, which is every application comes with a built-in free keylogger and screenlogger that you're just kind of hoping nobody is using for nefarious purposes.
Some people would consider the ability to record the screen or run a screensaver - like we've been able to since the 1980s - to be a "very, very basic feature"
> I'd rather be able to plug in a monitor without a restart
I'm not sure what you're not doing that I'm doing, but like I indicated before and you ignored, I've been hotplugging monitors for like 15 years. I've literally never had to reboot to plug in a monitor as far as I can recall. At worst I have to set the resolution. And if you do have to reboot, that doesn't sound like a problem with X.
> Also, for the record, some X "features" were always a bad idea (blablabla)
Sorry, did someone say X was perfect? Maybe I missed that post.
The point being made is that X works. Today. And has for decades. Meanwhile, as I mentioned earlier, wayland is over a decade overdue at this point. And still hasn't solved enough very basic issues that I was able to use it for more than about 15 minutes without running into trouble.
The problem with "X works" type arguments is that, no, no it doesn't, not generally, and when it does it only does so because it gets maintained.
Software rots, period. It doesn't matter how perfect the software is because everything else changes. X hasn't been "just working" for 15 years like you claim as if it's some magic piece of software. No... it's been actively and meticulously maintained for 15 years. It's sort of like saying my Honda Accord with 500K miles just works. Yeah... sort of.
If nobody wants to maintain it, then yeah it won't work at all and that will happen pretty quickly. Because they're dependent on user land, and drivers, and graphics APIs, and those are all moving targets.
Maybe this maintenance will work out and X will live. I highly, highly doubt, but maybe.
Wow, someone has really been chugging on that kool-aid.
> The problem with "X works" type arguments is that, no, no it doesn't, not generally
So, to summarise: what you're saying, in a thread where I demonstrated and you yourself said that X "just works", is that suddenly it doesn't now.
Well I'll be sure to tell my laptop, it's got this thing where it's super stable for weeks at a time. Maybe my laptop hearing that actually it's DE doesn't work and that I imagined all those times I hotplugged my projector is what is needed to magically make wayland usable in the real world.
Accelerated Xwayland clients (GLX)
There is currently no accelerated GLX support when running a GNOME Wayland session no top of the NVIDIA drivers, meaning X11 OpenGL applications will use software rendering.
and:
Mode setting
Mode setting is possible, but the current requirement to use dumb buffers during mode setting before establishing the EGLSurface, EGLDevice CRTC stream link, results in memory constraint issues with multiple monitors with higher resolutions.
Monitor mirroring
Monitor mirroring is currently not possible due to the issue that an EGLSurface can only be linked to a single CRTC. The way GNOME Shell currently does monitor mirroring relies on passing the same hardware buffer to multiple CRTCs, which is currently not supported by the API exposed by the NVIDIA driver.
...Which is just a hilarious, hilarious joke. So in other words, wayland is a complete non-starter for any serious use. But I suppose, to be fair, you won't have to worry about that issue you claim is with X where you say you need to reboot to plug in a second monitor: you just can't have a second monitor! Not if you want it mirrored, or at "higher resolutions"
Hey, just for fun: I bet you can't guess which windowing system has supported all these things for decades?
"Plans are underway to add Wayland support to Xfwm4 while preserving its existing X11 functionality. However, such a restructurization will be a major effort and we cannot tell yet when/if it will be done, so please don't hold your breath waiting for it."
Lol, yep, it's X that doesn't "just work", hahahahaha.
(and no, I wouldn't be holding my breath, would I, given that wayland has now been in development longer than Duke Nukem Forever)
At this point I think you're just arguing in bad faith and you have some strange ideological reasons to cling to X.
As I've already said, if this maintenance effort works out, then great! You, and maybe some other's, can continue to use X and the world will be happy.
I doubt that's going to be the case, but I do actually wish you the best of luck.
Debates, especially on highly subjective issues, will not always be resolved quickly and definitively in the absence of bad faith. That "ideological reasons" you're sensing is the worldview of the person you're talking to.
Wayland works great for me and is significantly more stable and feature-rich, so I'm not waiting for anything. I'm doing things right now that are probably never going to be possible on X just because of the legacy of X.
Obviously, our priorities are different, and probably our hardware too. Maybe I'm lucky, maybe you're horribly unlucky, I don't know. But I will continue to enjoy my higher DPI displays, and HDR, and thunderbolt :p
IMO nvidia cards are pretty much never worth the money. They're really only competitive at the very top end, which isn't where I am or where I think almost anyone else is.
At every other price point, they're just absolutely swept by the competition. Also nvidia in laptops has been a joke for as long as it's existed.
lol. I think you need to jump onto the repos for about 500 ML frameworks and tell them that the only hardware they support well "isn't worth the money".
At this point I think you're just arguing in bad faith and you have some strange ideological reasons to cling to Wayland.
With an attitude like that it'll never be ready for adoption.
> With an attitude like that it'll never be ready for adoption.
An attitude like what? That I... don't like nvidia because they've been actively hostile to OSS for decades? What the fuck do you want me to do about that? It's nvidia's software - if they want to be jackasses then that's not something I, or anyone else on Earth, can fix.
Also what I said about nvidia is 100% factually true.
Nvidia makes good hardware... at the very top end only. Only. Every other price point, they are objectively the worst option. They offer lower rasterization performance and usually it's not even that close.
You're implicitly trying to tell people (as others have more explicitly done) that rather than using the hardware they want to use - for perfectly legitimate reasons (which you've chosen to ignore) - that they should go buy something else, just so that they can adopt your preferred software stack.
I just want you to realise that with every word you type you're digging a deeper hole: when you're digging in, shifting goalposts, ignoring perfectly legitimate issues, and spewing your insane troll logic, what you're doing is making people more hostile and less interested in adopting wayland: I didn't actually give much of a shit before, I just thought wayland was a pretty funny case of vapourware that may or may not come to fruition one day, but now that I see just how evangelical and nonsensically-ideologically-driven some of you rabid fanboys are, It'll take a fairly significant shift to make me want to try it again. Your nonsense trolling here has done wayland a disservice. Congratulations.
I refer you back to this passage in my original anecdote:
"I want to stress that I was *hoping it would work* - I was not out to find a reason not to use wayland"
> don't like nvidia because they've been actively hostile to OSS for decades
Hey guess what? This might come as a shock, but nvidia release drivers for X. And they have for decades. And they work just fine. How do their drivers work on wayland? Oh that's right, they basically don't - I posted links about that what feels like a hundred thousand messages ago. Your reaction was to deflect from that by saying they're not very good anyway. Which completely fails to even attempt to respond to the issue I pointed out.
> Also what I said about nvidia is 100% factually true.
You might note if you read back over the history of this thread that I actually didn't ask for your opinion of nvidia or their hardware at any point. Nor did I ask for an "objective" evaluation of the performance of nvidia cards relative to others. The reason I didn't ask that is because I don't actually give a shit what your opinion about nvidia and their hardware is. I hope this clears things up for you.
> they are objectively the worst option
Not for use cases that explicitly require nvidia cards and don't support anything else.
Also, somewhat related, it seems that like a ton of things I've said, you forgot to address my point that cuda is basically the only game in town when it comes to ML. I guess that must have been an oversight and not at all intentional and ideologically driven deflection.
X just worked for a large subset of users. However Wayland just works for a large subset as well. In either case if you are in the subset where it doesn't work then you will complain. Wayland has a design such that if things don't work for you today we have a hope that we can make it work for you in the future. Many of the issues where X didn't work for some people could not be fixed, and some of those were issues that are becoming more important.
> Wayland has a design such that if things don't work for you today we have a hope that we can make it work for you in the future.
The reason we hate Wayland so much is that X is being killed off now, with things only ever maybe working again in the future. Wayland would be way better if the people behind it added support for all of the missing features and use cases first, and only then killed off X.
Right, and I wish them luck. Though signs point to this person not being a good mainainer - breaking basic
features and so on. Maybe this is needed to get into a long term better place though.
Not working with the Xenodm people also seemed like a sign of bad maintainership to me. I don't think the baseline is hard to improve on and him forking it is almost certainly a step in the right direction.
> Though signs point to this person not being a good mainainer
I don't know about that. If you read through the whole issue which was linked, you'll see the guy was quite responsive, fixed the issue very quickly, and gave a reasonable explanation as to the cause of the issue.
> Maybe this is needed to get into a long term better place though.
Yeah, agreed.
I think a separate repo/branch seems like a good place for him to do his work, so he doesn't have to mess with the core repo and has no chance of breaking anything.
I do sympathise with the X maintainers - 1500 commits is a lot to try to keep up with, particularly if you're not very interested in maintaining the thing. I feel like doing the stuff he's doing as a ton of PRs might be a mistake - a separate branch and a couple of huge PRs might have been a better approach.
Maybe he'll be able to make some progress and improvements. That would be cool.
Perfectly true. What I was getting at is that you should direct your frustration to the correct place: not with the efforts of wayland and kernel devs but with the stubbornness of the hardware vendors that don't want to make their code public, and in the case of nvidia, (or) use the same driver building blocks that the kernel community recommended.
What you seem to be missing is that a whole lot of people don't actually have any "frustration", except when people come along claiming that their new windowing system is "totally ready... except it doesn't support any good hardware".
For people like us, X works just fine, with our nvidia cards, and we're not actually interested in the philosophical purity of who's fault it is that wayland doesn't work with our nvidia cards. If we cared about that kind of stuff so deeply, we wouldn't be using the proprietary drivers.
IF you want people to switch to wayland, then solving all those edge cases, and making it work properly with proprietary graphics drivers (or maybe getting nvidia et al to open their code, good luck with that) is your problem.
Some people think it comes off as petulant and entitled when you create a new thing with no regard to being compatible with the old thing, and then demand that the entire world adapts to you and starts supporting your thing.
> I hope you'll invest some effort in supporting this new group of people prolonging its life.
If they can show some tangible progress and improvements I almost certainly will! :)
And here I thought the wave of the future was generative AI, which damn near requires Nvidia to even function. Sure can't wait for RedHat to deprecate and nuke and blacklist and hellban all Nvidia capability!
Indeed. I've seen tons of things that specifically require nvidia and support nothing else - more and more in the last couple of years. Some proprietary games don't support anything but the nvidia proprietary drivers on Linux.
More than 2/3rds of your examples are from over 5 years ago, and one of the links is to a site that replaces its content with an image of a testicle when hotlinked from HN.
> and one of the links is to a site that replaces its content with an image of a testicle when hotlinked from HN.
jwz is calling other people manchilds, but as someone who also had such a script on their website and also had HN blocked this way... he is the manchild who needs to grow up.
> More than 2/3rds of your examples are from over 5 years ago
Exactly! If you scroll to the bottom of each one, you will see that most are either a) still open, or b) abandoned (too hard or impossible), then closed as stale.
One open issue has a comment at the bottom saying that the issue is fixed and was an issue with Mutter. There's no evidence to think that it was ever a "wayland" issue.
One open issue has had locked comments for 5 years. It's probably fixed but nobody has bothered to close it.
Most of rest were not actually "wayland" issues, either. Yes, someone's hobby project screen recorder might not get updated to work with wayland, but there's dozens of those, feels a bit unfair to ignore that there's alternatives.
Can't speak for obs and raspbian, but jitsi definitely is more of a hobby project than a stable reliable product. I have dealt with it firsthand for years and its a complete mess and unstable with poor quality and reliability and zero support. It tries to do one thing, and does it horribly. Users HATED it. Ending up costing our company millions in wasted dev time and hosting fees. Probably the biggest project failure ive personally witnessed. This is not something you want to use to offer some service to users. There are better and cheaper products out there.(it costs more to host crappy jitsi than it does to just pay for zoom licences).
> Most of the stuff that's come out of freedesktop.org always seemed to make things less usable.
I thought so too. I also thought they have many problems and do not help very well. I mostly try to avoid them.
(There are problems with X window system as well (and with Xlib), but still it seems the freedesktop had made things that are designed in a worse way.)
The good news is that LLMs + growth in storage & bandwidth will eventually put Google in its place. The full texts of stack exchange and wikipedia (kiwix) are only a few gigs. Same for offline models like llama/gemma/qwen. As the wizards keep finding new ways to pack more bits on metal plates, we will be able to store more video than we will ever watch, just as we now store more text than we will ever read.
>just as we now store more text than we will ever read.
Yet, we are not reading, but hanging on social sites instead. Same with this supposed video cache. People go to YouTube not because of the platform, but because of other people. As long as they are there, the ones who are curious about them will also go there.
Obviously, but that's not what I'm getting at. Due to present technical limitations, "influencers" have to sharecrop for Google/Facebook/Twitter/etc. Bandwidth/storage/software improvements will allow successful "influencers" to flee the plantation.
Not until we solve the discovery and filtering part as well, at the very least. I'd say that is the largest value these platforms bring to the table, hand in hand with their existing network too of course.
just the fact that this comes from google is a hard pass for me. they sell so many adwords scams that they clearly do not give a damn about security. “security” from google is just another one of their trojan horses.
project zero is ZERO compared to the millions of little old ladies around the world getting scammed through adwords. only security big g cares about is its own. they have the tools to laser-in on and punish the subtlest of wrongthink on youtube, yet it’s just too tall of an order to focus the same laser on tech support scammers…
reply