PaX [comrade/them, they/them]

Very tired nerd who doesn’t know how to speak correctly

Ask me about floppa, Plan 9, or computer architecture or anything computers really (if you want)

The only zoomer qualified to operate an RBMK reactor

Researcher of rare and powerful beanis

:cat-vibing:

  • 1 Post
  • 21 Comments
Joined 2 years ago
cake
Cake day: July 15th, 2022

help-circle







  • The vast majority of drivers are included with the Linux kernel now (in tree) so the difference usually comes down to kernel version (newer kernels have more drivers, of course) or kernel configuration set at compile-time (this can be anything from including or not including drivers, to turning driver features on and off, or more fundamental changes beyond drivers)

    You can get kernel version info from uname -a and a lot of the time, probably most of the time (this is also down to configuration), you can get kernel configuration info from /proc/config.gz (use gzip -d to decompress) or something like /boot/config

    Then you can run diff on configurations of 2 different distro kernels you’re interested in to see how the 2 distribution’s kernels were set up differently

    This could also be caused by different setups of userspace tools or UI that interact with these drivers in different, sometimes worse ways but this is usually much less likely in my experience (most Linux distros do things like this the same way these days tbh)

    Oh, also, there are a lot of drivers that require vendor-supplied firmware or binary blobs to function and most of the time distros don’t bake these into the kernel (although it is possible) and different distros might have more or less of these blobs available or installed by default or they might be packaged differently. The kernel should print an error message if it can’t find blobs it needs though

    I guess there’s kinda a lot to consider lol. Sorry if all of this is obvious

    What hardware are you talking about specifically?










  • Programmers can trust language security features too much…

    Of course, they’re nice to have and really can make things easier to implement securely but it’s still very easy to introduce security problems or bugs into any code. This is just an unsolvable problem of writing imperative code. All imperative code will reliably have memory leaks (even in Java!) and security holes because no compiler can check to see if you thought of everything.

    And large and complex compilers/interpreters with these security features can end up introducing their own security problems or bugs in the process of implementing them.

    I’m just tired of people entirely dismissing languages like C because they don’t have these features. Especially when the operating systems their code runs on and their languages may even be implemented in C!





  • Sorry, I should have been more clear. I agree with you. I’m not talking about text-based interfaces and commands. I just mean the way Unix/POSIX handles “terminals” (devices that accept streams of characters according to a protocol established in the 70s) is an antiquated way of handling simple plain text streams. It made sense back then when there was a need to send commands to dumb terminals in-band with the plaintext but this doesn’t really make sense these days when your “terminal” is actually just a program pretending to be a dumb terminal running inside a window. When was the last time you used job control instead of opening another window?