Comment by lutusp

Comment by lutusp 3 days ago

11 replies

I hope this article gets archived in a computer history, so people in the future can read how today's default operating system persisted in requiring its vict..., umm, users, to honor an archaic practice long past any imaginable justification, while free alternative operating systems don't have this handicap.

I regularly have this conversation with my end-user neighbor -- I explain that he has once again written his backup archive onto his original because he plugged in his Windows USB drives in the wrong sequence. His reply is, more or less, "Are computers still that backward?" "No," I reply, "Windows is still that backward."

The good news is that Linux is more sophisticated. The bad news is that Linux users must be more sophisticated as well. But this won't always be true.

rwmj 3 days ago

Are Linux /dev device paths (originating from Unix) really much better? They're a pretty odd feature if you think about it. "Everything is a file", except only certain things can be files and at least by convention they only appear under /dev. Plan 9 takes the everything is a file concept to its logical conclusion and is much better designed.

Edit: Also /dev/sdX paths in Linux are not stable. They can and do vary across boot, since Linux 5.6.

  • lutusp 3 days ago

    > Are Linux /dev device paths (originating from Unix) really much better?

    Not better at all, which is why Linux uses partition UUIDs to identify specific storage partitions, regardless of hardware identifiers. This isn't automatic, the user must make it happen, which explains why Linux users need to know more than Windows users (and why Linux adoption is stalled).

    > Edit: Also /dev/sdX paths in Linux are not stable. They can and do vary across boot, since Linux 5.6.

    Yes, true, another reason to use partition UUIDs.

    > Plan 9 takes the everything is a file concept to its logical conclusion and is much better designed.

    It's a shame that Plan 9 didn't get traction -- too far ahead of its time I guess.

    • hakfoo 3 days ago

      I always saw it as two different mindsets for data storage.

      One vision is "medium-centric". You might want paths to always be consistently relative to a specific floppy disc regardless of what drive it's in, or a specific Seagate Barracuda no matter which SATA socket it was wired to.

      Conversely it might make more sense to think about things in a "slot-centric" manner. The left hand floppy is drive A no matter what's in it. The third SATA socket is /dev/sdc regardless of how many drives you connected and in what order.

      Either works as long as it's consistent. Every so often my secondary SSD swaps between /dev/nvme0 and /dev/nvme1 and it's annoying.

      • cesarb 3 days ago

        > One vision is "medium-centric". You might want paths to always be consistently relative to a specific floppy disc regardless of what drive it's in, or a specific Seagate Barracuda no matter which SATA socket it was wired to.

        > Conversely it might make more sense to think about things in a "slot-centric" manner. The left hand floppy is drive A no matter what's in it. The third SATA socket is /dev/sdc regardless of how many drives you connected and in what order.

        A third way, which I believe is what most users actually want, is a "controller-centric" view, with the caveat that most "removable media" we have nowadays has its own built-in controller. The left hand floppy is drive A no matter what's in it, the top CD-ROM drive is drive D no matter what's in it, but the removable Seagate Expansion USB drive containing all your porn is drive X no matter which USB port you plugged it in, because the controller resides together with the media in the same portable plastic enclosure. That's also the case for SCSI, SATA, or even old-school IDE HDDs; you'd have to go back to pre-IDE drives to find one where the controller is separate from the media. With tape, CD/DVD/BD, and floppy, the controller is always separate from the media.

      • stormking 3 days ago

        AmigaOS supported both. Each drive and in addition each medium had it's own name. If GAMEDISK was in floppy 0, you could reference it either as DF0: or as GAMEDISK:

        You could even reference media that was not loaded at the time (e.g. GAMEDISK2:) and the OS would ask you to insert it into any drive. And there were "virtual" devices (assigns) that could point to a specific directory on a specific device, like LIBRARIES:

      • ElectricalUnion 3 days ago

        And the sad thing is that stuff directly in `/dev` isn't neither, it's just "first come first served" order, that is more or less guaranteed to be non-deterministic BS. One is supposed to use udev /dev/disk/by-path/ subtree if one really wants "slot-centric" connections.

    • dist-epoch 3 days ago

      Windows drive letters are also linked to some partition UUIDs, which is why you can move a partition to a different drive, or move drive to a different address (change SATA/m.2 port)

      You can use mountvol command to see the mount-letter/GUID mapping.

stockresearcher 3 days ago

This has (more or less) been covered before!

https://news.ycombinator.com/item?id=17652502

VMS expects to be run as a cluster of machines with a single drive system. How that actually happens is “hidden” from user view, and what you see are “logicals”, which can be stacked on top of each other and otherwise manipulated by a user/process without affecting the underlying file system. The results can be insane in the hands of inexperienced folks. But that is where NT came from.

  • lutusp 3 days ago

    All true, all good points. Some day partitions and their unique UUIDs will be the sole valid identifiers. Then end users will have to be warned not to copy entire partitions including their (no longer unique) UUID. Sounds bizarre but I've had that exact conversation.

int_19h 2 days ago

Perhaps instead you could teach your neighbor how to assign drive letters to drives so that the same thing always ends up on the same letter. Because it can do that.

OTOH on Linux out of the box they'd get /media/usb0, /media/usb1 etc. Which has the same exact problem. And the same exact solution - if you need stable names, mount them as such (except on Windows you can do it with a few clicks with a mouse).

  • lutusp a day ago

    > OTOH on Linux out of the box they'd get /media/usb0, /media/usb1 etc. Which has the same exact problem.

    Linux can exploit the UUIDs of USB drives to avoid confusion, and Linux users know how to do this. Windows has a way to do this also, but Windows users often don't know it.

    > ... (except on Windows you can do it with a few clicks with a mouse)

    Yes, clicks that are not in the average Windows user's skill set. This is more about technical knowledge than it is about a choice of OS, but overall, Linux rewards knowledge, while Windows punishes it.