Live data from Hacker News

HFS+ is crazy

liminality.xyz

51–60 of 211 posts

Re: HFS+ is crazy

#52
post #45
post #33

Earlier quoted context omitted.

[deleted]

Actually, resource forks go all the way back to the origins of classic MacOS circa 1984-85! And they were a lot more than just extended attributes -- they were a b-tree storage abstraction full of stuff like icons, chunks of 68K machine code, and anything else that simply didn't belong in a linear data file. It's a hold-over from MacOS's very non-UNIX origins, and had the makings of an OO filesystem back in the day -…

Great comment. Is there anywhere I can read about how it worked and what it was used for before it became a "veriform appendix"? It seems really interesting.

Re: HFS+ is crazy

#53
post #2

TLDR: Mac filesystems have resource forks. I guess the author has not used Macs too much, as they have been around since the 1980's.

TLDR: all standard applications for working with files are unaware of resource forks. This is confusing, and hurts new computer users. #consideredharmful

No.

All apps designed for Macs by people who actually know what they are doing are resource fork aware, even though resource forks have gone out of fashion.

Like it was said before, resource forks have been around since the first version of the Macintosh (I believe MacOS was called "System" at that time), and it was a rather clever way to keep data such as dialog boxes, message strings and icons out of the executable file while keeping it a single file.

Re: HFS+ is crazy

#54

Alternate parts to the main file are present on several platforms, and have the same problems. They are called resource forks on Mac. On Windows/NTFS they are called alternate data streams - https://en.wikipedia.org/wiki/Fork_(file_system) - to use specify a colon and name after the filename (eg example.txt:myads). On Unix, Linux, OS/2 etc you can find extended attributes - https://en.wikipedia.org/wiki/Extended_file…

You wouldn't put the entire content of a file in an extended attribute, would you?

Is that a problem with the fs and its features/implementation or a problem with how some application/developer chose to use those features?

Re: HFS+ is crazy

#55
post #45
post #33

Earlier quoted context omitted.

[deleted]

Actually, resource forks go all the way back to the origins of classic MacOS circa 1984-85! And they were a lot more than just extended attributes -- they were a b-tree storage abstraction full of stuff like icons, chunks of 68K machine code, and anything else that simply didn't belong in a linear data file. It's a hold-over from MacOS's very non-UNIX origins, and had the makings of an OO filesystem back in the day -…

MacOS also used to store things like the icon and position on the desktop in the resource forks. As commenters here are making clear, they have been repeatedly implemented across a variety of operating environments because it really is useful being able to store additional information alongside the single stream of bits conventionally thought to make up a file. Even on Unix :-)

Re: HFS+ is crazy

#56
post #45
post #33

Earlier quoted context omitted.

[deleted]

Actually, resource forks go all the way back to the origins of classic MacOS circa 1984-85! And they were a lot more than just extended attributes -- they were a b-tree storage abstraction full of stuff like icons, chunks of 68K machine code, and anything else that simply didn't belong in a linear data file. It's a hold-over from MacOS's very non-UNIX origins, and had the makings of an OO filesystem back in the day -…

Yeah. And if I recall correctly, in very old versions of the Mac OS. You actually installed things like fonts into your system by copying the resource fork data from the font file into resource fork of the (singular) "System file" which contained the entire OS (except for the shell).

Re: HFS+ is crazy

#57
post #3

This is why it was really disappointing that Apple had to abandon ZFS. ZFS is one of the best file systems available and because Oracle owns it it is virtually unusable in most contexts. I wonder if Apple can afford to buy out Oracle at this point, take ZFS and wind up the useless parts.

Apple abandoned ZFS when Steve Jobs was still alive. Larry Ellison has frequently described Steve Jobs as one of his best friends whom he frequently went on walks with. The idea that Steve could not have gotten Larry to license ZFS seems crazy to me.

I'm sure the lawyers were not too keen to depend on a personal relationship to smooth over their dealings with Oracle, a company known in large part for suing people in novel ways.

Re: HFS+ is crazy

#58
It's amazing how garbage like this always rockets to the top of HN. This guy doesn't know anything about file systems or about the operating system he's using. But he sounds confident, so that's evidently good enough for a lot of people.

If you think it's crazy that a file system supports multiple data forks/steams, then you don't know very much about file systems.

If you think it's crazy that an operating system maintains backward compatibility with an older system, then you don't know very much about operating systems.

If you arrogantly make these pronouncements on your website then you look like a complete idiot.

Re: HFS+ is crazy

#59

Alternate parts to the main file are present on several platforms, and have the same problems. They are called resource forks on Mac. On Windows/NTFS they are called alternate data streams - https://en.wikipedia.org/wiki/Fork_(file_system) - to use specify a colon and name after the filename (eg example.txt:myads). On Unix, Linux, OS/2 etc you can find extended attributes - https://en.wikipedia.org/wiki/Extended_file…

Arguably, NTFS implemented alternate data streams primarily to support Mac resource forks.

Nope. It was originally done as part of OS/2 (Windows NT was sort of OS/3 - the next version of OS/2) and OS/2 had "extended attributes" - https://en.wikipedia.org/wiki/Extended_file_attributes#OS.2F... - so NT also needed them for compatibility.

Re: HFS+ is crazy

#60
Ignorance of the past may lead one to incorrect conclusions.

Resource forks were a clever way to keep things like icons, fonts, text messages and dialog box definitions bundled within a single program file (remember - on Macs the install/uninstall procedure is usually dragging an icon).

Many times I've customized programs this way.

HFS+_is brain-dead for a multitude of reasons. This is not one of them.

Post reply on HN