![](/static/61a827a1/assets/icons/icon-96x96.png)
![](https://lemmy.world/pictrs/image/44bf11eb-4336-40eb-9778-e96fc5223124.png)
In a driver, there’s a lot more than just C and hardware interaction. You also have to deal with:
Concurrency and Synchronization – Managing locks, spinlocks, atomic operations, and ensuring safe access to shared resources.
Memory Management – Allocating kernel memory safely, handling DMA buffers, and avoiding memory leaks or invalid accesses.
Interrupt Handling – Dealing with IRQs, deferring work using tasklets, workqueues, or bottom halves.
State Management – Handling suspend, resume, and power states efficiently.
Error Handling and Recovery – Ensuring robustness in the presence of hardware failures or unexpected states.
Device Trees and ACPI – Parsing platform configuration data.
Firmware Communication – Loading and interfacing with device firmware blobs.
Kernel APIs and Subsystems – Interacting with networking, block devices, input devices, and other kernel frameworks.
Performance Optimizations – Managing cache coherency, NUMA awareness, and latency-sensitive operations.
Security Considerations – Preventing privilege escalation, ensuring safe user-space interaction, and sandboxing where applicable.
Yes, interfacing with hardware often requires unsafe Rust or C, but a lot of driver logic isn’t directly interacting with raw hardware registers. Rust can help improve safety in many of these areas by reducing common C pitfalls like use-after-free, null dereferences, and buffer overflows.
It is too thin for thread engagement. You need to use an anchor.
Ubuntu is fine. Drivers are annoying on all distros (nvidia updates for me mainly, I don’t update hardware often).
I have daily driven various distros and tested a lot since the 90s and I pay close attention to time spent on customizing and fixes, and ubuntu just isn’t worse than other distros. I make setup scripts and have custom dockerfiles for webtops.
I want to like nixos or whatever fork will prevail, but it’s more work than people want to admit. I personally don’t want to have to pay that much attention to my operating system. It’s why i ditched gentoo almost 20 years ago. I don’t want to lurk forums for fixes and tweaks. I also make sure hardware I buy doesn’t have glaring compatibility issues.
If Ubuntu rubs you the wrong way but you are fine with most of it, just use debian.
I get it.
There are quite a few areas on the linux desktop that show obvious signs of too many choices and loose integration making it an unpolished experience.
Outside of niches like online forums, people seem to think GUIs and marketing are what make something professional.
In reality outside of individual use you really want to avoid GUIs in configuration so that you can be consistent. You shouldnt have to dig down into menus and click through lots of screens to do comparisons or set something up. Thats really where Microsoft’s ecosystem is weakest right now. WinRM and powershell remoting lack polish in the same way wifi or bluetooth management in the linux desktop does
You cant fully setup winrm with gpo, for example listener addresses get bound the first time its enabled with gpo and then its just stuck at that. If the system has it’s ip changed you have to disable the gpo to make any changes and when you get it fixed it reverts when the policy is applied again
Microsoft only seems to care about how things will be managed in their cloud now and all products for managing things locally are showing some rot. Sccm -> mecm -> mem is terrible, theyve even ending all training for tools for on premises management. All they do is azure training and certs now.
You can absolutely go as nuts or more nuts with this on linux. You can do all kinds of hardening steps, and centrally deploy the policies with push or pull. Microsoft has even moved towards dsc (desired state configuration).
Other languages behind reverse proxies from apache httpd or nginx do not have the same memory hit. You can still blame php. Not my fault they tied their language to the webserver in a way that uses tons of extra memory.
Easy example. Have they fixed file upload behavior yet? Do they store the entire file in memory by default instead of chunking it and storing it as it comes in?
If not it’s like the worst memory usage of any language possible.
If you have to go change the php.ini to adjust file upload sizes, it’s not really moving forward and is decades behind other languages.
I am on a cycle right now where I can’t sleep without ambien and 300mcg melatonin. I’ve struggled with falling and/or staying asleep my whole life. My brain will calm down some and ill taper off of the ambien again at some point.
Besides the long term health, i am just not a pleasure to be around if i run on no sleep.
Yeah I think it went away at the start of my 30s. Definitely glad it’s not a worry anymore.
I can still get stress or dehydration headaches, but no constant small one that breaks through to eye stabbing with my heartbeat.
I have heard it is common for them to go away by 30s.
For a decent chunk of my early 20s i had to take amitriptyline a couple of hours before bedtime to prevent migraines. It also makes you sleep on cloud 9. I was on call at nights and there was no snapping out of the sleep pull, thats the only scenario I can think that it may not help.
Talk to a doctor about it. I have had a couple of brain scans and don’t have anything up there that looks bad. It just happens to some people.
If I really like a book or series and there are parts that are very dry to me, I just skim to see if there’s anything I might miss. I rarely have to backtrack.