On Apr 4, 2007, at 11:16 AM, Adam Atlas wrote:
It's fine for Unix programs running on OS X to make dot
directories. But for actual OS X programs, the convention is to
make a subdirectory of ~/Library or ~/Library/Application Support.
Following those just makes it easier to find things where one would
expect.
Of course, Apple violates their own "conventions" and "guidelines"
all the time. Though it's okay to not follow conventions/guidelines
to the letter if it doesn't feel right in the situation, I rarely
see any such justification when Apple does this.
Urgh. The best you can come up with is hating where the file is
located?
I'm apparently the only person in the world who uses multiple
computers, often with the same set of software on them, along with
multiple platforms, also often with some cross-over in software, and
who doesn't want to go through the effort of separately managing all
of their configurations.
I long-ago moved to app-specific subdirectories for my
configurations, because it's too annoying trying to version-control
~, so I have ~/etc (this is a good bit before OS X). I've started to
put things in ~/Library into svn, but we all know how well binary
files work in version control.
Amazingly, iTerm -- you know, the app that purportedly enables you to
use text to interact with a computer -- uses a binary configuration
file. It also seems to behave entirely arbitrarily when it comes to
copying/pasting carriage returns -- sometimes you get them, sometimes
you don't (sometimes within the same copy!), but I'm assuming that's
a "feature" (although not one I can figure out how to disable). It
also helpfully has 19 different kinds of configuration (e.g.,
Preferences vs Profiles), and as far as I can tell, they're stored in
different configuration files. You can completely forget doing a
merge of your configuration files.
I personally don't care where my configuration files are, as long as
I get the same configurations on all compatible machines and I don't
have to struggle to maintain that. Given my experience in managing
lots of machines, I usually find it's easier to have per-application
directories, rather than dotfiles, but it's not a big problem either
way.
I'm still a bit amazed that an OS vendor hasn't built an abstraction
layer for configurations, and then supported off-machine
configuration storage (either they store them centrally, or I store
them on my own server), so that I can manage all this crap without
having to worry about it. You'd think they'd want to make it
*easier* to own multiple computers, not harder.
Instead, everyone buys a laptop and deals with the horror of
connecting and disconnecting multiple external devices all the time.
I don't care what your experiences are, it drives me *insane* when
all of my windows resize themselves every time I connect to an
external monitor, usually according to their own arbitrary rules
(e.g., iTerm's "Only Maximize Vertically" weirdness). And I actually
do have some processes that need to be on the 'net all the time, so
laptops just don't suffice for that.
Or, if people aren't using laptops for everything, they're moving to
an all-web world just because it's annoying to manage fat-client
configurations. Really. The biggest reason I can think of to use
thin clients instead of fat clients is that it makes it easy to use
the same configuration in multiple places (well, it makes it a bit
easier to upgrade, too, but only because package managers suck).
It's pretty embarrassing that this is the motivation for this huge
"revolution" in user applications.
I really thought multiple computers was annoying in 1997, but I
really figured there'd at least be progress on it by now.
--
Good judgment comes from experience, and experience comes from bad
judgment. --Barry LePatner
---------------------------------------------------------------------
Luke Kanies | http://reductivelabs.com | http://madstop.com