☝ this is why Linux will never be mainstream
☝ this is why Linux will never be mainstream
Only a Linux user’s answer to “how do I install software that’s not packaged for my distro” would be “don’t”.
I don’t think so. At this point Linux isn’t really held back by software availability - 90% of things are web based now and games apparently work pretty well (certainly better than on Mac).
The main issue is hardware support and driver quality. Especially on laptops, if you install Linux you’re really rolling the dice on whether or not you’ll get something that works.
Someone always replies to comments like these with “it works for me!” which is not really relevant when it has to work for everyone.
For a while at work I was in the Linux slack channel even when I was using a Mac, just to follow the amusing problems people had (and they had a lot!).
Then I moved jobs and have a Linux laptop… I get to experience it first hand. Hard reboot when it runs out of RAM, or 20% or the time when you undock it. Doesn’t work at 60Hz/4K on some work monitors but only if you are using HDMI. The exact same laptop model & OS works for other people. Battery life is hilarious. I don’t think I’ve ever got over 2 hours.
It’s because
In order to avoid losing face they’ll come up with endless plausible technical reasons why you can’t use Rust in order to hide the real reasons. They may not even realise they’re doing it.
Some of the reasons might even be genuinely good reasons, but they’ll come up with them as an “aha! So that’s why it’s impossible” rather than a “hmm that’s an issue we’ll have to solve”.
It’s not just Rust Vs C. This naysaying happens wherever there’s a new thing that’s better than the established old thing. It’s a basic human tendancy.
Fortunately not everyone is like that. Linus seems in favour of Rust which is a very good sign.
I don’t want to sound condescending, but what do you think all this talk about Rust and AI tools is about?
Yeah I am aware. It’s very good that they’re looking at it and great that Linus is supportive and not a stuck-in-the-mud. Doesn’t invalidate my comment thought. He’s still saying security bugs are no worse than other bugs.
And if some feature turns out to be a gaping security hole you’ll quickly see it turn into a bug. That’s what the quote is about. Every security issue is a bug so it has to be handled like a bug and squashed.
I mean… I don’t think that’s what he’s saying. Nobody is saying not to fix security bugs…
Should what be handled? Security vulnerabilities? Here’s how you should handle security bugs differently to other bugs:
Report them separately and clearly. Don’t hide by omission the fact that they are security bugs (common practice in Linux apparently). Coordinate with major vendors how to push fixes.
They are generally more important than other bugs so you should put more effort into detecting and preventing them. E.g. using fuzzing, sandboxing, formal methods, safer languages, safety annotations, etc.
They have high value on the grey market and people actively try to create them, so you need to design your system under that assumption. An obvious thing to do is software isolation so a bug in - to pick a random example xz
- can’t bring down ssh. Software isolation, microkernels, sandboxing etc. help with this.
There’s no way you can say “they’re just bugs”. Maybe in the 80s. It’s not the 80s.
security vulnerabilities are simply bugs
I don’t know how he can still maintain this clearly insane stance. Pride?
Torvalds expressed disappointment in the slow adoption of Rust due to factors like resistance from older kernel developers and instability in Rust infrastructure.
This is a good sign at least!
potential for AI tools to assist in code review and bug detection
Definitely agree here. One thing I really liked that I saw a while ago is colour coding code based on how “surprising” each token was to the LLM, the idea being bugs would be more surprising. Neat idea. It didn’t seem to actually work very well but maybe it could be improved.
Biggest issue I have is that no company I’ve worked for is ever going to be ok with sending our code to some AI company’s servers, and the options for local models are super limited. So I can’t actually use any of this stuff except for hobbies.
The only good free option for that is SolveSpace. Don’t bother with FreeCAD. It still isn’t usable. SolveSpace is remarkably good for an open source CAD program.
It does have some notable missing features though, e.g. no bevels, fillets, drafts, etc. and last time I used it it had accuracy issues with small holes. But for your use case it’s probably fine.
I never did a CS degree but recently I’ve been doing some things that make me wish I had. But it isn’t any of this stuff which seems mostly programming things that you can easily learn outside academia.
The stuff I would like to understand which I haven’t yet been able to learn on my own is the hard computer sciency stuff: lambda calculus, type inference (how do you read that weird judgement syntax?), how SAT/SMT solvers work, dependent typing systems… Does anyone have any good resources for those sorts of things?
I haven’t used one, but my guess would be they’re fine if you’re a “web browsing and email” sort, but most of us here probably aren’t, and then you’re going to have pain when you need to install some tool that expects to be installed globally, because so many pieces of open source software assume the “spew files all over /usr
” installation method.
Feels like you’d be spending a lot of time fighting expectations in the same way that Nix has to.
Woo and it only took 15 years!
True but it’ll have to be like 10% and I don’t see that happening ever really. Unless Microsoft really screws up, which to be fair they are doing their best.
Would be cool to have more people on Linux finding and fixing these little details.
Unlikely to happen. This is very complicated low level stuff that’s often completely undocumented. Often the hardware is buggy but it works with Windows/Mac because that’s what it’s been tested with, so you’re not even implementing a spec, you’re implementing Windows’ implementation.
Also the few people that have the knowledge to do this a) don’t want to spend a ton of money buying every model of monitor or whatever for testing, and b) don’t want to spend all their time doing boring difficult debugging.
I actually speak from experience here. I wrote a semi-popular FOSS program for a type of peripheral. Actually it only supports devices from a single company, but… I have one now. It cost about £200. The other models are more expensive and I’m not going to spend like £3k buying all the other models so I can test it properly. The protocol is reverse engineered too so… yeah I’ll probably break it for other people, sorry.
This sort of thing really only works commercially IMO. It’s too expensive, boring and time consuming for the scratch-an-itch developers.
Yeah there’s no way I trust their methodology has stayed that stable over 15 years. Hell if you just look in the last year supposedly 3% of global users jumped from Mac to Windows in a single month (Nov 2023).
There are also loads of new Linux device classes that may have Linux in their user agent but aren’t really “the year of the Linux desktop” that you’re thinking of. It seems they try to count ChromeOS (though badly - seems like “Unknown” contains a lot of ChromeOS depending on the month), and obviously Android, but what about Steam Deck? Smart devices with web browsers built in? Is your Tesla desktop Linux?
I’d buy it’s gone up; not to 4% though. I would be moderately surprised if 4% of web users had even heard of Linux.
Windows and Mac are far easier to use and have much better hardware support than Linux and very rarely force you to the command line. Maybe I missed your point…
It doesn’t sound like it’s difficult, just extra work that they don’t want to do.
For example they might want to use native USB instead of libusb which is LGPL. I’ve done that in the past because libusb was lacking some features. It means you have to implement your USB code for each platform and doing that work for Linux probably isn’t worth it, even if it isn’t difficult.
FOSS is the only answer. Fuck capitalism. Fuck paid software.
Grow up. FOSS is great but it obviously isn’t the only answer.
The general difficulty of setup, poor & buggy hardware support and the inevitability of dropping to the command line are bigger issues.
we will soon begin building LightBurn on a new framework that will require our development team to write custom libraries for each platform we support.
If you are expecting stuff to never go wrong and software to never be updated in a way you disagree with on Linux then you’re in for disappointment.
Remember the KDE kidney bean? What about Gnome’s idiotic hamburger menus?
Wow look at that CUPS code and tell me with a straight face there aren’t 5 more similar vulnerabilities waiting to be found…