site banner

Friday Fun Thread for January 31, 2025

Be advised: this thread is not for serious in-depth discussion of weighty topics (we have a link for that), this thread is not for anything Culture War related. This thread is for Fun. You got jokes? Share 'em. You got silly questions? Ask 'em.

2
Jump in the discussion.

No email address required.

Well, I've been switching back and forth between Windows 10 and Linux Mint for a few weeks now. Windows for work, and Linux for pleasure. I stopped trying to have steam share a steam library between both OS's. For one, Linux and Windows kept fighting over whether the linux or windows versions of the games should be installed. Second, I saw a lot of posts about how Linux eventually corrupts NTFS drives if you try to use them for anything other than simple data storage. So that's a thing I guess.

I've been playing Doom 2016 in Linux thanks to Proton, and it's pretty OK. Every now and again pulling up the menu tanks the framerate, but not consistently. Outside of that it runs fantastic. Because I'm a fucking nerd, I got some simple C programming with SDL set up, as well as a Rust dev environment because I decided I need to learn that. I hate it. It disagrees with all my sensibilities about "talking computer", and thus far I find it's constructs around "borrowing" references silly and contrived, especially in light of being able to assign unsafe sections of code that ignore it's memory safety rules. I guess it assumes you'll be responsible with that, but it feels like a half measure to me, and no replacement for actual skill. All the same, since I mostly work on government contracts, a day may come where it's a requirement.

Anyways, Linux seems like a super viable alternative to Windows these days thanks to Proton. If my work didn't require windows, I'd try to shift over to it entirely. But since a local instance of IIS is essential in my day to day work, that's incredibly unlikely.

Windows for work, and Linux for pleasure.

Funny, for me it is the opposite. I use Linux for work, (plus for some pleasure like posting here, some light gaming) and Win for pleasure (gaming only).

Second, I saw a lot of posts about how Linux eventually corrupts NTFS drives if you try to use them for anything other than simple data storage.

Personally, I would not use NTFS outside of windows much. Storage is cheap enough that getting a separate partition or even disk per OS seems preferable. In any case, you want some backup strategy. Some people will use a NTFS partition to share data between the operating systems (as linux support for ntfs is better than windows support for ext).

With regard to rust (which I have yet to learn), my understanding is that it is that the aim of the language is to provide an environment which can be as safe as Java with no runtime overhead over C, with a particular focus on thread safety. This means that you have to bother a lot annotating the lifetime of a reference in places where C/C++ would just be 'whatever, enjoy your nasal demons if you get it wrong and do a use-after-free'.

Of course, not every piece of code which is safe can be proven to a compiler to be safe. Rice's theorem and all that. Or it might be that you need to call some C function or do I/O using a device mapped to memory. Thus unsafe.

I think that from the mindset of an auditor looking for security vulnerabilities, there is still a giant difference between C and rust. In C, every line is potentially dangerous, and you need to spread your attention wide. By contrast, unsafe blocks stick out. Now, it might be that the author decided to put everything in unsafe blocks or equivalently have a function to write to arbitrary memory addresses which he calls in a zillion places, but then you can just report that that code is generally unsafe. If there are just a few unsafe blocks, you can think long and hard about when these blocks are entered, why they might be correct and so on.