I go for the deep hierarchy approach. The biggest problem was my email archive, where many messages needed more than one classification, but could only be stored in one place. We got migrated to Notes, which means that long-term memory is lost - I hate that.
I try to keep stuff organized by projects - in the loosest sense of the term. I have top-level directories like:
- bin - executable commands
- inc - headers (I program in C a lot)
- lib - libraries (with sub-directories for the source of different libraries)
- src - main source archive (a myriad sub-directories, some two or three levels deep, ignoring artefacts like RCS sub-directories)
- etc - mainly configuration files and associated scripts
- tmp - nominally temporary files (the oldest resident has passed the decade mark, but that was imported from elsewhere; the oldest residents I created or downloaded date from late 2000)
I then have a miscellany of semi-purposeful sub-directories, such as:
- work - laden with sub-directories related to work
- pdf - full of PDF files in sub-directories
- papers - full of non-PDF file
- doc - more documentation (need to work on this bit)
Since this machine is physically 1500 miles from me, and is running Solaris 10, I'm not sure how I'd use a tool such as Google Desktop to manage it.
On the Windows laptop I use, I have a C:\Filing Cabinet\
directory which has a hierarchy of sub-directories under it. I don't like the way Windows scatters my files around; I much prefer to be in charge of scattering my own files around the way I want to.
My Mac at home parallels my main work machine - minus the work-specific stuff.