[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Making tools smarter (was Re: An alternative to deb-make)



James Troup wrote:
> 
> DWIM?
> 

You're the second person to ask this...perhaps I should have defined
it when I wrote that post.  (Hey, I was tired...)  To forstall any more
separate explanations, I'm forwarding this to debian-devel.  Hope nobody
minds.

>From The Jargon File, 4.0.0:
***
DWIM /dwim/                                                           

[acronym, `Do What I Mean'] 1. /adj./ Able to guess, sometimes even   
correctly, the result intended when bogus input was provided. 2. /n.
obs./ The BBNLISP/INTERLISP function that attempted to accomplish this
feat by correcting many of the more common errors. See hairy. 3.     
Occasionally, an interjection hurled at a balky computer, esp.
when one senses one might be tripping over legalisms (see
legalese).              

Warren Teitelman originally wrote DWIM to fix his typos and spelling  
errors, so it was somewhat idiosyncratic to his style, and would often
make hash of anyone else's typos if they were stylistically different.
Some victims of DWIM thus claimed that the acronym stood for
`Damn Warren's Infernal Machine!'.                                    

In one notorious incident, Warren added a DWIM feature to the command
interpreter used at Xerox PARC. One day another hacker there typed
delete *$ to free up some disk space. (The editor there named backup  
files by appending $ to the original file name, so he was trying to 
delete any backup files left over from old editing sessions.) It
happened that there weren't any editor backup files, so DWIM helpfully
reported *$ not found, assuming you meant 'delete *'. It then started
to delete all the files on the disk! The hacker managed to stop it    
with a Vulcan nerve pinch after only a half dozen or so files were  
lost. The disgruntled victim later said he had been sorely tempted to 
go to Warren's office, tie Warren down in his chair in front of his  
workstation, and then type delete *$
twice.                                
***

By extension, I define as a DWIM tool anything which was designed to let
you do a complex, subjective task without actually understanding it. And
building debian packages is very subjective, despite all the effort we
put into the policy manuals.  It has to be.  There are too many wierd
and interesting programs out there we want to package.  (May we live in
interesting times...and we do! :)

debmake is heavily built around Christof's _interpretation_ of the
standard.  If your mental processes aren't exactly like his, debmake is
not going to function quite right for you, just like Warren's little
interpreter feature didn't function quite right for the nameless hacker.
(Although presumably debmake won't delete all your files...)

So I'm going to stick to the thorny path of virtue, read the manuals for
myself, and build packages using simple, single-purpose tools like
dpkg-gencontrol and dpkg-shlibdeps.  I'm comfortable with them because
I know exactly what they do.

--Galen


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
debian-devel-REQUEST@lists.debian.org . Trouble? e-mail to Bruce@Pixar.com


Reply to: