ChanServ changed the topic of #crystal-lang to: The Crystal programming language | http://crystal-lang.org | Crystal 0.22.0 | Fund Crystal's 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
<FromGitter> <sdogruyol> Q&A is happening now!
<FromGitter> <bigDaddyS1oth> So much for that 😂
<FromGitter> <mgarciaisaia> Sorry about that - technical issues with YouTube. We will soon announce when are we going to *actually* do the Q&A session.
<FromGitter> <redcodefinal> "How much more work is needed for windows?" ⏎ ⏎ @waj ⏎ "The thing is that we've been doing some progress in that. There was some work done on WINE but, we want to target the real thing. Eventually we will see a native windows compiler. ⏎ ... [https://gitter.im/crystal-lang/crystal?at=5916501e9f4f4ab05bbba15e]
<FromGitter> <redcodefinal> "Would it have the same performance on Linux or Mac?"
<FromGitter> <redcodefinal> @waj ⏎ "Should be pretty close"
<FromGitter> <redcodefinal> "How much Crystal code is yet to be documented?" ⏎ ⏎ @waj ⏎ "Not sure, no way to tell whats missing yet" [https://gitter.im/crystal-lang/crystal?at=5916506583cb5db07326a7cf]
<FromGitter> <redcodefinal> "What does crystal need to do to merge PR faster?" - @RX14 ⏎ ⏎ @waj ⏎ "We have people on our team classifying which issues are real things to solve. We should start improving speed soon" [https://gitter.im/crystal-lang/crystal?at=591650b033e9ee771c9f9d58]
<FromGitter> <redcodefinal> "Is there any plan to use LALR parser?" ⏎ ⏎ @waj "We should come up with grammar for crystal, it should be easy to understand and easy to maintain. We could use it for other things like syntax highlighting."
chatter29 has joined #crystal-lang
<chatter29> hey guys
<chatter29> allah is doing
<chatter29> sun is not doing allah is doing
<chatter29> to accept Islam say that i bear witness that there is no deity worthy of worship except Allah and Muhammad peace be upon him is his slave and messenger
<FromGitter> <redcodefinal> "Do you know what compilation speeds are possible on incremental compilation?" ⏎ ⏎ @ggiraldez ⏎ "We still don't know " [https://gitter.im/crystal-lang/crystal?at=59165142c4d73f445a9f9edf]
<FromGitter> <jwaldrip> /kick chatter29
<FromGitter> <redcodefinal> ^
<FromGitter> <redcodefinal> @ggiraldez "You will probably need to recompile all your classes anyways"
<FromGitter> <redcodefinal> "Whats the word on generic type restrictions?" ⏎ ⏎ @waj "It's something we would really like to implement"
<FromGitter> <fridgerator> damn, are you live typing the Q&A?
<FromGitter> <redcodefinal> Trying to
<FromGitter> <jwaldrip> Yep.
<FromGitter> <redcodefinal> "Where do you see Crystal in 5 years" ⏎ ⏎ @ggiraldez "Taking over the world"
<FromGitter> <bigDaddyS1oth> ^^Heheh
<FromGitter> <mgarciaisaia> ^^ Tiobe's top 10
chatter29 has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
<FromGitter> <sdogruyol> :+1:
<FromGitter> <redcodefinal> I tried to type the Q&A best I could, but I might have gotten some stuff wrong, @waj and @ggiraldez let me know if I got anything wrong.
<FromGitter> <mgarciaisaia> Thank you @redcodefinal 💙
<FromGitter> <fridgerator> @redcodefinal appreciated
greengriminal has quit [Quit: This computer has gone to sleep]
greengriminal has joined #crystal-lang
greengriminal has quit [Client Quit]
LastWhisper____ has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
LastWhisper____ has joined #crystal-lang
fenicks has quit [Ping timeout: 255 seconds]
LastWhisper____ has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
LastWhisper____ has joined #crystal-lang
LastWhisper____ has quit [Client Quit]
<FromGitter> <jwaldrip> Launced the code from crystalshards.xyz onto https://crystalshards.org
<FromGitter> <redcodefinal> @jwaldrip dude you are the best. Serdar Juan and Gustavo are all pleased
<FromGitter> <jwaldrip> going to maybe make some style changes, also maybe add a document generator
<FromGitter> <aaronbronow> :thumbsup:
<FromGitter> <redcodefinal> Crystal camp after party https://imgur.com/gallery/aEbp7
<FromGitter> <aaronbronow> oh good, you guys finally got a table
<FromGitter> <jwaldrip> AH MAN! I wish I was still there!
<FromGitter> <bigDaddyS1oth> Oh sheeeiiiiiiit we got a cystral shards site!!
bjz has joined #crystal-lang
_whitelogger has joined #crystal-lang
mooe has joined #crystal-lang
<mooe> is there any difference between {} of Int32 => Int32 and hash(int32, int32).new(0)
<mooe> The first way also sets initial capacity to 0, correct?
<FromGitter> <axvm> Hello there. I'd like to embed crystal compiler into my crystal-app but I can't find any info about it. I need parser and compiler to build and execute code in real-time
fenicks has joined #crystal-lang
Qchmqs__ has joined #crystal-lang
Qchmqs__ is now known as Qchmqs
mooe has quit [Quit: Connection closed for inactivity]
john_wick has joined #crystal-lang
_whitelogger has joined #crystal-lang
john_wick has quit [Quit: Page closed]
blufor has joined #crystal-lang
bjz has quit [Quit: Textual IRC Client: www.textualapp.com]
bjz has joined #crystal-lang
<FromGitter> <axvm> @oprypin thanks
Qchmqs has quit [Remote host closed the connection]
<RX14> "We have people on our team classifying which issues are real things to solve. We should start improving speed soon"
<RX14> personally I don;t think the speed of merging PRs should be relative to which issues are most important
<RX14> merging PRs fast is about creating a great community
<RX14> and encouraging newcomers to contribute to crystal
<FromGitter> <sdogruyol> yeah
<RX14> and it's more valuable to merge a PR and fix it later than get the PR absolutely perfect
<RX14> we're before 1.0 after all
<FromGitter> <sdogruyol> we've talked about that and there's definitely a lot of room for improvement
<RX14> this is the time to be liberal and experiment
<RX14> I keep meaning to write a long email on the mailinglist about all this but...
<FromGitter> <sdogruyol> i know how you feel yeah
* Yxhuvud don't feel the big rush to 1.0
<RX14> it's not about rushing to 1.0, it's about encouraging more people outside manas to create regular contributions
<RX14> and I feel that's something that's missing right nowe
<Papierkorb> Me neither. Though I'd love to see a focus on stability in general
<Yxhuvud> but it is about rushing to 1.0 if that is done without focusing on community.
<FromGitter> <mjago> I contributed a correction to “broken” documentation and even that was like pulling teeth - the direct opposite of encouraging - I would definately like to see a change (at least in non-critical areas)
<RX14> I don't think that "if we release 1.0 they will come" is remotely true
<RX14> rust and go had good communities before 1.0 iirc
<Papierkorb> tbh I was more optimistic when the 1.0 timeline was announced, but I'm not that anymore
<RX14> and without that, I believe crystal will fail
<Papierkorb> RX14: And you *need* that
<Papierkorb> 40% of a good language is the community
<RX14> exactly
<Papierkorb> If no one uses it, or you can't find help, why bother
<RX14> and I feel that's what we're missing right now
<FromGitter> <sdogruyol> i said the quite exact same in codecamp today
<Yxhuvud> agreed. Though I sortof agree that it is a good thing that tehy do work on getting multithreaded crystal working better. right now there is this big gaping hole in the language
<Papierkorb> At least it feels like (Pardon me if I'm wrong), but it feels like Crystal has been loosing steam since around January
<RX14> getting multithreading merged quickly is about stabilisuing that piece of code
<RX14> the new scheduler *will* break things
<RX14> we need to end that breakage asap which emans starting it asap
<RX14> Papierkorb, I got the same feeling
<RX14> it seems asterite don't contribute any more which I find surprising
<oprypin> i had kinda the same feeling but it's hard to notice when i basically left the community myself
<Papierkorb> RX14: Hope he's doing fine and not burning out
<RX14> same
<RX14> he was pretty much the de-facto BDFL
<RX14> so without asterite's contributions I feel we've lot a lot of forward momentum
<FromGitter> <mjago> he’s still open-sourcing according to github - just not on Crystal
<Papierkorb> Yeah, sad truth is that while you need a community and community contributions, you always have one or two main contributors
<RX14> to me asterite pretty much *was* crystal
<RX14> if you know what I mean
<Papierkorb> Asterite is pretty much the face of Crystal
<RX14> yeah
<RX14> if you switch the github contribution graph to additions you can see so clearly when ary left
<Papierkorb> Sad thing is right now I feel like over at Ruby, although ruby is much more mature than Crystal. There's not that much forward momentum anymore, making it feel stale
<Papierkorb> And I fear that without a word from Manas and/or the devs over there we'll be in trouble in a few months. Which would suck on epic proportions
<RX14> i'm glad that we feel the same way
<Papierkorb> Because still, Crystal adds a lot of things from Ruby that I throughoutly enjoy, and keeps many of its good parts. That's fantastic. But we can't pat ourselves on the back for it, we as Community and Manas. We have to push, and for PR reasons, keep a hype train alive, to get more devs looking at Crystal
<RX14> exactly
<RX14> if we released crystal as-is today, but with a community even an eighth the size of rust I feel that we'd do much better the continuing as-is
<FromGitter> <mjago> Maybe codecamp attendees picked up something useful on the Manas vibe
<RX14> not that I advocate releasing 1.0 any time soon
<FromGitter> <sdogruyol> well it's 4 am in here
<FromGitter> <sdogruyol> and the thing is that we're all aware of this situation
<Papierkorb> RX14: I fear that less people care about version numbers anymore ever since many major applications dropped proper version schemes
<Papierkorb> So, no 1.0 needed as far that goes
<FromGitter> <sdogruyol> and i really agree that version numbers are just numbers but big companies wanna see that shiny *1.0*
<Papierkorb> Sure they do
<RX14> we need to get parallelism in master and release benchmarks beating go for the PR
<FromGitter> <sdogruyol> there were 2 people from BBC London at codecamp
<RX14> we need to keep merging windows support for the PR
<Papierkorb> But we also need devs in those big companies to pick up Crystal so they can tell their employer they wanna work on a Crystal proejct
<FromGitter> <sdogruyol> they literally said that they'd need 1.0 before BBC to accept Crystal
<RX14> but to make effective use of that PR we need to have a welcoming community
<FromGitter> <sdogruyol> and i'm pretty sure there're lots of people like that
<RX14> no issues left untagged forever
<RX14> no PRs left unmerged for a year
<FromGitter> <sdogruyol> and i believe that we'll eventually solve that problem @RX14
<RX14> we need to start working on concrete steps 8now*
<FromGitter> <sdogruyol> i'd be happy to help officializing the community efforts and processes
<Papierkorb> I'd love if Manas (as main sponsor) could think about how to do community integration more. I'm sure here are plenty who'd like to help with just tagging GH issues. But really, for this I'd consult someone who really knows about community building.
<RX14> I agree Papierkorb
<RX14> i'd be happy to help tag and review PRs
<FromGitter> <sdogruyol> yeah
<FromGitter> <sdogruyol> we can take inspiration from rails and rust about that for sure
<FromGitter> <sdogruyol> they have great issue tracking
<RX14> as I said, I think the barrier needs to be lower for merging PRs
<RX14> bugfix PRs especially should be given a simple once-over and just merged as long as they have a test case
<Papierkorb> Bugfix and Docs Improvement PRs should be fine, but please not feature PRs, I'll advocate for stability all day long if you ask me
<RX14> PRs that add API surface obviously need more scrutiny
splitty_ has quit [Ping timeout: 260 seconds]
<crystal-gh> [crystal] jhass closed pull request #3949: Fix incorrect time calculate in IO#select (master...fix-io-select-timeout) https://git.io/vDJBq
<FromGitter> <straight-shoota> Hey guys, I'm pretty new to the community, but try to engage myself. Still it is discouraging to see, that many good things (improvements, suggestions, bug reports etc.) are not leading anywhere at the moment. Looking at the first two issue pages who cover about a month: More than half of the issues are not even tagged, although many of them have created a discussion with multiple participants. On the other
<FromGitter> ... few issues have not even received one comment within a month or even some years.
<FromGitter> <sdogruyol> @straight-shoota welcome!
<crystal-gh> [crystal] mverzilli pushed 1 new commit to master: https://git.io/v9QXu
<crystal-gh> crystal/master c27629f 印章: Compiler: fixed VirtualMetaclassType#metaclass (#4375)...
<FromGitter> <straight-shoota> thanks ;)
alibby has joined #crystal-lang
bjz_ has joined #crystal-lang
bjz has quit [Ping timeout: 260 seconds]
splitty_ has joined #crystal-lang
<FromGitter> <drosehn> We'd all like "more progress, done faster", but I think it's also important to be realistic about how much work is involved in getting a new language off the ground.
<FromGitter> <drosehn> I'd also say that it's a bad idea to try and rush to pull in developers from a lot of companies. Those developers will inevitably want more things, and they'll want the quickest path to whatever they need. And they'll say "but we have this important contract worth `MuchoMoney` hanging over us, and we don't particularly care about whatever vision you guys have for crystal. Not when our money depends on something
<FromGitter> <drosehn> Oops. that last back-tick was supposed to be a double-quote. Heh.
Ven has joined #crystal-lang
Ven is now known as Guest13320
<RX14> @drosehn Sure, managing a community is hard but that's better than not growing a community, which is what seems to be happening now. In the end, we all want to see crystal succeed and a strong community is >50% of that.
<FromGitter> <drosehn> You do want newcomers to feel like their contributions are valuable, but you aren't necessarily better off by thinking you have to address every PR within <x> weeks. I've been on the inside of large open-source projects, and it is really easy to get burnt-out when you're working hard and yet a huge number of PR's keep arriving, along with new people who are angry that their personal PR isn't handled the way they p
<FromGitter> ... it.
<FromGitter> <drosehn> A programming language also needs a clear vision, and that means that sometimes you have to wait and think about all the contributions which are coming in. It's easy to keep up if you have 2-3 main developers and 20 other contributors who share the same vision. It's much more painful when you have 4-5 main developers and a thousand people trying to get their attention.
FromGitter has quit [Remote host closed the connection]
FromGitter has joined #crystal-lang
<FromGitter> <drosehn> I was pretty happy to see Manas making a large commitment for 1.0 this year, but I fear it has the side-effect of making things tougher for the core developers to have *announced* those goals. If a fully-operational 1.0 was ready by December, everyone would be happy to see it. But announcing a 1.0 causes the community to get more excited, and maybe that isn't a good thing when there is so much work involved
<FromGitter> ... before a 1.0 is appropriate.
Guest13320 has quit [Ping timeout: 240 seconds]
<RX14> oprypin, btw the gitter bot's 500-chars detection is slightly off and gitter messages are being truncated
<oprypin> RX14, no idea why it's off al of a sudden but i just changed that
Ven_ has joined #crystal-lang
<RX14> @drosehn I agree with you, a balance has to be struck between good design and merging PRs
<RX14> even if a PR gets rejected, it shouldn't be 8gnored* for a year. If there are problems with it it should be discussed not left.
<RX14> It is hard to work on crystal and review PRs at the same time but it's work that needs to be done
<FromGitter> <drosehn> That's true.
<RX14> and if we put it off now it's not really going to help in the future
<RX14> rust have 11x the amount of PRs as us, I have no idea what size a team they have but they seem to be getting the job done
<FromGitter> <mverzilli> one of the problems with "If there are problems with it should be discussed not left" is sometimes the answer is "I don't know, I need to sit on this let thinks simmer for a while"
<FromGitter> <drosehn> In my case, I've felt that most of the issues that I've posted have received a reasonable amount of attention. But I've been thinking that my own PR's might be frustrating for Ary, for a variety of reasons. And I'm just posting "issues", which don't need as much careful attention as a pull-request.
<FromGitter> <mverzilli> watch this: https://www.youtube.com/watch?v=f84n5oFoZBc
<Papierkorb> In the end, people just want to be part of the whole process. It is extremly frustrating not knowing what's going on
<RX14> @mverzilli I agree that some PRs need to be thought on but often that's not communicated well
<FromGitter> <mverzilli> I remember someone in Twitter asking for a word to name the situation when you receive a very important email that needs a lot of thought so you leave it in the inbox until you have a big enough block of time to properly answer it because you care, but the sender ends up thinking you don't reply because you don't
Ven_ has quit [Ping timeout: 240 seconds]
<Papierkorb> It's a difference if you take a few days to respond, or months
<FromGitter> <bew> and is there a word?
<RX14> @mverzilli the danger there is that you forget about that email
<FromGitter> <mverzilli> absolutely
<RX14> I think automation/bots could do a good job here
<RX14> it's something I think we should think about as a community
<FromGitter> <drosehn> I often like watching videos from Rich Hickey, even though Clojure isn't a compiled language so it's useless for my purposes. :smile: (I should note that I do like LISP...)
<FromGitter> <mverzilli> not sure, we could try, but would it make you feel better to get an answer from a bot and still no reply from some human being?
<RX14> that's not quite what I meant
Ven_ has joined #crystal-lang
<RX14> more a bot which would kick up old PRs that the core team may have forgotten
<RX14> currently I see bumping PRs done manually
<FromGitter> <mverzilli> I know, but I just wanted to point out that while it would help for some aspects of dealing with the issue tracker, you're basically complaining about attention
bjz_ has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<FromGitter> <mverzilli> @bew, there wasn't, the person who wrote that was asking for it to be invented :P
<FromGitter> <bew> Ah sh*t, I go into the same situation way too often.. well I'll need to invente that name for myself :innocent:
<RX14> @mverzilli I don't have all the answers but I think it can be done a lot better
<FromGitter> <mverzilli> I'm not sure bumping PRs automatically would help, I've been going through the most abandoned issues and PRs a few days ago, trying to cluster them in logical groups that can be tackled more or less as a single "project"
<RX14> yeah I don't think it'd help much either too
<FromGitter> <mverzilli> it can be done a lot better, I think we all agree to that :)
<FromGitter> <mverzilli> *with that
bjz has joined #crystal-lang
<RX14> stuff like fixing websockets though, I don't see why that can't be merged straight away
<RX14> it's a 1 line fix with some specs
<RX14> and i know a lot of people who can't upgrade crystal until it's fixed
<RX14> so that one especially is quite fustrating
<FromGitter> <mverzilli> because you pick one issue individually and don't understand why, but if you sum mailing list, pr's, issues, irc and gitter and it's very difficult to keep up with everything
<FromGitter> <mverzilli> and throwing more people blindly at the problem will only increase the complexity
sz0 has quit [Quit: Connection closed for inactivity]
<FromGitter> <mverzilli> pick for example the PR to move from bash to sh
<FromGitter> <mverzilli> you reviewed it, I reviewed it, many people was ok with it, I merged it, and the Docker build broke
<FromGitter> <mverzilli> Mati created a PR to fix that, and then @bew is suggesting in that PR that maybe bash is better than sh
<RX14> no, he's suggecting we continue to use /usr/bin/env sh
<FromGitter> <bew> I didn't said bash was better that sh..
<RX14> which is actually *more* portable than /bin/sh
<RX14> surprisingly enough
<RX14> that's just a misunderstanding
<FromGitter> <mverzilli> sorry, so I misread that
<FromGitter> <mverzilli> but the point is, there are tens of those "micro stories" everyday
<RX14> and yes, stuff will break but it's often faster to merge the pr, to see if it breaks than to try and get everything perfect before it's merged
<RX14> there needs to be a balance and at the moment I think it's too far on the perfectionist side
<RX14> at the detriment to pace
<RX14> there's certain prs that don't introduce API surface which you can simply revert if they break things
<oprypin> last year i remember the oppositee
<oprypin> easily merged PRs that introduce API
<RX14> like when we changed to crystal compile
<RX14> than back to crystal build
<RX14> nobody minded
<oprypin> Array bloat comes to mind mainly
<RX14> nothing bad came of it, and eventually we made the right decision
<FromGitter> <mjago> @mverzilli i don’t think anyone is suggesting to throw people blindly at problems - but perhaps reduce the headless-chicken scenario that you are describing (too much work too few people)
<FromGitter> <mjago> of course leadership is required
<oprypin> basically lack of asterite
<RX14> ^
<oprypin> Nim's BDFL has been going strong for so many years and there's still no critical mass. i don't know how Crystal can cope.
<FromGitter> <mverzilli> yes, sorry if it's not clear, I'm not really trying to apologize nor deny we need to work on that. we acknowledge there's room for improvement and we need to think of ways to enhance the situation, but that also takes time.
<RX14> well, in my opinion it *hasn't* been coping without ary
<RX14> @mverzilli I didn't think you were, we all have different opinions on how stuff should be done
<oprypin> unrelated: i wonder how many times this exact boilerplate comes up https://github.com/crystal-lang/crystal/blob/3c712288/src/string.cr#L3563
<RX14> oprypin, i'm not sure what that method exactly does
<oprypin> RX14, i mean calling a yield-based method and gathering its results to return an Array
<RX14> oh
<RX14> looks like a pointless method to me lol
<oprypin> oh yeah, that too
<RX14> when will it ever return an array that isn't full of the string param lol
<oprypin> but i guess it's just for consistency with the method that accepts rege
<dom96> where is asterite?
<oprypin> x
<RX14> oprypin, yeah
<oprypin> that wasn't my point, just an unfortunate example
<RX14> dom96, i'm not quite sure
<RX14> but wherever he is, i hope he comes back
Ven_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<FromGitter> <drosehn> We will burn him out if everyone thinks he's the only guy who will make progress on crystal.
<RX14> for sure
<RX14> but a community needs a strong leader
<RX14> ary's strong opinions and vision are essential to crystal I feel
<Papierkorb> It's like with Matz. He doesn't do the majority of coding anymore (afaik), but he's still providing guidance
<RX14> in addition, he's worked on crystal more than everyone else combined, so there's an extrodinary amount of knowledge that we can't afford to loose
<oprypin> i feel this is the more important part
<FromGitter> <drosehn> I think it's important to have the "other people doing coding and closing PR's", without thinking that Ary has to be the person to do all of it. He'd still be the leader, but he won't feel like every single crystal programmer is pushing for an answer from him.
<RX14> of course
<FromGitter> <drosehn> I understand that things seem to have slowed down (which might not be true, btw), but the answer to that isn't "Bring Ary back!", it's to get someone else who can be person making progress happen.
<RX14> there was a whole month with no commits to crystal apart from maybe 5 merged PRs
<RX14> i'm pretty sure things have slowed down
<oprypin> if a project is written mostly by one person, nobody can replace them, without some serious mentoring
<RX14> and although i'm not saying ary should do everything, there needs to at least be a transition period
<RX14> but I think that the best future would be ary continuing to lead the project and follow depelopment, even if he doesn't do any development work himself
<Papierkorb> drosehn, at least as far I'm concerned, I think the community needs a leader. Not two leaders or a company, doesn'
<Papierkorb> t work imho
<Papierkorb> Ary just happened to be the creator and is thus meritocratically the leader.
<Papierkorb> In no way does that imply Ary actually needs to code
<FromGitter> <drosehn> No, but it does mean that if the complaint is "PR's are not getting closed", then the answer should be "we need to find someone who can commit and close some of them". Not comments on Ary. Maybe Ary is busy working on some great big important update which will make us all happy when it's done. Maybe he's doing the "hammock-time" thing that Rich Hickey talks about in that video posted earlier.
<RX14> I think closing PRs and ary being gome are seperate but related issues
<RX14> regarding secret work on crystal, maybe he is, but then the issue becomes communication
<FromGitter> <drosehn> IMO, the issue is that the community needs to see forward progress on crystal, even if we don't see Ary in person.
<FromGitter> <sdogruyol> we all want to make Crystal great :tada: That's awesome :heart:
<RX14> yes, we all want to see forward progress
<RX14> but I believe ary has to be part of the discussion of crystal's high level roadmap and features
<FromGitter> <sdogruyol> we talked a lot about community in the codecamp
<RX14> even if he doesn't get down and dirty his opinions are very valuable
alibby1 has joined #crystal-lang
alibby has quit [Read error: Connection reset by peer]
fenicks has quit [Quit: Leaving.]
<FromGitter> <sdogruyol> BTW i'm in downtown SF till noon
bjz has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<FromGitter> <sdogruyol> if anyone is up for lunch or coffee feel free to message
<FromGitter> <axvm> https://github.com/axvm/cake - yet another task management and build automation tool
<FromGitter> <bigDaddyS1oth> I wanna see crystal do well. I'm think about looking into figuring out how to create a library that'll let you manipulate strings in a simpler way (that's my only issue with crystal so far).
<FromGitter> <sdogruyol> @axvm wow, great name :)
<FromGitter> <sdogruyol> congrats on your first shard :tada:
<FromGitter> <axvm> thanks :smile:
<FromGitter> <sdogruyol> i just checked the source code
<FromGitter> <sdogruyol> it looks really clean, good job :+1:
<FromGitter> <sdogruyol> do you plan to make a brew package for this @axvm
<FromGitter> <johnjansen> @sdogruyol you are meant to be on a bike heading for golden gate bridge ;-)
<FromGitter> <sdogruyol> @johnjansen it's cold :cold_sweat:
<FromGitter> <sdogruyol> and i have 2 bags to carry :(
<FromGitter> <johnjansen> haha, wait till you get to the bridge
<FromGitter> <johnjansen> oh damn
<FromGitter> <sdogruyol> man you made me scared there
<FromGitter> <sdogruyol> :D
<FromGitter> <sdogruyol> now i really dont wanna go :D
<FromGitter> <sdogruyol> i'm having a great coffee and chilling out atm :D
<FromGitter> <axvm> @sdogruyol thanks again :smile: Yea but not today. Spent whole day on learning crystal, need to take a break
<FromGitter> <sdogruyol> @johnjansen this is for you
<FromGitter> <sdogruyol> ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=591734d6d1a7716a0ac1a1f3]
<FromGitter> <sdogruyol> @axvm how was your experience :P
<FromGitter> <sdogruyol> i hope you liked crystal
<FromGitter> <axvm> i love it
<FromGitter> <sdogruyol> Awesome! We all love Crystal here :heart:
<FromGitter> <sdogruyol> Actually we've just been to Crystal CodeCamp, the first official Crystal training https://codecamp.crystal-lang.org/ @axvm
<FromGitter> <bew> awesome picture :)
<FromGitter> <sdogruyol> Funny thing is that they put my handle on my belly :smile:
<FromGitter> <axvm> @sdogruyol looks nice. Need to manage something like this here in Russia too
<FromGitter> <sdogruyol> definitely!
<FromGitter> <sdogruyol> How about starting a Crystal user group there :)
<FromGitter> <sdogruyol> i'd be happy to come to Russia if any chance occurs :D
<FromGitter> <sdogruyol> and there are some great people from Russia in Crystal community
<FromGitter> <axvm> nice
<FromGitter> <sdogruyol> guess @oprypin and @kostya
<FromGitter> <sdogruyol> from russia
<oprypin> pls
<FromGitter> <sdogruyol> no?
<FromGitter> <sdogruyol> @oprypin sorry
<oprypin> no I was in Ukraine. now I'm in Sweden
<FromGitter> <sdogruyol> oh ok
<FromGitter> <sdogruyol> i'm going to Kyiv for RubyC btw
<oprypin> nice :)
<FromGitter> <sdogruyol> yup, i'm excited! Gonna share some Crystal love there
<FromGitter> <sdogruyol> :D
<FromGitter> <sdogruyol> wish we had a chance to meet :/
<RX14> well, if there's ever anything crystal related in london i'm up :)
<FromGitter> <sdogruyol> @RX14 actually we had 2 people from London in the camp
<FromGitter> <axvm> i'd like to know why crystal still in alpha? afaik it in development 2 years
<FromGitter> <sdogruyol> @axvm it's in development for more than 2 years
<oprypin> axvm, it's normal for programming laugnages to be in development for very long
<FromGitter> <johnjansen> @axvm there are still a few holes
<FromGitter> <sdogruyol> IMHO Crystal is more like beta atm
<FromGitter> <bew> and'll go back to alpha when windows & multithread begin to be merged :P
<FromGitter> <sdogruyol> :D
<oprypin> my thoughts exactly
<FromGitter> <sdogruyol> now that's another story
<RX14> windows probably won't break unix
<RX14> multithreading probably will though
<oprypin> hopefully it'll break some POSIX-specific mindset
<FromGitter> <sdogruyol> even Rust didnt get that figured it out until after 1.0
<FromGitter> <sdogruyol> it's ok to have support but it's a long way to make it first-class
<FromGitter> <sdogruyol> anyway i'm heading downtown see ya soon :D
<FromGitter> <mgarciaisaia> Bye Serdar! Enjoy SF for us!
greengriminal has joined #crystal-lang
<FromGitter> <axvm> @sdogruyol cya :hand:
<FromGitter> <axvm> crystal need good debugger
<RX14> gdb/lldb are ok debuggers
<RX14> just OK
<FromGitter> <mgarciaisaia> I hope we hit beta this year.
<FromGitter> <mgarciaisaia> Multithreading is happening - we think that, if we manage to get Juan & Gus locked in two or three more airplanes together with their laptops, that'd be enough to have The Best MultiThreading Ever™. Windows is not that far now.
<FromGitter> <mgarciaisaia> And I don't recall if there's any other *big* topic left - besides polishing everything up, of course.
<FromGitter> <redcodefinal> @RX14 relating to our PR issue, do you think it would be a good idea to create a separate branch of community approved changes, not commiting to master until crystal core guys have time to review?
<RX14> no
<FromGitter> <axvm> @RX14 not rly. they arent userfriendly
<RX14> but they work
<RX14> and a debugger for a compiled language is really hard
<FromGitter> <redcodefinal> Crystal play is a surprisingly good debugger, just no breakpoint support :worried:
<FromGitter> <redcodefinal> Whatever they use to poke into the return values is awesome.
<FromGitter> <axvm> Assembler works too but it doesn't mean we need to use it everywhere.
<FromGitter> <axvm> xdbg and olly - one love :heart:
<RX14> @axvm it'll come with time and maturity i'm sure
<FromGitter> <bigDaddyS1oth> Hey guys real quick; having some weird issue with `shards install`. It gives me an error saying `(minitest) doesn't match dependency name (minitest.cr)`
<RX14> @bigDaddyS1oth what's your shards.yml
<FromGitter> <axvm> @redcodefinal without breakpoints, memdumps, etc.. crystal play is just a repl
<FromGitter> <redcodefinal> It has memdumps (sort of) on the right hand side it gives you all the return values as well as how many times the line was called
<RX14> thats not a memdump lol
<FromGitter> <redcodefinal> I must be thinking of something else
<FromGitter> <bigDaddyS1oth> @RX14 I think it's with amethyst. I have minutes as `minitest: github: ysbaddaden/minitest.cr version: ~> 0.3.5`
<FromGitter> <bigDaddyS1oth> *`minitest
<oprypin> a big thing that a adebugger does which is often forgotten is getting any useful info from a crash
<RX14> which gdb does do
<RX14> well segfaults at least
<oprypin> well... "any info" but perhaps not "useful info"
<RX14> it gives you a backtrace, which is something
<FromGitter> <bigDaddyS1oth> @RX14 it tries to update amethyst first then minitest so I think I'll try removing amethyst from my shards.yml
<FromGitter> <axvm> anyway
<FromGitter> <redcodefinal> @rx14 gdb support crystal or is it debugging at llvm level?
<FromGitter> <axvm> some1 must to remove crystal shards manager
<RX14> it should crystal source
<RX14> shows*
<FromGitter> <bew> @mgarciaisaia I'm not sure if it could be counted in *big topics*: there are also dev tools with e.g. autocompletion
<RX14> you can make it show the assembly ofc
<FromGitter> <redcodefinal> I know enough gdb to get by, if that's the case I might switch to using that.
<FromGitter> <mgarciaisaia> @bew you need compiler's support for that, right? Don't know how that's done, but I do recall something about tooling in our roadmap to 1.0, yep
<FromGitter> <redcodefinal> Do you need to do anything to compile a crystal program with debugging symbols or does crystal build them ?
<FromGitter> <redcodefinal> Automatically*
<RX14> I don't think the crystal compiler will become a useful completion engline without a rewrite
<RX14> there are so many places where the compiler can deal with errors by simply bailing out
<FromGitter> <mgarciaisaia> If you recall our december's post, that's pretty much it, I think. We know what we *want* to have on the language, even if we don't know how/when will we have it.
<oprypin> RX14, 'member when there were scary plans for a rewrite?
<RX14> and that's nice and simple and what a compiler should do
<FromGitter> <bew> so this is a *big topic*..
<RX14> however a completion tool can't bail out on broken sourcde
<RX14> oprypin, oh yeah I 'member
<RX14> terrible idea
<oprypin> but now you say a rewrite is needed :D
<RX14> no
<RX14> I say it won't happen
<RX14> BECAUSE a rewrite is needed
<RX14> another tool will come along and handle completion
<RX14> probably reuse the lexer
<RX14> and the existing compiler for methods that do compile
<RX14> and then use some fuzzy simple logic for files which don't
<FromGitter> <mgarciaisaia> @redcodefinal you can add `--debug` for full debug symbols. Crystal includes some debug info by default, but not all (you can strip all of that with `--no-debug`)
<FromGitter> <redcodefinal> Coolio this will help me out a lot thank you!
<FromGitter> <bew> there are some cases where the autocompletion tool won't be able to find anything, for exemple, say you're writing a function, you want completion on the argument (`argument.` *complete me*), the completion engine won't be able to find anything as it needs the type(s) of that argument!
<FromGitter> <bew> The only implicit way to have thoses types are by writing the function usages, as specs or in the code, above or below the function definition. I'm not sure the lexer could be reused, or we'll have to wrap it to be fault-tolerent
<FromGitter> <bew> and the parsing pass after that will have a hard time figuring out what he can use or not... (and I'm not even speaking about macros..)
<FromGitter> <bew> seems that this tool will be quite hard to build.. (maybe the compiler is simpler^^)
<oprypin> bew, i mean... this is just another argument for library makers and especially standard library to specify types everywhere
<oprypin> not needing them is nice but that's not what crystal is valued for
<oprypin> even with types specified it can still be something generic
<RX14> the completion tool would however be able to find out which of the local variables could be passed into a given method
<oprypin> regardless, i think such tooling is not worth spending time on when we have other pressing problems
<FromGitter> <bew> maybe not specify types everywhere, but the compiler should be able to build a cache of types for libraries and stdlib for that purpose IMO
<RX14> i suspect we will get more types specified when they are required but there are plenty of places which duck typing does help with
<oprypin> i'm not saying to require them by some restriction, by the way, just to encourage it
<RX14> yeah
<oprypin> and sure, accepting any type or being unable to specify types in some cases is valid (though the latter I see more as a bug)
Ven has joined #crystal-lang
Ven is now known as Guest10447
<Papierkorb> Does HTTP::Client do Basic auth?
<oprypin> Papierkorb, isn't it just a matter of passing some headers?
<Papierkorb> it's even called #basic_auth - That was simple
pduncan has quit [Ping timeout: 240 seconds]
<Papierkorb> oprypin: It is, but it's just annoying to have to do that for a HTTP feature
<oprypin> cool
yogg-saron has joined #crystal-lang
Guest10447 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Ven_ has joined #crystal-lang
<FromGitter> <KCreate> I've opened an issue about a super-weird bug caused by any crystal program. ⏎ Issue in crystal's repo: https://github.com/crystal-lang/crystal/issues/4413 ⏎ Writeup: https://github.com/KCreate/fp-bug
<Papierkorb> I'd expect that program to not do anything
<FromGitter> <bigDaddyS1oth> Yea there's nothing there. Oops
<Papierkorb> KCreate, ^
<FromGitter> <bew> @KCreate in the fp-bug repo you mention it's only on OSX, you should mention it also in the issue
<oprypin> and i think no matter how big the repro example is you should still make the issue selfcontained
<FromGitter> <bew> plus, in this case, the repro example is quite short
<oprypin> Empty lol
<FromGitter> <bew> \o/
<FromGitter> <KCreate> Yes
<FromGitter> <KCreate> it's supposed to be empty
<FromGitter> <KCreate> that's the point
<Papierkorb> > What you should (in theory) see is 1024 a characters followed by a single b character.
<RX14> looks like the blocking issue to me
<Papierkorb> Oh
<Papierkorb> KCreate, so `y` is already exited at the time the cat is running?
<Papierkorb> In that case, sounds like a terminal issue
<Papierkorb> Can you try and use a different terminal emulator?
<RX14> @KCreate try adding `STDIN.blocking = true` to your ptogram
<FromGitter> <KCreate> @Papierkorb I've tried both iTerm2 and the built-in Terminal program
<FromGitter> <KCreate> It works on Ubuntu 64-bit
<Papierkorb> KCreate, I'm still trying to see how it could be Crystal. You run `y`, which exits, and then you run cat right afterwards
<RX14> it looks exactly like us setting blocking = false on stdlin
<FromGitter> <KCreate> It only happens when the crystal program is run before
<RX14> i would be $5 on this being https://github.com/crystal-lang/crystal/issues/2713
<RX14> and that STDIN.blocking = true fixes this
<oprypin> RX14, yeah i bet it's the same thing that causes interactive apps to bail out
<oprypin> after crystal having run in the terminal
<RX14> @KCreate you'll have to restart the terminal after running the crystal compiler
<RX14> otherwise the compiler will break stdout too
<Papierkorb> That still sounds like a terminal emulator bug
<RX14> oh, STDOUT.blocking = false
<RX14> no Papierkorb it's not
<Papierkorb> If a previous running program (un)blocking STDOUT breaks output of later programs?
<RX14> it's a bug to set options on a FD you didn't create
<RX14> and you don't own stdin/err/out
<RX14> the terminal does
<FromGitter> <KCreate> So the bug is crystal not restoring the original blocking state of stdout, stdin etc?
<RX14> pretty much
<oprypin> or ever setting it
<FromGitter> <KCreate> i see
<RX14> please verify it though
<FromGitter> <KCreate> Yes that seems to be the issue
<RX14> nice
<RX14> you tested it?
pduncan has joined #crystal-lang
<FromGitter> <KCreate> Well, restoring the original options seems to solve the issue
<FromGitter> <KCreate> And everything I've read in the issues seems to support the claim
<FromGitter> <KCreate> I have closed the issue as it doesn't contain any information that wasn't known before.
<oprypin> :s ok
<FromGitter> <bew> About #4411, I really don't know if it was a good idea: I suggested a `{{ raise "stuff" }}` to get a better error message (see the PR), now how to simply craft the specs for this?
<DeBot_> https://github.com/crystal-lang/crystal/pull/4411 (Added support for mapping YAML nodes not specified in properties)
pduncan has quit [Read error: No route to host]
pduncan has joined #crystal-lang
<FromGitter> <drujensen> If anyone is interested in a rails like framework for crystal, I’ve created a `kemalyst` organization and moved all the repositories over. https://github.com/kemalyst
<FromGitter> <drujensen> if you would like to contribute directly to any of the projects, let me know and I will add you as a member.
<FromGitter> <sdogruyol> @mgarciaisaia @axvm thank you! I'm back :P
<FromGitter> <axvm> wb :wave:
fenicks has joined #crystal-lang
yogg-saron has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<oprypin> :)
<FromGitter> <sdogruyol> @drujensen great job!
Ven_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<FromGitter> <redcodefinal> @sdogruyol you are already back
<FromGitter> <sdogruyol> yup
<FromGitter> <sdogruyol> it's hard to walk around with 2 bags :P
<FromGitter> <redcodefinal> I'm still on my bus, what time did your plane leave?
<FromGitter> <sdogruyol> 18:10
<FromGitter> <sdogruyol> still got like 5 hours to go
Ven has joined #crystal-lang
Ven is now known as Guest93089
pduncan has quit [Ping timeout: 260 seconds]
<FromGitter> <redcodefinal> Ouch I still got 2 hours of bus but I'm almost back.
<FromGitter> <drujensen> I got home at 3am
<FromGitter> <drujensen> flight was delayed 4 hours
<FromGitter> <drujensen> avoid Spirit airlines. :-)
greengriminal has quit [Quit: Leaving]
<FromGitter> <johnjansen> @drujensen i hope my advice on getting to OAK didnt set you astray
<FromGitter> <drujensen> @johnjansen no, got there in 40 minutes
<FromGitter> <drujensen> easy as pie once i found the map and how to get on the thing
<FromGitter> <johnjansen> ;-)
<FromGitter> <johnjansen> faster than uber
<FromGitter> <drujensen> I get to the airport in plenty of time only to have a 4 hour delay.
<FromGitter> <drujensen> lol
<FromGitter> <johnjansen> bummer
<FromGitter> <sdogruyol> @drujensen is tsa ok?
<FromGitter> <drujensen> worked on kemalyst
<FromGitter> <drujensen> yeah, it was crazy. not one person in line
<FromGitter> <drujensen> I walked right through. I asked what was going on
<FromGitter> <sdogruyol> you mean no line lol
<FromGitter> <sdogruyol> :D
<FromGitter> <sdogruyol> i have to go through customs
<FromGitter> <sdogruyol> :(
<FromGitter> <drujensen> he said if I was there 30 minutes earlier, I would have been in a super long line
<FromGitter> <drujensen> :-(
<FromGitter> <johnjansen> now thats funny
<FromGitter> <johnjansen> OAK is a good airport actually
<FromGitter> <drujensen> yeah, pretty easy compared to others I’ve been at
bjz has joined #crystal-lang
Raimondi has joined #crystal-lang
<FromGitter> <bew> About crystal autocompletion, https://github.com/TechMagister/cracker has an interesting approach in the implementation!
<FromGitter> <redcodefinal> JWA is also pretty good
_whitelogger has joined #crystal-lang
<crystal-gh> [crystal] mverzilli pushed 1 new commit to master: https://git.io/v97tz
<crystal-gh> crystal/master 326309c Matías García Isaía: OSX builds on CircleCI (#4412)...
<FromGitter> <axvm> :laughing:
<RX14> seems a bit premature to be asking for money...
<FromGitter> <lucas-wade> qt would be nice
<RX14> sure it would
<FromGitter> <sdogruyol> @drujensen lol i got to sfo in 20 minutes
alibby1 has quit [Ping timeout: 255 seconds]
<Papierkorb> ... I just found out that Slices can be read-only, and have been like this since February
bjz has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
conner_ has joined #crystal-lang
<conner_> aight
<Papierkorb> yo