Re: The weirdness of capitalizing usernames (was Re: Yet another attempt to specify GECOS) hga@xxxxxx 27 Aug 2019 17:53 UTC

> From: Lassi Kortela <xxxxxx@lassi.io>
> Date: Tuesday, August 27, 2019 11:20 AM

>> OK; I was going from what you'd recently added to the SRFI.  Is
>> "first letter capitalized" sufficient in the context of Unicode
>> strings??  If per SRFI 129 the first character is a titlecase
>> character, what exactly should be done?
>
> I recommend checking only for ASCII a-z and capitalizing only
> those. The thoroughness of SRFI 129 is impressive but Unix usernames
> rarely if ever contain Unicode and the canonical GECOS parsers don't
> grok Unicode.

And John later supplied an example where titlecasing would be *bad*.

> [...]
>
>> I wonder where and why this particular bit of ornamentation came from,
>
> If there are no ampersands in your realname, no part of it is
> replaced or capitalized - it stays exactly as you wrote
> it. Ampersands are meant for cases where people use their first or
> last name as the username (which has been quite common for decades
> as well).

Ah, I can see that, but that's been strongly discouraged in all
systems I've been involved with because of the high probability for
collisions.  Resulting in numerous forums where you'll see
"<Firstname>2" where "<Firstname>" of course doesn't have a suffix
of 1, which offends my sensibilities.

> [ History. ]

>> especially since POSIX usernames are allowed to be case sensitive
>> (although I wouldn't try that in a world getting eaten by systemd):
>>
>> [ The POSIX specs. ]
>
> Thanks for digging that up, that is impressive diligence once again :)

You're welcome, and it was good to see that POSIX is very specific
about it.

> On some not-too-old Unix systems it used to be that if you write
> your username in all uppercase at the login prompt, it assumes that
> you're using a keyboard that cannot enter lowercase characters :D
> And did some things to accommodate your circumstances, like
> translating to lowercase.  Can't remember the details.

Not sure how long it lasted, but I remember it from Version 6 days,
normally it was a misfeature when you typed in your username not
noticing caps lock was on.

>From: Lassi Kortela <xxxxxx@lassi.io>
>Date: Tuesday, August 27, 2019 11:30 AM
>
> [ Why?  To follow the well established standard. ]
>
>>> Might also be worth clarifying what to do in case there are empty
>>> subfields
>
>> I was thinking they'd be returned as empty strings in the list, and
>> you're right about Debian, or in this case downstream Ubuntu, which
>> turned the full name I supplied into "Harold Ancell,,," Excluding any
>> would be sub-optimal unless all are empty.
>
> Yeah - that's exactly how it does it,,, :)
>
> Agree that empty strings are the right thing.

>> We might want to weaken "is the user's real name" to "is by convention
>> the user's real name", human system admins can put *anything* in there.
>
> You're right. How about "display name" which is consistent with Windows
> API and aptly describes how reliably it can be parsed :p

"Real" name is indeed too strong, but I think it's much easier to
understand than "display" name, which I don't recall being used often,
at least in the UNIX world.

I've got what I need to finish this part of the Chibi Scheme
implementation, the only part not firmly nailed down is the above one
you make, which is language for the SRFI.

- Harold