If people are scared to put basic punctuation marks in the names of things, out of fear that badly-written software might break as a result, then that is a sign of just how far we still have left to go.
If people are scared to put basic punctuation marks in the names of things, out of fear that badly-written software might break as a result, then that is a sign of just how far we still have left to go.
On 99% of the keyboards I've seen in my life, the middle row reads like this: ASDFGHJKLÖÄ'
The apostrophe is considered significant enough to be on that row, but so are Ö and Ä. It's reasonable for users to expect that software can accept the letter that is right next to L on their keyboard, yet there remain software engineers who assume that users won't be surprised that things break if they dare to touch this key.
For the majority of people, a string format that accepts 100% of ASCII but 0.1% of Unicode is just as useless as one that only accepts 95% of ASCII. Therefore the goal should never be to get your ASCII coverage from 95% of 100%.
Resolving the Unicode issues is undeniably a higher priority for speakers of foreign languages, but there are still plenty of languages and libraries whose support for Unicode ranges from nonexistent, to antiquated, to limited, to just plain broken.
There's nothing application developers can do in the short term to fix those problems, but by examining their own code and removing fallacious assumptions they can better facilitate the proper handling of Unicode once it becomes available in their underlying technologies. In the mean time, though, they may only have ASCII, or ISO 8859-X, or KOI8-R, or Shift-JIS, etc. to test with.
The first A in Ascii stands for American. This is because it was an American standard, created by and for Americans. Who pretty much all speak English (and spend dollars $!). What about ascii isn't anglocentric?
In fact, some IMEs already intercept " ' : etc and won't print them literally, but assume they're going into a combo with another letter.
I've talked to a few friends, and they said it was a holdover from typewriters and not really designed with modern computing in mind.
So, if you sort on frequency by clicking the appropriate arrows icon in the Swedish column, you can see that both Å and Ö are more frequently used in Swedish than B, C, J, Y, X, W, Z and Q. Of course, all of those have dedicated keys as well and I don't think that's going to be changing anytime soon.
The important point is that "the same letter" can have different roles in different languages. In many languages Ä is considered a "modified version" of A (like in German, I think) but still "mostly" an A when it comes to sorting and so on. In Swedish, that's just not the case, it's a separate letter. Our alphabet has first-class 29 characters (http://en.wikipedia.org/wiki/Swedish_alphabet).
If your last name is "Åkermark", you're sorting a loong way from "Andersson".
In Finnish, Ä is actually one of the most common letters while Ö is somewhat less frequent.
In Swedish, both "ö" and "å" are words on their own: ö means island, å is a small river or something like that :)
That doesn't mean that there aren't any Unicode bugs in other tools, but that wasn't the issue in this particular case.
mv foo \!\' $ touch 'j-kidd'\''s file!'
$ ll 'j-kidd'\''s file!'
-rw-rw-r-- 1 uid gid 0 Apr 11 13:30 j-kidd's file!
History expansion will happen on the ! in double quotes: $ ls "!$"
ls "'j-kidd'\''s file!'"
ls: cannot access 'j-kidd'\''s file!': No such file or directory
It won't happen on single-quotes: $ ls '!$'
ls: cannot access !$: No such file or directory
The only issue is that you can't escape a single-quote within single quotes, so you have to do one of these '\'' (escape a single-quote block, a literal single quote, start a new single quote block)."directly adjacent strings which are double quoted, "'single quoted or even'\ unquoted\ and\ possibly\ full\ of\ escape\ sequences\ 'get concatenated and count as a single parameter.'
Running touch on the above will create one file with very long name.
Or, "don't be your computer's tool!" -- the operator should accept no arbitrary limitations.
That also lets you write confusing filenames like "foo\rbar". Which can be really irritating to figure out without a GUI.