Re: Fault with initcap

2021-10-12 Thread Lee Hachadoorian
On Tue, Oct 12, 2021 at 8:28 PM Adrian Klaver 
wrote:

>
> There is no function that just 'knows' that 'notemachine' is two words
> and should become 'NoteMachine'.
>

Any chance that 'notemachine' is stored with a zero-width space (Unicode
U+200B)? This is common for compound words where the programmer wants to be
able to "know" that they are distinct words that are smashed together.

select initcap('notemachine'), initcap('note' || U&'\200B' || 'machine');

initcap|initcap |
---++
Notemachine|NoteMachine|

You could check the length() of the string. If it is 12, there is an
invisible character in there. This would explain the "unexpected" behavior
that no one seems to be able to replicate.

Best,
--Lee

-- 
Lee Hachadoorian
Assistant Professor of Instruction, Geography and Urban Studies
Assistant Director, Professional Science Master's in GIS
Temple University


Re: Code of Conduct plan

2018-09-14 Thread Lee Hachadoorian
While agreeing that there are good arguments that we are a "community" in a
prescriptive sense, I don't think the discussion about whether we
constitute a community is relevant. For at least 25 years "community" has
been applied to virtually any group of people, much to the chagrin of those
such as community organizers and members of religious and intentional
communities who prefer to restrict its usage to a prescriptive sense.

Regarding treating conduct as a matter of "professionalism" rather than
"community", possibly all of the examples offered in the section
Inclusivity and Appropriate Conduct--thing such as personal attacks and
negative comments, threats of violence, and unwelcome sexual attention--do
strike me as unprofessional conduct, although these behaviors have
frequently been tolerated in *many* professional settings. (This is not
even close to being a uniquely tech problem. I could list the industries,
but it would basically be cutting and pasting the list of NAICS codes.)

The CoC will have largely the same meaning if "community" is replaced by
"users and developers" in most places. I do *not* suggest we do so, (a) the
word "community" as used in the document is at this point common usage, (b)
it will be uglier prose, and (c) there would sometimes need to be
additional verbose clarification as to whether it meant "individual users
and developers" or "users and developers as a collective body", and
sometimes it even appears to mean "the Spirit of PosgreSQL". (That last
might be an exaggeration.)

The question of when two or more "users or developers" interacting outside
our common purpose is worthy of the attention of the CoC committee--e.g.
direct email between members, two people at a bar after a conference--is a
legitimate concern, but I do not think a clear line can be decided
beforehand. Someone who received a direct, insulting or threatening email
from someone else on this particular thread that did *not* get distributed
to the list, and does *not* reference this conversation at all, could
reasonably initiate a CoC complaint even though the harassing behavior did
not make use of PG infrastructure. Two long-time PG developers who become
friends, and have been friends for many years in a way that goes far beyond
their PG activities, should not initiate a CoC complaint, or have their
complaint taken seriously by the committee, if they get into a screaming
fight at a family barbecue over one of them serving soda to the other's
kid. There's a lot of gray area in the middle that I think cannot be
resolved ahead of time, but gray areas don't preclude a good faith attempt
to cover some kinds of "outside" interactions.

I do agree, however, that the language "community at large" is somewhat
vague. The phrase is only used once, and is pretty much dropped in the next
sentence which reverts to discussing "interactions between community
members". I can't tell whether it could mean (from most to least
restrictive) (a) someone who is considering adopting PG (so not already a
user or developer) and asks a question online, in which case the phrase
"community at large" is merely meant to forestall an argument about whether
a non-user is a "community member", (b) someone PG-adjacent, such as a
vendor for a competing product at a conference, who is harassed by a PG
booster, or (c) literally everyone.

Best,
--Lee

-- 
Lee Hachadoorian
Assistant Professor of Instruction, Geography and Urban Studies
Assistant Director, Professional Science Master's in GIS
Temple University