Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Why is a resource fork?

Why is a resource fork?

Scheduled Pinned Locked Moved The Lounge
designquestioncomgraphicsiot
38 Posts 15 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • P Paul Sanders the other one

    OK. FWIW, (and for anyone else who might be interested) there's a better explanation of this read only filesystem business here: [https://superuser.com/a/1495146/546261\](https://superuser.com/a/1495146/546261) > The issue is that that resource data doesn't always get copied properly. Don't understand that (but would like to help). Do you mean [the contents of] an app's `Resources` folder? And from where to where (in terms of volumes)? If you're trying to stuff things into `/Applications`, that's what the Installer app is for. That's what I do (I build an installer package, using `pkgbuild` and then `productbuild`) and everything works fine. Or am I trying to teach my grandmother to suck eggs?

    Paul Sanders. If I had more time, I would have written a shorter letter - Blaise Pascal. Some of my best work is in the undo buffer.

    H Offline
    H Offline
    honey the codewitch
    wrote on last edited by
    #20

    [Edit: I replied to the wrong post]

    Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix

    1 Reply Last reply
    0
    • M Myron Dombrowski

      Going to start off with one correction: Modern applications are not typically split across multiple forks and haven’t been for literally decades. I’m genuinely surprised you’re running into such applications at all in 2023. I’m also curious what tool you were using to manipulate the files that was breaking them, because Macs have always just transparently handled them. The original Mac file system supported two separate chunks of data per file system entry. There was a data fork which was an unstructured store mostly analogous to the single data stream most early file systems had, and a resource fork that held discrete chunks of data tagged with a type and an integer identifier. The resource fork served the dual purpose of simplifying the use of structured data and providing a means to help mitigate the extremely constrained systems of the day. Applications, for example, kept executable code in the resource fork in multiple chunks that could be loaded and unloaded at need (transparently to the coder) to fit within available memory, not unlike overlay files on MS-DOS. But Mac applications haven’t typically been structured that was since the release of Mac OS X. So again, the fact that you’re running into them in 2023 is somewhat baffling.

      H Offline
      H Offline
      honey the codewitch
      wrote on last edited by
      #21

      Okay, so when I said it doesn't get copied properly I was taking a liberty to avoid a longer explanation. Basically, the copy thing is something I have historically run into before, but it has been years, as you said. But, I recently ran into someone with an issue with a resource fork not being read properly or otherwise being screwed up trying to run a python dev env using VS code on a mac. Nobody could help them. I hate the whole concept.

      Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix

      M 1 Reply Last reply
      0
      • T trønderen

        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.

        M Offline
        M Offline
        Mark Starr
        wrote on last edited by
        #22

        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

        1 Reply Last reply
        0
        • H honey the codewitch

          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

          J Offline
          J Offline
          jochance
          wrote on last edited by
          #23

          Their entire schpiel all along has been to tuck all those details away, and I think, to intentionally introduce burden to their usage. This way they can both claim it is "open" while being totally unusable in the context of consumers reaping benefit from an "open" platform. Oh I bet they discuss it quite a bit. It's just their objectives are strictly aligned with enriching Apple versus doing anything that may otherwise make a lot of sense.

          M 1 Reply Last reply
          0
          • D David ONeil

            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.

            Our Forgotten Astronomy | Object Oriented Programming with C++ | Wordle solver

            M Offline
            M Offline
            Matthew Barnett
            wrote on last edited by
            #24

            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.

            R D 2 Replies Last reply
            0
            • M Matthew Barnett

              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.

              R Offline
              R Offline
              Ralf Quint
              wrote on last edited by
              #25

              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.

              M 1 Reply Last reply
              0
              • M Myron Dombrowski

                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.

                D Offline
                D Offline
                David ONeil
                wrote on last edited by
                #26

                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.

                Our Forgotten Astronomy | Object Oriented Programming with C++ | Wordle solver

                C M 2 Replies Last reply
                0
                • M Matthew Barnett

                  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.

                  D Offline
                  D Offline
                  David ONeil
                  wrote on last edited by
                  #27

                  Don't you feel a lot more special now that you know that information? /s :laugh: :laugh: :laugh: :laugh:

                  Our Forgotten Astronomy | Object Oriented Programming with C++ | Wordle solver

                  1 Reply Last reply
                  0
                  • R Ralf Quint

                    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.

                    M Offline
                    M Offline
                    markchagers
                    wrote on last edited by
                    #28

                    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.

                    R 1 Reply Last reply
                    0
                    • J jochance

                      Their entire schpiel all along has been to tuck all those details away, and I think, to intentionally introduce burden to their usage. This way they can both claim it is "open" while being totally unusable in the context of consumers reaping benefit from an "open" platform. Oh I bet they discuss it quite a bit. It's just their objectives are strictly aligned with enriching Apple versus doing anything that may otherwise make a lot of sense.

                      M Offline
                      M Offline
                      markchagers
                      wrote on last edited by
                      #29

                      OTOH, Microsoft (or any other company in the business) was founded for the sole purpose of benefitting mankind, and never for financial profit. ;P

                      J 1 Reply Last reply
                      0
                      • D David ONeil

                        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.

                        Our Forgotten Astronomy | Object Oriented Programming with C++ | Wordle solver

                        C Offline
                        C Offline
                        charlieg
                        wrote on last edited by
                        #30

                        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.

                        1 Reply Last reply
                        0
                        • D David ONeil

                          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.

                          Our Forgotten Astronomy | Object Oriented Programming with C++ | Wordle solver

                          M Offline
                          M Offline
                          Myron Dombrowski
                          wrote on last edited by
                          #31

                          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.

                          D 1 Reply Last reply
                          0
                          • H honey the codewitch

                            Okay, so when I said it doesn't get copied properly I was taking a liberty to avoid a longer explanation. Basically, the copy thing is something I have historically run into before, but it has been years, as you said. But, I recently ran into someone with an issue with a resource fork not being read properly or otherwise being screwed up trying to run a python dev env using VS code on a mac. Nobody could help them. I hate the whole concept.

                            Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix

                            M Offline
                            M Offline
                            Myron Dombrowski
                            wrote on last edited by
                            #32

                            The thing to keep in mind is that the fork-based file system and the resource fork specifically were novel and very effective solutions to a couple of very real issues *in the early 1980s*. They should be viewed as an artifact of their time and not through the lens of the present. As others have noted in this thread, of course, fork-supporting file systems are now ubiquitous but forks are not typically used to hold critical information these days. Just lose-able metadata.

                            T 1 Reply Last reply
                            0
                            • M Myron Dombrowski

                              The thing to keep in mind is that the fork-based file system and the resource fork specifically were novel and very effective solutions to a couple of very real issues *in the early 1980s*. They should be viewed as an artifact of their time and not through the lens of the present. As others have noted in this thread, of course, fork-supporting file systems are now ubiquitous but forks are not typically used to hold critical information these days. Just lose-able metadata.

                              T Offline
                              T Offline
                              trønderen
                              wrote on last edited by
                              #33

                              Or, you might say that for application areas where they make sense they have been further developed into rather complex, application specific container formats. A container file is a multi-fork file where each fork serves a specific purpose - just like the old MacOS files, or the ADS files. We could have seen software develop to accept forked files as something that everyone had to be able to handle, as an extension of hierarchical file systems that every one must handle today. That didn't happen, so container formats grew up to serve that function. I grew up as an IT guy in a world where hierarchical file systems were not the standard. They were starting to arrive, but the Univac OS-1100 file system did not have a hierarchy. Sintran had a disk-user-file hierarchy, but each user had a flat file space. When DEC introduced their "All-in-1" office automation system (frequently referred to as "All-in-several"; the integration was far from perfect), documents were stored in a fixed hierarchy of cabinets, drawers and folders: Their users indicated a clear preference for a fixed system. Lots of young people today find it hard to understand how it could be possible to organize information in a system without infinite length directory chains. Container formats curb this. If file forks had become common, we certainly would have seen another crop of *nix file systems offering file forks where each fork could be another forked structure, recursively to unlimited depth. We are probably better off with application specific container formats that keep the recursion under control, even though it means that each application area has its own container format.

                              1 Reply Last reply
                              0
                              • M Myron Dombrowski

                                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.

                                D Offline
                                D Offline
                                David ONeil
                                wrote on last edited by
                                #34

                                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.

                                Our Forgotten Astronomy | Object Oriented Programming with C++ | Wordle solver

                                M 1 Reply Last reply
                                0
                                • D David ONeil

                                  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.

                                  Our Forgotten Astronomy | Object Oriented Programming with C++ | Wordle solver

                                  M Offline
                                  M Offline
                                  Myron Dombrowski
                                  wrote on last edited by
                                  #35

                                  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”.

                                  D 1 Reply Last reply
                                  0
                                  • M Myron Dombrowski

                                    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”.

                                    D Offline
                                    D Offline
                                    David ONeil
                                    wrote on last edited by
                                    #36

                                    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!

                                    Our Forgotten Astronomy | Object Oriented Programming with C++ | Wordle solver

                                    1 Reply Last reply
                                    0
                                    • M markchagers

                                      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.

                                      R Offline
                                      R Offline
                                      Ralf Quint
                                      wrote on last edited by
                                      #37

                                      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...

                                      1 Reply Last reply
                                      0
                                      • M markchagers

                                        OTOH, Microsoft (or any other company in the business) was founded for the sole purpose of benefitting mankind, and never for financial profit. ;P

                                        J Offline
                                        J Offline
                                        jochance
                                        wrote on last edited by
                                        #38

                                        Yes but I don't care if you were raised to be a mass murdering dictator so long as you a benevolent king. Some part of my beef with Apple is exactly that they made MSFT chase them. I absolutely despise them though and truly wish the company never existed. I don't even care that the world wouldn't be able to see/know how right I am about the fact we'd be 50 years further along tech wise or more if they had not. If we want to put it to metaphor it's like young black men worshipping gangster rap dreaming of becoming kingpin drug dealers.

                                        1 Reply Last reply
                                        0
                                        Reply
                                        • Reply as topic
                                        Log in to reply
                                        • Oldest to Newest
                                        • Newest to Oldest
                                        • Most Votes


                                        • Login

                                        • Don't have an account? Register

                                        • Login or register to search.
                                        • First post
                                          Last post
                                        0
                                        • Categories
                                        • Recent
                                        • Tags
                                        • Popular
                                        • World
                                        • Users
                                        • Groups