RX14 changed the topic of #crystal-lang to: The Crystal programming language | http://crystal-lang.org | Crystal 0.20.0 | Fund Crystals development: http://is.gd/X7PRtI | Paste > 3 lines of text to https://gist.github.com | GH: https://github.com/crystal-lang/crystal | Docs: http://crystal-lang.org/docs/ | API: http://crystal-lang.org/api/ | Logs: http://irclog.whitequark.org/crystal-lang
snsei has joined #crystal-lang
emancu has joined #crystal-lang
_whitelogger has joined #crystal-lang
<crystal-gh> crystal/master 50dd1fd Ary Borenszweig: Set: use backticks in code examples, so the formatter is used. Also favor Set{...} instead of Set.new([...]).
<crystal-gh> crystal/master b8894e5 Ary Borenszweig: Rename Set#merge to Set#merge!. Fixes #3625
<crystal-gh> crystal/master fda7873 Ary Borenszweig: Slice.new(size) now only works for primitive integers and floats. Fixes #3624
<crystal-gh> [crystal] asterite pushed 4 new commits to master: https://git.io/v1Wfm
<crystal-gh> [crystal] rdp opened pull request #3629: cross compile: make it clearer what is being output (master...better_cc) https://git.io/v1WJs
soveran has joined #crystal-lang
soveran has joined #crystal-lang
soveran has quit [Changing host]
soveran has quit [Ping timeout: 250 seconds]
<travis-ci> crystal-lang/crystal#e637f56 (master - Fixed #3626: HTTP::Headers#includes_word? should be case-insensitive): The build passed. https://travis-ci.org/crystal-lang/crystal/builds/180874529
<DeBot> https://github.com/crystal-lang/crystal/issues/3626 (HTTP::Headers is case-sensitive)
soveran has joined #crystal-lang
soveran has quit [Ping timeout: 256 seconds]
<crystal-gh> [crystal] asterite pushed 2 new commits to master: https://git.io/v1WqE
<crystal-gh> crystal/master 10ad407 Ary Borenszweig: Compiler: hide redundant initialize error trace segment
<crystal-gh> crystal/master 8960fb9 Ary Borenszweig: Compiler: hide macro raise error trace for better error messages
bjz has joined #crystal-lang
bjz_ has quit [Ping timeout: 260 seconds]
<travis-ci> crystal-lang/crystal#10ad407 (master - Compiler: hide redundant initialize error trace segment): The build passed. https://travis-ci.org/crystal-lang/crystal/builds/180892868
pduncan has quit [Ping timeout: 245 seconds]
soveran has joined #crystal-lang
soveran has quit [Ping timeout: 245 seconds]
snsei has quit [Remote host closed the connection]
pawnbox has joined #crystal-lang
soveran has joined #crystal-lang
pawnbox has quit [Remote host closed the connection]
snsei has joined #crystal-lang
soveran has quit [Ping timeout: 260 seconds]
pawnbox has joined #crystal-lang
soveran has joined #crystal-lang
bjz has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
bjz has joined #crystal-lang
stnly has joined #crystal-lang
snsei has quit [Remote host closed the connection]
ponga has joined #crystal-lang
matp_ has joined #crystal-lang
matp has quit [Ping timeout: 250 seconds]
snsei has joined #crystal-lang
muelleme has joined #crystal-lang
snsei has quit [Ping timeout: 260 seconds]
snsei has joined #crystal-lang
snsei has quit [Ping timeout: 250 seconds]
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #crystal-lang
pduncan has joined #crystal-lang
pduncan has quit [Ping timeout: 260 seconds]
maxtrelle has joined #crystal-lang
maxtrelle has quit [Client Quit]
pawnbox has quit [Ping timeout: 260 seconds]
pawnbox has joined #crystal-lang
pawnbox has quit [Remote host closed the connection]
bjz has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
vivus-ignis has joined #crystal-lang
muelleme has quit [Ping timeout: 244 seconds]
<FromGitter> <crisward> Trying to use DB.mapping / JSON.mapping with Bools in mysql, any ideas? I've added int8 to the Mysql Driver, but I think I need a converter on the JSON mapping to format the int8 as a bool.
pawnbox has joined #crystal-lang
muelleme has joined #crystal-lang
muelleme has quit [Ping timeout: 268 seconds]
vivus-ignis1 has joined #crystal-lang
vivus-ignis has quit [Ping timeout: 268 seconds]
vivus-ignis1 is now known as vivus-ignis
pawnbox has quit [Remote host closed the connection]
<FromGitter> <zatherz> I can't express how much this disappoints me https://github.com/crystal-lang/crystal/issues/3273
<FromGitter> <zatherz> The developers' actions, that is
<crystal-gh> [crystal] asterite pushed 1 new commit to master: https://git.io/v1WEE
<crystal-gh> crystal/master d440045 Ary Borenszweig: Macros: rename argify to splat. Added double_splat method. Fixes #3630
<FromGitter> <sdogruyol> @zatherz the developer, who?
<FromGitter> <zatherz> Dissent is apparently not allowed
<FromGitter> <zatherz> The discussion was peaceful and it was just closed
<crystal-gh> [crystal] asterite closed pull request #3617: Fix doc of the type having generic superclass (master...fix/doc/superclass-list-bug) https://git.io/v1sNH
muelleme has joined #crystal-lang
<crystal-gh> [crystal] asterite closed pull request #3623: Select anchor from location.hash on page load (master...docs-onload-anchor) https://git.io/v1cuJ
emancu has quit []
<FromGitter> <asterite> @zatherz The discussion was peaceful there, but he was insulting in his twitter account about this issue, and also insulting here on IRC.
<FromGitter> <zatherz> still, that's not a reason to close the whole issue
<FromGitter> <zatherz> there may be people other than the original poster who agree with the issue itself
<tilpner> @zatherz - I might be missing something, but to me it looks like it wasn't closed for dissent, but rather for being unable to source the claim that the CoC effects all private interaction, no?
<FromGitter> <asterite> Yes, just as well as people that disagree with that. So what should be done? I don't think there's a code of conduct that will please everyone. We are honestly trying to focus on code and good behaviour rather than endlessly discussing what's the perfect solution for the problem is
<FromGitter> <sdogruyol> +1 to @asterite
<Papierkorb> I'm generally more suprised that this is an actual, real-world problem. Maybe I'm not around enough in OSS, but never seen such acts myself
<FromGitter> <sdogruyol> i'm actually scared by these kind of things as a non-native speaker of English
<Papierkorb> ^
<FromGitter> <sdogruyol> i just act / believe in being a good person and "no bullshit"
pawnbox has joined #crystal-lang
<Papierkorb> Anyone could "feel offended" by anything. Some have issues with "guys" (oh what a mess that was in #ruby). It's like banning books - oh wait, american schools actually do that. The whole thing is a pure mess, and after I wasted much time on it last year, I was happy the whole dilemma simply died down
<FromGitter> <zatherz> @asterite My thinking is that a code of conduct is way too political for a programming language project
<Papierkorb> sdogruyol, yep, or as Matz put it: MINASWAN
<Papierkorb> Simple and to the point. Beatiful.
<FromGitter> <sdogruyol> yeah MINASWAN is great
<FromGitter> <sdogruyol> and using "guys" is pretty normal for me
<FromGitter> <sdogruyol> i dont mean to offend anyone yet i dont want to
<Yxhuvud> papierkorb: But the coc doesn't forbid offending people - it forbids harassing people. Which is a totally different ballgame
<FromGitter> <asterite> @zatherz Do you suggest we remove the code of conduct?
<Papierkorb> Yxhuvud: See above, I questioned if this is an actual problem or not, as I've seen no instances of such yet
<FromGitter> <zatherz> @asterite I do.
<FromGitter> <sdogruyol> imho that's totally dependent on where people and their experiences
<FromGitter> <zatherz> there are a couple of things that worry me about the contributor covenant, such as "The use of sexualized language or imagery and unwelcome sexual attention or advances", specifically "The use of sexualized language" which is very vague
<FromGitter> <sdogruyol> i've never experienced / seen a harassment
<FromGitter> <zatherz> for example, if my username contains the name of male genitalia, is it sexualized language? is that harassment?
<Papierkorb> Yxhuvud: I think to evolve (in any way) you need leeway in the ruleset. Rules are to be written when need arises. Spamming is disallowed cause some spammed whatever. #Qt banned job postings because they were annoying and not appropriate over there. Etc
<FromGitter> <zatherz> "Other conduct which could reasonably be considered inappropriate in a professional setting" is incredibly vague, as well
<travis-ci> crystal-lang/crystal#d440045 (master - Macros: rename argify to splat. Added double_splat method. Fixes #3630): The build passed. https://travis-ci.org/crystal-lang/crystal/builds/180954640
<DeBot> https://github.com/crystal-lang/crystal/issues/3630 (bug passing all args from macro to function)
<FromGitter> <zatherz> and the Contributor's Covenant has a bad connotation due to Coraline Ada being the author of it, but I don't want to get into the details of that
<tilpner> @zatherz - The code itself doesn't need politics, but once you add developers and community, it's more than just "a programming language"
<FromGitter> <asterite> We could probably do that. I'm sure some will be offended with that decision. I'll have to discuss it waj and others here at Manas. The main issue we have right now is that we don't want to spend time on that, so it's easier to just leave things as they are instead of constantly debating this. I'm sure if we remove the CoC, another discussion thread will appear, people will be offended, and so on. In fact, here in the office,
<FromGitter> ... maybe because we are in Argentina, a CoC seems something really strange. It seems to be something more prevalent/useful in the US and maybe Europe. I'm sure in Japan it's also something strange, and that's why Ruby doesn't have a true CoC.
<FromGitter> <asterite> (do that: remove CoC)
<FromGitter> <zatherz> Thank you very much for considering this.
<Papierkorb> asterite, seems an american thing, never heard of this in Germany either
<FromGitter> <zatherz> Pole here, same.
<FromGitter> <sdogruyol> same here
<FromGitter> <asterite> Ah, good. I said Europe too because I thought that might be the case, though I suspected it was mostly a US thing
<FromGitter> <sdogruyol> guess it's mostly US
<FromGitter> <asterite> Same as those cups that say "content hot" so you don't sue a company because you spilled coffe on yourself... totally strange here in Argentina
<FromGitter> <sdogruyol> hahahaha
<FromGitter> <asterite> US has so many "too defensive" things... But I guess it's something good too
<FromGitter> <zatherz> One thing I've learned is that there will always be people who are offended at something, no matter what you do
<Yxhuvud> I find it funny how something that (as far as I know) never has been invoked can generate so much discussion.
<FromGitter> <sdogruyol> it's the people that invokes :D
<Papierkorb> Yxhuvud: "something that (as far as I know) never has been invoked" is the whole point
<FromGitter> <zatherz> Of course removing the CoC will generate discussion originating from the opposite side of the issue
<BlaXpirit> yeah
<BlaXpirit> i have nothing to add, except "i dislike the CoC"
<Papierkorb> It's what we in Germany call "Vorauseilender Gehorsam", or "anticipatory obedience"
<tilpner> Papierkorb - I never heard that O.o
<FromGitter> <zatherz> But I think that can be handled well by clearly communicating that no form of harassment is okay, with a CoC or not
<FromGitter> <zatherz> And also by making people realize: if someone was gonna harass you, they are not gonna care about the code of conduct.
<Yxhuvud> on the other hand, it is pretty good to have rules in place in case someone turns out to be a big asshole.
<tilpner> But isn't saying "no harassment" a CoC by itself?
<Papierkorb> tilpner: The issue starts with the "CoC" as name, it's burned
<FromGitter> <zatherz> It is, I guess. A better way would be to say "When need arises, non-vague rules will be made about the issue"
<tilpner> Then we're back to choosing one, and the current one isn't so bad. Every piece of text of reasonable shortness is going to be vague...
<FromGitter> <zatherz> When there are actual examples of harassment, the rules to prevent it can be made much less vague than "just in case rules"
<BlaXpirit> that's... not reasonable
<tilpner> Papierkorb - I don't see how, really. Surely the text matters more than the title?
<tilpner> FWIW, #rust had a quite prominent case where most mods would have acted the same w/ or w/o CoC, http://lindseykuper.livejournal.com/418854.html
Philpax has quit [Ping timeout: 246 seconds]
<FromGitter> <zatherz> tilpner: Insane overreaction, in my opinion. "please remember that not everyone in the IRC channel is a guy" was not necessary, and "boobs or gtfo" is a bit inappropriate humor, which in my opinion deserves a kick at most.
<FromGitter> <zatherz> but I don't want to sidetrack the main issue being discussed here so I'm not gonna continue
<travis-ci> crystal-lang/crystal#46a5372 (master - Fix doc of the type having generic superclass): The build passed. https://travis-ci.org/crystal-lang/crystal/builds/180955540
<Papierkorb> It's funny how people make an issue out of gender (replace that with anything you like that affects the personality) on the internet, where this is the place where exactly these perceived or real prejudices don't matter. This is my first and foremost gripe with this kind of thing
<tilpner> @zatherz - I agree that "guys" is rarely meant to actually address just males, and that it doesn't warrant the reminder. I wouldn't want https://botbot.me/mozilla/rust/2013-08-28/?msg=5544839&page=21 in a channel I participate in, and you said a kick would be enough. And nothing more happened here, so I don't see how there was an overreaction (on the mods side)?
<FromGitter> <zatherz> tilpner: "They left the channel a short while later of their own accord. Later, I emailed some people on the Rust team about what happened, and one of them banned the user. You can find the chat logs linked below."
<FromGitter> <zatherz> Papierkorb: exactly, I don't boast about being male on my pull requests, why should one boast about being a woman or whatever else
<Papierkorb> "Is the person I speak to from Germany?" - I have never asked that myself. I don't care, why should it matter? The person (could even be a smart bot!) requested help on IRC, the person will get help if someone feels like helping. If the person says "Oh I'm this and that, now help me because of that", what should I think about that person? This has never happened btw, and shall only serve as example.
<FromGitter> <zatherz> tilpner: Also, it infuriates me how that post removed part of the context of the message
<FromGitter> <zatherz> the full message is ⏎ ⏎ ```Do you have any proofs? ⏎ Boobs or gtfo.``` ⏎ ⏎ which makes it even obvious that it's a joke [https://gitter.im/crystal-lang/crystal?at=5842dc1c6b32e870497ec003]
<Papierkorb> zatherz, that's the common theme of all of such blogged incidents.
<Yxhuvud> It being intended as a joke doesn't make it any less harrassing though. Jokes carry meaning and intent like any other kind of speech.
<FromGitter> <zatherz> The point is that they don't
<FromGitter> <zatherz> There is no intent to force anyone to post pictures of their breasts in that message
<Papierkorb> I guess you heard of the from one person called "opal gate". What a nightmare. And the directed at person didn't do anything, if you dig out the complained-about tweets, you'd see yourself. It's insane.
<Yxhuvud> Just like any other kind of speech, you can joke about whatever, but you may be considered an asshole if you do it the wrong way.
<FromGitter> <zatherz> Papierkorb: It's what I meant when I said "the Contributor's Covenant has a bad connotation due to Coraline Ada being the author of it"
<Papierkorb> Figured as much zatherz :)
<FromGitter> <zatherz> Yxhuvud: Which is why I said it was a bit inappropriate joke and at most deserved a kick
<FromGitter> <zatherz> not a ban
<Yxhuvud> I'd preferred if it had been a temporal ban, say a day or so. A kick is nothing.
<tilpner> I mostly agree with you, there shouldn't have been a ban without giving the offender a second chance, but as Yxhuvud mentioned, a joke can be funny and harassing at the same time
<FromGitter> <zatherz> tilpner: dark humor can offend someone, yet I don't think people should be banned for making jokes that fit in that category ⏎ Yxhuvud: a kick communicates a point that it was considered too inappropriate, that's enough
<tilpner> We don't disagree here, the ban was too much
<tilpner> Or, too early
<travis-ci> crystal-lang/crystal#f802c37 (master - Select anchor from location.hash on page load): The build passed. https://travis-ci.org/crystal-lang/crystal/builds/180956268
<FromGitter> <mverzilli> just to add a little perspective on this, if you're man, straight, white, in your 20's to 40's, there's a very very very little chance you have "experienced" or "witnessed" harassment
<FromGitter> <zatherz> I have experienced harassment from people who complain about experiencing harassment from people in groups I have associated with
<FromGitter> <mverzilli> in what form?
<FromGitter> <zatherz> In the form of personal insults
<FromGitter> <zatherz> Don't act like only non-white people receive harassment ever
<FromGitter> <zatherz> That's quite racist.
<FromGitter> <mverzilli> Personal insults are harassment, but the fact that you received them from "people who complain about experiencing harassment" does not invalidate the point of establishing some explicit rules about conduct that may help people feel safer contributing.
<FromGitter> <zatherz> a Code of Conduct is useless
<FromGitter> <zatherz> if someone is gonna harass you, they are gonna harass you
<FromGitter> <zatherz> nobody's gonna think "oh wait, this markdown file says I can't do it so I won't do it"
<FromGitter> <sdogruyol> Yup
<FromGitter> <mverzilli> no, but it does state that the people in control of the project will not tolerate that behavior and will take actions to limit it
<FromGitter> <zatherz> That is always implied
<FromGitter> <mverzilli> no, that's the point, it may be implied for you, which is great. but it's not a given for a lot of people.
<FromGitter> <zatherz> What people
<FromGitter> <zatherz> Also, a better alternative to a code of conduct is actual non-vague rules
<FromGitter> <zatherz> which isn't as political
<FromGitter> <zatherz> and doesn't have the negative connotations
<FromGitter> <zatherz> but why does crystal need that when it's a programming language
<FromGitter> <zatherz> nobody's background matters
<FromGitter> <zatherz> nobody's race, age or gender matters
<FromGitter> <zatherz> I am fairly sure GitHub already has some rules in place for harassment and similiar
<FromGitter> <mverzilli> (let's leave the "political" tag out of the discussion, everything is political depending on who looks upon it). the point about vagueness is fair, and I think if you have concrete concerns about specific rules you can open issues pointing them out.
<FromGitter> <zatherz> this is GitHub's community guidelines: https://help.github.com/articles/github-community-guidelines/
<FromGitter> <zatherz> these apply to all of GitHub
<FromGitter> <zatherz> it's not perfect in my opinion, but it's much less vague than that code of conduct
<FromGitter> <zatherz> What are the community-specific guidelines for crystal though?
<FromGitter> <mverzilli> well, for now there's only the CoC
<FromGitter> <zatherz> the code of conduct is a bad copy of the github community guidelines
<FromGitter> <zatherz> The general idea is that we are not children and we can handle adult discussion. There is no need to cater to everyone who feels offended by anything, which is not to say that all harassment should be ignored.
<FromGitter> <mverzilli> It might be, it's a first approximation. But removing it is a step backwards IMO. That's why I'm suggesting you to open issues with concrete aspects of it that make you feel uncomfortable, and ideally with suggestions on how to make them more precise.
<FromGitter> <zatherz> How is it a step backwards? This is the point of this discussion
<FromGitter> <zatherz> Offense is taken, not given.
<FromGitter> <johnjansen> Hi all, just read all that and in part agree that this is a rare problem, since everyone here has thus far been very respectful (since you all seem that way at heart). However, without a clear set of guidelines, on what grounds will you reject / ban actions which aren't appropriate. I.e. What is appropriate becomes unknown / unspecified
<FromGitter> <zatherz> @johnjansen The GitHub Community Guidelines specify those behaviors already, and that applies to all of GitHub
<FromGitter> <zatherz> the Contributor's Covenant just causes it to get out of the scope of the project. ⏎ ⏎ ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=5842e5e81eb3d648694ee96f]
<Papierkorb> I think it's weird how we survived just fine with plain simple netiquette rules not even a decade ago
<FromGitter> <mverzilli> yeah, "when an individual is representing the project or its community"
<FromGitter> <johnjansen> Excellent. Thanks for that. One question though. Has the coc had any negative impact on anyone here?
<pawnbox> I think there's should be clear guidelines, in terms of what is considered offensive. Although these things happens rarely, mods can easily point to guidelines, when someone is out of line.
<FromGitter> <zatherz> pawnbox: Github Community Guidelines cover everything that's worth covering and that applies to all of GitHub.
<FromGitter> <zatherz> @johnjansen What exactly do you mean by negative impact?
<FromGitter> <johnjansen> Well, has anyone felt like they could comment on an issue because they needed to include sexual references to do so or extreme abuse etc
<FromGitter> <mverzilli> @zatherz notice that there are channels outside GitHub: IRC, Google Groups, for example. I'd honestly have to check whether the GitHub Community Guidelines really cover us as well.
<pawnbox> Exactly my point.
<FromGitter> <zatherz> In my opinion, the presence of the Code of Conduct in Crystal negatively impacts Crystal's image as "hipster" and "childish". It paints the image that Crystal contributors need extreme treatment because they aren't strong enough to handle criticism. Future possible sponsors may not want to associate with this kind of culture in fear of backlash.
<pawnbox> github covers just github
<FromGitter> <johnjansen> I wonder how burdensome the coc 's really are
<Papierkorb> mverzilli, just write it in the topic that the GH guidelines apply there, end of story?
<pawnbox> nnot all communication channels
<FromGitter> <zatherz> @mverzilli Then it can be specified in each of these channels: "This channel follows GitHub's Community Guidelines."
<FromGitter> <johnjansen> I personally like the coc's as they are professional in nature and closely align with workplace rules
<FromGitter> <mverzilli> I don't understand how handling criticism is related to stating that harassment isn't tolerated in the context of the community.
<FromGitter> <zatherz> @johnjansen The author of the Contributor's Covenant is a person well known for trying to get a person removed from a GitHub project for their opinion on Twitter, which negatively impacts the image of Crystal, too.
<FromGitter> <zatherz> @mverzilli Because the way the code of conduct is worded, it can be used against people with differing opinions under the coat of harassment or hate speech.
<FromGitter> <mverzilli> Could you be more explicit about the wording that would enable that that misuse?
<Papierkorb> mverzilli, look up "Opal gate" (I hate that name, it's ridicolous), as in the Github issue and then what the tweets really said.
<FromGitter> <zatherz> The Contributor's Covenant has the infamous clause of "We can ban everyone for everything even if it's not against the rules": ⏎ >Project maintainers have the right [...] to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
<FromGitter> <johnjansen> See I didn't know that and don't especially care, and to be frank don't run into the rules as a roadblock, so I'm not invested in the outcome. That is until the community stops being constructive. At which point I will likely walk
<Papierkorb> mverzilli, The person who filed the issue did not have anything better to do than find a random tweet, take it out of context, then assume malicious intent above it, and then try to make a public case out of it. This is harassment and, on this scale, kind of doxing as future employers may not want to deal with the person anymore, even if proven non-guilty. The person who filed the issue also wrote the "Contributors convenant", and
<Papierkorb> directly used it to harass people. If that's not insane I don't know what is
<FromGitter> <mverzilli> @zatherz well, I like that it is a concrete concern, and we could look for more specific ways of stating it that better express the intent
<FromGitter> <zatherz> @johnjansen Even if the Code of Conduct is "proffessional in nature", that particular code of conduct is associated with silencing of opinions and punishing for humor. It's wording is incredibly vague and creates a precedent for this kind of "opinion based moderating" to happen.
<FromGitter> <zatherz> What does Crystal want to cover with the code of conduct that isn't covered by the GitHub Community Guidelines?
<FromGitter> <mverzilli> Papierkorb, I looked for opal gate but unfortunately that tweet thread seems to start at the middle of a conversation, probably someone deleted tweets or something. Do you have access to the original complete conversation?
<Papierkorb> mverzilli, sorry no, I was happy when everyone was over with it last year when this incident took place. As for the tweets, neither, I don't use Twitter myself, Google is my only tool to find them too (if at all)
<FromGitter> <mverzilli> ok, no prob
<FromGitter> <johnjansen> You may well be right @zatherz, I haven't seen this many comments on a PR or issue thus far though and that's what we are here for. So my question would be, "can this wait"? Which I think is what @asterite was getting at earlier
<FromGitter> <johnjansen> I understand it's very important to some
<FromGitter> <mverzilli> @zatherz, I haven't read GH's community guidelines in full to be able to answer your question
<FromGitter> <zatherz> @mverzilli Then proceed to reading them, and after you read them infull, either answer my question or don.t
<Papierkorb> asterite already promised to talk about it later, so for me until then the whole thing here is on hold anyway :)
<FromGitter> <mverzilli> just take into account: "GitHub's community guidelines are currently proposed. These guidelines are first and foremost community guidelines and we'd like your feedback on them before they're finalized. Please let us know your thoughts prior to November 20th, 2016."
<FromGitter> <johnjansen> So they are in the same boat
<Papierkorb> Anyone has an example for OpenSSL client/server sockets?
<Papierkorb> I'm surprised to not find a SslSocket or something
<FromGitter> <zatherz> @johnjansen Just to clarify, what does "waiting" mean in that context? Is it just waiting for some time, or is it waiting for others to voice their opinion?
<FromGitter> <zatherz> I'm fine with both, really.
<FromGitter> <catmando> @mverzilli honestly its not worth getting into... here is the summary: one of the Opal core developers made a comment based on his on personal religious beliefs attacking a new law in his country that effected his family. Sadly this was against other peoples personal beliefs. No mention in his tweet was made about his professional work or Opal or anything else. People got on a big band wagon saying he should be banned from
<FromGitter> ... Opal core team blah blah. For about 2 years Opal was effectively black listed from any ruby conferences etc. All this because one person has a personal belief which he expressed that contradicts other peoples beliefs. There is zero evidence any where in opal that a PR was ever denied to anybody, the in ... [https://gitter.im/crystal-lang/crystal?at=5842eaddf666c5a138c57c72]
<FromGitter> <johnjansen> Till there is more bandwidth available to approach higher order problems like this
vivus-ignis1 has joined #crystal-lang
<FromGitter> <catmando> Hey lets all spend the time we are taking on this conversation and each submit a PR :-)
<FromGitter> <zatherz> I consider this a pretty important problem as it shapes Crystal's image, and since Crystal is still technically a work in progress, it will have a permament effect on Crystal.
<Papierkorb> Was really sad to see this happen to Opal. Those people worked their ass off, were passionate and generally helpful
<FromGitter> <johnjansen> @catmando totally agree
<Papierkorb> I don't want *this* to happen to Crystal
vivus-ignis has quit [Ping timeout: 260 seconds]
vivus-ignis1 is now known as vivus-ignis
<FromGitter> <zatherz> Agree with Papierkorb.
<FromGitter> <catmando> Yes but I am just not sure what can be done. The whole Opal Gate thing was taken out of the opal communities hands by others. No amount of CoC or lack of CoC would have prevented it. In the mean time everybody kept working on Opal and related gems because that was what they believed in.
<FromGitter> <zatherz> The thing is that the Code of Conduct is written by the person who started that entire issue, and as already mentioned before, it's wording gives precedent to that kind of opinion driven moderating.
<FromGitter> <johnjansen> Personally I don't see it that way. I honestly think it has zero impact on anyone's perception of the project. But I may have my head in the sand
<FromGitter> <catmando> @johnjansen that is also my point. Opal Gate is the worst example of this kind of thing and there is NOTHING that any CoC could have done or not done.
<FromGitter> <johnjansen> Also I've never heard of the issue and I didn't research the origin of the coc. Nor would I
<FromGitter> <catmando> @papierkorb :-) ARE passionate and generally helpful... and still excepting contributions from any and all :-)
<FromGitter> <zatherz> It definitely has an impact on people who completely don't associate themselves with the kind of culture around codes of conducts.
* Yxhuvud fail to see the problem with throwing out bigots from communities. good riddance.
<Yxhuvud> how about the people that don't want to associate with bigots?
<FromGitter> <zatherz> If you have actual arguments - please present them. Don't resort to labeling.
<FromGitter> <johnjansen> Yeah now this discussion is political in nature and thus evokes emotion
<FromGitter> <zatherz> The definition of a bigot is "a person who is utterly intolerant of any differing creed, belief, or opinion", and that's exactly the type of people I don't want to have a precedent in moderating that the code of conduct gives them.
<FromGitter> <johnjansen> You will note that the coc has not restricted this conversation thus far
<FromGitter> <catmando> :-)
<FromGitter> <zatherz> @johnjansen Because it is a peaceful discussion, and pretty much nobody has expressed their political views or opinions outside of the related issues of the code of conduct (yet).
<FromGitter> <zatherz> I propose an alternative to the Code of Conduct: AINASWAN :​)
<Papierkorb> I first read it as "anyone is nice so we are nice". works too for me :P
<FromGitter> <sdogruyol> haha
<FromGitter> <sdogruyol> @zatherz count me in :+1:
<FromGitter> <johnjansen> I mean the discussion is political not that it is about politics
<FromGitter> <zatherz> I like the simplicity of Ruby's community guideline. https://www.ruby-lang.org/en/conduct/
<FromGitter> <zatherz> It's pretty vague, which can be improved upon
<FromGitter> <zatherz> specifically the last point
<crystal-gh> [crystal] asterite pushed 4 new commits to master: https://git.io/v1WVG
<crystal-gh> crystal/master 0cf28a8 Ary Borenszweig: Add Slice.empty
<crystal-gh> crystal/master a88b931 Ary Borenszweig: Compiler: allow declaring the type of a local variable. Fixes #919
<crystal-gh> crystal/master ee85746 Ary Borenszweig: Compiler: fixed missing variable in macros with type declaration and uninitialized var
<Papierkorb> sdogruyol, I see the Ssl middleware in Kemal. How does it work then? How/where do you encrypt/decrypt/verify stuff?
<FromGitter> <zatherz> but it covers both sides well: "Participants will be tolerant of opposing views.", but "Behaviour which can be reasonably considered harassment will not be tolerated."
<FromGitter> <zatherz> I would love for Crystal to have something similiar to that - maybe even *that*?
<FromGitter> <sdogruyol> @papierkorb encrypt / decrypt what?
<FromGitter> <johnjansen> Hope you guys sort this out, I care very little about this and need to get back to code. Have a great weekend
<Papierkorb> The network traffic
<FromGitter> <sdogruyol> that comes from Crystal and openssl
<FromGitter> <zatherz> @asterite I'm tagging you just so that this doesn't disappear in the history of this channel and you don't notice it. If we can't completely get rid of the community specific guidelines, I would love if we adopted https://www.ruby-lang.org/en/conduct/ in some way, possibly improving it to remove vagueness.
snsei has joined #crystal-lang
snsei has quit [Remote host closed the connection]
<Papierkorb> sdogruyol, it does. What I'm missing is how is it used? It's a server, but I don't see #accept, and the Client isn't a IO
snsei has joined #crystal-lang
<FromGitter> <sdogruyol> well for Kemal i just set up the tls flag of HTTP::Server
<Papierkorb> Thanks
<Papierkorb> I'm atm considering building TlsServer/TlsSocket mirroring (more likely, inheriting from) TcpServer/TcpSocket
<Papierkorb> Finally, I found them
<FromGitter> <sdogruyol> :+1:
<travis-ci> crystal-lang/crystal#30a1f96 (master - Reformat Reference#pretty_inspect): The build passed. https://travis-ci.org/crystal-lang/crystal/builds/180974295
snsei has quit [Remote host closed the connection]
pawnbox has quit [Remote host closed the connection]
<FromGitter> <zatherz> random asterite found in the wild http://i.imgur.com/ENmqgg2.png
<FromGitter> <sdogruyol> Awesome!
mussela has joined #crystal-lang
<mussela> hello all!
<FromGitter> <sdogruyol> hey
<mussela> :D
<mussela> I haz a question https://carc.in/#/r/1fft/edit
<mussela> why is the output of get_As here no Array(A) | Nil ?
<mussela> doesn't the #select call filter only objects of A class?
<mussela> s/no/not/g
<FromGitter> <zatherz> the type of the array is still Array(A | B)
<FromGitter> <zatherz> select doesn't change it
<FromGitter> <sdogruyol> yeah
<mussela> doesn't the select ONLY return A elements?
<FromGitter> <zatherz> yes but the array is still an Array(A | B)
<mussela> a new array, too - right?
<FromGitter> <zatherz> And that's why
<FromGitter> <zatherz> afaik, it's not a new array
<FromGitter> <zatherz> it just removes items that don't match
<mussela> ah ok
<mussela> that's... odd
<mussela> I thought the outcome would be a new array
<FromGitter> <zatherz> mussela: https://carc.in/#/r/1ffx
<FromGitter> <zatherz> here's one without the syntax sugar for the select https://carc.in/#/r/1ffy
<FromGitter> <zatherz> `&.some_method` expands to `{|x| x.some_method}`
<FromGitter> <zatherz> it's a bit more complicated than that but that's effectively how it works
<mussela> hmm... least surprise broken here for me :D
<FromGitter> <zatherz> huh?
<FromGitter> <zatherz> (for example, `&.some_method` has to be passed inside the parenthesis, while the normal curly bracket block syntax outside of them)
<mussela> zatherz: I just assumed #select returned a new array, and since all elements were limited to a single class, I wanted Crystal to do more for me
<mussela> but your explanation makes sense
<FromGitter> <zatherz> `select` doesn't create a new array for performance reasons
<mussela> my next try was going to be .as
<FromGitter> <zatherz> and it doesn't cast automatically because it can't know that the result is all of the same type
<FromGitter> <zatherz> mussela: Also, keep in mind, I'm pretty sure my code will have a bug when you have something extending from A
<mussela> noted!
pawnbox has joined #crystal-lang
<FromGitter> <zatherz> mussela: you can also do it the safer way https://carc.in/#/r/1fgc
<FromGitter> <zatherz> mussela: whoops, I forgot to change `map` into `each` there https://carc.in/#/r/1fgd
pawnbox has quit [Remote host closed the connection]
<FromGitter> <johnjansen> likewise you can use Array.reduce
<FromGitter> <johnjansen> https://carc.in/#/r/1fgf
<FromGitter> <zatherz> oh niiice
<FromGitter> <zatherz> I've been looking for a method like that to do it in one line
<FromGitter> <johnjansen> each_with_object is very similar
<FromGitter> <zatherz> is it possible to take in a class as a method argument and create an array of that class?
<crystal-gh> [crystal] kostya opened pull request #3631: split spec files, to module and runner (master...spec_split) https://git.io/v1WKk
<FromGitter> <johnjansen> i think you would have to use generics
<FromGitter> <zatherz> yeah I managed to do it
<FromGitter> <johnjansen> what was the code
pawnbox has joined #crystal-lang
<FromGitter> <zatherz> I made this https://carc.in/#/r/1fh1
<FromGitter> <zatherz> wait I messed something up
x0f has quit [Ping timeout: 246 seconds]
<FromGitter> <zatherz> there
<FromGitter> <zatherz> fixed https://carc.in/#/r/1fh9
<FromGitter> <johnjansen> personally id call it something `select_class` instead of `narrow_to` but thats just me ;-)
x0f has joined #crystal-lang
<crystal-gh> [crystal] asterite pushed 1 new commit to master: https://git.io/v1WK6
<crystal-gh> crystal/master ecf01be Ary Borenszweig: ByteFormat: fixed bug in decode from slice
x0f has quit [Remote host closed the connection]
snsei has joined #crystal-lang
soveran has quit [Remote host closed the connection]
<travis-ci> crystal-lang/crystal#ecf01be (master - ByteFormat: fixed bug in decode from slice): The build passed. https://travis-ci.org/crystal-lang/crystal/builds/180988794
snsei has quit [Remote host closed the connection]
snsei has joined #crystal-lang
soveran has joined #crystal-lang
soveran has quit [Ping timeout: 260 seconds]
<mussela> the spec assertion in question is first_file.content.should eq("It'sa me, TEXT-IO!\n".bytes)
<mussela> .content on first file is typed as Bytes
<mussela> (I still haven't got to terms with the whole Slice thing :| )
<Papierkorb> mussela: use #to_slice, not #bytes
<Papierkorb> mussela: #to_slice gives you a Bytes which is a Slice(UInt8), #bytes gives you an Array(UInt8)
<mussela> so #to_slice gives you Bytes and #bytes doesn't
<mussela> :D
<Papierkorb> There was an issue on GH i think recently which also complained about this
<mussela> it's kind of a mind twister
<FromGitter> <sdogruyol> it's really hard to grasp at first
<mussela> Papierkorb: this one, right? https://github.com/crystal-lang/crystal/issues/3551
<mussela> I hope it gets resolved soon
<Papierkorb> yes
<Papierkorb> I just use #to_slice wherever possible if I need a slice
muelleme has quit [Ping timeout: 265 seconds]
muelleme has joined #crystal-lang
<Papierkorb> It is, but it's bound into the Lib its referenced from
<Papierkorb> simply put, it's a C global, not a Crystal global
<FromGitter> <sdogruyol> oh didn't know that this syntax is still allowed, thanks
<Papierkorb> for C globals yes, there has to be
<Papierkorb> but not for Crystal
<FromGitter> <sdogruyol> so this is for exposing C globals to Crystal land
<FromGitter> <sdogruyol> cool
<Papierkorb> yes
<FromGitter> <sdogruyol> i'm trying to understand the GC and experiment implementing a GC in Crystal :P
<Papierkorb> If you need a Crystal memory manager, tell me
<Papierkorb> I have one from the kernel I wrote, which should be fast enough esp for the start
<FromGitter> <sdogruyol> what do you mean?
<Papierkorb> Oh, you can just use malloc()
<Papierkorb> how boring :P
<Papierkorb> (Maybe)
<FromGitter> <sdogruyol> @papierkorb currently i'm clueless about all this stuff :D
<FromGitter> <sdogruyol> malloc seems good for allocation though
<FromGitter> <sdogruyol> is there any place that i can peek into your code?
muelleme has quit [Ping timeout: 244 seconds]
<Papierkorb> I never published it on GH, but I could for that part at least
<Papierkorb> note that it does NOT do GC
<Papierkorb> later though, right now I'm shooting at robots in Overwatch
<FromGitter> <sdogruyol> :D
<mussela> good night, y'all!
mussela has quit [Quit: Page closed]
soveran has joined #crystal-lang
muelleme has joined #crystal-lang
<FromGitter> <sdogruyol> good night
soveran has quit [Ping timeout: 250 seconds]
vivus-ignis has quit [Ping timeout: 265 seconds]
snsei has quit [Remote host closed the connection]
vikaton has joined #crystal-lang
soveran has joined #crystal-lang
ponga has quit []
<crystal-gh> [crystal] kostya opened pull request #3633: fix json#any bool value, fixed #3632 (master...json_any_fix) https://git.io/v1W5a
soveran has quit [Remote host closed the connection]
pawnbox has quit [Remote host closed the connection]
bjz_ has joined #crystal-lang
Philpax has joined #crystal-lang
muelleme has quit [Ping timeout: 256 seconds]