[ale] recovering an ext3 drive

Michael D. Hirsch mhirsch at nubridges.com
Tue Jan 21 09:39:22 EST 2003


By reading our two messages I can see that the difference is that I think 
the computer should adjust to the human, and you think the human should 
adjust to the user.  

Once again, to anyone following this debate, I heartily recommend the book 
"The Inmates Are Running the Asylum : Why High Tech Products Drive Us 
Crazy and How To Restore The Sanity" by Alan Cooper.  It goes into detail 
about how engineers have trained themselves (or come by it naturally) to 
think like computers and design their programs for themselves.  
Unfortunately, most people don't think that way and end up very frustrated 
with computers.

I think UNIX is a classic example of this.  It is incredibly powerful and 
robust, but apparently very difficult for most people to understand.  Why 
they don't understand it is a mystery to me, too, but I'm one of those 
wierd software developers who is part of the problem in the first place.

Cooper makes a strong  argument, and I agree with him, that we developers 
are caught up in the mindset from the 60s that we CPU cylces and disk 
space are precious, and that it is more important for a program to be 
efficient than easy to use.  Modern computers, with cheap memory and rapid 
CPUs, are not constrained that way, but we still act tlike they are.

Any design which ignores the human element will lose the popularity contest 
to one that doesn't.  So, as a user, given two computers one of which does 
offer undelete and the other which doesn't, of course I'll choose the 
former.  I'll even think that the other one sucks.

Given two chainsaws, one of which will cut off my toes if I'm not careful, 
and the other with Toe-Cutoff-Prevention (TM), which one would you pick?

I'm not going to continue.  I don't think either of us could say anything 
we haven't already said.  Please, read the book.

Here's the Amazon link for it.
http://www.amazon.com/exec/obidos/tg/detail/-/0672316498/qid=1043159246/sr=8-1/ref=sr_8_1/104-0034927-8779166?v=glance&s=books&n=507846

--Michael

