# PC vs Mac Simply Explained

**URL:** <https://boards.straightdope.com/t/pc-vs-mac-simply-explained/59284>\
**Category:** Great Debates\
**Created:** [March 24, 2001, 5:03am UTC](https://boards.straightdope.com/t/pc-vs-mac-simply-explained/59284 "2001-03-24T05:03:42Z")\
**Posts on this page:** 20\
**Page:** 21

<div class="post-metadata">

**Author:** ![galt](https://avatars.discourse-cdn.com/v4/letter/g/35a633/32.png) [@galt](https://boards.straightdope.com/u/galt)\
**Post date:** [April 30, 2001, 2:31am UTC](https://boards.straightdope.com/t/pc-vs-mac-simply-explained/59284/401 "2001-04-30T02:31:38Z")

</div>

**JoeyBlades** says:

> [@](#):
>
> There are many ways to load whatever you want into RAM on a Mac, there’s only one mechanism to execute code. The Mac OS won’t just jump to any old block of RAM and start executing.

Completely false. I can write assembly code to set the PC to whatever address I want, including ROM and the kernel, and continue executing. I can even do this in the built-in ROM monitor or macsbug. It’s trivial.

**JoeyBlades** says:

> [@](#):
>
> > [@](#):
> >
> > Not only is this a silly distinction, but it’s dead wrong. You can store executable code in whatever resource types you want on the Mac. You can store executable code as ‘MENU’ resources if you want. What makes you think otherwise?
> 
> You’re right, you can STORE code into any kind of resource. The important (non silly) distinction is (as I said in the statement that you quoted) the MacOS can’t EXECUTE these other kinds of resources as code.

Bullshit. I suggest you go look at how Illustrator plugins work. I’ll give you a hint: the code is stored, loaded, and executed from ‘ARPI’ resources. That resource type was chosen arbitrarily by the Illustrator programmers, and they could have picked anything, including ‘MENU’, ‘DLOG’, etc. Simply put, you don’t know what you’re talking about.

These specific technical details are not exactly appropriate for this conversation, and I’d normally leave them out, because I’m sure people’s eyes are glossing over at this point. The only reason I’m bringing this stuff up is to demonstrate that **you are wrong and are talking about something you don’t understand**. Please give it up. The Mac has plenty of merits without you fabricating BS about its superiority in areas where it is clearly not. It only weakens your case, because nobody wants to listen to a zealot who ignores the facts.

> [@](#):
>
> I seem to be repeating myself again…

Indeed.

---

<div class="post-metadata">

**Author:** ![Ms2001](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/ms2001/32/18463_2.png) [@Ms2001](https://boards.straightdope.com/u/Ms2001)\
**Post date:** [April 30, 2001, 5:11am UTC](https://boards.straightdope.com/t/pc-vs-mac-simply-explained/59284/402 "2001-04-30T05:11:26Z")

</div>

**JoeyBlades** :

> [@](#):
>
> You’re still missing the point. The executable code in the MacOS is not saved as a simple byte stream that you can append to.

Resources are byte streams. The entire resource fork is a byte stream.

> [@](#):
>
> The only way to do what you suggest is to go through the MacOS commands for managing resources. There are very specific low level routines that provide the only access mechanism and these are easily monitored and protected.

Tools like BinHex don’t seem to have a problem accessing the resource fork.

> [@](#):
>
> Nothing in hardware, per se. Let me answer your question with an analogy.

I think **galt** has addressed this adequately… with concrete facts.

---

<div class="post-metadata">

**Author:** ![JoeyBlades](https://avatars.discourse-cdn.com/v4/letter/j/a87d85/32.png) [@JoeyBlades](https://boards.straightdope.com/u/JoeyBlades)\
**Post date:** [April 30, 2001, 5:51am UTC](https://boards.straightdope.com/t/pc-vs-mac-simply-explained/59284/403 "2001-04-30T05:51:06Z")

</div>

galt:

> [@](#):
>
> Completely false. I can write assembly code to set the PC to whatever address I want, including ROM and the kernel, and continue executing.

Woah there, nellie. That’s a horse of a completely different color. Your talking about application software that was written specifically to do this. Of course you can design your application to do this. What we’re talking about is designing a virus that can insert a similar mechanism into an application that was not designed to do so.

> [@](#):
>
> I can even do this in the built-in ROM monitor or macsbug. It’s trivial.

Yes it is, but it’s not a virus attack.

> [@](#):
>
> Bullshit. I suggest you go look at how Illustrator plugins work.

Again, you’re describing a design mechanism for executing a program within a program. Although, in this case, I’m not entirely sure that a virus couldn’t be introduced. If this is possible, I would equate this to the macro, ActiveX, and other mechanisms that Microsoft designs in to their applications to promote… err… facilitate… err… allow viruses to flourish.

> [@](#):
>
> Simply put, you don’t know what you’re talking about.

What you mean is you don’t know what I’m talking about. You’re arguing a completely different point - a point that I don’t disagree with.

> [@](#):
>
> It only weakens your case, because nobody wants to listen to a zealot who ignores the facts.

Wow! Zealot… I think I’m honored… Again, I repeat myself, I’m not claiming Macintosh immunity from viruses, merely a certain level of resistance - moreso than the PC. Do you also disagree with this?  
Mr2001:

> [@](#):
>
> Resources are byte streams. The entire resource fork is a byte stream.

True, and I will admit that if you’re clever enough to break through the first line of defense (i.e. to get your virus to execute), you could conceivably alter the appropriate disk sectors using machine level access to the disk drivers to rewrite pieces of the resource fork in specific files… this is far less trivial than it sounds. So I will concede your point, but remind you that I didn’t say “impossible” I said “more difficult”.

> [@](#):
>
> I think galt has addressed this adequately… with concrete facts.

No, (returning to my alalogy) galt inserted a confederate into the room to build a door. He also redesigned the room to make it easier to add doors. He proved nothing. If he does prove the counterpoint to my argument, I’ll be the first to admit I’m wrong. A zealot, maybe, but an honorable zealot.  
Monster:

I haven’t forgotten about your challenge:

> [@](#):
>
> Why don’t you list some things that can be done on Macs that you think can’t be done on PC’s?

I’ve got quite a list, but I’m fact checking the PC side as best I can. It will probably be tomorrow evening before I can post it.

---

<div class="post-metadata">

**Author:** ![Ms2001](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/ms2001/32/18463_2.png) [@Ms2001](https://boards.straightdope.com/u/Ms2001)\
**Post date:** [April 30, 2001, 6:36am UTC](https://boards.straightdope.com/t/pc-vs-mac-simply-explained/59284/404 "2001-04-30T06:36:45Z")

</div>

**JoeyBlades** :

> [@](#):
>
> That’s a horse of a completely different color. Your talking about application software that was written specifically to do this. Of course you can design your application to do this.

I thought that was what you were calling impossible: _The Macintosh execution model is better than Windows, because code can only manifest itself and be executed if identified as such (via specific resource namining conventions)._

Code can certainly be executed if it’s stored in another type of resource, or in no resource at all, as you just agreed. So what exactly are you claiming that MacOS prevents?

> [@](#):
>
> What we’re talking about is designing a virus that can insert a similar mechanism into an application that was not designed to do so.

Are you suggesting that this is possible on the PC?

And keep in mind that since programs can freely access any memory, they can freely bypass any system permission checks, either by grabbing the data themselves or by rewriting the system routines to grant access.

This effectively makes a joke out of any other security measures: imagine a bank vault, made of six feet of solid steel… but anyone can walk up and change the combination.

> [@](#):
>
> True, and I will admit that … you could conceivably alter the appropriate disk sectors using machine level access to the disk drivers to rewrite pieces of the resource fork in specific files…

What’s wrong with just reading the resource fork, modifying it, and writing it back out (a la BinHex)? The format of the resource fork is trivial to understand.

---

<div class="post-metadata">

**Author:** ![galt](https://avatars.discourse-cdn.com/v4/letter/g/35a633/32.png) [@galt](https://boards.straightdope.com/u/galt)\
**Post date:** [April 30, 2001, 7:25am UTC](https://boards.straightdope.com/t/pc-vs-mac-simply-explained/59284/405 "2001-04-30T07:25:37Z")

</div>

> [@](#):
>
> > [@](#):
> >
> > Completely false. I can write assembly code to set the PC to whatever address I want, including ROM and the kernel, and continue executing.
> 
> Woah there, nellie. That’s a horse of a completely different color. Your talking about application software that was written specifically to do this. Of course you can design your application to do this. What we’re talking about is designing a virus that can insert a similar mechanism into an application that was not designed to do so.

You don’t understand. If you claim “the mac is more resistant to viruses because it won’t let you do **X** ”, and I prove that it **will** let you do **X** , then you’re wrong. I don’t care whether you put it in the context of viruses or application software, it’s a false statement. Maybe the mac is more resistant to viruses for **other reasons** (which you have yet to demonstrate), but the ones you have given are false. Own up to it.

> [@](#):
>
> > [@](#):
> >
> > Simply put, you don’t know what you’re talking about.
> 
> What you mean is you don’t know what I’m talking about.

Unfortunately, I know exactly what you’re talking about, and none of it resembles fact in any way. Specifically, your claim that code running on the mac cannot jump to arbitrary memory locations and therefore subvert security is false. In addition, your claim that code from arbitrary resources cannot be executed is false. You have based quite a bit of your argument on these two false claims. Do you have any **true** statements to back up your claim about the mac being more virus-resistant?

> [@](#):
>
> I’m not claiming Macintosh immunity from viruses, merely a certain level of resistance - moreso than the PC. Do you also disagree with this?

Yes, I do. They’re equally vulnerable to viruses. NT/2000, configured with proper security settings (which almost nobody does, because they’d find it nearly as unfriendly as unix), is more virus resistant than the mac by a longshot, but the way it ships and the way people use it, it is not.

---

<div class="post-metadata">

**Author:** ![galt](https://avatars.discourse-cdn.com/v4/letter/g/35a633/32.png) [@galt](https://boards.straightdope.com/u/galt)\
**Post date:** [April 30, 2001, 4:27pm UTC](https://boards.straightdope.com/t/pc-vs-mac-simply-explained/59284/406 "2001-04-30T16:27:53Z")

</div>

**JoeyBlades** says:

> [@](#):
>
> The executable code in the MacOS is not saved as a simple byte stream that you can append to.

What are you talking about? I’m sure that with your wealth of knowledge about MacOS, I don’t have to tell you that PowerPC native apps run code from the **data fork** of the application file. Does that not qualify as “a simple byte stream that you can append to”?

> [@](#):
>
> The only way to do what you suggest is to go through the MacOS commands for managing resources.

Don’t be ridiculous. What do you think low level disk editing utilities do? Do they require some special permissions to run on MacOS? The answer is no.

It seems that your problem here is that you’ve gotten away with making wild claims about the MacOS in the past, because you’ve never actually discussed it with anyone who is really familiar with it on a low level. Most PC weenies can’t refute your claims because they’ve never bothered to learn much of the Mac’s technical details. I am sorry to be the one to break it to you, but you’re horribly confused.

---

<div class="post-metadata">

**Author:** ![JoeyBlades](https://avatars.discourse-cdn.com/v4/letter/j/a87d85/32.png) [@JoeyBlades](https://boards.straightdope.com/u/JoeyBlades)\
**Post date:** [April 30, 2001, 6:15pm UTC](https://boards.straightdope.com/t/pc-vs-mac-simply-explained/59284/407 "2001-04-30T18:15:08Z")

</div>

I only have a couple of minutes, so I’ll make this fast…

Mr2001:

> [@](#):
>
> Code can certainly be executed if it’s stored in another type of resource, or in no resource at all, as you just agreed.

No. I agreed that code could be executed from another type of resource from another execution model. The Photoshop example is not executing the code in with the Mac OS execution model. Here’s another example, possibly better than galts. Let’s say you have a virus that runs under the Windows OS. This virus randomly writes garbage to the disk. This kind of virus would normally not be dangerous to the Mac, but if you’re running VirtualPC and the emulated Windows environment contracts the virus, your Mac disk is toast. Is this due to the Mac execution model? No - it’s due the Windows execution model.

Both the Windows execution model of VirtualPC and the Photoshop execution model mentioned by galt may be able to circumvent the Macintosh execution model to commit damage, but neither of these things facilitate the creation or installation of a native Mac virus.

> [@](#):
>
> The format of the resource fork is trivial to understand.

Is it? Certainly some resource fork formats are trivial (and well documented). Apple’s “Preferred Executable Format” is Apple Proprietary and non trivial. When code fragments are written to disk the instructions and data are compressed (“pattern initialized”) which means that the disk image is not the same as the execution image. There are other architectural ‘features’ of the format that add to the complexity, as well. I’m sure it’s hackable, but again, I feel the need to reiterate:

> [@](#):
>
> I’m not claiming that the MacOS is immune to viruses.

galt:

> [@](#):
>
> If you claim “the mac is more resistant to viruses because it won’t let you do X”, and I prove that it will let you do X, then you’re wrong.

I’m pretty sure I understand your point. I just don’t think you proved ‘X’ - I think you proved ‘Y’. In this case, ‘X’ is “execute code under the Mac OS execution model from non code resources” and ‘Y’ is “execute code under a non Mac OS execution model from non code resources”.

> [@](#):
>
> I don’t care whether you put it in the context of viruses or application software, it’s a false statement.

Too bad that you’re ignoring the context, because it’s all important to you actually disproving my point. Sheesh, and you call me a zealot. You’re so consumed with your zeal to humiliate me and get me to admit that I’m wrong that you’re ignoring the fundamental point and arguing unrelated tangents.

If you want me to admit that it’s possible for the PowerPC to execute code that is saved in formats other than a Mac OS code resource (or code fragment container - I’d better be specific or you’ll jump down my throat again)… fine, I admit this. That, however, is not what we are talking about… or at least, not what I’m talking about.

If you want to prove your point, you merely need to show that it’s easier (than on a PC) to insert executable code fragments into a Mac application, without going through the Code Fragment Manager or the Resource Manager.

Somehow, I don’t think that we’re going to reach concensus on this point.

> [@](#):
>
> NT/2000, configured with proper security settings (which almost nobody does, because they’d find it nearly as unfriendly as unix), is more virus resistant than the mac by a longshot, but the way it ships and the way people use it, it is not.

That may be entirely true, though I certainly can’t confirm it because I don’t have a clue what these “proper security settings” are.

---

<div class="post-metadata">

**Author:** ![JoeyBlades](https://avatars.discourse-cdn.com/v4/letter/j/a87d85/32.png) [@JoeyBlades](https://boards.straightdope.com/u/JoeyBlades)\
**Post date:** [April 30, 2001, 9:17pm UTC](https://boards.straightdope.com/t/pc-vs-mac-simply-explained/59284/408 "2001-04-30T21:17:26Z")

</div>

galt:

Just saw your latest comments… This is probably the last I’m going to say on the subject of which OS is more difficult to program viruses for…

[quote]

Does that not qualify as “a simple byte stream that you can append to”?

Yes and no. Your right, the actual code (and data) is in the data fork (unless its a FAT application - better qualify everything), but it is not meaningful without the cfrg resources and it’s not a simple byte stream (well, it is, but it’s not a one-for-one image of the code that gets loaded into memory). So you can certainly append to the data stream, but that doesn’t make it functional code…

Apple claims that the details of this mechanism are private and protected. I’ve seen this claim in a number of places at the ADC - I’m sure you’re capable of confirming this yourself. Perhaps **YOU** know that Apple has perpetrated some sort of deception and that the contents of the code fragment on disk **DO** match execution memory. If so congratulations, your detailed knowledge is impressive. I admit that I am merely taking Apple’s word for it.

> [@](#):
>
> Don’t be ridiculous. What do you think low level disk editing utilities do?

Now you’re just being disingenuous…  
Of course you can read and write data from/to the disk. I’m just saying it’s not that easy to write it in a meaningful format to create functional code. (Here’s the obligatory “not impossible, just very difficult”)

> [@](#):
>
> It seems that your problem here is that you’ve gotten away with making wild claims about the MacOS in the past, because you’ve never actually discussed it with anyone who is really familiar with it on a low level.

Aside from your obvious distaste for the way I presented this particular concept, name one wild claim that I’ve made about the MacOS. It’s funny. You chastise me for not diving headfirst into this crowd with all the gory details, yet you admit that the topic is over their heads (from an experience perspective):

> [@](#):
>
> Most PC weenies can’t refute your claims because they’ve never bothered to learn much of the Mac’s technical details.

I’ve always felt it was more important to communicate at or near the audiences’ level of understanding. You, on the other hand, seem to think it’s more important to dazzle them with details. I will grant that you may know more than I do about programming the Mac at it’s lowest levels. Big deal. That does not invalidate my point. If, per chance, you did proffer some evidence that my **POINT** is invalid, I will (begrudgingly) admit that I am wrong (I would have done it happily, but your attitude has really started to piss me off). That evidence has not, so far, been forthcomming. Instead, you attack my approach as not being detailed enough and therefore inaccurate. Had I known that you’d be there with a big stick, I might have chosen a different, more detailed, more precise approach. Of course, everyone else would have been bored shitless…  
I don’t see the benefit of continuing this tangent.  
We obviously don’t agree, though it was never a huge point with me, in the first place - more of an afterthought, really. Somehow I let you draw me into this pissing contest and I appologize to the rest of the crowd for falling for it and wasting bandwidth.

If it’s important for you to demonstrate your dominance over me in all things technical on the Mac, congratulations; I concede - your hard disk is bigger than mine.

Have a nice day!

ps

On a less personal level, I still have that list I’m working on for Monster… get your hockey sticks ready…

---

<div class="post-metadata">

**Author:** ![galt](https://avatars.discourse-cdn.com/v4/letter/g/35a633/32.png) [@galt](https://boards.straightdope.com/u/galt)\
**Post date:** [April 30, 2001, 10:26pm UTC](https://boards.straightdope.com/t/pc-vs-mac-simply-explained/59284/409 "2001-04-30T22:26:18Z")

</div>

**JoeyBlades** says:

> [@](#):
>
> Perhaps **YOU** know that Apple has perpetrated some sort of deception and that the contents of the code fragment on disk **DO** match execution memory. If so congratulations, your detailed knowledge is impressive. I admit that I am merely taking Apple’s word for it.

Give me a break. Just because the stuff on disk isn’t byte-for-byte what’s in memory doesn’t mean squat. It’s the same story on every architecture. Anyone who knows PPC assembly can easily disassemble the code on the disk, figure out where the entry points are, and insert their own code ahead, behind, or right in the middle of it, proprietary executable format or not. I’m not trying to show off by stating this. I’m just telling you why you’re wrong. Believe me or don’t (and if you don’t, ponder the apparent paradox of 3rd party compilers creating Mac applications without going through the code fragment manager).

> [@](#):
>
> > [@](#):
> >
> > Don’t be ridiculous. What do you think low level disk editing utilities do?
> 
> Now you’re just being disingenuous…  
> Of course you can read and write data from/to the disk. I’m just saying it’s not that easy to write it in a meaningful format to create functional code. (Here’s the obligatory “not impossible, just very difficult”)

Writing software can be described as “very difficult”, too. What you’re describing is decidedly **less** difficult than, for example, stack overflow exploits which allow people to break into unix systems through buggy system daemons. Yet amazingly, people still write tools to do **that**. “My system is secure because assembly programming is hard” does not cut it.

> [@](#):
>
> Aside from your obvious distaste for the way I presented this particular concept, name one wild claim that I’ve made about the MacOS.

How about a list?  
[ul]  
[li]“The Macintosh execution model is better than Windows, because code can only manifest itself and be executed if identified as such (via specific resource namining conventions).”[/li][li]“First [executable code segments] have to be of a particular resource type. Second they have to have the right resource ID, which means they have to replace another code resource without causing the application to halt abnormally.”[/li][li]“There are many ways to load whatever you want into RAM on a Mac, there’s only one mechanism to execute code. The Mac OS won’t just jump to any old block of RAM and start executing.”[/li][li]“The executable code in the MacOS is not saved as a simple byte stream that you can append to. The only way to do what you suggest is to go through the MacOS commands for managing resources.”[/li][li]“The Photoshop example is not executing the code in with the Mac OS execution model.” (Perhaps you better define “execution model”, because in my definition, **everything** running under the MacOS is in it’s execution model.)[/li][/ul]

I’d elaborate on why these are wild claims, but a) I think it’s already been covered and b) you’ll accuse me of being a bully for demanding honest arguments.

> [@](#):
>
> I will grant that you may know more than I do about programming the Mac at it’s lowest levels. Big deal. That does not invalidate my point.

No, the fact that the things you say are wrong is what invalidates your point. If you base your arguments on false statements, you have two choices:  
[ul]  
[li] come up with new facts to support your arguments, and give up on the falsehoods[/li][li] admit your arguments are baseless[/li][/ul]

> [@](#):
>
> If it’s important for you to demonstrate your dominance over me in all things technical on the Mac, congratulations; I concede - your hard disk is bigger than mine.

Oh, come on. You can’t spout as much bogus information as you have and not expect to be called on it. When someone calls you on it, and bothers to give hard technical facts to support their argument, it’s not always about “demonstrating dominance”. I would have gladly left out the technical details, but then I would simply be arguing like you, saying “nuh-uh, that’s not true” without backing it up. Heaven forbid someone bring facts to the table.

If I seem extra harsh on you, it’s because it really annoys me when people act authoritative on a subject when it’s obvious they don’t know what they’re talking about. **Especially** in a situation where most of the people they’re talking to can’t tell the difference. When you say “The Macintosh execution model is better than Windows, because code can only manifest itself and be executed if identified as such”, that is **wrong**. Maybe there’s some other reason the Mac execution model is good, but that sure ain’t it, so your argument is trash. Yet most of the people you’re talking to don’t know that. That’s called spreading ignorance, not fighting it.

If I started making up authoritative-sounding statements about neurosurgery (of which I have no knowledge) in general company, you can bet any neurosurgeons present would get good and pissed off if I persisted despite their corrections, especially if the other participants were not in a position to discern whether I was telling the truth.

---

<div class="post-metadata">

**Author:** ![manhattan](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/manhattan/32/7_2.png) [@manhattan](https://boards.straightdope.com/u/manhattan)\
**Post date:** [April 30, 2001, 10:30pm UTC](https://boards.straightdope.com/t/pc-vs-mac-simply-explained/59284/410 "2001-04-30T22:30:50Z")

</div>

> [@](#):
>
> \*Originally posted by manhattan \*  
> \*\* Unfortunately, apparently every person who has any knowledge of computers whatsoever is so bereft of a life that they form strong emotional attachments to whatever platform they prefer, as if they were married to the platform or they received money every time someone else chose the platform.  
> \*\*

Tolja.

---

<div class="post-metadata">

**Author:** ![JoeyBlades](https://avatars.discourse-cdn.com/v4/letter/j/a87d85/32.png) [@JoeyBlades](https://boards.straightdope.com/u/JoeyBlades)\
**Post date:** [May 1, 2001, 2:49am UTC](https://boards.straightdope.com/t/pc-vs-mac-simply-explained/59284/411 "2001-05-01T02:49:55Z")

</div>

Ignoring that argument that seems to rage on, still…  
As promised, here’s my list answering Monster’s challenge:

> [@](#):
>
> Why don’t you list some things that can be done on Macs that you think can’t be done on PC’s?

I’m sure it’s rife with lots more misinformation designed to enrage those who are much more knowledgeable than I. Still, I’ve tried to do a bit of research to see if PCs had obvious utilities that would accomplish the same things. Obviously, I can’t be aware of all PC utility software, so admittedly, some of these may be doable with the right software additions… (The emphasis should be placed on the phrase “things I think can’t be done on a PC”) Also, in some cases, there may not be a one-to-one correspondence in the PC world to specific Mac features I’m trying to tweak - you may not agree with my assessment of equivalent functionality, but I gave it my best shot. Also, I try to let you know what tools and access methods I might use to accomplish these settings (in parentheses), in case you want to investigate their capabilities further.

Here are a few basic ones:

- Assign default application association, independent of file type (ResEdit and other tools, via creator codes)
- Assign unique icons to individual files and folders (Finder - Get Info)
- Manage multiple hardware “profiles” without requiring a restart (Location Manager, and others)
- Configure the automatic retargeting and translation of files between compatible applications (File Exchange control panel)  
_Some of this functionality is available via the File Types tab in the Options dialog, though not the translation part_
- Change default location for file saves (General Controls control panel)
- Three choices of behavior: Folder that is set by the application, Last folder used in the application, Documents folder (not the same as the Documents folder in Windows)\*
- Change scroll bar arrows from one at each end to pairs (Appearance control panel and others)
- Adjust alert volume as percentage of main volume (Monitors & Sound control panel)
- Adjust grid spacing for icons on desktop and in folders (Finder preferences)
- Set folders to auto open when mouse over (Finder preferences)
- Attach a label [not a name] to a file or folder (Finder)
- Change network settings without a restart (TCP/IP control panel)
- Change clock options: font, size, color, time format, regular chimes, etc. (Date & Time control panel)
- Disable background printing (Chooser)
- Configure keyboard so that modifier keys [shift, control, command, option] don’t have to be held down continuously (Easy Access control panel)
- Configure folder view to display files and folders as buttons (Finder)  
_This turns any folder into an application/file launcher_
- Configure list views to show version, date created, comments, and label (Finder preferences)  
_Note: there are other options such as creator codes, finder flags, etc. that are available from other tools._
- Configure list views to show folder sizes (Finder preferences)
- Sort list views by size (Finder)
- Windows can do this… sort of, but it doesn’t include folders in it’s size ordering\*
- Configure view options individually for each folder (Finder)
- Manage extensions, control panels, and other startup files (Extension Manager)  
_Some of this functionality is available with the Windows utility “Startup Cop”_

As you may have noticed, most of these “tweaks” are actually accessible via control panels and basic OS preference settings. I can think of a lot more via third party tools, but frankly I just don’t have the energy… I fully acknowledge (and expect) that there may be other third party tools that I’ve missed that would X-off a few more form this list. (I know I already said this - I’m just getting the repetition out of the way early).  
We’ve mentioned ResEdit several times, so I decided to dedicate an entire section of things you can do with ResEdit that I don’t believe you can do on a PC:

Note that all of these tweaks can be applied to individual applications. Also note that the Finder is essentially an application and therefore can be manipulated in the same way, though it’s not recommended (you have to work on a copy, if you’re brave enough).

- Change menu shortcuts (i.e. Command key combinations)  
_You can add, remove, and alter the corresponding keys_
- Change menu text
- Disable menus
- Change color of menu items
- Change text messages
- Change graphics
- Change cursors
- Change patterns
- Change default window size, position, and style of windows
- Change default position and window type of dialogs
- Add static text to dialogs
- Change text in buttons
- Change and install sounds
- Change keyboard character mappings
- Change the file types that the application will try to open
- Remove types to restrict access to certain file types\*
- Change and install fonts  
_This is noteworthy because it allows applications to utilize fonts not installed in the system Fonts folder_

I’m sure I overlooked some. Also, it’s only fair to mention that some menus, text resources, etc. may not be configurable from ResEdit, due to the way the programmer chose to implement them. By and large, though, most applications are configurable in this way.

---

<div class="post-metadata">

**Author:** ![Ms2001](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/ms2001/32/18463_2.png) [@Ms2001](https://boards.straightdope.com/u/Ms2001)\
**Post date:** [May 1, 2001, 10:04am UTC](https://boards.straightdope.com/t/pc-vs-mac-simply-explained/59284/412 "2001-05-01T10:04:34Z")

</div>

**JoeyBlades** :  
\*\*\* Adjust alert volume as percentage of main volume\*\* - Windows lets you set the wave volume separately from the master volume, which may be the same effect (if not, does MacOS let you do it?)  
\*\*\* Change network settings without a restart (TCP/IP control panel)\*\* - Windows 2000 does this  
\*\*\* Change clock options: font, size, color, time format, regular chimes, etc. (Date & Time control panel)\*\* - time format can be changed in Regional Options  
\*\*\* Disable background printing (Chooser)\*\* - right click a printer, Properties, Advanced, “Print directly to the printer”  
\*\*\* Configure keyboard so that modifier keys [shift, control, command, option] don’t have to be held down continuously\*\* - Accessibility Options | StickyKeys, or tap shift 5 times (there’s also FilterKeys, to ignore brief or repeated keystrokes)  
\*\*\* Configure folder view to display files and folders as buttons (Finder)\*\* - you can turn on “single-click to launch”, which is the same functionality with a different appearance (not quite as different if the thumbnail view is enabled)  
\*\*\* Configure view options individually for each folder\*\* - this has been in since Win98 (or Win95 + IE4)

Many of those ResEdit changes can be done with a resource editor, although it depends on the application. Not all apps use dialog, menu, or string table resources - Delphi apps use their own resource format, but it can easily be extracted, modified, and replaced.

---

<div class="post-metadata">

**Author:** ![JoeyBlades](https://avatars.discourse-cdn.com/v4/letter/j/a87d85/32.png) [@JoeyBlades](https://boards.straightdope.com/u/JoeyBlades)\
**Post date:** [May 1, 2001, 4:16pm UTC](https://boards.straightdope.com/t/pc-vs-mac-simply-explained/59284/413 "2001-05-01T16:16:56Z")

</div>

Mr2001:

> [@](#):
>
> Windows lets you set the wave volume separately from the master volume, which may be the same effect (if not, does MacOS let you do it?)

Good question. I’m not sure of the exact mechanisms involved. However, the reason that it’s significant is that when I’m listening to CDs and MP3s on my Mac, I can turn the alert volume down without affecting the music volume. So essentially I can have the master volume at one level, my cd player playing at another volume level, my TV tuner at yet another volume level, and my alerts at still another volume level. Is this what you mean?

> [@](#):
>
> Windows 2000 does this.

Cool! Sounds like it’s time for an upgrade. I need this.

> [@](#):
>
> …time format can be changed in Regional Options  
> …Print directly to the printer

Oops! I missed those.

> [@](#):
>
> …tap shift 5 times

Doesn’t seem to work under NT; maybe a Win2K thing?

> [@](#):
>
> …you can turn on “single-click to launch”

You know, I tried to find this, but my computer doesn’t seem to support it, even though the Help says it should. However, it’s my understanding that this is a global setting (check me if I’m wrong), what I’m talking about is a local folder setting.

> [@](#):
>
> This has been in since Win98 (or Win95 + IE4)

Doh! My bad. I didn’t mean to leave this one on the list. I had already confirmed this for myself. Sorry.

> [@](#):
>
> Many of those ResEdit changes can be done with a resource editor, although it depends on the application.

Interesting. I knew that a few applications used resource mechanisms, but I thought these were isolated instances. You seem to be indicating that the practice is more prevalent than I thought. That’s cool. It simplifies the development process which will ultimately manifest itself in higher quality software.

---

<div class="post-metadata">

**Author:** ![galt](https://avatars.discourse-cdn.com/v4/letter/g/35a633/32.png) [@galt](https://boards.straightdope.com/u/galt)\
**Post date:** [May 1, 2001, 8:56pm UTC](https://boards.straightdope.com/t/pc-vs-mac-simply-explained/59284/414 "2001-05-01T20:56:17Z")

</div>

**JoeyBlades** says:

> [@](#):
>
> Interesting. I knew that a few applications used resource mechanisms, but I thought these were isolated instances. You seem to be indicating that the practice is more prevalent than I thought. That’s cool. It simplifies the development process which will ultimately manifest itself in higher quality software.

This is a common misconception among Mac folks I’ve talked to. Using resources is very commong in Windows, and it’s done in a standard way. There’s not a seperate resource fork, but that’s really not necessary if you specify the executable format to include space for resources. The mac resource fork is an interesting idea, but I would venture to say that it’s caused more harm than good, given how much confusion it causes when files are transferred between MacOS and any other OS (i.e. a Mac person sends me “a jpeg file”, but it’s really not a jpeg file – it’s a MacBinary archive which **contains** a JPEG file, but requires a special tool to extract, or maybe it’s a binhex. Either way, the Mac person has no idea that he hasn’t sent me a proper JPEG file).

For what it’s worth, I think your list of things you can customize on the mac but not on windows is valid, aside from the few things that Mr2001 pointed out. In fact, in all fairness, some of those things are a bit iffy (such as customizing the time format – you don’t get the same type of control as on the mac; just the actual formatting that would depend on what country you’re in).

Note that you haven’t convinced most Windows people, since they still feel that their platform is more customizable, and they’ll probably dismiss your examples as fluff. Why is this? I have a guess. On Windows, it’s easier to poke around in the system and figure out how stuff works, and change things which aren’t really designed for users to change at will, whereas on the Mac, most of the things you mention were explicitly programmed-in options. An example of this is that poking around in the registry, I discovered that I can add or change the commands which show up on the context menu for various file types. So now I (for example) have a context menu item called “share me” on folders, which just shares them with the default permissions without having to go into a dialog. I’m sure you could write an applescript which shares a folder that you drag onto it, but could you make it quite as convenient as a context menu item? Another thing I’ve found is the ability to put my own scripts in the context menu for web pages. I wrote one which walks through the current HTML documenet and pops up a new window that has links to all the embedded flash and quicktime objects (for those times when you want to right click on the embedded object and say “save as…”). **This** is more along the lines of what Windows people want when they talk about customizability.

Applescript may provide some of this, but in my experience, it falls short. I was pretty excited about it back when I worked on Macs, but I found it difficult because it wasn’t well-documented, and it also wasn’t supported (other than the “standard 4” apple events) by very many applications. I pushed for getting scripting support in Illustrator, but the overall opinion at Adobe was that AppleScript was a toy, and support for it wasn’t worth the bother.

---

<div class="post-metadata">

**Author:** ![Monster104](https://avatars.discourse-cdn.com/v4/letter/m/c6cbf5/32.png) [@Monster104](https://boards.straightdope.com/u/Monster104)\
**Post date:** [May 2, 2001, 12:21am UTC](https://boards.straightdope.com/t/pc-vs-mac-simply-explained/59284/415 "2001-05-02T00:21:01Z")

</div>

**Joey** , I started some tests at school today. I’m using NT 4.0 and Win9x, and my tech teacher is working on these for 2000. I’ll let you know what I come up with.

Oh, by the way…Windows XP Beta does all of these in options menus.

---

<div class="post-metadata">

**Author:** ![JoeyBlades](https://avatars.discourse-cdn.com/v4/letter/j/a87d85/32.png) [@JoeyBlades](https://boards.straightdope.com/u/JoeyBlades)\
**Post date:** [May 2, 2001, 5:10am UTC](https://boards.straightdope.com/t/pc-vs-mac-simply-explained/59284/416 "2001-05-02T05:10:38Z")

</div>

galt:

> [@](#):
>
> This is a common misconception among Mac folks I’ve talked to.

I’m not entirely surprised. Several years back, I was doing some simple programming and played around with a tool that resembled a resource editor. The only difference was that it was really just a template editor and it output source code to be dropped into your application source. It seems like a logical step to extend this to real resources. I’ve just never heard of anyone modifying released applications in Windows, as is common with Mac geeks.

> [@](#):
>
> …some of those things are a bit iffy (such as customizing the time format – you don’t get the same type of control as on the mac…

I agree, I was a little bit on the forgiving side on that one… I was feeling generous.

> [@](#):
>
> On Windows, it’s easier to poke around in the system and figure out how stuff works, and change things which aren’t really designed for users to change at will, whereas on the Mac, most of the things you mention were explicitly programmed-in options.

Yes, that was my not-so-subtle sub-point. For some reason geeks don’t think they’re tweaking unless they’re using some programmer’s tool that modifies some parameter in a way that a novice cannot.

> [@](#):
>
> I’m sure you could write an applescript which shares a folder that you drag onto it, but could you make it quite as convenient as a context menu item?

Actually, you can do that. There are a couple of CMMs that let you execute an AppleScript (or PerlScript) with selected files and/or folders. The first is “CMTools”, which has a bunch of options. One of them is to open files using an application or script. There’s also a Get Info-\>Sharing option to pull up the privledges dialog. The second one is called “Open Using”. It only does this one thing, but it’s highly configurable.

Also, not exactly what you asked for, but there’s a tool written by the stepfather of Mac programming, Leonard Rosenthal, called OSA Menu. Basically, it puts a list of executable scripts in a global menu… I’ve never used it because frankly, I can accomplish the same thing simply putting scripts under the Apple menu.

> [@](#):
>
> Another thing I’ve found is the ability to put my own scripts in the context menu for web pages. I wrote one which walks through the current HTML documenet and pops up a new window that has links to all the embedded flash and quicktime objects (for those times when you want to right click on the embedded object and say “save as…”). This is more along the lines of what Windows people want when they talk about customizability.

Hey! That is cool. How do you modify the contextual menus for an application… or are Internet Explorer contextual menus changable from RegEdit, as well?

> [@](#):
>
> I found it difficult because it wasn’t well-documented, and it also wasn’t supported (other than the “standard 4” apple events) by very many applications. I pushed for getting scripting support in Illustrator, but the overall opinion at Adobe was that AppleScript was a toy, and support for it wasn’t worth the bother.

I’m not sure it’s any better documented than it ever was (out of character for Apple), but it seems to get a lot more support these days and it’s one of the features that Apple makes a big deal about. Also, there have been a lot of useful scripting additions that have really enhanced it in the last couple of years. I use it a lot, though typically I use it to automate things for my kids. I’ve got a couple of power user folder scripts that have repayed my time investment a thousand times over…

---

<div class="post-metadata">

**Author:** ![galt](https://avatars.discourse-cdn.com/v4/letter/g/35a633/32.png) [@galt](https://boards.straightdope.com/u/galt)\
**Post date:** [May 2, 2001, 5:31am UTC](https://boards.straightdope.com/t/pc-vs-mac-simply-explained/59284/417 "2001-05-02T05:31:38Z")

</div>

I’d like to add a couple more cents and say that the customizability issue could really go either way in my mind. It comes down to which user interface the user prefers, and I happen to prefer Windows’ UI over the Mac’s. I’m sure **JoeyBlades** has perfectly valid reasons to feel more comfortable customizing the Mac UI, just like I have valid reasons for feeling constrained by it.

I obviously take great exception to his **technical** evaluation of the MacOS, but I think that sort of aspect of an OS goes largely unnoticed by a novice user, and as such isn’t so important here. I apologize if I made this too much of an issue. If a novice wants to know which to pick, I’ll happily admit it doesn’t really matter to them, but I’d feel wrong about sending them away with the idea that everyone might as well pick the friendlier of the two, since it’s all on more or less equal footing underneath. That would just be incorrect.

For practical purposes, they’re both potentially unstable. In Windows, the instability lies in buggy drivers and OS bugs. I tend to think it’s mostly drivers, because the stability depends a lot on the hardware configuration. I’ve had Windows machines that crashed multiple times a day, and I’ve had windows machines (like my current two) which literally go several months without me even logging out. On the Mac, the instability lies mostly in the applications and extensions. Extensions do nasty nasty things at boot time (yes, I consider runtime patching of system calls nasty and dangerous), and applications can crash the whole system much more easily than on other modern OS’s. On the other hand, the drivers and hardware are, in my experience, of extremely high quality, and don’t tend to cause crashes.

So, for me, the question comes down to: do you want to try to make your system stable by making sure you have hardware with good drivers, or do you want to try to make your system stable by making sure you only run safe application-level software? The answer is obvious to me: in an ideal situation, the OS should be bulletproof and I should be able to throw whatever crap software I want at it. I’m a developer, so it really has to be that way (nobody writes perfect software the first time :)). Windows comes much closer to that, and as a result is much more stable for my usage patterns. (But to get down to brass tacks, linux is my first and only choice for my home machines, because it goes even further in this philosophy).

I think one of the best posts in this thread was in the first page, by **Lemming** , because it gave a pretty fair view of both sides. I recommend anyone still reading to go back and give it another look.

---

<div class="post-metadata">

**Author:** ![galt](https://avatars.discourse-cdn.com/v4/letter/g/35a633/32.png) [@galt](https://boards.straightdope.com/u/galt)\
**Post date:** [May 2, 2001, 5:43am UTC](https://boards.straightdope.com/t/pc-vs-mac-simply-explained/59284/418 "2001-05-02T05:43:26Z")

</div>

> [@](#):
>
> > [@](#):
> >
> > Another thing I’ve found is the ability to put my own scripts in the context menu for web pages. I wrote one which walks through the current HTML documenet and pops up a new window that has links to all the embedded flash and quicktime objects (for those times when you want to right click on the embedded object and say “save as…”).
> 
> Hey! That is cool. How do you modify the contextual menus for an application… or are Internet Explorer contextual menus changable from RegEdit, as well?

Well, that’s a special thing that IE lets you do via the registry. You add a “MenuExt” entry which specifies the menu item name and the context under which it should appear in the menu, plus the URL to a script to execute when it’s chosen. It’s pretty handy…I’ve written several.

\<nitpick\>  
The OSA Menu thing, if I recall, lets you add items to the context menu, but they’re not actually context dependent, right? The items I’m talking about, such as the “share me” script, only appear when you click on certain filetypes (i.e. folders).  
\</nitpick\>

---

<div class="post-metadata">

**Author:** ![AHunter3](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/ahunter3/32/368_2.png) [@AHunter3](https://boards.straightdope.com/u/AHunter3)\
**Post date:** [May 2, 2001, 6:10pm UTC](https://boards.straightdope.com/t/pc-vs-mac-simply-explained/59284/419 "2001-05-02T18:10:34Z")

</div>

> [@](#):
>
> \<nitpick\> The OSA Menu thing, if I recall, lets you add items to the context menu, but they’re not actually context dependent, right? The items I’m talking about, such as the “share me” script, only appear when you click on certain filetypes (i.e. folders). \</nitpick\>

I don’t know about OSA Menu (don’t use it), but the built-in contextual menu, without any 3rd-party plug-ins, has a sharing option for any item that can logically be shared, which does not appear for items that can’t be shared. (i.e., context-dependent).

---

<div class="post-metadata">

**Author:** ![JoeyBlades](https://avatars.discourse-cdn.com/v4/letter/j/a87d85/32.png) [@JoeyBlades](https://boards.straightdope.com/u/JoeyBlades)\
**Post date:** [May 2, 2001, 11:24pm UTC](https://boards.straightdope.com/t/pc-vs-mac-simply-explained/59284/420 "2001-05-02T23:24:15Z")

</div>

Hunter:

> [@](#):
>
> …the built-in contextual menu, without any 3rd-party plug-ins, has a sharing option for any item that can logically be shared…

True, but I’m assuming that galt wants a universal mechanism to perform whatever function he can code up…  
galt:

> [@](#):
>
> \<nitpick\>  
> The OSA Menu thing, if I recall, lets you add items to the context menu, but they’re not actually context dependent, right? The items I’m talking about, such as the “share me” script, only appear when you click on certain filetypes (i.e. folders).  
> \</nitpick\>

I’m sure you’re probably right (haven’t tried it), and I didn’t mean that as any kind of endorsement. It’s just **A** way to execute an AppleScript on the Finder selectioon - the Apple menu is another.

On the other hand, the “Open Using” CMM is very configurable to enable your menus to be truely contextual. Of course, I haven’t looked at it with an eye towards what scenarios it might not be able to handle, however it can test for folders, disks, and/or applications (so you could easily do a “sharable” test).

[Previous page](https://boards.straightdope.com/t/pc-vs-mac-simply-explained/59284.md?page=20)

[Next page](https://boards.straightdope.com/t/pc-vs-mac-simply-explained/59284.md?page=22)
