I agree with Brian’s points on this.  The specific issue isn’t the
modification of the data, it’s the lack of user visibility and
control. My suggestion would be to make it a checkbox that’s enabled
by default.

Gary Weber <[email protected]> writes:

Okay, interesting point. During a download of a .DO file, TELCOM intercepts an <EOF> and prohibits it from from getting written into the file system. Sounds like you would argue that this is wrong as well?


On Tue, Feb 12, 2019 at 10:35 PM Brian White <[email protected]> wrote:

You said just one any one example, which I already gave, but here's
another for free.

I try to write a checksum calculator, and I spend a million hours trying to get the assembly or forth working right, but no matter what, the numbers
just never ever come out...

On Wed, Feb 13, 2019, 12:27 AM Brian White <[email protected] wrote:

That places the obligation on the wrong party.

This is computers not inpressionist art. If I am trying to figure out why something is, or is not working, or document something by experiment, it's wrong to have a low level tool responsible for handling data do something, *especially* without notice or configurability, like modify the data as it
passes from point A to point B.

If I have a file, that has some garbage data in it that is actually invalid, but it works *anyway*, because one of the tools I just happened to use did some clean up for me, then I now think I know what the correct data is. I just "proved" it because it worked. Meanwhile, it's actually bad data, and doesn't work in any other context. It wouldn't work on a real disk, or on any other emulator or device that didn't happen to have the same *backwards* idea about being "helpful". But I, not knowing any better, tried something, it worked, I wrote it all up on a web site, provided a download archive of all bad files, and years later someone else spends all day banging their head against the wall and throwing away their "broken" vintage machine because it isn't working... (In case we are not all up to speed, this is a hypothetical. I am not saying I actually did this as was so mystified and produced a load of bad files. You asked for an example.)

In the last 20 years as a sysadmin, programmer, all around IT analyst dealing with all kinds of boring back-end integration projects; that feature of the "venerable" ftp has only ever caused grief and cost time and
money over and over again.

The reasons it's wrong to modify your payload unless that is your actual explicitly declared purpose is to *process* it in some way, are open-ended and infinite. You can't know the possible reasons or situations which might ever come up with the countless possible users in their countless possible contexts in the open-ended future years. But you don't have to. All you have to know is that if you don't make any assumptions, then you don't have to worry about breaking them, or failing to think of everything.

Any example will by definition be a contrived example, which is too tempting (for some) to disregard. Any contrived example just sounds like some unlikely thing that isn't important to worry about. whatever the example is, you just say "oh that's all? who would do that? just don't do
that, that's all"

It's user-hostile, even if intending to be the opposite. It's a misguided
concept of being helpful.


On Tue, Feb 12, 2019, 10:08 PM Gary Weber <[email protected] wrote:

Brian, describe ANY scenario at all, where cleansing trailing <EOF> characters from transmitted .DO files into a Model T file system, is a
wrong idea.   I'm genuinely interested.  :)

On Tue, Feb 12, 2019 at 7:28 PM Brian White <[email protected]> wrote:

I referenced ftp as the canonical *anti-example* in my first comment
and then again later.

It proves how wrong the idea is, not how right it is.

On Tue, Feb 12, 2019, 6:53 PM Gary L Phillips <[email protected] wrote:

I'll just add one small note here.

No less venerable a program than ftp, as implemented on dozens of environments, makes changes to data being transferred. It does so by default and without warning, to adjust text files from one system standard to another. The obvious case here is automatic conversion of line endings between CR (as used by many early microcomputer systems,) LF (as used by most *NIX compatibles and Apple systems,) or CR/LF (as used by PCDOS and
MS-DOS.)

And yes, this does sometimes cause corruption or confusion when binary data is transferred, unless the user specifies that the data is binary and
to be left untouched.

Gary Phillips 😉



--
Gary Weber
[email protected]


Reply via email to