![](https://hexbear.net/pictrs/image/bdb912d4-5dd0-4b6b-9713-5ae4497df095.jpeg)
![](https://lemmy.ml/pictrs/image/c0ed0a36-2496-4b4d-ac77-7d2fd7f2b5b7.png)
?
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
:cat-vibing:
If I don’t reply to you it’s probably cuz I’m too tired, sorry :(
?
If you like Unixy editors, highly recommend also looking into acme
Russ Cox describes it in this video as more like an “integrating development environment” as in it works with your surrounding operating system rather than an “integrated development environment”
Doesn’t shine as much on Unix as in Plan 9 though. Also no linter or formatter built into or distributed with acme but you probably could get your language’s usual tools to work pretty well with it
Ed is the standard text editor.
deleted by creator
You can check to see what drivers were compiled as modules or into your kernel by reading the kernel configuration at /proc/config.gz
or /boot/*config*
There might also be out-of-tree (not included with the kernel) drivers installed as packages on your system but this is very rare outside of like… having an NVIDIA card and running the closed-source vendor driver
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?
Ohh that’s true, I didn’t think about that. It would be difficult to route anything through it unless you were connected directly to it with nothing in-between because no other router would forward packets destined for somewhere else to my machine (except maybe in the extremely unlikely case of source routing?). It seems obvious now lol, thank you!
I’ll write some firewall rules just in case
I see. Our motherboards have different chipsets (I have an X570 in mine). It probably has nothing to do with my issue…
Hoping those kernel parameters fix it. I wish I could help further. PCs are just a bottomless, mostly undocumented rabbithole :(
What motherboard do you have? Also what happens exactly when the lock-ups happen? Have you ever been playing audio when the lock-ups happen and does it loop or stop or keep playing?
I recently had to “fix” (workaround) a similar issue in the OpenBSD kernel with a specific hardware peripheral on my PC (running a 2nd-gen Ryzen), the High Definition Audio controller. For whatever reason (and only when I was running OpenBSD) interrupts from the HDA controller (to let the CPU know to refill audio buffers) would just randomly stop making it to the CPU and audio would loop for a few seconds and then shut off. I spent a long time trying to figure out what causes it and reading Linux driver code but I couldn’t find a cause or why only OpenBSD would trigger it. I ended up having to write kind of a hacky polling mode into the HDA driver. My only guess is some of these AMD-chipset-having motherboards have faulty interrupt controllers.
Maybe there is a similar issue with your system and timer interrupts aren’t making it to your CPU or something. But I’m not really an expert on PC architecture and idek if it even works like that on PCs lol
Sorry for so many questions but do you also have any kernel logs available from when this happens?
I simply do both
It’s not working
There are some purpose-built ARM Linux laptops available but as an owner of an unused Pinebook Pro… can’t recommend
Walking the path of a PC hater is not easy
Rip out the fan and connect the processor heatsink to a heatpipe
Then carry around a cup of water to dip the heatpipe into
This is not a bit, I am a real hardware designer
Xorg? Wayland? You have bespoke protocols just for windowed graphics? I’m happy with my /dev/draw and /dev/wsys/*
Unix is a zombie OS that should probably die
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!
C is very reliable. It works almost everywhere with very little resources or overhead and many of the most fundamental parts of our systems (that have to work reliably) are written in C. Many of the languages in that image are even implemented in C.
If you want to write portable, fast, and simple code C can help you with that if you use it in the right way.
deleted by creator
Cygwin is great too! You can have a fully POSIX-compliant environment on Windows, no virtualization or anything needed. You can even distribute programs to other Windows users linked to their POSIX compatibility layer library.
Ohh, I know, I was just making a joke cuz ed will print
?
when it doesn’t recognize a command and many people will see that over and over if they can’t figure out how to exit lolI also got lost in vi and ed when I first used them lol
Tbh if I’m just making quick edits to config files or whatever I use nano lmao