From c19340eadcba3ced984a700ce802381da6333df6 Mon Sep 17 00:00:00 2001 From: Zhiming Wang Date: Thu, 14 Jan 2016 01:23:55 -0800 Subject: 20150114 The dirtiest mistakes of OS X --- .../2016-01-14-the-dirtiest-mistakes-of-os-x.md | 30 ++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 source/blog/2016-01-14-the-dirtiest-mistakes-of-os-x.md (limited to 'source') diff --git a/source/blog/2016-01-14-the-dirtiest-mistakes-of-os-x.md b/source/blog/2016-01-14-the-dirtiest-mistakes-of-os-x.md new file mode 100644 index 00000000..48eb8c86 --- /dev/null +++ b/source/blog/2016-01-14-the-dirtiest-mistakes-of-os-x.md @@ -0,0 +1,30 @@ +--- +title: "The dirtiest mistakes of OS X" +date: 2016-01-14T01:02:52-08:00 +date_display: January 14, 2016 +--- + +I must have written about this elsewhere, but here are my top three: + +1. `.DS_Store`. Finder litters faster than one could clean up. + +2. HFS+ NFD*.[^nfd] Heard of the cursed encoding `UTF8-MAC`? Pure Evil. Culprit of + tons of garbled text issues (especially cross platform ones) and probably + most length miscalculation issues. Even Apple's Terminal.app can't do NFD + right. I wonder how Korean users navigate their filesystems in terminal. + +3. Plist XML. It's XML, but even worse. + +[^nfd]: NFD with an asterisk, i.e., not even NFD. According to Apple in + [an old Technical Q&A](https://developer.apple.com/library/mac/qa/qa1173/_index.html), + + > The terms used in this Q&A, precomposed and decomposed, roughly + > correspond to Unicode Normal Forms C and D, respectively. However, most + > volume formats do not follow the exact specification for these normal + > forms. For example, HFS Plus (Mac OS Extended) uses a variant of Normal + > Form D in which U+2000 through U+2FFF, U+F900 through U+FAFF, and U+2F800 + > through U+2FAFF are not decomposed (this avoids problems with round trip + > conversions from old Mac text encodings). It's likely that your volume + > format has similar oddities. + + They are conscious enough to call these oddities. -- cgit v1.2.1