Wrapping a value in a mutex just makes sense. After learning a bit of Rust I made a similar mutex wrapper in C++ when I had to protect a class member in a C++ project. I just had to change the type in the declaration, and bam the compiler tells me about all places this member was accessed. Much easier than using some buggy 'find all references', potentially forgetting a few places.
noddy
I think the author of the article just haven't understood how to use the ? operator yet, and don't think they deserve being called "utterly incompetent" for it. Whether something is a monad or not is not necessarily something a programmer should have to think about on a daily basis IMO.
I just think of rust errors as a tagged enum with either a value or an error. And the ? operator as syntax sugar for returning if something was an error. IMO that simple understanding is sufficient to do error handling in Rust. I don't think we should gatekeep programming behind some intellectual barrier of whether or not you understand category theory. I certainly don't understand what a monad is, but I can still write working software and do error handling without unwraps.
Oh that's good then. I think they stopped using whitelists a while ago, so if it is slotted you can probably replace it with anything. Maybe they reversed course on soldered modules then, or perhaps it only applied to some models. I looked into specs of the T16 at some point, and that one had soldered wifi module.
A lot of the modern thinkpads have the wifi module soldered to the motherboard nowadays unfortunately. Sad that they would use these crappy realtek cards in the first place as well.
Yeah the thought is that as long as my patch applies without error, I would get the latest kernel automatically built and can just update my laptop normally with pacman. And since I have a server anyways I might as well use it to compile the kernel at night. I'm also thinking of doing the same with some aur packages as well.
I use a custom kernel on my laptop. I just modified the PKGBUILD of the official arch kernel package, and added my patch as a file. Then I could build a proper package with makepkg. I'm planning on setting up my server to automatically build the patched kernel and serve it in a private arch repository, so I don't have to compile the kernel on my laptop regularly. I'm waiting on forgejo (git forge I host on my server) version 9 to be released first, as it should support arch package hosting by then.
Thanks. I had a blast reading my old comments :p
For old not very demanding games by todays standard, yes. As long as you get something new enough to have proper support for Vulkan API (such that DXVK would work). As others have mentioned, AMD have better iGPUs than intel, so definitely look out for that.
I wished tiling windows would work like snapping of floating windows, but more powerful. For example instead of snapping only to the edge of the screen, I would for example hold alt while dragging a window and would get a preview of where the window would snap to depending on where I'm hovering. And that it would resize the other windows accordingly.
Having to remember or customize a billion keyboard shortcuts for switching between windows and rearranging the grid, makes tiling window managers DOA for me. I don't have the time/energy to set it up or practice the shortcuts.
I tried it briefly. I like the idea of an alternative to VS code, that's not some inefficient javascript electron app. But the focus of zed seems to be on collaboration in cloud and also pushing LLM tools. That's not what I'm looking for. I disliked that it was impossible to hide the "log in to github" button (I don't want to log into an editor). Irked me the wrong way.
I think AMD is better at both performance and battery life these days, also the iGPU is faster. Also as someone else mentioned, there are issues with 13th and 14th gen intel (CPU's are dying) so avoid that if you can.
Anyone know what real time means here? Does it mean that sleeping a thread is more accurate (as in the thread is resumed at the correct time after calling sleep)? Or is there an API that implements some functionality for something that should run in real time?