David Cutler loved the C programming language.
After he'd finished writing VMS for DEC, he asked them if he could rewrite the OS kernel in C, make it more portable, and stuff. They said no. When he moved to Seattle to begin working on his Emerald/Prism project, he chose the C programming language.
David Cutler hated Unix. He said operating systems should be the brainchild of a single human and Unix was created 'by a committee of bloody PhDs'.
There he was technically wrong. The Unix kernel and the OS core code were written by Ken Thompson and Dennis Ritchie. The 'committee of PhDs' were the 25 or so PhDs who worked in the CSRC on Mountain Avenue. They contributed applications.
But one knows what he means, as low-level utilities can have seemingly disparate syntax systems. Yet Unix as a whole holds up rather well, fifty years down the road. And fifty years in the world of computer science is, as everyone knows, a very long time.
None of the above applies to Apple's latest abominations of course. Now 'YMMV' must apply here, but starting with version 10.12 and getting increasingly annoying as the numbers bump upwards is the system's inability to have even the foggiest from the one side what the other side is doing - and that, if anything, points to the 'committee of bloody PhDs', except that in this case it's hardly PhDs, but more like nitwits.
And oh how terrible to be reminded of this aggravating fact.
Our obsequious utility Keymaster is something no self-respecting developer can do without. Keymaster frees the user from the confines of Apple's unpleasant walled garden. It sees that all incoming downloads are stripped of the dreaded tags before Nurse Ratched Gatekeeper can find them.
Keymaster comes with a selection of ten icons. They're available only in 128 format, as no one needs bigger anyway, and they're built with older NeXT utilities so one doesn't have to use Apple's current crippled (and slipshod) method of file creation. They're taken from royalty-free images which are all meant to convey a feeling of being carefree which Keymaster is supposed to provide.
So today, forgetting what a misery it can be these days to change a bloody icon on Apple's Dock, we set about changing the Keymaster icon. The method is simple enough. Scoot to Keymaster's ICNS directory, choose your image, and type:
sudo cp [your selection] ../Resources/Keymaster.icns
That's it. Exit Keymaster (and start and activate it right away so you protect your downloads) and then go to Keymaster - About, and you should see this.
That's possible because Apple will always load the image from disk.
Getting the new icon in your dock is another matter. The application's icon has been changed, but don't expect the Dock to pick up on it.
You might, for example, try zapping the Dock.
killall -9 Dock
Your Dock will reappear after a while, but you should still have the same (incorrect) icon. Blast.
Oh heck - try it again a few times. Won't help.
So what now? Try scooting over to 'folders' - your own personal (non-system) hive under /private/var. Don't touch the ones under 'zz' - those aren't the ones you want. Try the other directory. It's named at random, so all systems will have (mostly) a different name. Then you'll find a further subdirectory under that, more alphabet soup, as some engineer at Apple thought this would thwart Darth Vader or something. And, finally, you should find the further subdirectories 0, C, Cleanup At Startup, and T. This is very advanced Apple secret code. What the '0' stands for no one knows. It contains mostly useless junk. The 'C' stands for cache and the 'T' stands for 'temporary (files)'. So you could try zapping them. Do take 'T' last, in such case, for the mere deletion of files in the other two directories will automatically lead to the creation of yet another temporary file. Then reboot.
When your system is back up, you should see that your dock icon for Keymaster is still wrong. The old image is being cached somewhere. But where?
OK, try ~/Library/Containers. That's where Apple puts a lot of files (in your own area) that it wants there (for your own good of course, thanks Apple). Try removing everything there and rebooting again.
And this time - if you're lucky - you'll find you finally got the right Keymaster icon.
But you also got a shitload of hassle you didn't want and didn't bargain for.
Almost all of your Safari settings are shot to shit. And, if you're anything like us, repairing this damage will take some time, as the Safari engineers have these settings strewn all over the place, and there's no way you can possibly remember where they all are.
Apple design their applications for complete dimwits. Worse: they make it impossible for a user to save and restore an ideal set of settings, as they're strewn all over the place. For dimwits, this is fine, because they'll just sit there and suck their thumbs and ask 'should I dip my thumb in raspberry jam today' and be done with it. But if you're like us, if you like to keep a tidy ship, if you want to know what is what and which goes where, then you'll be looking for your pitchfork to take along on your next pilgrimage to One Infinite.
The same of course will happen with other star Apple apps. Like Mail. Where, once again, you'll find that your settings, which took you painstaking minutes to get right, are now blasted away, and you're once again confronted with the mindset of Apple's finest.
It's enough to get you to migrate to Slackware, and it's enough to keep you busy with stupid shit for half an hour or more. And all you wanted to do was change a dock icon.
Things weren't always this way. Things were once fresh off the assembly line from NeXT in Redwood City. Things just worked. But that was then, and 'then' is no more. Welcome to the age of droolers and thumb-suckers. Slurp-slurp.
Settings used to be in one place. In a property list file in ~/Library/Preferences. That was the beauty of it. Code-wise you could make sure the settings on disk were synchronised with the settings in memory by invoking a method with the same name. All your settings were in one file. If any of your apps misbehaved, the learned at MacRumors would tell you to remove your preferences file and launch again. Because all your settings were in that file. And that was brilliant. Bye-bye Windows Registry. Things just worked.
Things are so bad today, and no one at Apple seems to be in agreement where settings are supposed to go. Yes, they still use the preferences file, but not only is that not the only file that's used, but Apple can't even tell you where the real file is. It could be the preferences file, or it could be found in Containers, or it could be in /var/folders. Apple won't say because they don't know. In fact it's so bad that they specifically suggest you use the command line 'defaults' instead. That's guaranteed to work, at least mostly.
What Apple will de facto guarantee, on the other hand, is that no one really knows what's going on, and that your user experience is in jeopardy, and getting worse all the time.
Dave Cutler was once asked about his acronym for NT - or 'Windows NT' - by a lawyer who'd been working at Microsoft at that point for two years.
The lawyer mentioned that he noticed that the Kubrick computer acronym 'HAL' was, if advanced in the alphabet, 'IBM' - and that 'VMS' was, if advanced the same way, 'WNT' for 'Windows NT'.
Dave's reponse: 'And it took you two years to figure that out?'
One would hope Apple's bosses don't need two years to figure out what's happening with their increasingly shambolic operating system.