[nos-bbs] case sensitivity of MID/BID - discussion needed

Glenn Thomas glennt at gbis.com
Mon Feb 9 11:55:38 EST 2015


Hi Mike

I think I disagree with you. Sort of...

On 2/9/2015 8:03 AM, Michael E Fox - N6MEF wrote:
>
> I think there are three parts to this.
>
> 1) The first question to address is whether case sensitivity for 
> MIDs/BIDs is necessary or not.  I don’t see this as a “consensus” 
> issue but as a technical one.  The BBS spec I’ve seen is dated Nov 9, 
> 2012.  It does not mention case at all with respect to MIDs or BIDs.  
> In other words, there is no requirement for case sensitivity.  So, 
> unless someone can point to a specific technical reason why such a 
> requirement should be added, then there is no reason to change the 
> spec.  And until the spec says it’s required, it’s not required.  I 
> think it’s that simple.
>

I disagree. In not specifying case, the spec is ambiguous. In ASCII, 'A' 
is not the same character as 'a', so the unspecified default would seem 
to be case sensitive. Modifying the case in any way is an extra 
operation that is apparently not required.

It's clear that you believe otherwise and not without cause. That we 
disagree on case sensitivity indicts the spec itself because it is 
ambiguous. Heh - because natural languages tend to be ambiguous, it is 
extremely difficult to write an unambiguous spec.

Mike - are you an old school FORTRAN programmer? Me too. FORTRAN77 is 
required to be case insensitive (though case is usually preserved in 
compiler listings). When I started working in C and C++ I became very 
much aware of case because C/C++ is case sensitive. I don't remember if 
K&R *requires* that C be case sensitive or not - C certainly is! Whether 
or not it is required by K&R is left as an exercise for the student, 
mainly because I'm on the road and don't have ready access to my copy of 
K&R. Plus, I'm lazy)

> 2) Next, comes implementing the spec.  I think this is simple, too.  
> If the spec requires case sensitivity, then all BBSs would need to 
> maintain case during forwarding and compare based on case.  Otherwise, 
> they don’t.
>

Again we disagree. The simplest thing to do is not change anything, 
which would default to case sensitive, as I described above.

> 3) Lastly, if case sensitivity continues to NOT be required, then is 
> there a recommendation of what a BBS *should* do? There are three 
> options during forwarding:
>
> a) maintain case (whatever MID/BID came in is what goes out)
>

This seems the most conservative option and also appears to be in 
accordance with the current spec (which does not require any case 
translations).

> b) always set to upper
>

This would be an additional operation, for which there is no requirement.

> c) always set to lower
>

This would be an additional operation, for which there is no requirement.

> This is where we can reduce the number of opportunities for a problem 
> to occur on BBSs that have not yet completed #1 and #2 above.  If we 
> had a clean slate, then option A would cause the fewest problems with 
> any BBSs that still compares case.  But I believe (not sure) that FBB 
> may always set to upper.  And evidently JNOS sets to upper except if 
> fbb 0 is set.  So with that installed base, perhaps the safest thing 
> is to always set to upper.
>
> Michael
>
> N6MEF
>

Given that the spec itself appears to be ambiguous, the obvious action 
to take is to update the spec to correct the ambiguity and then let the 
various implementations be updated as appropriate. This argues for 
determining how the ambiguity is resolved in the most popular 
implementations and updating the spec to reflect those implementations. 
A clear case of 'painting the roses red', but at this late date it would 
be the simplest fix.

73 de Glenn wb6w (lower case...)

-- 
Who deserves respect need not ask for it.
Who demands respect does not deserve it.




More information about the nos-bbs mailing list