On Thu, Apr 5, 2018 at 5:03 PM, Norman Wilson <norman@oclsc.org> wrote:
Sometimes the verification program just needs to be fixed.
And sometimes the developers that seem set on doing the wrong
thing really want help in subverting whatever is forcing that
on them, because they really do know what the right thing is.
​I like to refer to this as acting intelligently.  And think a little about why an earlier implementation had a particular artifact. It is amazing how people can blindly follow ​
 
​something because it has been that way.   Not that you change things willy-nilly (aka Henry's Spencer's wonderful line:  "4.2 BSD is just like Unix ..... only different."

Two favorite examples are <CR><LF> and case folding.

Both are historical artifacts which made sense in an older age, but hardware outgrew then.   Steve discussed the <CR><LF> stuff a few week ago, so I'll not repeat; but it was always amazing to me that it got codified forever, in the 'text' file idea in things like the C standard -- how completely silly and what a waste of resources and engineering effort over the years.

Case folding I find funnier however. Back in the days of 5 and 6 bit codes, particularly when file names were stored in things like rad50 it made perfect sense.   The basic character code did not handle upper and lower well, and many keyboards were only one case anyway.   But by the time of the 8 bit byte, CP/M and it's child DOS, blindly follow along.  Instead of thinking why it was done and since we have a new file system format and thinking -- hmmm maybe we don't need to have the same limitation.

Clem​