←back to thread

The File Filesystem (2021)

(mgree.github.io)
346 points wegwerff | 1 comments | | HN request time: 0.278s | source
Show context
RetroTechie ◴[] No.40215710[source]
Useful enough that it should be an OS-level standard feature, imho.

Unix-like OSes allow mounting disk images to explore their contents. But there's many more file formats where exploring files-inside-files is useful. Compressed archives, for one. Some file managers support those, but (imho) application-level is not the optimal layer to put this functionality.

Could be implemented with a kind of driver-per-filetype.

replies(8): >>40215839 #>>40215919 #>>40215928 #>>40216709 #>>40217080 #>>40219626 #>>40225276 #>>40225726 #
duped ◴[] No.40215928[source]
Really what you'd like to see is a way to write the mount command for each file type (do one thing well) and another command to detect the file type and dispatch accordingly (probably similar to the `file` command), all in user space.

The only thing standing in the way of this today is that MacOS doesn't expose a user space file system API. You can do this on Linux, Windows, and BSDs today.

(No, file provider extensions don't cut it, Apple devs who read this, please give us a FUSE equivalent, we know it exists).

replies(2): >>40216593 #>>40220447 #
Groxx ◴[] No.40216593[source]
Does https://osxfuse.github.io/ cover this? Or is there some fundamental issue? (beyond "it's not built in")
replies(2): >>40216747 #>>40216870 #
duped ◴[] No.40216870[source]
Well that requires a kext so it's a nonstarter, and fuse-t uses NFS which is extremely janky and unreliable on MacOS.

The fundamental issue is that macOS doesn't provide an API for this natively.

replies(1): >>40217493 #
skissane ◴[] No.40217493[source]
> fuse-t uses NFS which is extremely janky and unreliable on MacOS

I was wondering what issues you were talking about, and then I found this - https://github.com/macos-fuse-t/fuse-t/issues/45 - data corruption

> The fundamental issue is that macOS doesn't provide an API for this natively.

The API is there, Apple just doesn’t want to give anyone outside of Apple the entitlement that lets them use it. I don’t understand why Apple won’t.

Well, I understand that would require them to document it, ship public headers, and support it for external developers - but why not?

replies(2): >>40218142 #>>40218813 #
nine_k ◴[] No.40218142[source]
> why don't they

It would make macOS more of a general-purpose OS, would increase the amount of functionality from which third parties would benefit, but Apple themselves would likely not. That would increase the number and variety of tech support requests, ever so slightly but still, and would introduce a few new attack surfaces.

Instead, Apple's strategy is to tighten the macOS more and more, and turn it into a specialist OS completely controlled by Apple, with a few companies like Adobe and Ableton licensing access to its internals.

replies(2): >>40218329 #>>40226235 #
1. skissane ◴[] No.40218329[source]
Apple used to be a lot more developer-friendly company. It is part of what got them where they are now - the fact that so many developers use Macs, which in turn encourages business software vendors to support Macs

Stuff like this is of little interest to ordinary users (at least not directly), but appeals to developers

By de-emphasising the developer is experience, they are undermining one of the factors that got them to where they are today