[ILUG] repair permissions

Brian Foster blf at blf.utvinternet.co.uk
Thu Mar 17 20:03:20 GMT 2005


  | From: Niall O Broin <niall at linux.ie>
  | Date: Thu, 17 Mar 2005 11:47:07 +0000
  | 
  | On 16 Mar 2005, at 20:43, Brian Foster wrote:
  |  > I've never understood why BSD added `-R' to chown(1) [ ... ]
  |  > since find(1) [ existed ], the functionality was present [ ... ]
  | 
  | The only answer to this is Neal Stephenson's classic essay about the
  | Hole Hawg, which you can read at http://www.team.net/mjb/hawg.html .
  | The 6th paragraph sums the matter up nicely IMO.

 ( I hope I have trimmed down my original e-mail to the part Niall
  is commenting on — Niall quoted almost all of it, including
  paragraphs which clearly do not apply to the referenced essay. )

 the 6th paragraph can be summarised in several ways, including
 (but perhaps not limited to):

  • “tools are never badly designed.  but you can still get hurt.”
      the first part is clearly absurd.
      I doubt it is what is meant.

  • “use a professional power tool incorrectly and you can get hurt.”
      agreed.
      so, what _is_ the power tool here?  `chmod -R'?  or `find'?

 my answer is the classic paper by Rob Pike and Brian W Kernighan,
 “Cat -V Considered Harmful”, http://netlib.bell-labs.com/cm/cs/doc/
 its conclusion:

   “[ Unix ] is successful in part because it has a small number
    of good ideas that work well together.  Merely adding features
    does not make it easier for users to do things — it just makes
    the manual thicker.  The right solution in the right place is
    always more effective than haphazard hacking.”

 in case it is not clear, I maintain `chmod -R' is a badly designed
 tool, arguably produced by “haphazard hacking”, and `find' is the
 power tool.

sláinte!
	-blf-

p.s.  what I found funny whilst using Google™ (where Pike now works,
     b.t.w.) to verify the above is that whilst a number of Unix
     cat(1) manual pages refer to the paper, neither the GNU manual
     page nor `info cat' do.

-- 
Experienced (20+ yrs) kernel/software Eng: | Brian Foster   Montpellier,
 • Unix, embedded, &tc;  • Linux;  • doc;  | blf at utvinternet.ie   FRANCE
 • IDL, automated testing, process, &tc.   |  Stop E$$o (ExxonMobile)!
Résumé (CV) http://www.blf.utvinternet.ie  |     http://www.stopesso.com



More information about the ILUG mailing list