|
I'm not often driven to fits of rage over tech, but the last time I used an Apple was one of them.
I'd like the OS designers over there to give me a good reason why they have their filesystem divided into "forks" and application files are distributed across different "forks" so you cannot find all the application files in one place.
The fact that Apple would fork their filesystem such that every application has additional files on a different "resource" fork has got to be grounds for a severe beating at least.
What is the possible upside of doing it this way?
I want to be a fly on the wall in their design meetings. I bet they spend more time talking about what color of brushed aluminum their products should be than they do about stuff like the above.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
honey the codewitch wrote: I want to be a fly on the wall in their design meetings. Head of development: "Right, what else can we do so our users are well and truly forked?".
|
|
|
|
|
Yeah, it's really forked.
Sorry I didn't read Richards post before posting!
As the aircraft designer said, "Simplicate and add lightness".
PartsBin an Electronics Part Organizer - Release Version 1.3.0 JaxCoder.com
Latest Article: SimpleWizardUpdate
|
|
|
|
|
NTFS also has forks; it is called Alternate Data Streams.
I never used apple forks, but suspect that there would be dozens of detail differences between them and NTFS. The main idea is the same, though: Provide a mechanism for keeping different kinds of data, relating to the same object/project/whatever separate but together. Like metadata and primary data. Movie and subtitles. Executable and debug information. ...
There are a few common uses of ADS in NTFS. E.g. when you receive a file across the net, and ADS provides some information about its origin. Most people do not know, and do not care. If you copy the file to a FAT file system (e.g. 99.9% of all memory sticks), you loose that information anyway.
Apple promoted its forks a lot. Microsoft not so; essentially they went for other alternatives (such as container file formats). I suspect that the main reason why they implemented it in NTFS was to kill the pro-Apple argument "They provide forks in the file system".
If you want to look for forks in your NTFS file system, Sysinternals streams[^] is a useful tool to start with.
|
|
|
|
|
I'm aware of those in NTFS. The difference appears to be if for example, you copy your application from such a filesystem, to say fat32 and then use it from there, it won't break the app, because that information isn't critical to the app actually being functional. With apple? It seems like apps are all written to use that nonsense and won't work without it.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
Well, "nonsense"? It is a different way of organizing data. In a *nix environment, you'd rather be using two dozen tiny little files, sometimes spread all over the place. In my study days, it was claimed that in a typical Unix installation (this was pre-Linux), 80% of the files were smaller than 5K bytes, hence would fit in the 10 disk blocks (of 512 bytes each) directly referenced in the I-node, without needing an index page. (A great argument for why Unix should be chosen over the competitors!) I guess the average file size is somewhat higher today, but still *nix systems tend to have a huge number of small files that must all be present for an application to run, or say, for a build to succeed.
One alternative is to use some container file format. A forked file is a super-simple container file! The problem (or advantage, seen from another point of view) is that most recent (that includes all formats developed this millennium, but not limited to that) container formats are so complex that it takes a good chunk of code to decode. If you do that, you presumably know what you are doing.
If you really need to access the structures in an NTFS ADS "container" file, and you know how to access ADS, writing a tiny program to split the different streams into a directory with one "simple" file per stream. I would assume that it would be equally simple with a Mac forked file. If you don't care about the information in those other streams/forks, just ignore those files. You could have ignored the streams/forks in the original file as well! If you do care, but will not (/can not) use the original file system the simplest way is to unpack it to a directory.
Almost all memory sticks are FAT. What happens when a Mac copies a forked file to a FAT memory stick? Does it loose information? Or does it include a wrapper that makes the set of forks appear as one single file? Or does it create a directory?
|
|
|
|
|
Thanks for that short treatise on Unix file organization.
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
|
trønderen wrote: Sysinternals streams[^] is a useful tool to start with. Indeed it is. Part of my nightly backup process on our build service is using streams to clean up build assets not under source control. I also delete all of those nasty little .DS_Store folders left behind by Mac's.
We have a couple people who insist on using Mac's and/or Linux to create data, even though we are a Microsoft house and build products exclusively for Windows.
Software Zen: delete this;
|
|
|
|
|
Yep. I tried using Alternate Data Streams to hide some copyright info, but source control (SVN at the time, and SourceSafe) wouldn’t pick it up.
I read that malware was oftentimes stored in there.
Time is the differentiation of eternity devised by man to measure the passage of human events.
- Manly P. Hall
Mark
Just another cog in the wheel
|
|
|
|
|
Also, this is close relative of 'Security through obscurity'.
Anyone who is aware of your copyright notice mechanism can remove it by copying your file to a memory stick and back. So why would your copyright notice have any value at all, if it might very easily disappear, and you can't tell people about its existence because that would make it trivial to remove it?
So I think you were right dropping this alternative. Yet I think a source control system should be able to handle all sorts of files, including those with ADS, holes, file names with spaces and extended character sets, or whatever. To phrase it differently: Anything with roots in *nix is likely to give you problems for at least the first ten years after it was "ported" (or "tried ported" might be a more appropriate term) to a Windows environment.
|
|
|
|
|
Well, all that is true.
For context, I had read about Alternate Streams and was just fooling around with them a little to see whether it’d be any use to me. And this was 15+ years ago. Putting some kind of marker in a generated report, compiled dll, or exe to prove its origin was my first thought (no marker = not valid).
Time is the differentiation of eternity devised by man to measure the passage of human events.
- Manly P. Hall
Mark
Just another cog in the wheel
|
|
|
|
|
honey the codewitch wrote: I'm not often driven to fits of rage over tech, but the last time I used an Apple was one of them. I've played with Apples a couple time throughout the numerous years. And by 'a couple' I mean not many more than 3 times. Long ago I remember trying to find their file system. Couldn't find it. It seemed every program kept control of its own place where it stored the user's files. I asked someone about it later, and they indicated I was correct - there was no way to get to that. It didn't seem to have the equivalent of Windows Explorer. I believe they since changed that.
A few years ago I went to a Best Buy and saw a Mac. Figured I'd play again. Booted up Safari. They are touted as being 'intuitive.' No effin way. I tried everything I could to scroll down on the web page. I had never played with two-finger scroll on a mouse, so had no idea about it, and it didn't come to me. I placed the cursor at the right edge of the page. The scroll bar didn't automatically come up. I tried everything I could think of and couldn't get the damn web page to scroll down. At that point I figured they had clevered themselves all the way back into stupidity. I consider myself to be fairly technically proficient - learned enough on my own to be able to help other people fix their Window's problems. But I could not wrap my head around Apple's design decisions just by playing with their system. Does that make me an old dog that cannot be taught new tricks? I don't know. I understand their 'two-finger scroll' now that someone showed it to me, so I doubt it.
|
|
|
|
|
The haven’t “changed” that because it was never true. The Mac’s equivalent to Windows Explorer is a process called Finder and it has been the central part of the Mac operating experience since 1984. Unless you were in some sort of kiosk mode you shouldn’t have needed to do anything to find it.
|
|
|
|
|
I think I found the 'Finder'. I don't believe it showed you an actual disk path at that time. Because of that, it felt useless to me.
|
|
|
|
|
I have a hackintosh running in a VM. Having never been a serious MAC user, I have also found finder to be a little weird. I know it's just me. But having spent many years on Unix desktops, it sort of makes sense if you think like apple. They are shooting for a homogenized environment, but sometimes you need some pharmaceuticals to get you there.
Charlie Gilley
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
Has never been more appropriate.
|
|
|
|
|
While the Mac of course had paths, they weren’t really used by end users - or even typical code - prior to the release of OS X, so there wasn’t really much value in showing a full path as a string to the user. I’m kind of curious if you recall whether you were doing something that actually required it, or if it was just an abstract expectation you had because it was what you had always seen.
|
|
|
|
|
If I recall correctly, I was approaching it from an organizational viewpoint. "If I have a project, how can I organize it so that I can see all the files for that project?" was one question. For instance, it is nice to look at everything at a glance, and say, "Yeah, I did that and that and that - oops - I forgot to bill for that!" The only way I could see was to place project names in every file, which seemed very stupid. There was also the question of how could you open word processing files in different programs? For instance, if a client gives you a WordPerfect file and you internally convert it to Word, then later need to use it in WordPerfect on your own machine? I admit I did not spend much time delving into the intricacies, but anyone who says these things were 'intuitive' in these aspects back then is deluding themselves.
|
|
|
|
|
I honestly don’t understand how seeing a full path would help address either of the issues you describe.
People generally organized projects by folder. If you wanted to just see the overall organization of a project folder you would probably put the top level folder in list view and then use the disclosure arrows to next to each child folder to see all the contents in a single hierarchical list.
If you converted a document from one proprietary format to another and then needed to use the original application for it again you’d obviously need to convert it back or keep a copy in the original format. That has nothing to do with the file system or the platform at all. It’d be the same on every other OS before or since.
This really all sounds, as I suspected, like you saw something unfamiliar and just leaned into that meaning “bad”.
|
|
|
|
|
Myron Dombrowski wrote: People generally organized projects by folder.
Myron Dombrowski wrote: While the Mac of course had paths, they weren’t really used by end users - or even typical code That was kinda my point. In my quick perusal I couldn't find an intuitive way of creating 'folders.' The program I tried didn't have a 'folder' intuitively visible, and I got the impression that it dumped the file into its own location. I actually did look, because this shocked me a bit. If I recall correctly, I was using the equivalent of Notepad for this testing back then.Myron Dombrowski wrote: This really all sounds, as I suspected, like you saw something unfamiliar and just leaned into that meaning “bad”. And this sounds like the reply of someone who is insufferable to be around. I hope you are not. Have a great day!
|
|
|
|
|
I was stumped years ago by a Mac when I wanted to eject a CD but there wasn't a button next to the CD slot, so I had to ask a colleague. Turned out the eject button was on the keyboard. Why there? It's not like it was easier because I'd have to reach out to the CD drive anyway to grab the ejected CD!
And then there was the oddity of ejecting a disk by dragging an icon to the trash. The trash is for discarding/deleting stuff, so it felt like I was asking it to wipe the disk.
|
|
|
|
|
That "drag disc to trash" thingy exists since the first Macs, when you had to eject the floppy disks (remember those? LOL). At least on later macOS versions, when you start dragging the disc icon, that Trashbin icon actually changes to "Eject disc"...
There are a lot of other obscure design choices, a lot probably for no other reason but "Apple has to be different". Like the lack of proper [Delete] and [Backspace] keys, the [Delete] key on a Mac does actually only work as backspace and you need to use some magic keyboard combo together with it to do an actual delete.
Or the fact that the scrolling on a Mac works in the opposite direction as it does on Windows or Linux.
And the sheer amazement of Apple fanbois when you show that that a simple PC 2 button with scrollwheel mouse works so much faster and "intuitive" than that stupid one button Apple mouse where again you have to apply some magic key presses together with that single mouse button (which is even worse when you are encumbered with a mousepad on a Macbook).
Also to place the close/minimize/maximize buttons are put on the left side of the windows, and they don't always work the way you expect.
|
|
|
|
|
As a long time Mac user I have to admit I sometimes question Apple's design decisions when a new version changes some part of the UI seemingly arbitrarily, but I've never considered switching to Windows for my personal computing needs, even though I've worked at least as much with Windows machines for much of my career.
There is a lot of difference between MacOS 9 (pre-unix) and MacOS X and up (unix-based, debuted around 2001). Many of the misconceptions aired in this thread are based on the earlier incarnation of MacOS. Since OSX is essentially unix, the ancient forked file format has evolved into a container like format. Mac specific meta-data for a directory will be stored in a hidden file on non-mac drives, which irritates windows sysadmins (Macs can be configured quite easily to not write these files, but you can't expect a Windows sysadmin to find out how, apparently).
What feels natural and user-friendly to you depends for a great deal on your earlier experiences. If you've been using Windows exclusively, a Mac is bound to feel somewhat unusual at first. OTOH Mac-only users (quite a rare species due to the ubiquitousness of Windows) will have far more trouble adjusting to Windows. In my experience the Finder (that survived the OSX transition) is vastly superior to the Windows Explorer. I feel much more in control of my computer on Macs than on Windows.
Also in organisations that have a mix of Windows and Mac users, the latter tend to need far less support from the IT department than Windows users do.
I have no ejectable drive anymore, so I can't test for the trash-can eject mechanism, but I believe that was discontinued at some point.
|
|
|
|
|
I have been using Macs since they came out, and it NEVER has been "more intuitive and user friendly" than so many people insist. Pretty much all of the things I mentioned are in recent versions of macOS.
And in a "mixed environment", I have rather made the experience that Mac users require MORE support than your average Windows users.
And the "eject by moving to trash" thing is still around in the latest version of macOS, just the media has changed, nowadays it is more likely a USB memory stick than a floppy or CD/DVD though...
|
|
|
|
|
Don't you feel a lot more special now that you know that information? /s
|
|
|
|
|
It slipped into my mind that for the dining philosophers, the fork is a resource
|
|
|
|