kent@xanth.UUCP (Kent Paul Dolan) (10/10/87)
New (to me) Amiga gotcha: Made a new disk with format. Copied a bunch of stuff onto it with kermit, say files A, B, C, D, E, F Decided it would look better all in one directory. Made a new directory, say G. Decided a copy and delete would be faster than 6 renames. 1> Copy : G all ^^^ oops! Copy copies A to G/A. Copy creates new directory G/G. Copy copies G/A to G/G/A. Copy creates new directory G/G/G. Copy copies G/G/A to G/G/G/A. Copy creates new directory G/G/G/G. Copy copies G/G/G/A to G/G/G/G/A. . . . Panicked operator hits control-C. Luckily, 1> delete G all cleans up the mess in one try. Remind you of the meta-genies out of Hofstader's _Goedel, Escher, Bach, an Eternal Golden Braid_? ;-) (Keep the flames, that's how you spell Godel when your typefont doesn't include an umlauted "o". ;-) Wasn't anybody's fault but mine; thought you'd enjoy a laugh (and a lesson) at my expense. Kent, the man from xanth.
rokicki@rocky.STANFORD.EDU (Tomas Rokicki) (10/10/87)
> 1> Copy : G all > ^^^ oops! >Copy copies A to G/A. >Copy creates new directory G/G. >Copy copies G/A to G/G/A. >Copy creates new directory G/G/G. >Copy copies G/G/A to G/G/G/A. >Copy creates new directory G/G/G/G. >Copy copies G/G/G/A to G/G/G/G/A. Gee, I wish I had thought of this when I *wanted* to do this. (I was experimenting with how long it takes to seek down different directory levels; how much overhead is there in sticking another level of directories?) So, I used EMACS to create a script for me. Of course, having REXX at the time would have made it a one-liner . . . > (Keep the flames, that's how you spell Godel when your typefont > doesn't include an umlauted "o". ;-) Nope, you spell it G\"odel in non-published stuff. Thanks for the article! In response, I give you one from me: The easiest way to lock up a CLI is to type: * It tries to load standard input as an executable! (You can usually get out of it after a while, though . . .) Or this one: Manx's memcpy() routine is broken if you compile with long ints; it's only good for memory areas < 64K; the code looks like: bra .in .loop move.b (a0)+,(a1)+ .in dbra d0,.loop when it should look like this: bra .in .loop2 swap d0 .loop move.b (a0)+,(a1)+ .in dbra d0,.loop swap d0 dbra d0,.loop2 I can't remember if it checks the direction of the copy first. Jim, you out there? And there's more. Why doesn't `WaitForChar()' return before the delay if the user hits ^\ (the EOF sequence?) And, despite what Peck's book says, the second parameter is in microseconds, so don't give it a value less than 20000! And then there's the raging SetSignal() controversy . . . -tom