On Monday 20 January 2003 05:36 pm, Geoffrey wrote:
> I'll say up front that I think that undelete tools are terribly valuable
> and it would be nice to have one for ext3.  That being said...
>
> Michael D. Hirsch wrote:
> > I'm sorry, but I've rarely read a post in which I disagreed with
> > nearly every sentence as vehemently as this one.
> >
> > On Monday 20 January 2003 02:34 pm, Geoffrey wrote:
> >>Well I still disagree.  If you choose a program called 'remove' or
> >>'delete' or any thing in the vernacular, then by damn understand what
> >>you're about to do.
> >
> > Why?  All I want is to get rid of it.  Or maybe I'm using another
> > program that removed the file without me knowing it was going to do
> > that.  Why should I have to understand the inner guts of every program
> > I use, all I want is my file back.  By your reasoning you'd agree with
> > having an undelete command if the "rm" command were renamed
> > "movethefilesomewhereelsesoidonthavetothinkaboutitanymore".  (In UNIX
> > tradition we could name the command mvtflsmwrlssidnhvtthkbttnymr.)
>
> I didn't say you should understand the inner guts of every program you
> use.  You should certainly understand HOW to use it and WHAT it does.
>
>  From the man page:
>
> 'rm removes each specified file'
>
> How much clearer must it be.  Maybe we should change it to rmk (remove,
> kinda).
>
> >>We all have accidents, but you can't stop everything.  You've got to
> >> use some common sense.
> >
> > That's silly.  Since you can't stop everything, you are arguing to
> > stop nothing.
>
> No, I'm saying there's a happy medium.
>
> > I say that whenever practical computers should "do what I mean".
>
> Well you better build one hell of a AI machine, because 'do what I mean'
> varys quite substantially.  So, would you you like the brakes in your
> car to stop you completely, or slow you down a bit, or hey, maybe it
> should 'break' the axle.  After all, that's what I meant for it to do.
>
> "do what I mean" is impossible, and quite dangerous.
>
> > Typically
> > when someone removes (tenchincally, unlinks) a file all they really
> > wanted to do was to get the file out of the way so that it would not
> > interfere with whatever they are doing.  When I throw things out I
> > rarely pass them through a shredder, why should a computer be so
> > different? >
>
> Just the same, I don't intend on dragging out of the garbage either.
> That particular example is not very good either.  Say you throw a check
> in the garbage.  Much like the file system, if you get it back quick you
> might be okay, then again if you wait too late, it's covered in tomato
> sauce and illegible.  The fact that you did not shred it, is not really
> a valid comparison.  Further, what you throw away sits around for a
> while because the garbage goes out once a week.  I assure you, the
> reason for that is not so that you might retrieve that winning loto you
> chunked, but just a matter of how often it's necessary to haul the trash
> off.
>
> >>If the expectation is that you must protect the fool from himself all
> >>the time, systems will get so bogged down with dealing with the loose
> >>screw behind the keyboard, they won't do anything useful.  Think about
> >>it.  The ideal solution is, you remove a file.  What REALLY happens
> >> is, it's copied to a safe place that' not touched.  Just in case the
> >> machine might crash, it's also copied to a tape.  Incrementally to
> >> the tape, one file at a time as they are deleted.  What's wrong with
> >> this picture???
> >
> > But no one is saying to prevent everything, just common mistakes.  I
> > think everyone on this list has accidentally deleted a file--maybe
> > even an important file.  If there is a clear solution that would save
> > people lots of angst, why not do it?  Yes, there will still be corner
> > cases it might not catch--so what?
>
> The solution is backing up the files properly.  People need to
> understand that removing a file means just that.  If you don't like it,
> then create an alias where remove pushes the file off somewhere.
>
> I don't understand why people want a command to 'kinda' do what it's
> supposed to do.  rm - remove, what's so hard about that???
>
> Now, understand, I'm not against people creating tools to retrieve files
> that are accidentally removed.  I've used them, I think they're great.
> But for someone to say, Linux sucks cause I removed a file and now I
> can't get it back.  What's with that?
>
> Damn, the chainsaw said DANGER, but I cut my foot off anyway.
>
> >>Do people get behind the wheel of a car without learning to drive? No.
> >
> > Wanna bet?  They most certainly do.  And even the ones that do learn
> > to drive don't become a professional driver.  You are asking (no,
> > telling) everyone that they should use a computer with a professional
> > attitude. That is just wrong.  Computers should be for everyone, not
> > just the elite few.
>
> No, I'm not.  I'm saying, don't slur the meaning of a command, then
> bitch about it doing what it was damn well designed to do.
>
> There are protections in place to protect the non-professional in
> computer environments.  Virtually all the latest gui desktops have some
> variation of the 'recycle bin.'
>
> I agree that computers should be for everyone, but you should get some
> training and understand the device before you use it.  It's all a matter
> of how valuable it is to you.  I knew a guy who went out and bought a
> brand new lawn tractor.  Cranked it up, drove it about 2 feet and
> trashed it because he didn't put oil in it.  So who's at fault?  RTFM.
>
> I'm not an auto mechanic, but I check the fluids in all my vehicles on a
> regular basis.
>
> >>Why aren't all cars encased in big soft bubbles, so that there's no
> >> such thing as an accident?
> >
> > But by your argument we wouldn't have cars with seat belts, roll bars,
> > or crush zones.  "If you drive a car into another car, you must have
> > wanted it to kill you."
>
> Again, there's a balance here.
>
> > Everyone should go and read "The Inmates are Running the Asylum" to
> > learn just how far our engineer ideas of a good interface are from the
> > real world.  This is a classic case of the problem.
> >
> > Given the incredible speed and storage of modern computers, I find it
> > hard to believe that one couldn't design a decent filesystem that
> > would have the kind of properties which would make users happy. 
> > Journaling is a good start, but undelete is probably just as
> > important, if not more so.
> >
> > The basic rule should be, when an inode is unlinked, it and its disk
> > blocks get moved to a MRU (Most Recently Used) list.  When someone
> > needs to relink (a new syscall?) the MRU can be consulted.  To keep
> > the engineers happy, the MRU could be limited to some reasonable
> > percentage of the file system, or maybe for performance freaks, to a
> > percentage of the unused space.  Or, if the designer felt like getting
> > fancy, some kind of decay functions so that it attempts to keep all
> > files around for an hour, but after that it starts deleting files
> > according to some rule.
>
> So you're saying that you don't want the file to be removed immediately,
> just some, unspecified time in the future.  Unspecified, because all
> user's needs and wants are different.
>
> So the file is removed 6 days, 2 hours, 5 minutes, 38 seconds later, and
> damn, I decided that I wanted it 6 days 2 hours 5 minutes and 45 minutes
> later.  Now where is it?  This system is really screwed up cause I could
> get the file back last week, but not this week.
>
> > I imagine this at the filesystem level, not by putting wrappers around
> > "rm".  It shouldn't matter who does the unlinking, the filesystem
> > should just keep track.
>
> Wrong.  The user should be trained to use an archival device if they
> think they might want that file back.  rm is remove.  I don't see why
> you want to cloud the purpose of the program.
>
> > (I'm imagining this as open source, so if you want to file off this
> > safety device, you can get a filesystem that will let you shoot
> > yourself in the foot.)
> >
> > If ext3 had this, everyone would have this capability and few would
> > know about it.  Someone like you who never made a mistake would never
> > know it was there.  Neither would ordinary users know--all they would
> > know is that undelete works.
> >
> > --Michael

_______________________________________________
Ale mailing list
Ale at ale.org
http://www.ale.org/mailman/listinfo/ale






More information about the Ale mailing list