From: jmfbahciv on 14 Mar 2007 06:20 In article <87slc9jje1.fsf(a)nonospaz.fatphil.org>, Phil Carmody <thefatphil_demunged(a)yahoo.co.uk> wrote: >jmfbahciv(a)aol.com writes: >> In article <et3o1m$rad$2(a)blue.rahul.net>, >> kensmith(a)green.rahul.net (Ken Smith) wrote: >> >There need not be any increase in the risk. Its all a matter of starting >> >with a reasonable OS and not adding buffer over runs. >> >> There will always be buffer overruns. > >Don't judge all programmers based on your own inadequacy as one. I'm stating this fact based on experience working with bit gods and hardware that had the proper tweaks to help prevent these problems. I never wrote a buffer overrun. My bug specialty was off by ones on loop counts. /BAH
From: Martin Brown on 14 Mar 2007 07:08 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 with a chunk of your favourite nonsense rhyme or saying of the day until the statement "this files checksum = 1234" is true. Checksum is invariant under permutations of the characters in the file so you don't have to work very hard to do it by brute force. Even if as seems likely the TAPE.DIR contains both length and checksum then self consistent solutions can be found by SMOP. Regards, Martin Brown
From: jmfbahciv on 14 Mar 2007 07:50 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. > with a chunk of your favourite nonsense rhyme >or saying of the day until the statement "this files checksum = 1234" >is true. Checksum is invariant under permutations of the characters in >the file so you don't have to work very hard to do it by brute force. >Even if as seems likely the TAPE.DIR contains both length and checksum >then self consistent solutions can be found by SMOP. It isn't a goal to have the checksum of TAPE.DIR correct. It was a mandatory goal to have a directory of the tape on the tape. The tradeoff to accomplish this goal was to have the checksum of the file TAPE.DIR not match the checksum of TAPE.DIR reported in TAPE.DIR. Query: Is the ability to think about this concept (Mr. unsettled called it recursion) a rare ability? /BAH /BAH
From: jmfbahciv on 14 Mar 2007 07:54 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. 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 :-). I'm beginning to wonder if this lack is a common trait. Consider the original thread subject matter. Weren't a lot of the problems due to not being able to think recursively? /BAH
From: MassiveProng on 14 Mar 2007 08:13
On Wed, 14 Mar 07 10:20:42 GMT, jmfbahciv(a)aol.com Gave us: >In article <87slc9jje1.fsf(a)nonospaz.fatphil.org>, > Phil Carmody <thefatphil_demunged(a)yahoo.co.uk> wrote: >>jmfbahciv(a)aol.com writes: >>> In article <et3o1m$rad$2(a)blue.rahul.net>, >>> kensmith(a)green.rahul.net (Ken Smith) wrote: >>> >There need not be any increase in the risk. Its all a matter of starting >>> >with a reasonable OS and not adding buffer over runs. >>> >>> There will always be buffer overruns. >> >>Don't judge all programmers based on your own inadequacy as one. > >I'm stating this fact based on experience working with bit gods >and hardware that had the proper tweaks to help prevent >these problems. > >I never wrote a buffer overrun. My bug specialty was off by >ones on loop counts. You are locked in a recursive loop of being wrong all the time! |