From: Ken Smith on 14 Mar 2007 10:11 In article <1173870480.508596.143930(a)n76g2000hsh.googlegroups.com>, Martin Brown <|||newspam|||@nezumi.demon.co.uk> wrote: [....] >CRC offers a much higher chance of detecting tape bitrot. But it is a >lot harder to tweak a file to contain its own CRC (but still not >impossible). Matching an MD5 is beyond present computational power. For an 8 bit CRC, as was used on tapes, a table was used. >But for a simple checksum it can be done trivially by writing the >master TAPE.DIR file claiming any arbitrary checksum you like and then >adjusting the final file with a chunk of your favourite nonsense rhyme Actually it was done using a string of characters with a modestly high ordinal value like the "Z" or the ":". These were then changed when the checksum was produced. If the file contains: The checksum = 0000 The checksum = :::: When you first create it, changing both lines to have the checksum in it, works very nicely. People never suspect that there is a reason while the directory's title part contains the checksum. -- -- kensmith(a)rahul.net forging knowledge
From: Ken Smith on 14 Mar 2007 10:13 In article <et8nid$8qk_001(a)s787.apx1.sbo.ma.dialup.rcn.com>, <jmfbahciv(a)aol.com> wrote: >In article <1173870480.508596.143930(a)n76g2000hsh.googlegroups.com>, > "Martin Brown" <|||newspam|||@nezumi.demon.co.uk> wrote: >>On Mar 13, 10:34 am, jmfbah...(a)aol.com wrote: >>> In article <et3pbr$ra...(a)blue.rahul.net>, >>> kensm...(a)green.rahul.net (Ken Smith) wrote: >> >>> >In that case. Thetapehad to be written with theTAPE.DIR in place and >>> >correct on the first pass. >>> >>> This is the point. It will never be "correct" because the file >>> contains a checksummed listing of itself. >>> >>> <snip> >>> >>> Do the exercise. Then you will see what I'm talking about. >> >>You really are determined to parade your ignorance. File checksums are >>trivial to make internally consistent. >> >>At the simplest conceptual level you could define all files to have >>checksum=0 and add some fluff to the end of each one to make it so. In >>this case you only need to adjust the TAPE.DIR and since you know the >>effect of changing the bytes in the checksum representation on the >>checksum it is relatively easy to program a self consistent solution. >> >>CRC offers a much higher chance of detecting tape bitrot. But it is a >>lot harder to tweak a file to contain its own CRC (but still not >>impossible). Matching an MD5 is beyond present computational power. >> >>But for a simple checksum it can be done trivially by writing the >>master TAPE.DIR file claiming any arbitrary checksum you like and then >>adjusting the final file > >Now the file is no longer a directory of the tape. By modifying >the file on the tape, you have changed the tape. There is no >longer a directory of the tape on the tape. That is just silly word games, but at least you now obviously must see that you have been wrong. -- -- kensmith(a)rahul.net forging knowledge
From: Ken Smith on 14 Mar 2007 10:21 In article <et8hr5$8ss_002(a)s787.apx1.sbo.ma.dialup.rcn.com>, <jmfbahciv(a)aol.com> wrote: >In article <et7ljd$bq1$5(a)blue.rahul.net>, > kensmith(a)green.rahul.net (Ken Smith) wrote: >>In article <b33aa$45f6d225$4fe7292$20427(a)DIALUPUSA.NET>, >>nonsense(a)unsettled.com <nonsense(a)unsettled.com> wrote: >>>Ken Smith wrote: >>> >>>> In article <et5v7k$8qk_001(a)s887.apx1.sbo.ma.dialup.rcn.com>, >>>> <jmfbahciv(a)aol.com> wrote: >>>> [....] >>>> >>>>>>Did you write a TAPE.DIR onto the tape after the tape had already been >>>>>>written? >>>>> >>>>>No. One of my requirements was that the file be the first in >>>>>the saveset. >>>> >>>> >>>> In other words, you created it based on what you intended to write to the >>>> tape not what you actually wrote. This contradicts what you said earlier. >>>> >>>> It doesn't matter because the suggested method still works. The checksum >>>> could still have been correct. >>> >>>The operative word is "could." It can never be "what was read from >>>the tape." Your entire argument on this matter has been silly. It >>>is an elementary problem in recursion. >> >>Yes, it can be what was read from the tape. I explained elsewhere exactly >>how you can make the first file on the tape be based on the contents of >>the tape after it has been written. Tape drives can write to the start of >>a tape without trashing the rest of the contents of the tape. > >It will trash the rest of the tape. We shipped the files within >savesets. What I said was correct. I have explained how to make TAPE.DIR have the right checksum for all posible cases of how you did things. This is just responding to unsettled further incorrect statement about how tape drive operate. When you disagreed with my suggestion that TAPE.DIR is list of what you intended to write onto tape, I could see that there was a way that you could actually have done what you at that point were claiming. You have now changed the claim. You no longer say that it is the directory of what is on the tape but is as I had suggested the directory of what you intended to write onto tape. > >> The >>operation is refered to as an "edit" write. It only requires that the >>tape already contain a block of the same size. It has been done for >>years. > >But your edit write would not include the directory of the tape >after you wrote it. Oooops!!!! There you go again. Which is it. Is it (A)the directory of what you wrote or (B) the directory of what you intend to write. This is getting silly because your story changes back and forth on this. >> >>There is no problem in recursion. There is no problem in making the >>checksum correct. You seem to have missed the post where I filled you in >>on how exactly the checksum of a file can be stored in the text of file >>and be valid. Here is a hint: >> >>checksum("0000ZZZZ") == checksum("1111YYYY") >> >>You should be able to take it from there. When you figure it out try to >>get BAH to understand. > >/BAH understands your method just fine. First of all the editing >method would have trashed the first saveset. Second of all, >the file would not have been a directory of the tape after you >wrote the file to the tape. You *still* haven't understood. BTW: It isn't my method in that I did not invent what was done. It was already old when I learned it. It was used on many tapes before I got near one. > >/BAH > -- -- kensmith(a)rahul.net forging knowledge
From: Ken Smith on 14 Mar 2007 10:22 In article <5a788$45f7cdfe$4fe707e$27037(a)DIALUPUSA.NET>, nonsense(a)unsettled.com <nonsense(a)unsettled.com> wrote: >jmfbahciv(a)aol.com wrote: >> In article <et7ljd$bq1$5(a)blue.rahul.net>, >> kensmith(a)green.rahul.net (Ken Smith) wrote: >> >>>In article <b33aa$45f6d225$4fe7292$20427(a)DIALUPUSA.NET>, >>>nonsense(a)unsettled.com <nonsense(a)unsettled.com> wrote: >>> >>>>Ken Smith wrote: >>>> >>>> >>>>>In article <et5v7k$8qk_001(a)s887.apx1.sbo.ma.dialup.rcn.com>, >>>>> <jmfbahciv(a)aol.com> wrote: >>>>>[....] >>>>> >>>>> >>>>>>>Did you write a TAPE.DIR onto the tape after the tape had already been >>>>>>>written? >>>>>> >>>>>>No. One of my requirements was that the file be the first in >>>>>>the saveset. >>>>> >>>>> >>>>>In other words, you created it based on what you intended to write to the >>>>>tape not what you actually wrote. This contradicts what you said earlier. >>>>> >>>>>It doesn't matter because the suggested method still works. The checksum >>>>>could still have been correct. >>>> >>>>The operative word is "could." It can never be "what was read from >>>>the tape." Your entire argument on this matter has been silly. It >>>>is an elementary problem in recursion. >>> >>>Yes, it can be what was read from the tape. I explained elsewhere exactly >>>how you can make the first file on the tape be based on the contents of >>>the tape after it has been written. Tape drives can write to the start of >>>a tape without trashing the rest of the contents of the tape. >> >> >> It will trash the rest of the tape. We shipped the files within >> savesets. >> >> >>> The >>>operation is refered to as an "edit" write. It only requires that the >>>tape already contain a block of the same size. It has been done for >>>years. >> >> >> But your edit write would not include the directory of the tape >> after you wrote it. >> >>>There is no problem in recursion. There is no problem in making the >>>checksum correct. You seem to have missed the post where I filled you in >>>on how exactly the checksum of a file can be stored in the text of file >>>and be valid. Here is a hint: >>> >>>checksum("0000ZZZZ") == checksum("1111YYYY") >>> >>>You should be able to take it from there. When you figure it out try to >>>get BAH to understand. >> >> >> /BAH understands your method just fine. First of all the editing >> method would have trashed the first saveset. Second of all, >> the file would not have been a directory of the tape after you >> wrote the file to the tape. > >I almost hate to say this, but I think that understanding >the problem is beyond him. No, understanding is beyond you. Even though I have explained many time now exactly why what you say is untrue, you come back with stupid comments like this. -- -- kensmith(a)rahul.net forging knowledge
From: Ken Smith on 14 Mar 2007 10:25
In article <et8nqg$8qk_002(a)s787.apx1.sbo.ma.dialup.rcn.com>, <jmfbahciv(a)aol.com> wrote: [...] >>I almost hate to say this, but I think that understanding >>the problem is beyond him. > >Definitely. I'm studying the phenomena. I have encountered this >before but it was rare in my area. I don't think one can do >comm and OS development without being able to breathe recursion >and live to tell about it :-). You are really stupid you know. I have pointed out how to solve the recursion problem. You just refuse to believe that it can be solved so you obviously aren't letting yourself understand what I am talking about. The folks who came up with the method were obviously years ahead of you on such subjects. -- -- kensmith(a)rahul.net forging knowledge |