My wife uses a Mac. She occasionally saves flash videos on the disk for the little one’s entertainment. The other day she was trying to play one, but the file browser was trying to open it in the text editor. She figured out that she had omitted to give the file the extension “.flv” while saving it. Once she added the extension, the file’s icon changed to VLC‘s traffic cone, and clicking it opened it in VLC. (This is in Snow Leopard, the sixth and most recent release of Mac OS X.)
Windows users may not be surprised, but I was. Mac OS X is not Windows: it is Unix in its underpinnings. And Unix has a command, file, whose function is precisely to determine the type of a file based on its contents (rather than its extension). It works by magic (see Wikipedia for a brief explanation). On current Linux systems, I have basically never known it to go wrong: in the worst case, it reports an uninformative “data”, but for nearly all common file types, it correctly identifies them.
This command has existed since 1973, according to Wikipedia — and, in fact, according to Apple’s own manual page for that command.
Yes, the file command exists in Mac OS X. You can use it from a terminal. I tested it and it works as advertised: I can rename the flash video file to have a .pdf extension, or .txt, or whatever, and file still recognises it as a Macromedia flash video file. Apple’s file browser is unaware of a Unix command that has existed for 38 years and remains in its own base system.
I don’t know which circumstance is sorrier: that Apple distributes a file browser that is so spectacularly unaware of how Unix solved certain problems a couple of generations ago, or that Apple’s users happily lap it up, on the grounds that Windows is worse.