Re: [racket-users] Naive question on how to capitalize only the first word of a string
Wow. In addition to getting my question answered, I learned about 6 other things. Thank you so much, everyone! Glenn -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [racket-users] RacketCon Code of Conduct
Everyone: this discussion is the first time that we have a rough tone on this mailing list, and this tone is inappropriate. I am appealing to both sides to cool it down. We (the organizers and old people of this community) appreciate all non-emotional input. Science and science organizations are explicitly not about democracy but we intend to listen to your ‘technical’ inputs in this matter. — Matthias -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [racket-users] Naive question on how to capitalize only the first word of a string
Here's another: (define/contract (ucfirst str) (-> string? string?) (match (regexp-match #px"^([^a-z]*)(.)(.+)" str) [(list _ prefix first-letter rest-of-string) (~a prefix (string-upcase first-letter) rest-of-string)])) -> (ucfirst "cat dog") "Cat dog" -> (ucfirst " Cat dog") " Cat dog" -> (ucfirst "1 cat dog") "1 Cat dog" Modifying the contents of the prefix matcher in the regex will let you express whatever policy you want. The one that I've written above is: 'Find the first lower-case Latin character (i.e., a-z) in the string and change it to uppercase. Leave the rest of the string otherwise undisturbed' You could trivially extend the function so that you can change policies on the fly by passing in the pattern you want: (define/contract (ucfirst str #:pat [prefix-pat "[^a-z]*"]) (->* (string?) (#:pat non-empty-string?) string?) (define pat (pregexp (~a "^(" prefix-pat ")(.)(.+)"))) (match (regexp-match pat str) [(list _ prefix first-letter rest-of-string) (~a prefix (string-upcase first-letter) rest-of-string)] [else str])) Now this works: (ucfirst "cat dog") ; "Cat dog" (ucfirst "Cat dog") ; "Cat dog" (ucfirst " cat dog"); " Cat dog" (ucfirst "cat dog" #:pat "[^aeiou]*") ; "cAt dog" That last one is a trivial example, but it shows the flexibility you could easily get. Now, I wouldn't recommend using the actual code written above. It's a toy example intended to demonstrate a technique, not for production. It's begging for obtuse errors and/or a string injection attack, since it's compiling a user-supplied string into a regex and putting metacharacters around that string. Still, it shows the flexibility -- ucfirst means 'upcase the first significant character', but the pattern parameter lets you define what 'significant' means. On Mon, Jun 19, 2017 at 9:38 PM, Neil Van Dykewrote: > Robby's answer was more idiomatic Racket, and mine was > idomatic-Scheme-and-also-OK-Racket, by habit. :) > > I'd suggest reading both implementations. As you learn more Racket, > you'll start to get a feel for your preferred linguistic style(s), and > you'll notice different people have a lot more stylistic variation than > just these two. Also, if you're coming from low-level programming: don't > worry about micro-optimizing for performance, yet -- performance was one > head-scratcher that bothered me when I first started learning, but it's > complicated, and comes later. > > Robby also added unit tests, setting a proper example from the start. > > > -- > You received this message because you are subscribed to the Google Groups > "Racket Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to racket-users+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [racket-users] RacketCon Code of Conduct
On 06/17/2017 01:50 PM, Matthias Felleisen wrote: A code of conduct is a totally stupid idea for RacketCon. Racketeers were raised properly by their parents and are well behaved. I really hate attending conferences that need to impose a code. I think you might be reading something in to this request that's not meant by those who are asking for it. You are right to be proud of the Racket community today and I don't think anyone here is implying otherwise. Having a code of conduct does not mean that us Racketeers are not well behaved or that we need to impose a code to keep us in line. What it does is outline what we consider to be bad behavior, defines some of the possible consequences, and makes it clear who is responsible for handling violations. The point of doing this is to make sure that any possible violations of the expected behavior aren't fatal to the environment that the Racket developers have worked hard to create. If you don't specify this, it's not at all clear what to do in the event of a violation and some (many?) people may decide it's not worth the risk of dealing with unspecified consequences. This should sound familiar. We all use a programming environment that does this despite being good programmers who were taught properly by our professors, because programs are complex and sometimes we make mistakes. Humans are a lot more complex than programs, and having been raised with the virtues of humility and open-mindedness by our parents, we should all be willing to admit the possibility of errors in the human domain too. In both cases the goal isn't to be punitive or restrictive but to make sure that the environment is protected. If it turns out that the safety mechanisms were unnecessary, then RacketCon will be the type of conference that doesn't need to have a code but has one anyway. Isn't that better than the alternative? -- Brian Mastenbrook br...@mastenbrook.net https://brian.mastenbrook.net/ -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [racket-users] RacketCon Code of Conduct
I think this thread has gotten delightfully meta, in that I've heard that some people who would like to contribute in forums get scared away when observing interaction styles that they find very confrontational. Not that I always remember this myself, and I also make other mistakes, but... When talking in a forum, we might believe that a particular person can take a particular style, though we know that the style would be too spirited to use with someone else. But such a someone else might see that interaction, not know the style is selective, and not want to go anywhere near that discussion. The Racket community is usually good about online tone. But I suppose this thread topic is more important and emotional than most of our technical threads, and there's a lot of good intent behind that. -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [racket-users] Naive question on how to capitalize only the first word of a string
Robby's answer was more idiomatic Racket, and mine was idomatic-Scheme-and-also-OK-Racket, by habit. :) I'd suggest reading both implementations. As you learn more Racket, you'll start to get a feel for your preferred linguistic style(s), and you'll notice different people have a lot more stylistic variation than just these two. Also, if you're coming from low-level programming: don't worry about micro-optimizing for performance, yet -- performance was one head-scratcher that bothered me when I first started learning, but it's complicated, and comes later. Robby also added unit tests, setting a proper example from the start. -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [racket-users] RacketCon Code of Conduct
If by whiskey, Jack. Your guarantees on this matter are unenforceable and therefore meaningless, and any further comment on my ignorance will likely violate any CoC you care to throw your weight behind, so best get it out now because you can't unring this bell. On Mon, Jun 19, 2017 at 8:08 PM, Jack Firthwrote: > > These are invariably motte and bailey style arguments and the notion > that the only reason I or anyone else could possibly resent CoCs is some > desire to abuse their absence is astonishing. How you could not find such > groupthink "censorious" is beyond my ability to sympathize with. I can only > reiterate that CoCs are not some kind of dealbreaker for me personally but > as this is an open discussion I will just say I don't think they're all > benefit and no cost. My disagreement on this matter does not constitute an > admission of guilt; to abuse a racket construct: there's a bug in your > contract spec, it's blaming the wrong party. > > The important point is that a CoC is a choice to prioritize the safety, > welfare, and happiness of minority groups over the privilege of individuals > to say / do whatever they want. Sure, you might say that's a tradeoff, and > sure, you could call that censorship, but whatever "cost" there is of > hypothetically blaming a party inappropriately is worth paying ten times > over for the benefit of making traditionally less-welcomed people more > included. I guarantee you the incidents a CoC is designed to prevent occur > *far* more often than any incidents of mis-applying the CoC to an innocent > individual. Not realizing that is willful ignorance. > > -- > You received this message because you are subscribed to the Google Groups > "Racket Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to racket-users+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [racket-users] Naive question on how to capitalize only the first word of a string
On Mon, Jun 19, 2017 at 8:12 PM, Glenn Hoetkerwrote: > I'm quite new to Racket/LISP, so I hope this isn't breathtakingly obvious. > Can someone please tell me the best way to capitalize just the first word in > a multiword string. So, given the string "it was a dark and stormy night", I > would like to get "It was a dark and stormy night". I see functions for > turning everything lower case, everything uppercase or capitalizing each > word, but nothing in line with what I hope to do. > >> (define it "cat dog") >> (string-titlecase it) > "Dog Cat" ; So close, but not quite "Dog cat" as I want. > > Many thanks. > Yet another option: #lang racket (define (cap-first str) (match (string->list str) [(cons x xs) (list->string (cons (char-upcase x) xs))] [_ str])) -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[racket-users] Re: Naive question on how to capitalize only the first word of a string
Given how many solutions everyone's giving, this would be a good rosetta code task :) -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [racket-users] Naive question on how to capitalize only the first word of a string
Here's another way to implement it. Fun. :) #lang racket (provide (contract-out [cap-first (-> string? string?)])) (define (cap-first s) (apply string (for/list ([c (in-string s)] [i (in-naturals)]) (if (= i 0) (char-upcase c) c (module+ test (require rackunit) (check-equal? (cap-first "") "") (check-equal? (cap-first "Cat dog") "Cat dog") (check-equal? (cap-first "cat dog") "Cat dog")) Robby On Mon, Jun 19, 2017 at 7:40 PM, Neil Van Dykewrote: > Welcome to Racket! > > One intro-to-Racket-compared-to-some-other-languages thing I'll just say > upfront is that you don't want to modify the string itself, not that you > asked to. (Not all Racket strings are mutable. Plus, mutating introduces a > bunch more possibilities for bugs, and for string operations, we usually are > in the "pure functional" school of thought. There are rare situations in > which you'll want to mutate strings, but that's an advanced topic, after > comfortable with idiomatic Racket.) > > I'm not aware of this particular procedure in base Racket, so here's one > implementation. Someone new to Racket might like to read through this > procedure and try to figure out the thinking of how the language and > standard library was used. > > (define (string-capitalize str) > (or (string? str) > (raise-argument-error 'capitalize > "string?" > str)) > (if (equal? "" str) > str > (let ((first-char (string-ref str 0))) > (if (char-lower-case? first-char) > (string-append (string (char-upcase first-char)) >(substring str 1)) > str > > Note that this assumes that the first character of the string is also the > first character of any first word. If there might be whitespace or other > non-alphabetic characters before a lowercase alphabetic character, and your > policy would be to find the start of the word, then you'd probably want to > document the exact policy, and then code a loop to check successive > characters (until a determining character or the end of string is found). > > > -- > You received this message because you are subscribed to the Google Groups > "Racket Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to racket-users+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [racket-users] Naive question on how to capitalize only the first word of a string
Welcome to Racket! One intro-to-Racket-compared-to-some-other-languages thing I'll just say upfront is that you don't want to modify the string itself, not that you asked to. (Not all Racket strings are mutable. Plus, mutating introduces a bunch more possibilities for bugs, and for string operations, we usually are in the "pure functional" school of thought. There are rare situations in which you'll want to mutate strings, but that's an advanced topic, after comfortable with idiomatic Racket.) I'm not aware of this particular procedure in base Racket, so here's one implementation. Someone new to Racket might like to read through this procedure and try to figure out the thinking of how the language and standard library was used. (define (string-capitalize str) (or (string? str) (raise-argument-error 'capitalize "string?" str)) (if (equal? "" str) str (let ((first-char (string-ref str 0))) (if (char-lower-case? first-char) (string-append (string (char-upcase first-char)) (substring str 1)) str Note that this assumes that the first character of the string is also the first character of any first word. If there might be whitespace or other non-alphabetic characters before a lowercase alphabetic character, and your policy would be to find the start of the word, then you'd probably want to document the exact policy, and then code a loop to check successive characters (until a determining character or the end of string is found). -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[racket-users] Re: Naive question on how to capitalize only the first word of a string
On Monday, June 19, 2017 at 5:12:10 PM UTC-7, Glenn Hoetker wrote: > I'm quite new to Racket/LISP, so I hope this isn't breathtakingly obvious. > Can someone please tell me the best way to capitalize just the first word in > a multiword string. So, given the string "it was a dark and stormy night", I > would like to get "It was a dark and stormy night". I see functions for > turning everything lower case, everything uppercase or capitalizing each > word, but nothing in line with what I hope to do. > > > (define it "cat dog") > > (string-titlecase it) > "Dog Cat" ; So close, but not quite "Dog cat" as I want. > > Many thanks. You'll want to split the string into a list of words and apply the capitalization function to only the first word. (define (capitalize-first sentence-str) (string-join (list-update (string-split sentence-str) 0 string-titlecase))) Disclaimer: this will do some weird things to the whitespace in sentence-str (e.g. convert newlines to spaces); you might want to tweak that. -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [racket-users] Naive question on how to capitalize only the first word of a string
I don't think there's a library function that does what you want, so you'd need to define your own. Here's one way to do it: (define (capitalize-first-letter str) (cond [(non-empty-string? str) (define first-letter-str (substring str 0 1)) (define rest-str (substring str 1 (string-length str))) (string-append (string-upcase first-letter-str) rest-str)] [else ""])) -Philip On Mon, Jun 19, 2017 at 5:12 PM, Glenn Hoetkerwrote: > I'm quite new to Racket/LISP, so I hope this isn't breathtakingly > obvious. Can someone please tell me the best way to capitalize just the > first word in a multiword string. So, given the string "it was a dark and > stormy night", I would like to get "It was a dark and stormy night". I see > functions for turning everything lower case, everything uppercase or > capitalizing each word, but nothing in line with what I hope to do. > > > (define it "cat dog") > > (string-titlecase it) > "Dog Cat" ; So close, but not quite "Dog cat" as I want. > > Many thanks. > > > -- > You received this message because you are subscribed to the Google Groups > "Racket Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to racket-users+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[racket-users] Naive question on how to capitalize only the first word of a string
I'm quite new to Racket/LISP, so I hope this isn't breathtakingly obvious. Can someone please tell me the best way to capitalize just the first word in a multiword string. So, given the string "it was a dark and stormy night", I would like to get "It was a dark and stormy night". I see functions for turning everything lower case, everything uppercase or capitalizing each word, but nothing in line with what I hope to do. > (define it "cat dog") > (string-titlecase it) "Dog Cat" ; So close, but not quite "Dog cat" as I want. Many thanks. -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [racket-users] RacketCon Code of Conduct
> These are invariably motte and bailey style arguments and the notion that the > only reason I or anyone else could possibly resent CoCs is some desire to > abuse their absence is astonishing. How you could not find such groupthink > "censorious" is beyond my ability to sympathize with. I can only reiterate > that CoCs are not some kind of dealbreaker for me personally but as this is > an open discussion I will just say I don't think they're all benefit and no > cost. My disagreement on this matter does not constitute an admission of > guilt; to abuse a racket construct: there's a bug in your contract spec, it's > blaming the wrong party. The important point is that a CoC is a choice to prioritize the safety, welfare, and happiness of minority groups over the privilege of individuals to say / do whatever they want. Sure, you might say that's a tradeoff, and sure, you could call that censorship, but whatever "cost" there is of hypothetically blaming a party inappropriately is worth paying ten times over for the benefit of making traditionally less-welcomed people more included. I guarantee you the incidents a CoC is designed to prevent occur *far* more often than any incidents of mis-applying the CoC to an innocent individual. Not realizing that is willful ignorance. -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [racket-users] RacketCon Code of Conduct
This is not my call, but in the traditional Racket convention of everyone voicing thoughts... One gentle way to communicate awareness and intent of inclusiveness: "The Racket community enjoys and appreciates a collegial and helpful atmosphere, in which everyone feels welcome. We expect that everyone will have a good experience at RacketCon, and that everyone will help to make it a good experience for everyone else. Any concerns or suggestions, small or large, please feel encouraged to approach any conference organizer or core Racket person." What the above doesn't address: whether there should be a CoC explicit itemization of rules. There's a breadth of thoughtful opinions on that question, and it's complicated. My thoughts have changed a bit as a result of this thread, and a decision would seem to come down to balancing goals and guessing, so I'd just like to toss out a few thoughts: * It is important to acknowledge that inclusiveness is an issue, and to communicate good intent about inclusiveness. That's part of what people are looking for. * Some of the CoCs that people cited in this thread included rules that I know *aren't* universally-accepted in broad IT conference circles. (One, relatively light, example: many people assume that everyone at a conference doesn't mind being photographed and tagged in Facebook and such, but I've heard from a few PL people who absolutely do mind, to the point that they've avoided some events for that reason. The heavier examples include things like very different ideas about the appropriateness of "flirting" in various contexts, and different understandings of how discouraging unwanted attention like that can be.) Whether there will be sufficient universally-accepted behavior in future years of RacketCon, as it hopefully grows, I don't know. * I think that Racket is an unusually (not "usually"; typo in an earlier message) good community, and, AFAIK, has a good track record on inclusiveness. (Though I want to see a lot more female names in "From:" headers on this email list!) * I suspect Fortune 500 corporate lawyers could go either way (on CoC vs. welcoming statement), out of purely risk-averse intent. Racket is not a Fortune 500, and it is driven mostly by universities, which are supposed to have broadly constructive intent. * Sometimes a gentle position is blind to problems. In this particular case, I suspect we can afford gentle. * I think this is probably a situation in which implicit high expectations elevate everyone. * There's been a lot of awareness-raising in this thread, and in recent history of other conferences, which helps. * In activism, some of the most encouraging stories are from when something was starting to go bad, but then people stepped up, with grace. (Ambiguity: when is the occasion to step up, and what is the graceful move.) -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [racket-users] RacketCon Code of Conduct
>Bluntly, if someone finds the admonition to refrain from harassment "censorious", then it is likely they are exactly the sort of person that a Code of Conduct is in fact *designed* to make feel unwelcome. These are invariably motte and bailey style arguments and the notion that the only reason I or anyone else could possibly resent CoCs is some desire to abuse their absence is astonishing. How you could not find such groupthink "censorious" is beyond my ability to sympathize with. I can only reiterate that CoCs are not some kind of dealbreaker for me personally but as this is an open discussion I will just say I don't think they're all benefit and no cost. My disagreement on this matter does not constitute an admission of guilt; to abuse a racket construct: there's a bug in your contract spec, it's blaming the wrong party. On Mon, Jun 19, 2017 at 3:31 PM, John Berrywrote: > The problem with the longer text, such as the Strange Loop one[1], is that >> it's manifestly _very_ hard to come up with a text that doesn't radiate >> censoriousness; and however much this isn't the literal implication of the >> text, it does implant the notion that the reader or the community has >> behaviour problems. That text does not radiate 'you are welcome' -- it >> tells me, 'we have so many gits roaming the corridors of our conference >> that we have to police them'. In its phrasing, a text like this appears to >> presume that the reader is an undersocialised thug, who needs to be given >> an extensive but non-exhaustive list of things to remember not to do. One >> has to carefully suppress one's initial reaction to it, and smile sweetly. > > > Bluntly, if someone finds the admonition to refrain from harassment > "censorious", then it is likely they are exactly the sort of person that a > Code of Conduct is in fact *designed* to make feel unwelcome. > > This is a feature, not a design flaw. > > > > On Mon, Jun 19, 2017 at 9:13 PM, Stephen De Gabrielle < > spdegabrie...@gmail.com> wrote: > >> I would suggest that it is more important to get a COC on the RacketCon >> website than it is to argue over the wording. I would suggest that every >> day that passes without a CoC on the website adds to the risk that possible >> racketcon participants might decide not to go... to the detriment of the >> Racket community. >> >> I really love how welcoming this community is - even more than I love the >> ideas you put into or expressed with Racket. It is your greatest strength. >> >> Kind regards >> >> Stephen >> On Mon, 19 Jun 2017 at 18:55, Norman Gray wrote: >> >>> >>> Greetings. >>> >>> On 19 Jun 2017, at 16:18, John Berry wrote: >>> >>> > Nothing about a document saying "hey, don't be an ass" implies that >>> > the >>> > reader themselves, or the community, are asses. Only that the >>> > community >>> > values not being an ass, and those who might wish to join that >>> > community >>> > and not be an ass are welcome, and that those who have had to deal >>> > with too >>> > many asses will hopefully find fewer here. >>> >>> If the document literally said just 'hey, don't be an ass', or 'don't be >>> a git', or 'c'mon, behave', then that would be fine. Perhaps it could >>> have a footnote saying 'Surely you can tell when you're being a git -- >>> if you for some reason have difficulty with this, then see [link]'. A >>> text like that presumes that the reader is grown-up, but indicates, for >>> the avoidance of doubt, that adult civility is indeed expected in the >>> meeting. >>> >>> The problem with the longer text, such as the Strange Loop one[1], is >>> that it's manifestly _very_ hard to come up with a text that doesn't >>> radiate censoriousness; and however much this isn't the literal >>> implication of the text, it does implant the notion that the reader or >>> the community has behaviour problems. That text does not radiate 'you >>> are welcome' -- it tells me, 'we have so many gits roaming the corridors >>> of our conference that we have to police them'. In its phrasing, a text >>> like this appears to presume that the reader is an undersocialised thug, >>> who needs to be given an extensive but non-exhaustive list of things to >>> remember not to do. One has to carefully suppress one's initial >>> reaction to it, and smile sweetly. >>> >>> Also, any text like that almost inevitably acquires a legalistic air, >>> and just screams out for disputation, and the reddit thread... >>> >>> > For the unconvinced, I really appreciated Graydon Hoare's perspective >>> > on >>> > why he implemented the Rust CoC. >>> > https://www.reddit.com/r/rust/comments/6ewjt5/question_ >>> > about_rusts_odd_code_of_conduct/didrult/ >>> > https://www.reddit.com/r/rust/comments/6ewjt5/question_ >>> > about_rusts_odd_code_of_conduct/dif1xvb/ >>> >>> ...seems to corroborate this. >>> >>> To clarify, this remark is about communication and presentation. The >>> underlying wish to encourage civility
Re: [racket-users] RacketCon Code of Conduct
> > The problem with the longer text, such as the Strange Loop one[1], is that > it's manifestly _very_ hard to come up with a text that doesn't radiate > censoriousness; and however much this isn't the literal implication of the > text, it does implant the notion that the reader or the community has > behaviour problems. That text does not radiate 'you are welcome' -- it > tells me, 'we have so many gits roaming the corridors of our conference > that we have to police them'. In its phrasing, a text like this appears to > presume that the reader is an undersocialised thug, who needs to be given > an extensive but non-exhaustive list of things to remember not to do. One > has to carefully suppress one's initial reaction to it, and smile sweetly. Bluntly, if someone finds the admonition to refrain from harassment "censorious", then it is likely they are exactly the sort of person that a Code of Conduct is in fact *designed* to make feel unwelcome. This is a feature, not a design flaw. On Mon, Jun 19, 2017 at 9:13 PM, Stephen De Gabrielle < spdegabrie...@gmail.com> wrote: > I would suggest that it is more important to get a COC on the RacketCon > website than it is to argue over the wording. I would suggest that every > day that passes without a CoC on the website adds to the risk that possible > racketcon participants might decide not to go... to the detriment of the > Racket community. > > I really love how welcoming this community is - even more than I love the > ideas you put into or expressed with Racket. It is your greatest strength. > > Kind regards > > Stephen > On Mon, 19 Jun 2017 at 18:55, Norman Graywrote: > >> >> Greetings. >> >> On 19 Jun 2017, at 16:18, John Berry wrote: >> >> > Nothing about a document saying "hey, don't be an ass" implies that >> > the >> > reader themselves, or the community, are asses. Only that the >> > community >> > values not being an ass, and those who might wish to join that >> > community >> > and not be an ass are welcome, and that those who have had to deal >> > with too >> > many asses will hopefully find fewer here. >> >> If the document literally said just 'hey, don't be an ass', or 'don't be >> a git', or 'c'mon, behave', then that would be fine. Perhaps it could >> have a footnote saying 'Surely you can tell when you're being a git -- >> if you for some reason have difficulty with this, then see [link]'. A >> text like that presumes that the reader is grown-up, but indicates, for >> the avoidance of doubt, that adult civility is indeed expected in the >> meeting. >> >> The problem with the longer text, such as the Strange Loop one[1], is >> that it's manifestly _very_ hard to come up with a text that doesn't >> radiate censoriousness; and however much this isn't the literal >> implication of the text, it does implant the notion that the reader or >> the community has behaviour problems. That text does not radiate 'you >> are welcome' -- it tells me, 'we have so many gits roaming the corridors >> of our conference that we have to police them'. In its phrasing, a text >> like this appears to presume that the reader is an undersocialised thug, >> who needs to be given an extensive but non-exhaustive list of things to >> remember not to do. One has to carefully suppress one's initial >> reaction to it, and smile sweetly. >> >> Also, any text like that almost inevitably acquires a legalistic air, >> and just screams out for disputation, and the reddit thread... >> >> > For the unconvinced, I really appreciated Graydon Hoare's perspective >> > on >> > why he implemented the Rust CoC. >> > https://www.reddit.com/r/rust/comments/6ewjt5/question_ >> > about_rusts_odd_code_of_conduct/didrult/ >> > https://www.reddit.com/r/rust/comments/6ewjt5/question_ >> > about_rusts_odd_code_of_conduct/dif1xvb/ >> >> ...seems to corroborate this. >> >> To clarify, this remark is about communication and presentation. The >> underlying wish to encourage civility is entirely laudable, and the >> experience of being on the wrong end of careless or careful incivility >> would be entirely unpleasant and deplorable, and a conference should aim >> to discourage such incivility by any available effective mechanisms. >> >> If, after all, the only effective mechanism is a rule-book such as is >> being discussed, then can I commend the FreeBSD code [2] which I think >> communicates the underlying goals very well, even though it's primarily >> intended to cover behaviour online, rather than face-to-face. To my ear >> it benefits from a very slightly old-fashioned air, including the rather >> old-fashioned implication that 'we're sure this stuff doesn't really >> need to be said, but since you ask...' >> >> Best wishes, >> >> Norman >> >> >> [1] https://www.thestrangeloop.com/policies.html >> [2] https://www.freebsd.org/internal/code-of-conduct.html >> >> -- >> Norman Gray : https://nxg.me.uk >> SUPA School of Physics and Astronomy, University of
Re: [racket-users] RacketCon Code of Conduct
I would suggest that it is more important to get a COC on the RacketCon website than it is to argue over the wording. I would suggest that every day that passes without a CoC on the website adds to the risk that possible racketcon participants might decide not to go... to the detriment of the Racket community. I really love how welcoming this community is - even more than I love the ideas you put into or expressed with Racket. It is your greatest strength. Kind regards Stephen On Mon, 19 Jun 2017 at 18:55, Norman Graywrote: > > Greetings. > > On 19 Jun 2017, at 16:18, John Berry wrote: > > > Nothing about a document saying "hey, don't be an ass" implies that > > the > > reader themselves, or the community, are asses. Only that the > > community > > values not being an ass, and those who might wish to join that > > community > > and not be an ass are welcome, and that those who have had to deal > > with too > > many asses will hopefully find fewer here. > > If the document literally said just 'hey, don't be an ass', or 'don't be > a git', or 'c'mon, behave', then that would be fine. Perhaps it could > have a footnote saying 'Surely you can tell when you're being a git -- > if you for some reason have difficulty with this, then see [link]'. A > text like that presumes that the reader is grown-up, but indicates, for > the avoidance of doubt, that adult civility is indeed expected in the > meeting. > > The problem with the longer text, such as the Strange Loop one[1], is > that it's manifestly _very_ hard to come up with a text that doesn't > radiate censoriousness; and however much this isn't the literal > implication of the text, it does implant the notion that the reader or > the community has behaviour problems. That text does not radiate 'you > are welcome' -- it tells me, 'we have so many gits roaming the corridors > of our conference that we have to police them'. In its phrasing, a text > like this appears to presume that the reader is an undersocialised thug, > who needs to be given an extensive but non-exhaustive list of things to > remember not to do. One has to carefully suppress one's initial > reaction to it, and smile sweetly. > > Also, any text like that almost inevitably acquires a legalistic air, > and just screams out for disputation, and the reddit thread... > > > For the unconvinced, I really appreciated Graydon Hoare's perspective > > on > > why he implemented the Rust CoC. > > https://www.reddit.com/r/rust/comments/6ewjt5/question_ > > about_rusts_odd_code_of_conduct/didrult/ > > https://www.reddit.com/r/rust/comments/6ewjt5/question_ > > about_rusts_odd_code_of_conduct/dif1xvb/ > > ...seems to corroborate this. > > To clarify, this remark is about communication and presentation. The > underlying wish to encourage civility is entirely laudable, and the > experience of being on the wrong end of careless or careful incivility > would be entirely unpleasant and deplorable, and a conference should aim > to discourage such incivility by any available effective mechanisms. > > If, after all, the only effective mechanism is a rule-book such as is > being discussed, then can I commend the FreeBSD code [2] which I think > communicates the underlying goals very well, even though it's primarily > intended to cover behaviour online, rather than face-to-face. To my ear > it benefits from a very slightly old-fashioned air, including the rather > old-fashioned implication that 'we're sure this stuff doesn't really > need to be said, but since you ask...' > > Best wishes, > > Norman > > > [1] https://www.thestrangeloop.com/policies.html > [2] https://www.freebsd.org/internal/code-of-conduct.html > > -- > Norman Gray : https://nxg.me.uk > SUPA School of Physics and Astronomy, University of Glasgow, UK > > -- > You received this message because you are subscribed to the Google Groups > "Racket Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to racket-users+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- Kind regards, Stephen -- -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [racket-users] RacketCon Code of Conduct
Greetings. On 19 Jun 2017, at 16:18, John Berry wrote: Nothing about a document saying "hey, don't be an ass" implies that the reader themselves, or the community, are asses. Only that the community values not being an ass, and those who might wish to join that community and not be an ass are welcome, and that those who have had to deal with too many asses will hopefully find fewer here. If the document literally said just 'hey, don't be an ass', or 'don't be a git', or 'c'mon, behave', then that would be fine. Perhaps it could have a footnote saying 'Surely you can tell when you're being a git -- if you for some reason have difficulty with this, then see [link]'. A text like that presumes that the reader is grown-up, but indicates, for the avoidance of doubt, that adult civility is indeed expected in the meeting. The problem with the longer text, such as the Strange Loop one[1], is that it's manifestly _very_ hard to come up with a text that doesn't radiate censoriousness; and however much this isn't the literal implication of the text, it does implant the notion that the reader or the community has behaviour problems. That text does not radiate 'you are welcome' -- it tells me, 'we have so many gits roaming the corridors of our conference that we have to police them'. In its phrasing, a text like this appears to presume that the reader is an undersocialised thug, who needs to be given an extensive but non-exhaustive list of things to remember not to do. One has to carefully suppress one's initial reaction to it, and smile sweetly. Also, any text like that almost inevitably acquires a legalistic air, and just screams out for disputation, and the reddit thread... For the unconvinced, I really appreciated Graydon Hoare's perspective on why he implemented the Rust CoC. https://www.reddit.com/r/rust/comments/6ewjt5/question_ about_rusts_odd_code_of_conduct/didrult/ https://www.reddit.com/r/rust/comments/6ewjt5/question_ about_rusts_odd_code_of_conduct/dif1xvb/ ...seems to corroborate this. To clarify, this remark is about communication and presentation. The underlying wish to encourage civility is entirely laudable, and the experience of being on the wrong end of careless or careful incivility would be entirely unpleasant and deplorable, and a conference should aim to discourage such incivility by any available effective mechanisms. If, after all, the only effective mechanism is a rule-book such as is being discussed, then can I commend the FreeBSD code [2] which I think communicates the underlying goals very well, even though it's primarily intended to cover behaviour online, rather than face-to-face. To my ear it benefits from a very slightly old-fashioned air, including the rather old-fashioned implication that 'we're sure this stuff doesn't really need to be said, but since you ask...' Best wishes, Norman [1] https://www.thestrangeloop.com/policies.html [2] https://www.freebsd.org/internal/code-of-conduct.html -- Norman Gray : https://nxg.me.uk SUPA School of Physics and Astronomy, University of Glasgow, UK -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [racket-users] RacketCon Code of Conduct
I will always 100% support the adoption of a CoC drafted by people with experience in dealing with discrimination, harassment, and toxic behaviour. It is impossible to understate just how much gets swept under the rug without one, and increasingly, the lack of one itself tends to attract toxic people who use terms like "virtue signalling" unironically. The GFW/Strange Loop CoC is well worn and considered and would be as good as any we'd be liable to come up with ourselves. Nothing about a document saying "hey, don't be an ass" implies that the reader themselves, or the community, are asses. Only that the community values not being an ass, and those who might wish to join that community and not be an ass are welcome, and that those who have had to deal with too many asses will hopefully find fewer here. For the unconvinced, I really appreciated Graydon Hoare's perspective on why he implemented the Rust CoC. https://www.reddit.com/r/rust/comments/6ewjt5/question_ about_rusts_odd_code_of_conduct/didrult/ https://www.reddit.com/r/rust/comments/6ewjt5/question_ about_rusts_odd_code_of_conduct/dif1xvb/ On Fri, Jun 16, 2017 at 9:44 PM, Leif Andersenwrote: > RacketCon 2017 should have a code of conduct, as pointed out by Claire on > twitter [1], and I absolutely agree. It doesn't have to be anything fancy, > and can be a fairly standard one. > > Although we are not co-located with Strange Loop this year, they have a > fairly sensible one that we could use [2], which is adapted from the one > from the geek feminism wiki [3]. > > Does anyone have any opinions on what we use? I would also be happy to add > it to the RacketCon web page. > > [1]: https://twitter.com/chckadee/status/874345544977707008 > [2]: https://www.thestrangeloop.com/policies.html > [3]: https://geekfeminism.org/about/code-of-conduct/ > > ~Leif Andersen > > -- > You received this message because you are subscribed to the Google Groups > "Racket Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to racket-users+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.