News for hackers. Stuff that matters.
Re:Writing a Simple Windows Driver in Rust by ryandrake on Saturday February 08, 2025 @04:21PM (#42986306)
Windows is not the only operating system treating the user's filesystem as a dumping ground. I don't know how many times I keep deleting .DS_Store, .fseventsd and extra files named ._xxxx but that doesn't keep Apple from dumping them all over my filesystem.

At least macOS has one place to install applications, one place for the user's documents, and most apps somehow respect them. Then, you have designated dumping grounds like ~/Library that contains tons of junk I have no idea whether I need or not.

Re:Writing a Simple Windows Driver in Rust by KronisLV on Saturday February 08, 2025 @05:37PM (#42986794)
> At least macOS has one place to install applications, one place for the user's documents, and most apps somehow respect them.

I actually like that simplicity more than how many things FHS describes for the various Linux distros: https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard

Like, when a developer just wants to ship a product and doesn't have that much free time, it's understandable that tidy things will be overlooked.

Maybe something like https://www.gobolinux.org/at_a_glance.html would help with that.

Re:Writing a Simple Windows Driver in Rust by miki123211 on Sunday February 09, 2025 @06:14AM (#42989946)
There are basically two ways to organize a file system, by subject and by purpose.

Linux prefers by-purpose organization, so executables go in /bin (or at least something ending in /bin), configuration goes into /etc, libraries go into /lib and so on. This simplifies discovery and cross-application data management, the answer to "how do I find a library" is just "search those 5 directories, if it's not there then it's missing", but it complicates package management and makes it too easy for garbage to accumulate. It's also better for GUI apps, it's far easier to make a music app that lets you think of artists, albums and playlists, not directories, if all your music is in one place.

Mac and Windows (mostly) prefer by-package organization, where everything related to a single application is contained inside that application's folder. This makes discovery harder, as now e.g. finding all applications that can open a particular file format requires you to check every single one. However, it makes package maintenance easier, removing an app just removes all its files. This approach complicates GUI applications and makes it impossible to escape the directory hierarchy, you can no longer make a nice music app if music files are strewn all around.

No system clearly falls in one bucket or the other, the Windows registry is partially organized by purpose, so are parts of Mac OS's Library folders, while Linux has package managers like Nix, which organize by package.

Ideally, we'd do by-package organization, and have some sort of per-user / per-process "union directories" (a bit like the /bin in Plan9) that would provide easy lookups for downstream applications.

Re:Writing a Simple Windows Driver in Rust by gizmo on Sunday February 09, 2025 @07:19AM (#42990213)
Flatpak is winning on Linux because when every app has its own dependency chain of packages it becomes totally impossible to run older versions of an app or to run multiple versions side-by-side. Proper sandboxing is way too hard when files get strewn all over your system. rpm/deb packages only work for utilities and core libraries where you're happy to run whatever the latest version is. For everything else you need some combination of containerization/virtualization for security and robustness.
Re:Writing a Simple Windows Driver in Rust by taurknaut on Sunday February 09, 2025 @11:06AM (#42991481)
Ironically, it's quite annoying figuring out what actually gets executed when you open a gui app on linux. I think the same is true on Windows.
Re:Writing a Simple Windows Driver in Rust by p_ing on Saturday February 08, 2025 @05:00PM (#42986557)
Two places. /Applications and ~/Applications.

More, if you count UN*X binaries.

Re:Writing a Simple Windows Driver in Rust by filleokus on Saturday February 08, 2025 @06:22PM (#42987086)
I didn't even realise I still had stuff in ~/Applications. Probably got there via some Installer wizard...

   ls  ~/Applications
   Autodesk Fusion Service Utility.app
   Autodesk Fusion.app
   Chrome Apps.localized
   Edge Apps.localized
   Remove Autodesk Fusion.app

   ls -ls /Applications | wc -l
   94
Re:Writing a Simple Windows Driver in Rust by maccard on Saturday February 08, 2025 @06:25PM (#42987101)
And then all of the actual stuff that they put in Library Support
Re:Writing a Simple Windows Driver in Rust by hobs on Sunday February 09, 2025 @04:11AM (#42989476)
Don't forget iCloud moved half of your home folder to the cloud too, just for fun.
Re:Writing a Simple Windows Driver in Rust by _blk on Saturday February 08, 2025 @05:49PM (#42986881)
...And you'll start having dot files and dot folders in your home when you start using brew...
Re:Writing a Simple Windows Driver in Rust by bolognafairy on Sunday February 09, 2025 @12:19AM (#42988661)
I mean…kind of. It depends on what you install. Homebrew is quite good at keeping itself contained, when it’s in a position to do so.
Re:Writing a Simple Windows Driver in Rust by XajniN on Sunday February 09, 2025 @05:25AM (#42989775)
You all forgot about /System/Applications
Re:Writing a Simple Windows Driver in Rust by rewgs on Saturday February 08, 2025 @11:49PM (#42988536)
> one place for the user's documents

And yet far too many apps dare to put their files there. Drives me absolutely insane.

Re:Writing a Simple Windows Driver in Rust by patchguard on Sunday February 09, 2025 @04:47AM (#42989618)
There are conventions, but like anything that isn't explicitly enforced, developers will do whatever they can/wish.
Re:Writing a Simple Windows Driver in Rust by rad_gruchalski on Sunday February 09, 2025 @10:40AM (#42991312)
> I don't know how many times I keep deleting .DS_Store

You must be using finder a lot. When working from terminal, none of that happens. Frankly, no clue why it bothers people.