stop Mac OS X Finder from creating .DS_Store

Perm URL with updates: http://xahlee.org/comp/mac_os_xs_DS_Store_unix_init_svn.html

Here's a nice article. The author modified Mac Finder to not generate 〔.DS_Store〕.

(Cached site with images: Source cache.historious.net)

Note that besides 〔.DS_Store〕, the Mac OS X also creates other junk, e.g.:

.DS_Store
.localized
.FBCIndex
.FBCLockFolder
.FBCSemaphoreFile
Desktop DB
Desktop DF

and Windows used to create 〔Thumbs.db〕 among others.

Who started all this fuck? Its your beloved unix, folks. e.g.

.profile
.bashrc
.emacs
.viminfo
.xinitrc

.cvs
.svn
.htaccess
…

These are headaches in many ways. When you “rsync” or “unison” between machines, or zip files from OS X, or take data from USB, or grep. In essence, the problem is that these programs create side-effects for their own convenience, not user's convenience. It stem from certain unix philosophy.

and unixes (linux) still do it to this day happily, as if god said so.

“I liken starting one's computing career with Unix, say as a undergraduate, to being born in East Africa. It is intolerably hot, your body is covered with lice and flies, you are malnourished and you suffer from numerous curable diseases. But, as far as young East Africans can tell, this is simply the natural condition and they live within it. By the time they find out differently, it is too late. They already think that the writing of shell scripts is a natural act.” — Ken Pier, Xerox PARC (~1980s?)

Proper solution is for the programs to set a designated folder to store their shit. Either as a OS convention of one single designated folder per user (e.g. Modern Windows's 〔%HOMEPATH%\AppData\〕 or Mac's 〔~/Library/〕). If the OS doesn't provide such a dir, then the app should set a designated folder for it, not litter random files in every folder it touches.

Unix do this fuck up of course because it is convenient at the moment. That's the life story of unix. It's super convenient for the lazy programer, because he doesn't have to deal with one extra directory, dir mapping, data syncing issues, etc. (e.g. 〔.cvs〕.) And you just brain wash your users to feel that's natural way of life.

Here's some useful scripts and tutorials:

Here's some unix hatred articles:

Popular posts from this blog

11 Years of Writing About Emacs

does md5 creates more randomness?

Google Code shutting down, future of ErgoEmacs