Snow Leopard Trash, again

At first I did not notice, but emptying the trash took ages, even “not securely”.
Well, being the geek I am I did a quick dtruss on the Locum process, which spit out a huge list of write_nocancel syscalls. So, it seems it was actually writing stuff over the files I asked him to delete, even if I never asked him to (I just did a right click on the Trash icon, and selected “Empty Trash”). WTF?

Well, I learned (thanks Google) that Snow Leopard does a secure erase of the trash by default. Annoying.
And that I did not realize that until now. Embarassing.

So, this can be solved at least in two ways:

The GUI one
Go into Finder preferences, Advanced, and uncheck “Empty Trash securely”

Finder Preferences Window

or

the CLI one
Go into ~/Library/Preferences, convert the Finder preferences to xml (it’s binary by default)
plutil -convert xml1 com.apple.finder.plist
and change the stanza

<key>EmptyTrashSecurely</key>
<true/>

to
<key>EmptyTrashSecurely</key>
<false/>

Flickr.com down


beepbeep:~ zen$ date
Tue Oct 20 19:34:42 CEST 2009
beepbeep:~ zen$ host www.flickr.com
www.flickr.com is an alias for www.flickr.vip.mud.yahoo.com.
www.flickr.vip.mud.yahoo.com has address 68.142.214.24
www.flickr.vip.mud.yahoo.com mail is handled by 0 .
beepbeep:~ zen$ telnet www.flickr.com 80
Trying 68.142.214.24...
telnet: connect to address 68.142.214.24: Connection refused
telnet: Unable to connect to remote host

weird.
The very same www.flickr.vip.mud.yahoo.com handles api.flickr.com (which is, unsurprisingly, down).
Doesn’t look smart from here.

Verbosely emptying the trash

Like it happens on Windows, when you decide to delete something OSX simply moves that file or directory to “the Trash”, which is just a hidden directory on the volume you’re deleting from. Then, you right click on the Trash icon and select “Empty trash”.
This action pops up a small window like this:

osx trash progress window

I grew tired of asking myself what OSX was deleting (the operation can take a while, especially when — as I often do — you’re doing a secure erase) so this ugly one-liner, run as root, will give you the file the OS is working on:


ps auxw | grep -i locum | grep -v grep | awk '{print $2}' | xargs lsof -p | grep -i Trash | awk '{print $9}'

It will output something like this:
/Volumes/FAT80GB/.Trashes/502/xcode3210a432.dmg

You can wrap that command inside the usual while/sleep loop if you want something that keeps you updated on what is going on — or make it an alias for your favourite shell.