• 0 Posts
  • 30 Comments
Joined 1 year ago
cake
Cake day: September 24th, 2023

help-circle
  • 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

    1. They’re old and they don’t want to have to spend time learning something new.
    2. They spent a lot of time learning C and getting moderately good at it. They don’t want that knowledge to become obsolete.
    3. They currently don’t know Rust, and don’t want to feel like the thing they do know is no longer the best option.
    4. They aren’t the ones with the idea to use Rust, and they don’t want to lose face by accepting that someone other than them had a good idea. Especially not some young upstarts.
    5. Supporting Rust is extra work for them and they don’t care about memory safety or strong types etc.

    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:

    1. 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.

    2. 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.

    3. 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.



  • 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.




  • 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.



  • 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.