[geeks] Weird MacOS issue

der Mouse mouse at Rodents-Montreal.ORG
Fri Dec 26 12:54:04 CST 2008


>> Why should it [case fold] any more than it should match up a Def
>> Leppard track with some fool's mis-identification of it as Deaf
>> Leopard?
> Because matching case insensitive would be correct,

(a) Why?  Repeating an assertion is hardly a supporting argument.

(b) Which version of case insensitivity?  The ASCII version?  The
8859-1 version?  The 8859-7 version?  The UTF-8 version?  Something
else?  Why?  Most data sources will give you octet streams, not
character streams - and in my experience, the data sources I commonly
see tagged with character sets, webpages, far too often use nonstandard
character set names; in a few cases even I haven't been able to figure
out what the tag should be.

>> And, if it should, why is it the underlying filesystem's job to
>> implement that?
> A filesystem is an indexing system, and most indexing systems are
> caseless.

> Why not implement it there?

* Because it imposes caselessness on all other uses of the filesystem.
Some of them may prefer case-folding.  Some of them don't.  Imposing a
one-size-fits-all solution on them is bound to leave some of them
unhappy.  (Unless you have a filesystem that can do case-sensitivity on
a per-directory-entry, or at least per-directory, basis.  Do any such
exist?)

* Because a lot of applications have octet strings rather than
character strings, and you can't case-fold octet strings without
getting character set information from _somewhere_ to turn them into
character strings.  This means either guessing (which will involve
guessing wrong a fair bit) or imposing yet another one-size-fits-all
"solution".

> Why should each application redundantly and probably in error prone
> fashion handle something that could be done once as part of the
> system and application support?

(a) Because often, different applications want subtly different forms
of that "something".  (b) Even aside from that, this still isn't an
argument for doing it in the filesystem; it's just an argument for
doing it somewhere system-provided - eg, strncasecmp().

> A filesystem is both an API and a human interface.

> Traditional UNIX filesystems are almost the only data indexing system
> that is case sensitive.

> Pretty much every thing else is case insensitive.

So your argument is "the other way is popular" (and, from context, "and
is therefore right")?

/~\ The ASCII				  Mouse
\ / Ribbon Campaign
 X  Against HTML		mouse at rodents-montreal.org
/ \ Email!	     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B



More information about the geeks mailing list