ChanServ changed the topic of #crystal-lang to: The Crystal programming language | http://crystal-lang.org | Crystal 0.34.0 | Fund Crystal's development: http://is.gd/X7PRtI | GH: https://github.com/crystal-lang/crystal | Docs: http://crystal-lang.org/docs/ | API: http://crystal-lang.org/api/ | Gitter: https://gitter.im/crystal-lang/crystal
ur5us has quit [Ping timeout: 260 seconds]
ur5us has joined #crystal-lang
deavmi has quit [Read error: Connection reset by peer]
deavmi has joined #crystal-lang
rocx has quit [Quit: 👏 developers 👏 developers 👏 developers 👏 developers]
zorp has joined #crystal-lang
ur5us has quit [Ping timeout: 260 seconds]
<FromGitter> <ImAHopelessDev_gitlab> hello
_ht has joined #crystal-lang
<FromGitter> <acoolstraw> I'm trying to build crystal-gobject's documentation tool, but it just gives me this error.
<FromGitter> <naqvis> @acoolstraw do you have `llvm-config` in shell `PATH`?
<FromGitter> <naqvis> try to run `llvm-config --version` on shell and see if you see any output
<FromGitter> <acoolstraw> oh I see, LLVM isn't installed ⏎ ⏎ > Command 'llvm-config' not found, but can be installed with: ⏎ ⏎ sudo apt install llvm [https://gitter.im/crystal-lang/crystal?at=5e8ecea4fea5216d696949d1]
<FromGitter> <acoolstraw> thanks
<FromGitter> <naqvis> what do you see when you run `crystal version`?
<FromGitter> <acoolstraw> 1) 33.0
<FromGitter> <naqvis> it should also display llvm info
<FromGitter> <acoolstraw> oh
<FromGitter> <acoolstraw> well, crystal-gobject has its own version of the crystal docs generator
<FromGitter> <naqvis> but you need crystal installed
<FromGitter> <acoolstraw> I have it installed
<FromGitter> <acoolstraw> the samples run perfectly
<FromGitter> <acoolstraw> > >> Crystal 0.33.0 [612825a53] (2020-02-14) ⏎ ⏎ LLVM: 8.0.0 ⏎ Default target: x86_64-unknown-linux-gnu [https://gitter.im/crystal-lang/crystal?at=5e8ecf0f6823cb38acbcdbd1]
<FromGitter> <naqvis> yeah
<FromGitter> <naqvis> i believe you already have llvm installed
<FromGitter> <naqvis> can you try to run `llvm-config-8 --version` ?
<FromGitter> <acoolstraw> it did show this though ⏎ Command 'llvm-config' not found, but can be installed with: ⏎ ⏎ sudo apt install llvm [https://gitter.im/crystal-lang/crystal?at=5e8ecf781aaf8e4b8e6efb31]
<FromGitter> <acoolstraw> right now the docs are building without error
<FromGitter> <acoolstraw> haha, as I was typing the message my laptop froze from the doc generation
<FromGitter> <naqvis> oops
ur5us has joined #crystal-lang
deavmi has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
deavmi has joined #crystal-lang
Human_G33k has joined #crystal-lang
HumanG33k has quit [Ping timeout: 256 seconds]
ur5us has quit [Ping timeout: 260 seconds]
<oprypin> Stephie: I've been wondering, why is it usual to ask people to *rebase*, when merges work perfectly fine? in the context of pull requests that are definitely intended to be github-squash-merged
deavmi has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
<Stephie> idk
<Stephie> makes it look cleaner in PR
<Stephie> and it's usually the same amount of work
<oprypin> Stephie: hmm i don't know. about cleaner. it's the same info, just has the merge commit - just one line. and rebases kill the history (order of events)
<oprypin> rebases are not the same amount of work, it's potentially N effective merges
<Stephie> do what you prefer
<Stephie> obviously for PRs which should end up as multiple commits
<oprypin> yea
<Stephie> then it should be a rebase
<Stephie> i really wanted to make a contribution bot which automated this kind of stuff
<Stephie> like it'd test your commits by merging them into master
<Stephie> and testing the actual result of the merge
<Stephie> like bors
<oprypin> there has to be a reason why it's not widespread
<Stephie> and then it would also have a bunch of options to merge multiple commits
<Stephie> like auto-apply fixup commits
<oprypin> i think at least some CI systems test merged against master
<Stephie> etc.
<Stephie> oprypin, its just not widespread cause it's not easy
<Stephie> and like
<Stephie> nobody really thought about it
<oprypin> yes that's what I'm implying 🙃
<oprypin> not easy
<Stephie> i wish my list of things i really want to do was shorter
<oprypin> mm I'm quite the opposite
<oprypin> i just have a huge list of things that i kinda maybe want to do
<yxhuvud> rebase makes it look cleaner, but it also catches errors that happen due to non-conflicting changes in other places in the codebase, that could still make the tests fail.
<yxhuvud> I wish google had an option to rebase and then still create an explicit merge-commit. But no, it is only one or the other.
<yxhuvud> *github.
<oprypin> 😂 *
ur5us has joined #crystal-lang
travis-ci has joined #crystal-lang
<travis-ci> crystal-lang/crystal#b3a3e1b (master - Improve docs on Hash (#8887)): The build passed. https://travis-ci.org/crystal-lang/crystal/builds/672889488
travis-ci has left #crystal-lang [#crystal-lang]
deavmi has joined #crystal-lang
<FromGitter> <Acciaiodigitale> Hi pals! I have a proposal. I see that programming languages that have a common multi channel communication chat have flourish community (Go, Elixir Fsharp....)...can we move all of our channel to something like Zulip (best) or Slack?
<FromGitter> <straight-shoota> Before doing that we'd need to consider the advantages and drawbacks of such a move. Just saying that other communities using it flourish doesn't really paint a very detailed picture...
<FromGitter> <docelic_gitlab> what's wrong with the idea of bridging communities with bots
<oprypin> @Acciaiodigitale: dude what 😂 how is splitting the community into another chat option making anything more "common"?
<oprypin> or do you mean it as in widely used?
_whitelogger has joined #crystal-lang
<FromGitter> <Acciaiodigitale> No that can become the ONLY multichannel chat
<FromGitter> <Acciaiodigitale> We remove gitter single channels and make only one on Zulip (example)
<hightower2> do you consider the fact that you're taking away the freedom of users to use whatever technology/protocol/chat they like best, and replacing it with a single proprietary solution
<FromGitter> <Acciaiodigitale> IRC can remain like now and Zulip is open source
<FromGitter> <Acciaiodigitale> You can set also in your server
<hightower2> so it's just replacing gitter with slack?
ur5us has quit [Ping timeout: 260 seconds]
<hightower2> ah I see, you gave two options
<hightower2> well :)
<FromGitter> <Acciaiodigitale> Sincerely I think more on Zulip than Slack and is not that the advantage ⏎ But having only a point where every Crystal Project have his channel
<FromGitter> <Acciaiodigitale> Kemal, Lucky, Amber and so I also for the small
<FromGitter> <Acciaiodigitale> I made example not imposing options to choice from....
<raz> hmm `crystal tool format` does rather strange things to named tuples (busted indentation). is there a better auto-formatter available?
<oprypin> @Acciaiodigitale: we already have only 1 chat, what's your point?
<FromGitter> <Acciaiodigitale> No you have one for Crystal, one for Amber, one for Lucky, one for Ameba......
<FromGitter> <Acciaiodigitale> I propose that all that is Crystal can go on a single point with many connected channel
<FromGitter> <Acciaiodigitale> If you know Gophers or Elixir on Slack for example you got the point of what I think
<raz> well, i think projects (amber, lucky etc.) can freely choose their communication tools. but crystal itself should indeed rather have *one* channel (the current mix of irc, gitter, matrix is not ideal)
<hightower2> After he clarified the suggestion, it seems the idea is not so much related to which protocols or apps to use, but to group all crystal projects to use the same channel for questions, instead of being split into individual channels
<FromGitter> <Acciaiodigitale> https://zulipchat.com/ open source, we can put on cloud or a server, very advanced characteristics....for example
<FromGitter> <Acciaiodigitale> You take the point hi
<oprypin> @Acciaiodigitale: no i don't want to see any of those discussions on this channel, i actively don't care about them, it's really a different topic
<FromGitter> <Acciaiodigitale> You don't see.... Oprypin
<oprypin> they could still write here tho, nobody's gonna stop them
<FromGitter> <Acciaiodigitale> You subscribe only the channel you want
<FromGitter> <straight-shoota> I think the idea would be to have one integrated platform, but with differen channels for different topics.
<oprypin> well you can do that on gitter @Acciaiodigitale
<hightower2> aah, so it is about the platform then :)
<FromGitter> <Acciaiodigitale> Exactly @straight-shoota
postmodern has quit [Quit: Leaving]
<FromGitter> <Acciaiodigitale> Hightower2 I try to make some example that there are alternatives that are open source and multichannel......
<FromGitter> <straight-shoota> In some way, gitter is already such a platform, but the individual channels are relatively isolated
<FromGitter> <Acciaiodigitale> Exactly
<raz> straight-shoota: also gitter is horrible.
<FromGitter> <Acciaiodigitale> I try to summarize what I think for grow the community without using name of products and so on. The idea is to have a single entry point with many channel for topics related to Crystal and projects so that anyone who want can find things that didn't find simply in other way.
<oprypin> i think it's totally achievable with the current chat platforms
<FromGitter> <Acciaiodigitale> If you do something like that the old one in little time become not used anymore and you can grow a community faster and have more interactivity
<oprypin> like, what is the quantifiable difference in discoverability?
<oprypin> we should use Google Wave tbh
<FromGitter> <Acciaiodigitale> Every site point only one resource
<FromGitter> <Acciaiodigitale> Crystal, Kemal, Lucky, Amber, Ameba and so on all point a single channel
<raz> i think matrix has some promise but the clients are still too bad for general use
<FromGitter> <Acciaiodigitale> Go and see Go or Elixir for example
<FromGitter> <Acciaiodigitale> How can I know that Crystal is on matrix?
<FromGitter> <Acciaiodigitale> Where someone talk of this?
<raz> well that's the thing, there should be *one* channel for crystal. it doesn't even matter as much on what chat platform that is (as long it's not gitter :p)
<FromGitter> <Acciaiodigitale> Go and see also Reactiflux or Laravel for another example....
<raz> for crystal projects i doubt we can convince everyone to settle on the same platform
<FromGitter> <Acciaiodigitale> Raz yes one channell for Crystal with subtopics
<FromGitter> <j8r> I see the purpose, not sure it is needed for now
<raz> well, that would require everyone to agree on one platform, which i doubt is possible
<FromGitter> <j8r> the chat is pretty calm
<FromGitter> <Acciaiodigitale> We are near Crystal 1.0
<FromGitter> <j8r> what is the real need?
<FromGitter> <Acciaiodigitale> We need to grow the community for adoption
<FromGitter> <j8r> Then, one can use IRC and Gitter as their wish (and maybe matrix, if the bridge works?)
<raz> j8r: with regard to a single crystal channel the current irc/gitter frankenstein is just a nuisance. e.g. i can't auto-complete your name. sometimes the bridge breaks.
<oprypin> matrix can be just an irc client
<hightower2> can project owners create their channels/topics or it requires coordination/approval of workspace owner? and who is currently in charge of that?
<FromGitter> <j8r> The problem is: that's an opinion. ⏎ Some loves Slack, Zulip, Matrix, Mattermost, whatever. Some hate them
<FromGitter> <Acciaiodigitale> We can find the best solution hightower2
<FromGitter> <Acciaiodigitale> Some hate gitter where I can't receive notification on my phone......
<oprypin> hightower2: gitter probably defaults to organization members
<raz> j8r: but we can all agree that gitter is the worst, yes? :p
<oprypin> slack is
<FromGitter> <straight-shoota> hightower2, https://zulipchat.com/help/moderating-open-organizations sounds like there is some flexibility regarding moderation
<FromGitter> <j8r> agree, slack is evil :)
<raz> oprypin: the whole bridging stuff is just a mess. :(
<FromGitter> <Acciaiodigitale> I'm sure on Slack and Zulip you can make channel freely so someone that has a project or like a project can set is own channel
<FromGitter> <Acciaiodigitale> (hightower2 the name are examples....)
<FromGitter> <j8r> Maybe, but one option is: ⏎ ⏎ 1) create a new community in Zulip, Slack, whatever ⏎ 2) create a bridge ⏎ 3) tell people to migrate ... [https://gitter.im/crystal-lang/crystal?at=5e8f03f73a85536c431b0e83]
<oprypin> raz: im writing from my phone and i can autocomplete gitter names. sems fine
<raz> slack usability is pretty nice, but it's way too closed-shop (requires signup/invitation) for an OSS project. i think the slack-equivalent for OSS would prob be discord or zulip.
<raz> oprypin: what client? standard IRC clients only see "FromGitter" as a user in here
<FromGitter> <Acciaiodigitale> I'm a fan of the idea for the community, not of a single chat....we can vote and find the better that suite our need
<FromGitter> <j8r> @Acciaiodigitale I propose you to create an unofficial Zulip for instance, then a bridge so people can migrate to it and see how good it is :)
<FromGitter> <j8r> "no breaking change"
<raz> oh god, please not even more bridges :<
<FromGitter> <Acciaiodigitale> I have no problem to create an unofficial channel on Zulip or whatever we decide
<FromGitter> <Acciaiodigitale> I don't know about the bridge but if someone point me on docs I can work on this too
<raz> i think the shattering analogy should be limited to shards.yml, not applied to the community :D
<oprypin> @j8r: what no
<FromGitter> <j8r> one thing is the core members likely won't have much time to spend on this
<raz> oprypin: well, that looks great for users who run quassel and are willing to patch it. how about the other 99,9% of us? ;)
<oprypin> patch the other client
<oprypin> no i know, I'm oversimplifying
<FromGitter> <j8r> There is a discord crystal chat IIRC
<oprypin> oh no
<raz> oprypin: yea, i think we shouldn't ask people who want to chat about crystal to write/patch their own client first ;)
travis-ci has joined #crystal-lang
<travis-ci> crystal-lang/crystal#d96a323 (master - Document an integrate CRYSTAL_OPTS (#9018)): The build passed. https://travis-ci.org/crystal-lang/crystal/builds/672920342
travis-ci has left #crystal-lang [#crystal-lang]
<oprypin> browser extension for gitter is easier
<raz> it seems crystal kinda needs a benevolent dictator who can drop the hammer on such decisions. "we all use snapchat now, period. send your complaints to /dev/null" :p
<FromGitter> <Acciaiodigitale> @faustinoaq, @sdogruyol, @bcardiff....someone else can share his thinking there?
<FromGitter> <straight-shoota> raz, snapchat might be the way to go!
<FromGitter> <j8r> wechat I may say
* raz screams in instant-regret :D
<FromGitter> <straight-shoota> I don't think calling in people to this chat is really useful. The way to move forward would be to present the idea, ideally with a detailed overview about pro/con arguments and maybe some rough steps on implementation. That should go in the community category on https://forum.crystal-lang.org/
<raz> fwiw, i still find IRC to be a tolerable smallest common denominator. it's warty and old, but everyone is familiar with it, a great many projects have an IRC channel and that's it. to me the gitter-bridge distracts more than it helps.
<FromGitter> <j8r> raz not everyone is familiar, it quite tedious to create an account
<oprypin> well i mean, would you rather be in a dead channel?
<raz> +1 on a structured discussion in the forum
<FromGitter> <straight-shoota> Usability on IRC isn't great out of the box.
<oprypin> raz: /ignore FromGitter 😂
<FromGitter> <docelic_gitlab> haha
<raz> straight-shoota: i love the irony of you typing this on gitter :p
<FromGitter> <straight-shoota> Nice one =)
<FromGitter> <j8r> On mobile Gitter is horrible
<raz> on desktop, too
<FromGitter> <j8r> On Desktop it is OK
<FromGitter> <straight-shoota> But really, gitter isn't great either. But it's easy to start using it. You can connect to an IRC channel easily, too. But really basic features such as receiving messages when you're logged out need extra setup.
<FromGitter> <straight-shoota> Once you've got your IRC setup running, it's certainly nice to use. But that's a very high barrier for onboarding users.
<raz> j8r: i would go on a limb and argue everyone who matters is fine with IRC. the greybeards have been using it since WW1. this new-fangled emoji mumbojumbo can be nice, too - but if we can't agree on one then IRC would seem like a sane default.
<FromGitter> <Acciaiodigitale> Fair thinking @straight-shoota I open the discussion on the forum
<FromGitter> <j8r> @straight-shoota indeed
<FromGitter> <j8r> the only main reason of gitter popularity is simplicity for admin and users to start with - that's mainly it
<FromGitter> <j8r> simple here also means basic :/
darkstardev13 has quit [Read error: Connection reset by peer]
<raz> crystal is actually the only community i know that actively uses gitter. for the majority of OSS projects IRC still seems to be the default.
<FromGitter> <j8r> a lot have both a more modern chat and IRC
<FromGitter> <j8r> like Mozilla with matrix, Go etc
<FromGitter> <Acciaiodigitale> I post example of projects on Slack or Zulip like pony language, Elixir, Go, Fsharp......
<raz> j8r: what's the other one for go? i only know of #go-nuts on here
<FromGitter> <j8r> they have slack?
<FromGitter> <Acciaiodigitale> Gophers slack
<raz> oh, found it on their page
<raz> yes they seem to have a slack *and* discord
<FromGitter> <j8r> https://nim-lang.org/community.html has Gitter, Discord, IRC and Matrix... wow
<FromGitter> <j8r> and telegram
<FromGitter> <Acciaiodigitale> Also Elixir, the official is slack
<FromGitter> <j8r> Nim do the same as Crystal
<oprypin> yes @j8r
<FromGitter> <j8r> They relay Gitter, plus Telegram and Matrix to IRC
<FromGitter> <Acciaiodigitale> And has the same results....scatter community and slow growth and adoption
<FromGitter> <j8r> and also Discord is relayed
<FromGitter> <j8r> @Acciaiodigitale I think the opposite
<oprypin> @Acciaiodigitale: where is the data proving that the chat somehow hinders growth
<FromGitter> <j8r> Everyone familiar with one of this 5 (!) chats can easily be involved
<FromGitter> <straight-shoota> I've registered for Elixir and Gophers on Slack
<FromGitter> <Acciaiodigitale> See some number of people in Elixir channels....
<raz> j8r: it's just silly. so when you have a question you post it to 5 chats?
<FromGitter> <straight-shoota> Elixir seems to have a limited chat history, I can't see posts before March 31. That's not acceptable.
<FromGitter> <j8r> raz: no, there are relayed to IRC
<FromGitter> <Acciaiodigitale> Because the not paying version has this problem
<FromGitter> <j8r> so the message is present everywhere
<FromGitter> <Acciaiodigitale> Zulip for example doesn't have limitation
<raz> j8r: in various states of garbled formatting...
<FromGitter> <Acciaiodigitale> Oprypin ask @straight-shoota how many people are on Elixir channels
<FromGitter> <j8r> raz: quite right, only the basic common denominator can be shared - those posting pretty printed code on a block would be seen ugly in IRC
<raz> j8r: yup that's what happens with gitter code-posts here at the moment
<raz> which is a bit sad in a channel that's about code ;0
<oprypin> @Acciaiodigitale: well if it's a more popular language then what's the surprise
<FromGitter> <j8r> We can just ask to nim folks to gather their thoughts
<oprypin> raz: that's entirely on irc
<FromGitter> <j8r> they have pushed the bridge logic much further than Crystal
<oprypin> not much logic just many separate bots
<FromGitter> <j8r> I mean, not the code logic, but the idea
<raz> on the one hand i can see the argument for reaching people on the platforms where they already are. but i think the idea breaks down when you then create a subpar experience for everyone.
<raz> like, slack is great! but if half of the people don't see your emoji-reactions and for anther half all your code-posts turn into line-noise... it's not that great anymore
<FromGitter> <j8r> ... weird their implementation
<FromGitter> <j8r> I just joined their Gitter chat, for Nim
<raz> why does their irc channel have twice as many users when we have the twice as better language
* raz scratches head
<FromGitter> <j8r> There is `FromIRC`, that says; `FromDiscord <someuser> Hello`
<livcd> raz: because Nim is multiplatform :P
<raz> livcd: grrr! ;)
<raz> FromGitter: great, that would make my auto-complete adventures even more exciting (/cc j8r) ;0
<FromGitter> raz, I'm a bot, *bleep, bloop*. I relay messages between here and https://gitter.im/crystal-lang/crystal
<raz> ;)
<livcd> raz: and compiles fast
<FromGitter> <j8r> raz: haha
<FromGitter> <Acciaiodigitale> @oprypin What makes a language more polular?
<raz> livcd: haven't tried nim much tbh, didn't mean to hate on it. :) - it certainly looks appealing, too. but after having had my share of python and ruby, crystal was the clear winner for me.
<oprypin> @Acciaiodigitale: usually corporate money or just luck in marketing
<FromGitter> <straight-shoota> Elixir has 27k members on Slack, Gophers 54k
<livcd> raz: it's not the language it's the combination of things. The language and what you can do with it
<FromGitter> <Acciaiodigitale> @oprypin corporate money help, but there is not luck in marketing and comunication
<livcd> corporate money is just a physical manifestation of what the company needs
<raz> livcd: yep. to me nim/crystal are the next iteration of python/ruby. with very similar respective trade-offs as far as i can tell. both are justified in their existence. but crystal is of course better :P
<livcd> raz: crystal is not better if i cant deploy on Windows or on iOS
<raz> livcd: i'm sure it will get there eventually
<FromGitter> <j8r> One main way is to tell the users that they need the language (for good reasons or not)
<oprypin> raz: fyi Crystal is closer to Python than Nim to Python
<FromGitter> <Acciaiodigitale> @j8r sometimes the parallel Ruby / Crystal take away ppl more than the opposite
<oprypin> i wouldn't guess "more" but yea
<raz> oprypin: well, nim triggers my python-induced semantic whitespace PTSD. crystal doesn't ¯\_(ツ)_/¯
<FromGitter> <j8r> @Acciaiodigitale right, Crystal is not always necessary. Ruby can be still fine
<FromGitter> <Acciaiodigitale> You can speak of advantage and benchmark in a more general way. Who know Ruby already see that the syntax is pratically the same.....he decide that this is an advantage because Crystal is faster
<FromGitter> <Acciaiodigitale> Sorry I'm not natively english speaking so sometimes I don't use the best terms....pls take the idea not the exact words
<livcd> Where are you from?
<FromGitter> <Acciaiodigitale> Italy, but now I'm in London for work
travis-ci has joined #crystal-lang
<travis-ci> crystal-lang/crystal#f69c54c (master - Rename Process kill methods to signal (#9006)): The build passed. https://travis-ci.org/crystal-lang/crystal/builds/672933574
travis-ci has left #crystal-lang [#crystal-lang]
darkstardev13 has joined #crystal-lang
karchnu has joined #crystal-lang
<karchnu> Hello, I want to compile crystal for a plateform listed in Tier 2 on this page https://github.com/crystal-lang/crystal/wiki/Platform-Support but I don't see how to neither on the page or in the `make help`. What did I miss? ^^ Thanks!
<FromGitter> <Acciaiodigitale> @j8r I see now Ricr...interesting
<FromGitter> <j8r> @Acciaiodigitale performance is a selling point - but not always enough
<FromGitter> <Acciaiodigitale> Yes I found your project...... ;-)
<FromGitter> <j8r> haha, ricr - tell me what you think
<FromGitter> <Acciaiodigitale> I'm writing on the forum about my idea, then I come to you...
<FromGitter> <j8r> The idea is to use the powerful type system to avoid writing boilerplate for API docs
<FromGitter> <j8r> thanks :)
darkstardev13 has quit [Read error: Connection reset by peer]
<FromGitter> <Blacksmoke16> there is unofficial discord server as well
<FromGitter> <Acciaiodigitale> @Blacksmoke16 ?
<FromGitter> <Blacksmoke16> https://discord.gg/UkBWnb
<FromGitter> <Acciaiodigitale> I don't know about that thanks
<FromGitter> <Blacksmoke16> np
<FromGitter> <waghanza> could I have alse an invite plz ?
<FromGitter> <Acciaiodigitale> Yoy can use the one above too
<FromGitter> <Blacksmoke16> link is valid for a day
<FromGitter> <Blacksmoke16> not person specific
<FromGitter> <waghanza> ok
<FromGitter> <j8r> one thing @Acciaiodigitale , Crystal Lang != other projects using Crystal as a language
<FromGitter> <j8r> Each project use its own tools
<FromGitter> <Acciaiodigitale> Not if you one that Crystal grow
<FromGitter> <Acciaiodigitale> If Crystal don't grow your project neither do
<FromGitter> <Blacksmoke16> but then how do you balance who gets to have a channel? every random project, or only specific ones
<FromGitter> <Acciaiodigitale> (This is a general problem not IT or Crystal specific)
<FromGitter> <Acciaiodigitale> Write of this on the forum, we found a solution.
<FromGitter> <j8r> Random projects ran by individuals will choose whatever tools they wish, or not
<FromGitter> <j8r> or no tools at all
<FromGitter> <Acciaiodigitale> We can exchange ideas on the forum now
<FromGitter> <j8r> 👍
darkstardev13 has joined #crystal-lang
<FromGitter> <asterite> Feel free to join our Slack workspace: https://join.slack.com/t/crystallang/shared_invite/zt-dclgignr-K3tiL5mxIjS19PxEaxY64w
<FromGitter> <straight-shoota> Sorry, @asterite but I won't join a slack workspace unless we decied as a community that's where we want to go 👎
<FromGitter> <asterite> It's okay. I think we are making a big fuzz over this, where like 90% of the programmers are using Slack and it's working great.
<FromGitter> <asterite> That said, there's no need to join if you want. Sure, we can use something open source, but then we have to host it, pay it, maintain it. Slack just works and it's free.
<FromGitter> <Blacksmoke16> id rather use discord
<FromGitter> <Blacksmoke16> but :shrug:
<FromGitter> <tenebrousedge> there's nothing wrong with slack, imo
<FromGitter> <asterite> isn't discord more for video games?
<FromGitter> <Blacksmoke16> thats its target but doesnt mean you cant use it for other sstuff
<FromGitter> <waghanza> discord is also very suitable for teaching purposes in time crises times
<FromGitter> <waghanza> ;-)
<FromGitter> <confact> I have two tests creating two classes with different T and on the second time it generate an Invalid memory access. Which is weird. Here is the class ⏎ ⏎ ```code paste, see link``` ⏎ ⏎ And then I do `return List(Stripe::Subscription)` and `return List(Stripe::Customer)` and on the second time I get invalid memory access. Why is that? ... [https://gitter.im/cr
<FromGitter> ... ystal-lang/crystal?at=5e8f262c6823cb38acbe07f9]
<FromGitter> <tenebrousedge> that doesn't look wrong, and if it works for subscription I'd be interested in what customer looks like
<FromGitter> <Blacksmoke16> are you doing stuff with fibers etc?
<FromGitter> <confact> No fibers or anything.
<FromGitter> <confact> Let me create a gist.
<FromGitter> <Blacksmoke16> https://play.crystal-lang.org/#/cr better yet reproduce it here
<FromGitter> <Blacksmoke16> er that doesnt have .34 yet so gist is fine i guess
<FromGitter> <tenebrousedge> if it works in another Crystal version that would also be valuable information
<FromGitter> <tenebrousedge> so far I'm not seeing any .34 specific features
<FromGitter> <confact> https://gist.github.com/confact/8555cc8b626b583987e894e679af70d6 ⏎ It is the `list` test (either customer or subscription) that fails. If I remove/commenting out one of them, it passes.
<FromGitter> <confact> I hope it is some easy mistake I do. :)
<FromGitter> <KaneRoot> For the projects of my company, we currently use Discord. We want to change that, and use a self-hosted open-source tool, such as mattermost. ⏎ I think we'll use the same instance for our open-source projects. ⏎ I wonder, would you use something like it if someone else do the job of hosting it for you?
<FromGitter> <confact> I can also push it to my github repo, as this is some open source shard for stripe i am building.
rocx has joined #crystal-lang
<FromGitter> <tenebrousedge> is it necessary to use a macro there?
<FromGitter> <confact> no, just legacy code from a shard i forked.
<FromGitter> <tenebrousedge> do you need to write to a memory io ?
<FromGitter> <confact> How else would I do it? It is a class extending HTTP::Params::Builder
<FromGitter> <Blacksmoke16> does it just end up creating a string from the memory IO?
<FromGitter> <tenebrousedge> yes
<FromGitter> <Blacksmoke16> https://crystal-lang.org/api/master/String.html#build(capacity=64,&):self-class-method
<FromGitter> <Blacksmoke16> prob the better way to go
<FromGitter> <tenebrousedge> or use `Params.new`
<FromGitter> <confact> That is not the issue though. Can you find why the list tests fail?
<FromGitter> <Blacksmoke16> id try to reduce it more
<FromGitter> <Blacksmoke16> kinda a lot to take in atm
<FromGitter> <tenebrousedge> I mean, reading and writing to a memory io object seems like it's a pretty plausible source of memory access errors to me. Nothing else is jumping out at me
<FromGitter> <tenebrousedge> but I'd probably be willing to poke at the repo if you wanted to push a branch for this
<FromGitter> <confact> Okay, thanks i will push it to a branch when I'm back home.
hightower2 has quit [Remote host closed the connection]
<FromGitter> <asterite> @confact what happens if you use generic class instead of generic struct?
<FromGitter> <asterite> In general if you are not doing low-level stuff and you get a segfault it means a compiler bug
<FromGitter> <jwoertink> Anyone know how to get `asdf` to install crystal and specify a different version of LLVM?
<FromGitter> <jwoertink> when I run `crystal -v` I get LLVM version 6, but I have 7, 8, and 10 installed
<FromGitter> <jwoertink> `llvm-config --version` also returns 10
<FromGitter> <jwoertink> ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=5e8f4c6b6823cb38acbe9bb5]
<travis-ci> crystal-lang/crystal#7e2e840 (master - Fix File#pos, File#seek and File#truncate over 2G on Windows (#9015)): The build passed. https://travis-ci.org/crystal-lang/crystal/builds/673051766
travis-ci has joined #crystal-lang
travis-ci has left #crystal-lang [#crystal-lang]
<FromGitter> <Blacksmoke16> does that mean it was *built* with LLVM 6 maybe?
<FromGitter> <jwoertink> I think so, but I'm wondering if there's a way to tell it to not do that.
<FromGitter> <jwoertink> I think llvm6 is the macOS version
<FromGitter> <jwoertink> hmm... So asdf-crystal just reaches out to github and pulls down the tarball
<FromGitter> <jwoertink> so it doesn't build anything on my machine
<FromGitter> <jwoertink> Maybe I don't have 6 then? I have no idea, this is confusing
<FromGitter> <ylluminate> i'm having a devil of a time doing searches for crystal topics. any good search strings that bypass traditional non-programming crystal and just give crystal lang results?
<FromGitter> <jwoertink> Are you just looking for blog posts?
<FromGitter> <jwoertink> You can search on dev.to for some posts. There used to be http://crystalweekly.com/ but I don't think it's maintained anymore. Mainly stuff on the forum
<FromGitter> <jwoertink> but that's about it. There's not really a ton of content out there to search for
<FromGitter> <ylluminate> varies, sometimes. right now i'm actually hunting for a strong crystal scraping option
<FromGitter> <jwoertink> https://github.com/watzon/marionette
<FromGitter> <jwoertink> https://github.com/watzon/arachnid
<FromGitter> <ylluminate> hmm, interesting, thanks for digging those up. so where'd you pull those from?
<FromGitter> <jwoertink> mostly memory. But the last one I found by going to http://crystalshards.xyz/ and searching "scrape"
<FromGitter> <Blacksmoke16> https://github.com/veelenga/awesome-crystal is also a good resource
<FromGitter> <ylluminate> yeah, i use awesome-crystal and some other shard finders, but the name crystal is a big problem for unique searching
<FromGitter> <ylluminate> so i was working on building a keyword (positive and negative matches) to kinda give better results
<FromGitter> <ylluminate> haven't gotten to a silver bullet yet, but it would be nice
<FromGitter> <jwoertink> that arachnid is one of the first results
<FromGitter> <ylluminate> alright - so "crystal-lang" is the magic ingredient then. i was a bit afraid to use "crystal-lang" hitherto thinking i might be missing things
<FromGitter> <jwoertink> Hope that helps out!
<FromGitter> <confact> @asterite Thanks for pointing towards the right direction. It was struct that made it not work. Changing it to class made it work. Is that a bug?
<FromGitter> <ylluminate> appreciate it - i'm sure it will
<FromGitter> <confact> @tenebrousedge & @Blacksmoke16 I am doing this things to make it working with Stripe's API. Going around using String och Params.new won't make it easy: https://github.com/confact/stripe.cr/blob/master/src/stripe/params_builder.cr
<FromGitter> <confact> I am of course open for a better way
<FromGitter> <asterite> @confact yes, it's a bug
<FromGitter> <confact> Okay, is it reported. want me to report it?
<FromGitter> <tenebrousedge> @confact that approach for params seems sensible
<FromGitter> <confact> @tenebrousedge okay, I am open for a way to remove the need for io memory of course.
<FromGitter> <tenebrousedge> I mean, didn't you already?
<sorcus> Hi guys :-)
<sorcus> Blacksmoke16: Do you need a logo for Athena? :-D
<FromGitter> <Blacksmoke16> eventually :p
<FromGitter> <confact> @tenebrousedge no, that is the class that needs IO Memory. ⏎ ⏎ ``` io = IO::Memory.new ⏎ builder = ParamsBuilder.new(io)``` [https://gitter.im/crystal-lang/crystal?at=5e8f6bdbf87c5956a24a5e4b]
<sorcus> Blacksmoke16: I won't promise anything, but I'll ask a friend to do it. :-)
<FromGitter> <Blacksmoke16> could maybe combine the pram building and request generation?
<FromGitter> <Blacksmoke16> ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=5e8f6c27c52b6a38abd65677]
<FromGitter> <Blacksmoke16> :shrug: really the param builder defaults to `IO::Memory` anyway
<FromGitter> <Blacksmoke16> so in the end could just do `builder.to_s` and get the same affect no?
<FromGitter> <Blacksmoke16> @sorcus ah dont worry about it, not high up on my priority list atm
<FromGitter> <tenebrousedge> probably io::memory is more efficient than the alternatives, even if I don't like it
<sorcus> Blacksmoke16: Yeah, but maybe do you have any wishes about logo?
<Stephie> oprypin, yeah but your pr is ugly and idealism is nice :P
<FromGitter> <Blacksmoke16> not sure, havent really put any thought into it
<FromGitter> <asterite> @bararchy do you own crystal-lang.slack.com ? Since we'll now have a new, semi-official one, could you rename that to something else so we can rename ours to crystal-lang?
<Stephie> why?
<Stephie> we already have gitter
<sorcus> +
<Stephie> please don't add more and more communications methods for me to miss out on
<sorcus> 5$ on Linode for VPS + opensource Mattermost = chat.crystal-lang.org :-D
<Stephie> yeah and another 10 hours of making a new bridge bot
<Stephie> no thanks
<rocx> why not matrix?
<Stephie> cause matrix is literally the worst chat protocol ever invented
<sorcus> Stephie: :-D
<sorcus> rocx: Why not Jabber / XMPP? :-D
<rocx> people keep saying it and not really explaining how it's "the worst".
<Stephie> it's massively overcomplicated on the protocol level to the point that only one implementation - which barely works - exists
<Stephie> matrix is essentially a really effective fundraising machine to line the creator's own pockets
<Stephie> and i can't really source that
<Stephie> but i do have sources
<FromGitter> <asterite> Stephie: you can't have different discussion topics (channels) in Gitter
<FromGitter> <asterite> Right now in Slack we have a general channel, a help channel, one for announcements, meetups, jobs
<FromGitter> <asterite> Gitter is not enough as a good communication tool
<FromGitter> <asterite> You have threads in Slack
<yxhuvud> Yes. Too bad they end up really horrible if they end up not really short. I've had too many threads with 500+ comments. Totally unmanagable.
<sorcus> "For some reason, Slack couldn't load" - haha...
<FromGitter> <deiv> any reason why playground use jquery 2 (instead of 3) ¿
<oprypin> >>>>> please don't add more and more communications methods for me to miss out on
<oprypin> asterite pls
<oprypin> slack doesnt actually have threads
<oprypin> what is even going on
<sorcus> https://mattermost.com/blog/connect-irc-to-mattermost/ - mattermost has bridges to Gitter / IRC / Slack / XMPP via https://github.com/42wim/matterbridge
<sorcus> And it's self-hosted. Not depends on any companies like Slack.
<oprypin> thanks @Acciaiodigitale for another dose of separatism. havent had that in a while
<yxhuvud> oprypin: slack added threads a year or so ago, but they are not good.
<oprypin> i havent found it
<oprypin> anyway the only thing that threads are good for is for cringing when people disregard the separation
<oprypin> very good thing to have in a perfect world though
<FromGitter> <asterite> there's no need to use threads, I know many don't like them
<FromGitter> <asterite> but that's not the point. The point is that here in gitter there's a single place to discuss everything. With more traffic it's a mess
<FromGitter> <asterite> even right now, it's a bit hard to discuss two topics at the same time
<oprypin> asterite, what kind of topic are you talking abou
<oprypin> should we not talk about standard library in the general channel because there's a standardlibrary channel?
<FromGitter> <asterite> a place to ask questions about the language. Another for the standard library. Another for talking about meetups. Another for posting jobs. Another for meta-discussions (like this one). etc.
<oprypin> or like if we have 2 general topics how does slack resolve that issue
<FromGitter> <tenebrousedge> with threads
<FromGitter> <asterite> Someone can ask something, and replies can go in a thread, if wantd
<FromGitter> <asterite> We've been using threads in my workplace, never had an issue with it
<oprypin> so it *does* work in slack, ok
<sorcus> asterite: Why not to choose a Mattermost?
<oprypin> sorcus, u tell me, why not choose Zulip?
<sorcus> asterite: And use it at chat.crystal-lang.org for example?
<sorcus> oprypin: Yeap, why not? :-D
<oprypin> i dont know
<sorcus> oprypin: :-D
<oprypin> not to separate the community, i guess? would be nice
<FromGitter> <asterite> because Slack is the most popular one, and adding a slack crystal workplace for most is just a couple of clicks
<sorcus> Hmmm. I have an idea. Write our own Slack-like chat in Crystal. :-D
<oprypin> in javascript*
<FromGitter> <asterite> Of course! Actually, let's first write a web browser in Crystal, I guess
<FromGitter> <asterite> and an OS first
<sorcus> :-D :-D :-D
<yxhuvud> honestly, if you just go for the most popular one, discord is probably up there with slack (though it doesnt have threads)
<FromGitter> <asterite> discord seriously looks more oriented to gamers
<FromGitter> <ImAHopelessDev_gitlab> FWIW, godot has a dev channel, and a general chat channel
<sorcus> asterite: Facebook and Twitter is popular too....
<FromGitter> <asterite> I downloaded the app, right at the top I see "Add friend". There are icons for mic and headset...
<FromGitter> <Blacksmoke16> those are for voice chat, assuming you mean like
<yxhuvud> I wouldn't say gamers, I'd say it is oriented to more social interaction. I'm currently drinking beer with voicechat over discord with some friends..
<FromGitter> <asterite> wait, there's beer?
<FromGitter> <asterite> I'm in
<sorcus> asterite: :-D :-D :-D
<yxhuvud> You have to bring it yourself ;)
<FromGitter> <Blacksmoke16> its deff more gamer oriented, i.e. can stream to twich live, and see what games your friends are playing but yea
<oprypin> discord is better than slack at least that it doesn't assume you're a private team within a company
<FromGitter> <asterite> Aawww....
<oprypin> invite link expiring in a month like what?
<sorcus> asterite: "popular" is not a real criteria for choosing a chat.
<FromGitter> <asterite> We can use discord, I don't have a preference
<FromGitter> <Blacksmoke16> as a community social platform that doesnt mean you cant use it for non gamer stuff
<oprypin> sorcus, oh it surely is
<FromGitter> <asterite> I think if a platform is popular, there's more chance more people will onboard it
<FromGitter> <ImAHopelessDev_gitlab> dev channel for internal discussion of development of the language (prs, implementations, api usage, etc). where most of the core contributors are. then a regular channel for just regular users of the language (like me)
<FromGitter> <asterite> but I really would be fine with discord. I just don't know it at all
<oprypin> open 👏 source 👏 please
<sorcus> oprypin: +1 for opensource.
<yxhuvud> I think slack would be better for the purpose you want to use it, though I'm not a super fan of the system resource requirements
<sorcus> And for me one of the main criteria is a bridge to others chat. Like Gitter <-> IRC now.
<FromGitter> <Blacksmoke16> in the end its prob not worth moving, is there really any problem with gitter atm?
<FromGitter> <Blacksmoke16> it serves its purpose
<Stephie> @asterite slack threads are terrible, you should use the forum instead for anything which should be a thread
<Stephie> threads and multiple chatrooms make it impossible to bridge to IRL
<Stephie> IRC*
<Stephie> which makes it impossible for me to use
<FromGitter> <rishavs> Reddit really likes to recommend https://about.riot.im/ which is built on top of Matrix
<Stephie> just
<Stephie> dont change anything
<Stephie> just dont
<FromGitter> <rishavs> never used it but I see it come up often when talking of open source IM platforms
<Stephie> discord would be my preference if you *insist*
<sorcus> Stephie: Hmmm... Forum. Really. https://forum.crystal-lang.org/ - we have it already for this, right? So yeah, i don't understand, why we need a Slack for this...
<FromGitter> <ImAHopelessDev_gitlab> my opinion: discord if we HAVE to move. if not, i like gitter
<oprypin> i think many people here are biased towards discord just because they happen to use it already
<oprypin> i kinda use it, so whatever, but it's not better than gitter an any way
<oprypin> nvm it has a mobile client
<FromGitter> <asterite> I see "Connect your Spotify account to display your music in your status!" in Discord...
<FromGitter> <jwoertink> Yeah, you can do audio and video sharing in discord.
<FromGitter> <asterite> What I mean is, for discussing Crystal I don't think it matters showing what you are listening
<FromGitter> <jwoertink> very true
<Stephie> does it matter that they do?
<Stephie> at least its not slack
<FromGitter> <asterite> I know it's optional, but the way Discord orient itself is a bit different than Slack...
<Stephie> yes
<oprypin> asterite, does it matter to make a role call among your colleagues fro crystal?
<Stephie> but i can't use slack
<Stephie> i cant keep it open
<Stephie> i can keep irc open
<Stephie> i have to keep discord open already
<FromGitter> <asterite> why not keep it open?
<FromGitter> <asterite> oh, I see :-)
<Stephie> slack doesnt even send me notifications
<FromGitter> <asterite> are there threads in discord?
<oprypin> no
<Stephie> no, and it's wonderful
<FromGitter> <asterite> oh... that's a big downside for me
<Stephie> threads are honestly my pet absolute hate
<Stephie> i despise them
<oprypin> i dislike having multiple rooms tbh
<oprypin> i'd prefer 1 room with threads
<Stephie> i'd honestly refuse to use slack just because it had threads
<FromGitter> <jwoertink> I think the main thing isn't really *what* we use, but that we have a chat full of people that are welcoming, helpful, kind, and courteous.
<oprypin> jwoertink, instead theres me 😂
<oprypin> other than that we're good
<FromGitter> <asterite> lol
<FromGitter> <asterite> and me, I guess
<Stephie> this argument illustrates the problem with switching
<Stephie> the problem with change
<FromGitter> <ImAHopelessDev_gitlab> slow day today huh
<Stephie> everyone wants something different
<Stephie> the best bet is to stick with what you already have
<Stephie> this room is active
<Stephie> let it be
<FromGitter> <jwoertink> We could always just contribute to the gitter project 😂
<oprypin> i dont think so?
<oprypin> i don't think they're well staffed to accept stuff in mainline
<oprypin> and its probably not made for on-premise use
<sorcus> And they don't have sources for server. :-D
<FromGitter> <ImAHopelessDev_gitlab> i always thought gitter was part of github 😆
<sorcus> ImAHopelessDev_gitlab: :-D
<oprypin> it was independent, now subsidiary of gitlab
<sorcus> ImAHopelessDev_gitlab: Because thay have authorization with Github? :-D
<oprypin> sorcus, they used to have authorization *only* with github, thats kind of a big deal
<FromGitter> <ImAHopelessDev_gitlab> maybe that's why , was 2 yrs ago i think lol iuno
<FromGitter> <ImAHopelessDev_gitlab> after reading all these recently posted messages, i've got a great idea for my next project with godot+crystal for the backend :)
_ht has quit [Remote host closed the connection]
<sorcus> Good night everyone :-)
<FromGitter> <ImAHopelessDev_gitlab> good night, sorcus
ur5us has joined #crystal-lang
ur5us has quit [Ping timeout: 260 seconds]
ur5us has joined #crystal-lang
<oprypin> whats a nice way to write `return [foo] + bar` where `bar : Array(String)?` or even `Enumerable(String)?`
<FromGitter> <tenebrousedge> eh? maybe you want an alias?
<FromGitter> <straight-shoota> oprypin: `return [foo].concat(bar)` ?
<oprypin> `[foo].concat(nil)` not allowed
<FromGitter> <tenebrousedge> you can declare `[foo]` so `nil` is allowed, or nix the nil
<oprypin> best i have is `ret = [foo]; foo.concat(bar) if bar; return ret`
<FromGitter> <tenebrousedge> `[foo].concat(bar.not_nil!)`
<oprypin> but it can be nil
<oprypin> `[foo].tap { concat(args) if args }` ??
<FromGitter> <tenebrousedge> `try`
<FromGitter> <tenebrousedge> `bar.try {|b| [foo].concat(b) }`
<FromGitter> <tenebrousedge> orrrrr
<FromGitter> <tenebrousedge> hmm
<FromGitter> <tenebrousedge> `bar.try {|b| [foo] + b } || [foo]` is kinda bleh
<oprypin> `[foo].tap { |x| x.concat(args) if args }`
<oprypin> not good enough
<FromGitter> <tenebrousedge> `bar ? [foo] + bar : [foo]` ?
<oprypin> :thinking: