ChanServ changed the topic of #crystal-lang to: The Crystal programming language | http://crystal-lang.org | Crystal 0.24.2 | 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
* FromGitter * Blacksmoke16 wants a nice mechanical keyboard with Black switches and media keys, seems it doesnt exist :(
rohitpaulk has joined #crystal-lang
rohitpaulk has quit [Ping timeout: 268 seconds]
<crystal-gh> [crystal] asterite pushed 2 new commits to master: https://git.io/vpuC5
<crystal-gh> crystal/master 8d190f4 Ary Borenszweig: Merge pull request #6046 from asterite/bug/5966-macro-parse-newline...
<crystal-gh> crystal/master 7d9b1ca Ary Borenszweig: Parser: fix parsing of macro argument followed by a newline
<travis-ci> crystal-lang/crystal#8d190f4 (master - Merge pull request #6046 from asterite/bug/5966-macro-parse-newline): The build passed. https://travis-ci.org/crystal-lang/crystal/builds/373728484
<DeBot> https://github.com/crystal-lang/crystal/pull/6046 (Parser: fix parsing of macro argument followed by a newline)
moei has joined #crystal-lang
rohitpaulk has joined #crystal-lang
rohitpaulk has quit [Ping timeout: 240 seconds]
__marty__ has quit [Remote host closed the connection]
<FromGitter> <bararchy> @oprypin is this a good way to do this: https://github.com/bararchy/rapid_mutation/blob/master/src/rapid_mutation/main_event.cr#L31-L69 ?
<FromGitter> <oprypin> @bararchy check pressed keys separately without events
<FromGitter> <oprypin> https://oprypin.github.io/crsfml/tutorials/window/inputs.html#keyboard for real time/action games (just 4 "if pressed" without using "else")
<FromGitter> <oprypin> and KeyPressed event (just 4 "when") for one press = one movement
<FromGitter> <oprypin> just look at examples, like "snakes" and "slither" (separate repo)
Nathanaelle has joined #crystal-lang
GoldenBear has quit [Quit: ZNC 1.6.3+deb1 - http://znc.in]
rohitpaulk has joined #crystal-lang
rohitpaulk has quit [Ping timeout: 256 seconds]
<FromGitter> <Blacksmoke16> does property/getter/setter macros not work for module class variables?
<FromGitter> <Blacksmoke16> nvm, seems to be instance only
<FromGitter> <oprypin> @Blacksmoke16 cla
<FromGitter> <oprypin> class_getter
<FromGitter> <Blacksmoke16> oh noice
<FromGitter> <Blacksmoke16> thanks
rohitpaulk has joined #crystal-lang
rohitpaulk has quit [Ping timeout: 264 seconds]
<hmans> Gooood morning \o/
<FromGitter> <bararchy> Morning :)
<FromGitter> <crsmillan_twitter> Hi guys.Someone use Crystal for Blockchain?
<FromGitter> <bararchy> @crsmillan_twitter -> https://github.com/SushiChain/SushiChain
baweaver_away is now known as baweaver
<FromGitter> <Multipixelone> Is there a good way to add lines to a text file? There's nothing in the documentation about that
<FromGitter> <bararchy> @Multipixelone https://crystal-lang.org/api/master/File.html#open%28filename%2Cmode%3D%26quot%3Br%26quot%3B%2Cperm%3DDEFAULT_CREATE_PERMISSIONS%2Cencoding%3Dnil%2Cinvalid%3Dnil%29%3Aself-class-method ⏎ ⏎ ```File.open("my_file", 'a') do |f| ⏎ f << "Append" ⏎ end``` [https://gitter.im/crystal-lang/crystal?at=5ae96528e2d30c2f045a024f]
<FromGitter> <bararchy> so ⏎ "r" => read ⏎ "w" => write ⏎ "a" => append [https://gitter.im/crystal-lang/crystal?at=5ae9656840f24c4304475ab3]
rohitpaulk has joined #crystal-lang
tilpner has quit [Ping timeout: 264 seconds]
That_Guy_Anon has joined #crystal-lang
<hmans> I keep hearing/reading that one of the big topics left to tackle for 1.0 is "concurrency". Is there any more detailed information available anywhere? ie. what is missing re concurrency, what are the plans, etc.?
<hmans> The best thing I've found has been this: https://github.com/crystal-lang/crystal/projects/5 -- but... well...
DTZUZO has quit [Ping timeout: 248 seconds]
<FromGitter> <bararchy> oprypin how do I tell the view to follow the players posotion? ⏎ ⏎ ```# this fails ⏎ view.center = sprite.position ⏎ @window.display``` [https://gitter.im/crystal-lang/crystal?at=5ae9728ff2d2d5370457f126]
<FromGitter> <bararchy> nvm, got it to work :)
Renich has quit [Ping timeout: 245 seconds]
Renich has joined #crystal-lang
rohitpaulk has quit [Ping timeout: 260 seconds]
<wuehlmaus> hmans: perhaps this clears things up a little: https://github.com/crystal-lang/crystal-book/blob/master/guides/concurrency.md
<hmans> wuehlmaus: I'm aware of the guide -- are you saying that it represents the goal for concurrency, and some of the features described are still missing?
<wuehlmaus> parallelism is missing
<FromGitter> <yxhuvud> @hmans concurrency works, but parallelism doesn't. Like, at all. Do Thread.new and you'll find a segfault very very soon.
<hmans> Ah, I see
<FromGitter> <yxhuvud> (at least if you allocate in your thread)
<hmans> The only issue I've been able to find when searching for "threads" and "parallelism" is https://github.com/crystal-lang/crystal/issues/5381
<hmans> (which, ironically, mirrors my question)
That_Guy_Anon has quit [Quit: Leaving]
<FromGitter> <bararchy> hmans the issue is so big and discussed everywhere so much times that it feels wierd to even thinking about opening another issue about it. ⏎ Crystal is single threaded, there is a need to make it multi-threaded
<FromGitter> <bararchy> this is the issue with parallelism
<FromGitter> <bararchy> as long as you avoid `Thread.new` you will not see this issue giving you problems
<FromGitter> <bararchy> unless you want working on multi-core, then you see the issue is that you can only use single core
<hmans> bararchy, I get that. I was just wondering if there was a roadmap (in terms of a formulated strategy, not a timeline) to tackle this.
<FromGitter> <bararchy> nope
<hmans> I understand there isn't
<FromGitter> <bararchy> or, better put, I don't know about anything like it, and it seems most core-devs don't know about such plan also
<FromGitter> <straight-shoota> I don't think anyone's been working on that for quite a while
<hmans> Is there any idea what could be done about it (beyond waving a magic stick to free the entire core team of their other commitments)?
<FromGitter> <bararchy> so... I guess unless @waj is keeping a plan in hes drawer then no plan :)
<FromGitter> <straight-shoota> But honestly, I don't think parallelism is really that important right now.
<FromGitter> <bararchy> hmans well, someone with the combined knowledge of programming experiance and intimate crystal compiler understanding can come along and save us
<FromGitter> <bararchy> which won't really happen, so unless Manas directly tell waj (I think hes the only person who can even start working on that) to begin work, then no multi-threading
<FromGitter> <bararchy> @straight-shoota this is a bad assumption, in Data-sciense we need it, in SHAInet we need it, in game-dev there is a need for it
<FromGitter> <bararchy> Right now there is no way to do very basic things without IPC
<hmans> What are the chances that this would result in something resembling an entire reimplementation?
<FromGitter> <bararchy> hmans I guess very very low
<hmans> Well, that's a silver lining...
<FromGitter> <bararchy> the only part that will need changing is the GC and Fibers
<FromGitter> <bararchy> I think
<FromGitter> <bararchy> also it seems that parts of the std lib are not Thread safe
<FromGitter> <bararchy> but this can be solved with locks etc..
rohitpaulk has joined #crystal-lang
<hmans> Is the community at large at least agreeing that parallelism should be happening?
<FromGitter> <straight-shoota> @bararchy yes, for certain applications its pretty substantial
<FromGitter> <straight-shoota> But for the large bulk of crystal programs it probably won't make much of a difference.
<FromGitter> <bararchy> HTTP::Server will become amazing, without the need to spind multiple processes and reuse_port
<FromGitter> <straight-shoota> And parallelism can easily be added some time. The language is prepared for that. So there won't be a big disturbance when it arrives, humans
<hmans> humans ;-)
<FromGitter> <straight-shoota> Autocorrect xD
<hmans> Figured that much. Still made me chuckle, MISTER SPACE ALIEN
<FromGitter> <straight-shoota> Http server is a use case that really doesn't need in process parallelism
<FromGitter> <straight-shoota> Its easy to spin up a few processes and you don't need to communicate between them
<FromGitter> <straight-shoota> you'll typically use a database, message queue etc. for that anyway.
<FromGitter> <straight-shoota> And not relying on everything being in a single process makes the application easily scalable beyond one node.
rohitpaulk has quit [Ping timeout: 264 seconds]
rohitpaulk has joined #crystal-lang
sz0 has quit [Quit: Connection closed for inactivity]
rohitpaulk has quit [Ping timeout: 264 seconds]
rohitpaulk has joined #crystal-lang
<hmans> I'm not agreeing with that logic. Making use of available CPU resources without having to resort to IPC is _very_ desirable. Maybe not for random CRUD web apps, but those are served well by Rails and the likes.
<FromGitter> <bararchy> @straight-shoota boils down to "I can't have my window draw NPC sprites while my main char is moving"
<FromGitter> <bararchy> hahah
<hmans> Beyond just plain Thread.new support, I'm seeing statements about allowing the scheduler to distribute fibers across a thread pool (to automatically balance them over available cores.) It's hard to argue against the usefulness of that.
<FromGitter> <bararchy> hmans the idea is never to expose Thread to the user, instead do Go like concurecy (Fiber, Channel) and allow the Scheduler to spread the Fibers across avilable cores
<hmans> Yes, that would be nice, bararchy
<FromGitter> <yxhuvud> @bararchy TBH I'd prefer a solution closer to how https://vorpus.org/blog/notes-on-structured-concurrency-or-go-statement-considered-harmful/ does it. A bit more structured..
alex`` has quit [Ping timeout: 256 seconds]
alex`` has joined #crystal-lang
<FromGitter> <straight-shoota> But that's really only about concurrency
<FromGitter> <straight-shoota> Doesn't really matter if it is parallel
<FromGitter> <straight-shoota> @bararchy I don't deny the benefits of parallelism ;) but it's a huge task and IMHO not super urgent.
<FromGitter> <bararchy> @yxhuvud it seems to be kinda this: https://crystal-lang.org/api/master/toplevel.html#parallel%28%2Ajobs%29-macro
<FromGitter> <bararchy> @straight-shoota you keep saying that while my little pinguin is running away from NPC pinguins while they stuck XD hahah
<wuehlmaus> i see quite some *.dwarf files, what are those with crystal?
linuksz has joined #crystal-lang
<FromGitter> <CaDs> I wonder if I should wear this on the ruby kaigi :D
<FromGitter> <bararchy> nice ! lol
<FromGitter> <straight-shoota> @bararchy No way you're penguin game fully staturates a single core
<FromGitter> <straight-shoota> Fiber switching is very fast, you probably just need to give it an opportunity.
<FromGitter> <straight-shoota> @yxhuvud Btw. I've been working on a PoC to implement such a nursery in Crystal. It's really easy to do^^
<FromGitter> <bararchy> nah, that's not the issue ⏎ it's that I want to put https://github.com/bararchy/rapid_mutation/blob/master/src/rapid_mutation/main_event.cr#L23 inside of the `run` method, so that I can remove it from draw and let the draw happen faster, but putting it here for example: https://github.com/bararchy/rapid_mutation/blob/master/src/rapid_mutation/main_event.cr#L74 means it wont execute while an event is
<FromGitter> ... happening (ie. my player is moving), so to make it work I tried spawn and loop with sleep, but it seems to not work and they wont move at all
<FromGitter> <straight-shoota> looks like you're generally mixing rendering with mutation of game state
<FromGitter> <straight-shoota> Just think about this perspective: such a simple game (I figure) should certainly run on a single-core computer.
<FromGitter> <straight-shoota> like every game at least until like 10 years ago
<FromGitter> <bararchy> this is true, but when the whole world will be populated with off-map NPC (around 50k-100k) and I need to run evolutionart algorithms on each NPC, this might be a little different
<FromGitter> <straight-shoota> even many modern games don't depend on multiple cores
<FromGitter> <straight-shoota> that depends on the performance on the implementation ;) This kind of thing might require large processing power, but not necessarily parallelism.
<FromGitter> <straight-shoota> Running these algorithms in parallel can help provide the processing power, but a faster single core would do as well
<FromGitter> <straight-shoota> parallelism is not the key issue here
linuksz has quit [Quit: WeeChat 2.1]
<FromGitter> <yxhuvud> @straight-shoota did you see the comment by the creator of 0mq as well? http://250bpm.com/blog:124
<FromGitter> <straight-shoota> not yet
<FromGitter> <straight-shoota> this addresses essentially the questions I have thought about since reading the original article
<FromGitter> <straight-shoota> the different kinds of concurrency patterns
<FromGitter> <yxhuvud> yeah, and I guess the end result is quite similar to at least some of the stuff supervisors do in erlang/elixir
thews has quit [Read error: Connection reset by peer]
thews has joined #crystal-lang
thews has joined #crystal-lang
thews has quit [Changing host]
DTZUZO has joined #crystal-lang
<FromGitter> <straight-shoota> yeah, but those are IMHO a higher-level construct
<FromGitter> <straight-shoota> supervisors manage jobs, structured concurrency primitives manage coroutines
tilpner has joined #crystal-lang
hightower3 has quit [Remote host closed the connection]
rohitpaulk has quit [Ping timeout: 265 seconds]
rohitpaulk has joined #crystal-lang
duane has joined #crystal-lang
<crystal-gh> [crystal] asterite closed pull request #6044: Let `p` use inspect, `pp` just pretty print values, and introduce `p!` and `pp!` which also show the expression to print (master...feature/p-pp-bang) https://git.io/vpEhO
<RX14> damn, @asterite beeat me to merging that PR by seconds
<crystal-gh> [crystal] asterite pushed 1 new commit to master: https://git.io/vpzI2
<crystal-gh> crystal/master 0d61684 Ary Borenszweig: Merge pull request #6045 from crystal-lang/bug/5717-typeof-regression...
<hmans> I want to commit myself to Crystal and contribute somehow, but I'm having a hard time gauging what would be a good place to start (for someone like me who's definitely _not_ a compiler person.)
<FromGitter> <vladfaust> Hi! Could this work somehow? `Hash(Symbol, Int32 | String).cast({:a => 1}) # => can't cast Hash(Symbol, Int32) to Hash(Symbol, Int32 | String)` - I need a hash to be "bigger" type
<FromGitter> <straight-shoota> hmans, stdlib needs much love, too
<FromGitter> <bararchy> hmans from what field of programming are you coming ?
<FromGitter> <straight-shoota> @vladfaust ⏎ ⏎ ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=5ae9bc4ef2d2d53704590e9e]
<FromGitter> <vladfaust> @straight-shoota noted, but my case isn't that simple, as always. BTW, `alias MyHash = Hash(String, String | MyHash); h = MyHash.new` - isn't that supposed to be working?
<FromGitter> <vladfaust> `h = {} of String => MyHash` this works though
<FromGitter> <straight-shoota> what do you mean with " not that simple"?
<hmans> straight-shoot, I'd love to hack on the stdlib, yes!
<FromGitter> <straight-shoota> you can apply that to Hashes of any type
<FromGitter> <straight-shoota> even recurse if you need nested hashes
<hmans> bararchy, I've been writing software for 30 years or so (I'm 41), but sadly I've never really dived deep enough to do low-level compilery stuff.
<travis-ci> crystal-lang/crystal#73d3a85 (master - Merge pull request #6044 from asterite/feature/p-pp-bang): The build passed. https://travis-ci.org/crystal-lang/crystal/builds/373919114
<DeBot> https://github.com/crystal-lang/crystal/pull/6044 (Let `p` use inspect, `pp` just pretty print values, and introduce `p!` and `pp!` which also show the expression to print)
<hmans> Maybe some details on what I'm currently building with Crystal:
<hmans> For the past few years, I've been diving into Indieweb stuff (WebMention, Microformats2, the likes). A while ago I built sort of a decentralized social network/blog type thing on top of these Indieweb protocols. I'm doing an iteration on it using Crystal right now
<hmans> A copy of it is running at http://cranky.hmans.io/
<FromGitter> <straight-shoota> hmans, nice
<hmans> Why am I using Crystal? Because it allows me to build a single executable with all asstes baked in, requiring minimal resources when running (cranky.hmans.io is running off a $1 VM on hyper.sh)
<hmans> I use SQlite for data storage and it's _perfect_. One less dependency, and since Crankypants is designed to be single-user, you're probably never ever going to scale beyond a single computer (and even if you do, SQLite will take you much farther than one would expect)
<hmans> Thanks to the combination of Crystal and SQLite, this thing pretty much has static site-like performance, but with dynamic views. It's beautiful :)
<hmans> Some more context:
<hmans> Cranky is serving both a server-rendered HTML version of a blog as well as a client-side Vue app (talking to a JSON API) for managing your site, following other users, interacting with their posts, etc.
<hmans> Why server-rendered? Because machine-readability is important for Indieweb protocols
<hmans> (The previous version was a Rails app -- it was pretty much "done", but asking users to set up a Rails app was just too much. I believe this is one of the biggest problems with projects like Diaspora or Mastodon, but that's another story)
<hmans> (The code for that old version is at https://github.com/hmans/pants, if anyone cares)
<crystal-gh> [crystal] asterite pushed 2 new commits to master: https://git.io/vpzq3
<crystal-gh> crystal/master 53c4b1e Ary Borenszweig: Merge pull request #6048 from asterite/bug/6030-quoted-heredoc...
<crystal-gh> crystal/master 248a260 Ary Borenszweig: Parser: fixed quoted heredoc followed by call
<FromGitter> <vladfaust> Does Hash support deep merging?
<FromGitter> <vladfaust> hmans, thanks for hyper.sh
<hmans> vladfaust: hyper.sh is great, I can recommend it.
<hmans> It's also the only place that I've found that lets me put a tiny tiny tiny Crystal app (like crankypants) online for under $4 (which seems to be the commonly accepted minimum price for on-demand VMs)
<hmans> But my research continues...
<hmans> (Not counting free options like the AWS Free Tier, obviously)
<FromGitter> <vladfaust> @straight-shoota thanks for your help, but seems like my issue is merging two complex hashes, latest of which is "lesser" type
<FromGitter> <vladfaust> I'm willing to add ability to use nested params in https://github.com/vladfaust/prism, and it already took me 22 hours to figure it out. I'm on my finish line, and it was tough. All these typecastings, limited macros... ⏎ ⏎ What I'm looking for is: ⏎ ⏎ ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=5ae9c2b56d98e53e0447ce9a]
<travis-ci> crystal-lang/crystal#0d61684 (master - Merge pull request #6045 from crystal-lang/bug/5717-typeof-regression): The build passed. https://travis-ci.org/crystal-lang/crystal/builds/373928252
<DeBot> https://github.com/crystal-lang/crystal/pull/6045 (Compiler: don't fail when typeof argument doesn't have a type)
cyberarm has quit [Ping timeout: 276 seconds]
cyberarm has joined #crystal-lang
hmans has left #crystal-lang [#crystal-lang]
<FromGitter> <hmans> Oh, Gitter is nice. It's been a while since I last tried it...
<FromGitter> <bararchy> yeha it is :)
<Vexatos> What is this gitter you speak of
<FromGitter> <bararchy> gitter.im :)
<FromGitter> <bararchy> the parsed text is so much better
<FromGitter> <hmans> I like how Gitter does @-completion of names even when they use the IRC bot. (At the same time, my IRC client won't, of course, tab-complete nicks from the Gitter bridge)
<Vexatos> Mine does
<FromGitter> <vladfaust> ```code paste, see link``` ⏎ ⏎ Anyone could make it work please? [https://gitter.im/crystal-lang/crystal?at=5ae9c71fb982f08504e9f10e]
<FromGitter> <hmans> Your client is smarter than mine, Vexatos
<Vexatos> nah I just wrote a plugin for it
<Vexatos> completely seamless
<FromGitter> <bararchy> irssi ?
<FromGitter> <hmans> Nice.
<Vexatos> hexchat
<Vexatos> I also can autocomplete any name who recently talked (of course, it won't know people on gitter who never spoke in chat)
<travis-ci> crystal-lang/crystal#53c4b1e (master - Merge pull request #6048 from asterite/bug/6030-quoted-heredoc): The build passed. https://travis-ci.org/crystal-lang/crystal/builds/373937535
<DeBot> https://github.com/crystal-lang/crystal/pull/6048 (Parser: fixed quoted heredoc followed by call)
<Vexatos> So many merges today
<FromGitter> <bararchy> Yeha, and 1 month ago I thought 0.25.1 will be huge
<FromGitter> <bararchy> also more then 1 breaking changes
<FromGitter> <hmans> I should probably take a closer look at the Next milestone to get my body and soul ready, huh
That_Guy_Anon has joined #crystal-lang
<FromGitter> <hmans> I apologize if this question is a bit weird, but... is BountySource trustworthy?
<FromGitter> <j8r> What is the Crystal equivalent of `syscall.Statfs` in Go?
<FromGitter> <hmans> I've been trying to set up a $10/month donation, and it's been giving me error messages. Today I see that it's listing three separate $10/month donations for me, and they charged my Paypal for $30.
<FromGitter> <bararchy> @hmans I pay them via paypal for Crystal backing
<FromGitter> <hmans> (I don't mind giving $30, but cancelling with an error message while still charging money is a bit dodgy, isn't it)
<FromGitter> <bararchy> @hmans Common error in other websites, frontend sent cache error while backend digested the info
<FromGitter> <hmans> Also, on some days, their menu (when clicking my avatar image) displays completely different options from other days, none of which work
<FromGitter> <bararchy> The service and web they use is pretty shitty, that's true
<FromGitter> <bararchy> it's not intuative and very clanky
<FromGitter> <hmans> https://twitter.com/hmans/status/991324634695061504 - Right now I have 0% trust in BountySource. Is there any other way to donate some money to Crystal?
<FromGitter> <hmans> (thread on twitter)
<FromGitter> <hmans> I'm supporting a bunch of projects through OpenCollective, which has been working fine so far
<Vexatos> I assume you can throw some money at the devs directly
<FromGitter> <hmans> That's quite a long throw
<Vexatos> You could build tiny rockets to mail it to them
<FromGitter> <j8r> I would like to have https://golang.org/pkg/syscall/#Statfs_t in Crystal. I know the How To with the "old" https://crystal-lang.org/api/0.24.2/File/Stat.html but not with the new https://crystal-lang.org/api/master/File/Info.html
<FromGitter> <bararchy> What have I done to myself, trying to auto-generate tiles for a pre-configured size world sounded much easier in my head...HELP! ⏎ https://github.com/bararchy/rapid_mutation/blob/master/src/rapid_mutation/world/world.cr#L14-L36
<FromGitter> <bararchy> @oprypin is there a better way to do it?
<FromGitter> <hmans> I sort of hate myself for opening an issue like #6051 as my first Crystal issue, but I'm so frustrated
<DeBot> https://github.com/crystal-lang/crystal/issues/6051 (Alternative to BountySource?)
<FromGitter> <hmans> Giving some money feels like the most immediate way to help this project, but having to go through a platform that actively *tries* to erode my trust in it is not great
<FromGitter> <hmans> "The developer who solves the issue will receive the full bounty amount in their Bountysource account. These funds can be used to create more bounties, donate to teams, or pledge fundraisers. If a developer wishes to cash out their balance there will be a 10% fee."
<FromGitter> <hmans> Bountysource keep 10%??!
<FromGitter> <girng> doesn't MANAS have a direct way to donate
sz0 has joined #crystal-lang
<FromGitter> <hmans> To be fair, OpenCollective also appears to keep 10%. TIL
<Vexatos> As far as I can tell, the issue is that the current core developers of crystal are all independent people
<Vexatos> there is not one place to give money to
<RX14> the bountysource gives money to manas right now
<RX14> and the money is spent on developer time which is allocated to specific issues
<crystal-gh> [crystal] esse opened pull request #6052: Raise syntax error when using out as an arg (master...out_syntax_error) https://git.io/vpz8p
<RX14> and people at manas work on those issues
<RX14> although I think that's changed recently
<RX14> and now @bcardiff will be working on crystal full-time as soon as he comes back from vacation
<RX14> i'm not sure if there's much funds left for other people at manas to work on crystal too
<FromGitter> <bararchy> Basically AFAIK people like RX14 won't get any even though they in core dev, you donate to manas not core dev
<RX14> I'll also be doing a fundraiser of my own very soon to finish windows support
<FromGitter> <girng> 10% seems a lot
<FromGitter> <girng> that's ridiculous amount
<RX14> i don't know if that's a bountysource number or a bountysource salt number
<FromGitter> <bararchy> RX14 let me know when you set it up
<Vexatos> 3% to 6% is what sane websites tend to do from what I gathered
<RX14> yeah i've been a bit lasy on that but it should be ready soon
<RX14> just need to do a bit more work on propaganda :P
<FromGitter> <bararchy> I'll help spread the word
<FromGitter> <bararchy> What's you goal ?
<Vexatos> indiegogo pages apparently don't write themselves :^)
<RX14> £1675 for 3 months full-time
<RX14> streaming probably 5 days a week
<FromGitter> <asterite> why not individual patreon accounts? why put money on "Crystal" if individual contributors actually due the work?
<Vexatos> @hmans you might want to look into patreon or liberapay accounts of core devs instead
<Vexatos> or anything similar
<FromGitter> <hmans> Vexatos, do the core devs already have Patreons set up?
<FromGitter> <hmans> @RX14 - what country are you in?
<RX14> i'll probably set up a pateron+liberapay too since i'm a starving student :P
<RX14> @hmans UK
<Vexatos> RX14, don't you already have a liberapay account
<RX14> its not set up
<FromGitter> <hmans> Oh, the GBP sign was sort of a hint. Duh
<FromGitter> <hmans> I'd be happy to eventually put more into Crystal than $25/month, but the overall situation to me is very confusing (esp. with regard to who will end up the with money, and what purpose will they use it for)
<RX14> yeah
<RX14> thats one thing I wanted to solve with my indiegogo compaign: clear goals
<RX14> a set amount for a set amount of time with a set goal
<RX14> i.e. £1670 for 3 months full-time working specifically on windows support
<FromGitter> <bararchy> RX14 any stretch goals ? ;)
<RX14> not eating soup :P
<FromGitter> <bararchy> Do I get a shirt with your nick if I put 25$ ?
<RX14> if people are super generous, a standing desk
<FromGitter> <bararchy> :):)
shalmezad has joined #crystal-lang
<Vexatos> @bararchy the heart-warming feeling of giving RX14 food
<FromGitter> <bararchy> Hahha
<RX14> @bararchy i might do consulting if people want at higher donation levels
<FromGitter> <hmans> @RX14 Where in the UK are you located?
<RX14> bristol
<FromGitter> <bararchy> Food = sleepy , less food = more work
<RX14> hmm
<RX14> not sure I agree
<FromGitter> <bararchy> He's a student , he lives on leftovers and beer
<FromGitter> <bararchy> Hahahah
<RX14> i wish
<FromGitter> <j8r> Bountysource is already nice: people pays to have issues resolved
<RX14> yeah that's great for open source work on the side but it doesn't really seem to be to be designed to live on
<FromGitter> <j8r> Other Topic: @RX14 do you know how to have https://golang.org/pkg/syscall/#Statfs_t with `File::Info` ?
<RX14> uhh
<RX14> why?
<FromGitter> <bararchy> @j8r consulting is 25$
<FromGitter> <bararchy> ;)
<FromGitter> <j8r> To do in Crystal https://gist.github.com/lunny/9828326
<FromGitter> <j8r> TL;DR: a `df` implementation in Crystal
<RX14> @j8r you'll be wanting to access the underlying LibC::Stat for that
<RX14> I think i've overlooked a to_unsafe or similar method to return the underlying system struct
<RX14> you should make an issuer
<FromGitter> <j8r> I'll make an issue so. Is it to have methods that implements this?
<RX14> to have methods that return a platform-specific representation
<FromGitter> <codenoid> hello crystal
<FromGitter> <codenoid> long time no see
<FromGitter> <codenoid> omg
<FromGitter> <codenoid> hi @bararchy try to eating nootropics vitamin
<FromGitter> <codenoid> *drug
<FromGitter> <codenoid> smart drug
<RX14> I should do crystal stickers for the indiegogo campaign
<RX14> make my laptop a little less exclusive though
<RX14> I remember winning the crystal laptop sticker in a competition on twitter back before I was even in the core team
<FromGitter> <bararchy> Crystal stickers!!!
<FromGitter> <bararchy> 1$ - mention and thanks on twitch
<FromGitter> <codenoid> i think
<FromGitter> <bararchy> 5$ - crystal sticker
<FromGitter> <codenoid> crystal need more - "good testimoni"
<FromGitter> <bararchy> 25$ - RX14 logo shirt
<FromGitter> <codenoid> i mean
<FromGitter> <bararchy> Haha
<FromGitter> <codenoid> "successfull story"
<FromGitter> <codenoid> with crystal
<Vexatos> @bararchy $5 would hardly cover the shipping :P
<FromGitter> <bararchy> @codenoid keep an eye on our twitter , you might see something cool real soon
<FromGitter> <bararchy> Also @sdogruyol did one with rainforeatQA
<FromGitter> <bararchy> RainforestQA
<FromGitter> <codenoid> is your lenovo thinkpad slow ?
<RX14> nope
<FromGitter> <bararchy> RX14 what laptop is this?
<RX14> thinkpad 13
<FromGitter> <bararchy> Thinkpad what?
<RX14> thinkpad 13
<FromGitter> <codenoid> i have x270
<RX14> it's only got an i5-7200U
<FromGitter> <codenoid> but i prefer my dell inspiron 14 7000 <3
<RX14> but it's plenty fast enough
<FromGitter> <codenoid> it's really fast
<FromGitter> <j8r> Would be great to have https://crystal-lang.org/assets/media/crystal_logo-stacked_version.svg in logo, but with "Crystal" below
<RX14> with dual cores and hyperthreading
<RX14> 16gb ram though
<RX14> thats important
<FromGitter> <codenoid> woaa
<FromGitter> <codenoid> my thinkpad just 4 GB
<RX14> it's pretty much the cheapest thinkpad you can put 16gb ram in
<FromGitter> <codenoid> and lagging when starting new firefox
<RX14> and the middle of the range processor for it
<RX14> it gets 8 hours on battery
<FromGitter> <codenoid> when typing in terminal
<FromGitter> <j8r> 8Gb is quite enough if you have lxqt and Zswap activated
<RX14> and has a pretty good screen
<RX14> and one of the best keyboards on a thinkpad
<RX14> and it's got 2 display outputs
<RX14> so thats all I need
<RX14> you can see my new docking station in that pic
<FromGitter> <bararchy> I got Thinkpad p51 , nvidia quadro, 32Gb ram, 2 TB array , Xeon CPU 8 cores
<RX14> ...
<RX14> wow
<RX14> thats a bulky thinkpad
<Vexatos> I feel bad for the quadro in there
<FromGitter> <bararchy> It is, I always preferred to take more wight for more performance
<FromGitter> <bararchy> Only one in the comp with 3kg laptop
<FromGitter> <bararchy> Hahah
<RX14> i find I don't need performance very much
<RX14> as I said i'm plenty happy with my i5-7200U
<FromGitter> <bararchy> You don't so Machine Learning
<Vexatos> For performance I have my computer at home
<RX14> I barely noticed the downgrade from my desktop i5-3500k
<RX14> but yeah
<RX14> I don't do machine learning
<RX14> the 16gb ram is the important part for VMs and uhh
<RX14> compiling the spec suite
<RX14> ...
<FromGitter> <bararchy> LOL true
<Vexatos> I don't do scientific computing on my laptop, and it's plenty fast for basic crystallography stuff >_>
<FromGitter> <bararchy> Compiling the compiler is like 4 GB ram
<FromGitter> <codenoid> cool
<FromGitter> <codenoid> yeah
<FromGitter> <bew> I have a sticker too :p https://m.imgur.com/a/qzYp9uy (but 8GB ram :/ for now)
<FromGitter> <bararchy> Vexatos you do natural science, it doesn't count ;)
<FromGitter> <bararchy> Hahahhaha
<FromGitter> <codenoid> i can't let anything slow me down
<FromGitter> <codenoid> i'm angry if my computer is slow
<Vexatos> @bararchy machine learning is similar, no?
<Vexatos> (not that I would know)
<FromGitter> <bararchy> Yeha it was a joke
<FromGitter> <bararchy> :)
<RX14> i still remember using my hyperthreaded pentium 4 before I had my desktop
<RX14> so uhh
<RX14> i'm alright with being a bit slow
<RX14> the 8 hours of battery while being pretty light are worth it
<FromGitter> <bararchy> Maybe we can raise you enough for a new laptop
<FromGitter> <bararchy> :)
<RX14> nah
<RX14> this one is new
<FromGitter> <codenoid> haha, my laptop on-charger everytime
<RX14> hope you're using the thinkpad battery saver if thats the case
<RX14> when I get my desktop in my new flat next year i'll just move my windows VMs over to that
<FromGitter> <bararchy> 300$ - private Crystal lesson
<RX14> and possibly my compiler invocations
<Vexatos> I get those for free :U
<RX14> i can scale out
<RX14> not scale up
<RX14> while keeping my laptop my only computer
<FromGitter> <codenoid> no, i won't use thinkpad, dell is da best <3 , my boss, ex boss, always tell me to use dell
<RX14> wrong :P
<FromGitter> <bararchy> Thinkpad > Dell
<Vexatos> I have a thinkpad too >_<
<RX14> second hand thinkpads are the best second hand laptops
<RX14> since all the components are replacable easilly
<RX14> and they're pretty upgradable
<FromGitter> <codenoid> btw, @bararchy some israeli just made presentation about call and sms interception
<Vexatos> I have a second-hand thinkpad :P
<FromGitter> <hmans> @RX14 - are you capable of wrapping up Crystal's parallelism support, and how much money do you need? :b
<FromGitter> <codenoid> remotely-
<RX14> @hmans unfortunately I don't think I am
<FromGitter> <codenoid> lol
<FromGitter> <codenoid> ok, i'm gonna to eat piano
<FromGitter> <codenoid> see ya
<RX14> eat a piano?
<RX14> doesn't sound healthy
<FromGitter> <girng> healthier than giving away 10% to bounty source
<FromGitter> <bararchy> Sounds pretty musical though :)
<FromGitter> <hmans> I'm hoping those 10% already cover the fees they will need to pay towards Stripe, Paypal et al
<FromGitter> <hmans> (And I'm assuming they do.)
<FromGitter> <j8r> question on `crystal docs` & Travis: I would like to gen docs, but not to versionize them in a `/docs` directory, but put them in another branch like `gh-pages`
<FromGitter> <j8r> @bararchy instead of hand written docs, I'm working to migrate to `crystal docs`. The `Documentation` section becomes huge!
<FromGitter> <bararchy> @j8r we should maybe just have some basic README example while using a link to devdoc etc.. For documents
<Vexatos> @hmans as I said, patreon and liberapay take 3% each, so those might be a better option if/once the devs have it set up :P
<FromGitter> <j8r> @bararchy `hardware` will docs similar to https://crystal-lang.org/api/master/, neat
<FromGitter> <bararchy> Yeha :)
<FromGitter> <j8r> To start I will generate manually in a `docs` branch. I "just" have to add examples and description in the code instead of the README https://crystal-lang.org/docs/conventions/documenting_code.html
<FromGitter> <bararchy> Yeha ^
<FromGitter> <bararchy> Then we add simple example in README and link to full docs
<FromGitter> <j8r> yes exactly
<FromGitter> <j8r> I don't know: is it possible to have a non versionized `/docs` in the repo?
<FromGitter> <j8r> not sure because `.gitignore` is only for local stuff. Else we can have another branch
<FromGitter> <bararchy> Should we just link to master ?
<FromGitter> <j8r> mehh we can't choose a branch for gh-pages anymore :-(
<FromGitter> <j8r> yes we will have to link to master `/docs`
<FromGitter> <j8r> I will try in a repo of me
<crystal-gh> [crystal] asterite pushed 2 new commits to master: https://git.io/vpzae
<crystal-gh> crystal/master 25f8c25 Ary Borenszweig: Merge pull request #6052 from esse/out_syntax_error...
<crystal-gh> crystal/master f6f20be Piotr Szmielew: raise syntax error when using out as a varname...
<crystal-gh> [crystal] asterite closed pull request #6047: Compiler: define self variable inside types (master...bug/5911-self-at-type-inside-is-a) https://git.io/vpuJ4
<FromGitter> <straight-shoota> @j8r I have a tool for deploying docs to Github pages: https://github.com/straight-shoota/autodeploy-docs
<travis-ci> crystal-lang/crystal#25f8c25 (master - Merge pull request #6052 from esse/out_syntax_error): The build passed. https://travis-ci.org/crystal-lang/crystal/builds/374015661
<DeBot> https://github.com/crystal-lang/crystal/pull/6052 (Raise syntax error when using out as an arg)
<FromGitter> <girng> https://play.crystal-lang.org/#/r/3zkc/edit is there something like a `in` operator in crystal?
<FromGitter> <j8r> @girng not needed, use `#each`. There is only `in` for `for` loops in macros
<FromGitter> <j8r> Or `#includes?`
<FromGitter> <girng> @j8r https://play.crystal-lang.org/#/r/3zkf got it, thanks
<FromGitter> <Blacksmoke16> https://play.crystal-lang.org/#/r/3zkl
That_Guy_Anon has quit [Remote host closed the connection]
<FromGitter> <girng> that's weird, shouldn't it return true?
<FromGitter> <girng> it must be a strict match then, which works for my usecase. but just curious , the `rofl` is still in a string though
rohitpaulk has quit [Ping timeout: 268 seconds]
That_Guy_Anon has joined #crystal-lang
<FromGitter> <bew> huh no`"rofl"` & `"rofl2"` are different, `"rofl"` is not in the array
<FromGitter> <girng> rofl is in the array
<FromGitter> <girng> it's included in the word `rofl2`
<FromGitter> <bew> no, it doesn't work like that, `includes?` uses `==`, and `"rofl" == "rofl2"` is `false`
<FromGitter> <girng> i c, thought it was finding the first match through the word, not just doing a == operation
<FromGitter> <girng> on each value in the array,my bad
<FromGitter> <silentworks> @girng what you are after would work in the case of a string, not an array
<FromGitter> <silentworks> https://play.crystal-lang.org/#/r/3zks
<FromGitter> <girng> wtf
<FromGitter> <girng> that works
<FromGitter> <silentworks> yes because its looking for part of a string
<FromGitter> <girng> BOOM
<FromGitter> <girng> that's how u would do it for an array then right?
<FromGitter> <Blacksmoke16> 👍
<FromGitter> <girng> O_O
<FromGitter> <silentworks> look at that magic
<FromGitter> <girng> so the & is shorthand notation of a block kinda?
<FromGitter> <girng> that looks really cool
<FromGitter> <asterite> shortcut for this: https://play.crystal-lang.org/#/r/3zl5
<FromGitter> <Blacksmoke16> more so shortcut that it should run each item of array thru the includes?
<FromGitter> <Blacksmoke16> yea
<oprypin> girng, one day maybe you'll give up and actually read the docs
<FromGitter> <j8r> haha
greengriminal has joined #crystal-lang
<FromGitter> <girng> i like to converse and talk about it too, helps me understand more
<FromGitter> <girng> through examples
<FromGitter> <silentworks> Plus the docs doesn't contain all of this information and some of it is really hard to find
<oprypin> yeah i see that maybe you wouldn't come up with that example after just seeing the docs
<oprypin> but &. is certainly in them
<FromGitter> <girng> the docs have a lot of examples, but they mean anything when i'm not using the code in real world project
GoldenBear has joined #crystal-lang
<FromGitter> <silentworks> For instance you would have to look at the API docs to know about includes being inherited by Array from Enumerables
<FromGitter> <girng> don't mean*
<FromGitter> <Blacksmoke16> i would have thought it would be under `Included Modules`?
<FromGitter> <girng> i read the docs and have the cookbook, db, and API bookmarked. However, it's called INFORMATION OVERLOAD
<FromGitter> <girng> your mind can't remember all that stuff
<FromGitter> <girng> but if you do it through real world examples, it does
<oprypin> you're right
<FromGitter> <girng> for example, the & is now engrained in my head. and i'llprob use the shit out of it now lol
<FromGitter> <Blacksmoke16> or Enumerable is included in array because its included in Indexable which is included in Array
<FromGitter> <Blacksmoke16> that would make sense
<FromGitter> <j8r> yes
<FromGitter> <bew> @girng you could also read the docs, make yourself real world example out of them (or ask for some), and remember from them (and build a blog with them for others :P)
<FromGitter> <j8r> since I know devdocs.io, most of the time I have what I've searched for @girng :-) ⏎ Of course you won't have the perfect code like the `&.` and `.any?`
<FromGitter> <silentworks> Everyone learns differently, not everyone can read the docs and learn
<FromGitter> <j8r> also searching direcly on crystal-lang/crystal helps
<FromGitter> <silentworks> I use the docs mainly for reference
<FromGitter> <Blacksmoke16> looking at the specs can also help
<FromGitter> <girng> well, you're not wrong @bew =] i just want to get this game server done ASAP and just go to gitter whenever i found something odd
<FromGitter> <silentworks> If I can't find something I ask in here how to do it, just like @girng is doing now
<FromGitter> <girng> trust me it may seem like im not learning but i am.i love your help ^^
<wuehlmaus> 10
<FromGitter> <girng> & is really enticing me now. because i have a lot of that code that be converted into 1 line
<FromGitter> <j8r> you could done them in one line even without `&.`
<FromGitter> <j8r> just shorter
<FromGitter> <girng> u mean my example? https://play.crystal-lang.org/#/r/3zkx
<FromGitter> <girng> now im embarrassed posting it after what ary just posted
<FromGitter> <j8r> you can't whith implementation. You could use a `return true`, but ary has posted a better code
<FromGitter> <girng> oh, yeah
<FromGitter> <girng> why doesn't this work?
<FromGitter> <girng> right when i think of doing somthing on my own with `&` it doesn'twork
<FromGitter> <girng> FML
<oprypin> girng, `each` always returns nil, that's just it
<FromGitter> <j8r> you need to have true and stop the loop, so a `return true` style
<FromGitter> <j8r> and what `any?` does
<FromGitter> <silentworks> I actually prefer this explicit version https://play.crystal-lang.org/#/r/3zl5
<FromGitter> <girng> @oprypin but i'm using `&`
<oprypin> k
<FromGitter> <silentworks> Trying to think the implicit one through and it just does my head in https://play.crystal-lang.org/#/r/3zl0
<FromGitter> <girng> it suppose to grab the first parameter, and pass it in the block
<oprypin> yeah
<FromGitter> <girng> each can be used with a block
<oprypin> yeah
<oprypin> girng, `each` always returns nil, that's just it
<FromGitter> <girng> LOL why is each retruning a null??
<oprypin> it's a normal loop without any additional features
<FromGitter> <j8r> looks at the docs/specs if you want to know more ;-)
<oprypin> it returns nil only because everything has too return a value
<FromGitter> <girng> omg.
<FromGitter> <girng> NOT returning null
<FromGitter> <j8r> yes it does
<oprypin> girng, you were shown `any?`, you need to use `all?`
<FromGitter> <j8r> you just write in `STDOUT`
<FromGitter> <girng> `|word| ⏎ puts word ⏎ end` is what `&` is supposed to catch
<FromGitter> <girng> from wha ti'm understanding
<FromGitter> <girng> (the passed block)
<FromGitter> <j8r> man, just Read The Docs and better, the underlying implementation in the stdlib
<FromGitter> <girng> also
<FromGitter> <girng> each doesn't return null
<FromGitter> <girng> that's a lie
<FromGitter> <girng> why u playing games with me?
<FromGitter> <j8r> `each` != `each &.block`
<FromGitter> <bew> or better https://play.crystal-lang.org/#/r/3zlr
<FromGitter> <girng> whatever
<FromGitter> <girng> now your using a block with no parameter. ofc it's gonna be null
<FromGitter> <bew> really? ... https://play.crystal-lang.org/#/r/3zlu <--- nil
That_Guy_Anon1 has joined #crystal-lang
That_Guy_Anon has quit [Ping timeout: 276 seconds]
That_Guy_Anon1 is now known as That_Guy_Anon
<FromGitter> <girng> https://crystal-lang.org/docs/syntax_and_semantics/blocks_and_procs.html ⏎ A short syntax exists for *specifying a block that receives a single argument* and invokes a method on it. This:
<FromGitter> <girng> here (https://i.gyazo.com/11e789d26708fd35de421e24c6ac8f8c.png) is how i interpret that code
<FromGitter> <j8r> yes you're right, but this is not linked to the return value
<FromGitter> <girng> so, if .each did return the value it would work?
<FromGitter> <girng> so for & to work, it needs to catch the return value from it's left hand assignment
<FromGitter> <girng> and .each returns nil
<FromGitter> <girng> so output is nil in my example
<FromGitter> <girng> however, the block inside .each doesn't return nil.
<FromGitter> <girng> that's may where my confusion come from
<FromGitter> <j8r> you must set a return to return a value in a `each`
<FromGitter> <girng> ok understand, thx
<FromGitter> <j8r> like `while`
<FromGitter> <girng> & is not what i originally thought then
<FromGitter> <girng> so good thing we had this discussion
<FromGitter> <j8r> I think it's like in python's `for`
<FromGitter> <j8r> the `&.` is just a shortcut, you can perfectly not use it
<FromGitter> <girng> i'd rather not use it now
<FromGitter> <j8r> hum don't mind the `puts array` at the end, forget to remove it
duane has quit [Ping timeout: 268 seconds]
That_Guy_Anon has quit [Read error: Connection reset by peer]
That_Guy_Anon has joined #crystal-lang
ua has quit [Ping timeout: 264 seconds]
That_Guy_Anon has quit [Quit: Leaving]
ua has joined #crystal-lang
<FromGitter> <stern0> how do you declare your own types in crystal
<FromGitter> <j8r> create you own type =~ create you own classes
<FromGitter> <stern0> @j8r what about a function type
<FromGitter> <stern0> for example when passing a function as argument to another function
shalmezad has quit [Quit: Leaving]
<FromGitter> <j8r> @stern0 I recommend you to start coding, you will see how Crystal is great :-)
<FromGitter> <j8r> Often you don't have to specify types
<FromGitter> <stern0> @j8r 👍
<Vexatos> Do methods have a type themselves one could use to specify them?
<FromGitter> <j8r> Methods returns types, but aren't a type themsleves. A type is basically a Class(or Struct/Enum).
<Vexatos> so you can not further specify what kind of method you pass to another method?
<FromGitter> <j8r> You don't pass method to methods. There are blocks, but this is another story
<FromGitter> <j8r> If you want "to restrict to some methods" in arguments, regroup them in a Class
rohitpaulk has joined #crystal-lang
<FromGitter> <j8r> I see you sometimes here. Do you code in Crystal @Vexatos ?
<Vexatos> Nope
<Vexatos> I have been dragged into this and am moderately interested in the language.
<Vexatos> (read: I haven't found a project to try it on yet)
<FromGitter> <j8r> You can contribute to projects, there are plenty
<Vexatos> None that I care about :P
<FromGitter> <j8r> On my side I use Crystal a bit like Go is used - primilarly devops/system oriented
<FromGitter> <j8r> On what do you care? Web, system, data?
<Vexatos> Scientific computing, mostly
<Vexatos> Not that I own any fancy hardware myself, I am just a student
<FromGitter> <j8r> Oh ok, in math I guess?
<Vexatos> Chemistry.
<FromGitter> <j8r> Why not in Computer Science?
<Vexatos> Because chemistry is better? :P
<FromGitter> <j8r> It's quite cool I agree. I also like Physics 😄
<Vexatos> I can integrate computer science into chemistry, and still keep it (especially programming) as a hobby. On the contrary, studying computer science would not have allowed me to do chemistry as a hobby, I'd have had to drop that passion of mine
Nathanaelle has quit [Ping timeout: 264 seconds]
<Vexatos> So studying chemistry definitely was the best option
<Vexatos> chemistry is 50% physics, anyway
Nathanaelle has joined #crystal-lang
<FromGitter> <j8r> In your school you use programming in courses?
<Vexatos> Only in theoretical/quantum chemistry
<Vexatos> What I do is mostly side projects that have nothing to do with courses
<FromGitter> <j8r> Some labs?
<Vexatos> As a student I don't have time to actually work at a lab :I
<Vexatos> It's just me and just for fun.
<FromGitter> <j8r> You do chemistry with no laboratory manipulation?
<Vexatos> that is what theoretical chemistry is about.
<Vexatos> It's called that for a reason
<FromGitter> <j8r> Too bad that's the best part :-D
<Vexatos> lab work? I do plenty of that in my courses
<FromGitter> <j8r> Yes
<FromGitter> <stern0> @FromIRC @j8r I actually meant taking function as function arguments
<Vexatos> roughly half of my time is spent in a laboratory
<Vexatos> But those courses have nothing to do with what I do when I am bored :P
Nathanaelle has quit [Ping timeout: 264 seconds]
<Vexatos> well, courses are over for now, I am going to start my thesis soon, anyway
<Vexatos> That one will be mostly lab work, heh
<FromGitter> <j8r> You want to becone a laboragory tech at the end?
<Vexatos> lab technician is a completely different thing
<Vexatos> at least in my country, you do not study it at a university, you do an apprenticeship
<Vexatos> you learn very different things
<FromGitter> <j8r> This is right globally, we learn the most useful skills when working
<FromGitter> <j8r> Thanks to my learns outside schools, I was able to have a pretty good job in IT at 20. Let's F**K the school system :-D
<Vexatos> I really like the school system in my country
<FromGitter> <j8r> Thanks to Crystal and the community, I was proposed to work as a Ruby dev (but refused)
<Vexatos> I get paid for studying :P
<Vexatos> Even if not much
<FromGitter> <j8r> I've done this when 19-20
<FromGitter> <j8r> What's you age?
<FromGitter> <j8r> Du wohnst in Deutschland, recht?
<txdv> rechter gehts nicht
<Vexatos> "rechts" is the term for right as in the direction, for "correct", you'd use "richtig"
<Vexatos> but yes, I do
<FromGitter> <j8r> Haha I will waken all Deuscher here
<FromGitter> <j8r> Aprenticeship is also here in France
<FromGitter> <j8r> But the school system is NOT optimized, really not.
<FromGitter> <j8r> The best school is the Life's School
<FromGitter> <j8r> And crystal-lang/crystal on Gitter :-D
DTZUZU has quit [Quit: WeeChat 1.9]
DTZUZU has joined #crystal-lang
greengriminal has quit [Quit: This computer has gone to sleep]
<oprypin> you mean #crystal-lang on Freenode ;p
<FromGitter> <jwoertink> So I've been thinking about the issue with ICR where some of the major limitations of it is how everything has to be re-evaluated.
<FromGitter> <jwoertink> Just taking `Time.now` as the only example, I've been trying to think of a solution on how that could possibly work
<FromGitter> <jwoertink> I'm not familiar with clojure at all, but from what I understand is, that is a compiled language, and using their repl, it works how you'd expect
<FromGitter> <jwoertink> Has anyone dug around with other compiled language repls to get ideas on how we could make this work?
<FromGitter> <rezam90> Hi everyone. Do you know of any game server written in crystal?
<FromGitter> <rezam90> Lightwight and simple based on components and distributed
<FromGitter> <j8r> @girng is working on a game with Godot, and the server in Crystal
<FromGitter> <j8r> @rezam90 you'll need to make one from scratch
greengriminal has joined #crystal-lang
<FromGitter> <jwoertink> @rezam90 there's a few frameworks out there, but I don't know of any server.
<FromGitter> <jwoertink> I wrote a few (poorly made) games using @oprypin CrSFML and also @ysbaddaden SDL.cr libs
<FromGitter> <rezam90> @j8r thanks. These are like game engines. Not game servers
<FromGitter> <jwoertink> yeah ^ that
<FromGitter> <rezam90> I meant something like heroiclab/nakama
<FromGitter> <rezam90> Or gamestdio/colyseus
<FromGitter> <rezam90> How about service discovery, network mesh or sth like consul. Has someone implemented these in crystal?
<FromGitter> <omerxx> Hey everyone, is there any team / individuals currently working on AWS sdk for crystal? Would love to join in and contribute
<FromGitter> <jwoertink> I know there's https://github.com/taylorfinnell/awscr-signer but not sure what else is out there
<FromGitter> <j8r> The place to find Crystal projects is searching on GitHub and http://crystalshards.xyz/
<FromGitter> <omerxx> @jwoertink I know, that's only an HTTP requests signer. Not a full sdk ⏎ @j8r I did, and couldn't find what I was looking for, that's why I'm asking
<FromGitter> <j8r> @omerxx if you did so, Im afraid to tell you that you'll very likely have do make one ;-)
<FromGitter> <j8r> Most of us Open Source projects like that
oz` has joined #crystal-lang
oz has quit [*.net *.split]
oz` is now known as oz
rohitpaulk has quit [Ping timeout: 276 seconds]
<FromGitter> <stern0> I know crystal can't do multi-threading, so are fibers just for asynchrony or do they spin other threads like goroutines
olbat has quit [Ping timeout: 276 seconds]
<RX14> for concurrency
<RX14> yeah
greengriminal has quit [Quit: Leaving]
<FromGitter> <stern0> Yeah??
<FromGitter> <j8r> Ow yeaaah @stern0 😆
<FromGitter> <stern0> @j8r lol 😄