jhass changed the topic of #crystal-lang to: The Crystal programming language | http://crystal-lang.org | Crystal 0.7.2 | Paste > 3 lines of text to https://gist.github.com | GH: https://github.com/manastech/crystal - Docs: http://crystal-lang.org/docs/ | API: http://crystal-lang.org/api/ | Logs: http://irclog.whitequark.org/crystal-lang
ismaelga has quit [Remote host closed the connection]
havenwood has quit [Quit: Textual IRC Client: www.textualapp.com]
ismaelga has joined #crystal-lang
strcmp1 has joined #crystal-lang
havenwood has joined #crystal-lang
ismaelga has quit [Remote host closed the connection]
mdz_ has quit [Remote host closed the connection]
c355E3B has quit [Quit: Connection closed for inactivity]
havenwood has quit [Ping timeout: 272 seconds]
mdz_ has joined #crystal-lang
JBat has joined #crystal-lang
vikaton has quit [Quit: Connection closed for inactivity]
mdz_ has quit [Ping timeout: 252 seconds]
JBat has quit [Client Quit]
sandelius has joined #crystal-lang
kulelu88 has quit [Quit: Leaving]
mdz_ has joined #crystal-lang
sandelius has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
havenwood has joined #crystal-lang
strcmp1 has quit [Quit: Leaving]
bcardiff has quit [Quit: Leaving.]
BlaXpirit has joined #crystal-lang
mdz_ has quit [Remote host closed the connection]
mdz_ has joined #crystal-lang
sandelius has joined #crystal-lang
mdz_ has quit [Ping timeout: 250 seconds]
datanoise has quit [Ping timeout: 250 seconds]
unshadow has quit [Ping timeout: 255 seconds]
datanoise has joined #crystal-lang
unshadow has joined #crystal-lang
<unshadow> lets say I have a program which start with ; a = class.new, b = a.method, puts b
<unshadow> Will setting b = nil after the puts can perserve memory ? should I even bother or will the GC handle that ?
<BlaXpirit> unshadow, it probably has an effect
<BlaXpirit> but you should only bother with such things only when it's something big or important
<BlaXpirit> is there any define planned for Windows?
<BlaXpirit> if I want to do a pull request about LibC types, should I include Windows support?
datanoise has quit [Ping timeout: 240 seconds]
<unshadow> There is an active Windows branch here: https://github.com/xwanderer/crystal/tree/win32
<unshadow> maybe this is where you should ask ?
<BlaXpirit> well, my change would not be exclusive to windows
<unshadow> I guess that for now Crystal is officaly supported only on Linux, so, you should procced with Linux in mind.
<unshadow> Let the windows branch contact you, or , import your changes to windows
DerisiveLogic has quit [Remote host closed the connection]
havenwood has quit [Ping timeout: 276 seconds]
<jhass> unshadow: premature optimization? optimize a) if it's obvious and takes you little to no extra time (= no research needed) b) you identify an actual issue ;)
<unshadow> good rule
unshadow has quit [Quit: leaving]
unshadow has joined #crystal-lang
ponga has joined #crystal-lang
datanoise has joined #crystal-lang
sandelius has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
datanoise has quit [Ping timeout: 276 seconds]
Ven has joined #crystal-lang
Ven has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
sandelius has joined #crystal-lang
sandelius has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
Ven has joined #crystal-lang
Ven has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
datanoise has joined #crystal-lang
endou_ has joined #crystal-lang
sandelius has joined #crystal-lang
drizz_ has joined #crystal-lang
mdz_ has joined #crystal-lang
drizz has quit [Ping timeout: 258 seconds]
endou has quit [Read error: Connection reset by peer]
drizz_ is now known as drizz
datanoise has quit [Ping timeout: 240 seconds]
mdz_ has quit [Ping timeout: 272 seconds]
<unshadow> jhass: I just got an email about a chnage in the AUR -- https://wiki.archlinux.org/index.php/Arch_User_Repository#AUR_4
<unshadow> if you maintain packjages you should read it
<jhass> oh, they released 4?
<jhass> nope, still at 3.5
<unshadow> While aur.archlinux.org is currently still running aurweb 3.5.1, there is a setup of a 4.0.0 release cadidate running under aur4.archlinux.org. AUR package maintainers are supposed to move their packages from aur.archlinux.org to aur4.archlinux.org between June 8th and July 8th. On August 8th, aur4.archlinux.org will become the new official AUR (and will be moved to the aur subdomain).
<jhass> looks like I'll need a few new git aliases
<unshadow> hahah
Codcore has joined #crystal-lang
<Codcore> How to assert method to raise Exception?
<unshadow> raise Something
<unshadow> or I didnt got your question
<jhass> expect_raises macro
<Codcore> in spec i invoke method with forbidden arguments, and expects it to raise an Exception
<Codcore> route.add_respond_method("SOME") expect_raises Exception, "Method 'SOME' not supported" not works
<jhass> "not works"?
<Codcore> I mean "route.add_respond_method("SOME") expect_raises Exception, "Method 'SOME'" not works
<Codcore> oh, i mistyped - route.add_respond_method("SOME") expect_raises Exception, "Method 'SOME' not supported
<Codcore> this code doesn't work
<jhass> yes, did you look at the example I linked?
<Codcore> no, thanks
<Codcore> Got it
<Codcore> jhass, sorry for my carelessness
<jhass> yw
ismaelga has joined #crystal-lang
sandelius has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
sandelius has joined #crystal-lang
<unshadow> jhass: do you also have Process.getpgid lying around somewhere ?
<jhass> no, but should be the same
c355E3B has joined #crystal-lang
<jhass> >> lib LibC; fun getpgid(pid : Int32) : Int32; end; def Process.pgid; LibC.getpgid(0); end; Process.pgid
<DeBot> jhass: # => 1 - http://carc.in/#/r/1c2
<jhass> simple as that
datanoise has joined #crystal-lang
datanoise has quit [Ping timeout: 240 seconds]
Codcore has quit [Ping timeout: 246 seconds]
<unshadow> jhass: Thanks :)
<unshadow> I miss Sokcket.eof?
Ven has joined #crystal-lang
sandelius has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
sandelius has joined #crystal-lang
sandelius has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<unshadow> >> sleep 0.5
<DeBot> unshadow: Error in line 7: undefined method 'inspect' for Void - http://carc.in/#/r/1c7
<unshadow> Oo
<unshadow> >> sleep(0.5)
<DeBot> unshadow: Error in line 7: undefined method 'inspect' for Void - http://carc.in/#/r/1c8
<unshadow> well, that's true, there isn't a method named inspect for Void hahahah
<jhass> >> def Void.inspect(io); io << "Void"; end; sleep 0.01
<DeBot> jhass: Error in line 7: undefined method 'inspect' for Void - http://carc.in/#/r/1c9
<jhass> :(
<unshadow> XD
<jhass> >> struct Void; def inspect(io); io << "Void"; end; end; sleep 0.01
<DeBot> jhass: Error in line 4: Void is not a struct, it's a Void - http://carc.in/#/r/1ca
<jhass> a what?
<jhass> >> class Void; def inspect(io); io << "Void"; end; end; sleep 0.01
<DeBot> jhass: Error in line 4: Void is not a class, it's a Void - http://carc.in/#/r/1cb
<jhass> >> Void Void; def inspect(io); io << "Void"; end; end; sleep 0.01
<DeBot> jhass: Syntax error in eval:4: unexpected token: Void - http://carc.in/#/r/1cc
<jhass> worth a shot :P
<unshadow> >> def Void.inspect(nada); end; sleep 0.5
<DeBot> unshadow: Error in line 7: undefined method 'inspect' for Void - http://carc.in/#/r/1cd
<unshadow> >> def class Void; def self.inspect(nada); end; end; sleep 0.5
<DeBot> unshadow: Syntax error in eval:4: unexpected token: Void - http://carc.in/#/r/1ce
<unshadow> On the git vesrion sleep seems to work, sometimes...
<unshadow> but on 0.7.2 it's apperently broken
<unshadow> tried running something with sleep on Ubuntu 14.04, it just sleeps forever
vikaton has joined #crystal-lang
<unshadow> >> puts "hi"; sleep(1); puts "hi2"
<DeBot> unshadow: hi - more at http://carc.in/#/r/1cm
<unshadow> HAHAHAH
<unshadow> WTF
<unshadow> >> sleep(1)
<DeBot> unshadow: Error in line 7: undefined method 'inspect' for Void - http://carc.in/#/r/1cq
sandelius has joined #crystal-lang
bcardiff has joined #crystal-lang
datanoise has joined #crystal-lang
Ven has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
BlaXpirit_ has joined #crystal-lang
BlaXpirit has quit [Killed (wilhelm.freenode.net (Nickname regained by services))]
havenwood has joined #crystal-lang
datanoise has quit [Ping timeout: 265 seconds]
Ven has joined #crystal-lang
datanoise has joined #crystal-lang
<crystal-gh> [crystal] asterite pushed 2 new commits to master: http://git.io/vkXtH
<crystal-gh> crystal/master b1b7ac2 veelenga: Corrected build command name in crystal usage
<crystal-gh> crystal/master a0bd9c5 Ary Borenszweig: Merge pull request #719 from veelenga/usage_desc_fix...
sandelius has quit [Quit: Textual IRC Client: www.textualapp.com]
jiriki- has joined #crystal-lang
<jiriki-> hmh
<jhass> hi
<jiriki-> I really like the idea of crystal
<jhass> how did you discover it?
<jiriki-> well I was looking for compiled-language with ruby like syntax
<jiriki-> and ideas from ruby
<jhass> haha, good find then I'd say ;)
<jiriki-> I discovered this long time ago, its just looked so small project to ever become anything
<jiriki-> but I hope I'm wrong
<jhass> ecosystem starts to build up, looks promising atm
<jiriki-> one thing I hate about modern languages is that you need to switch between compiled language (c++) and high-level language (python)
<jiriki-> for example in game programming
<jiriki-> and have to add lots of clutter to mold them together
<travis-ci> manastech/crystal#2393 (master - a0bd9c5 : Ary Borenszweig): The build passed.
<jiriki-> ruby is awesome but its too slow for most useful things
<jiriki-> I mean, for native things
<jhass> it's actually fast enough for most things IME
<jiriki-> I like D but I don't like its syntax and some things from c++
<unshadow> I built a Reverse Proxy in Ruby, it takes connections from the client and passes to server while modifying data, rewriting headers, gzipping etc... we managed to hold 20k concurrent users on a 4 cores, 8 GB VM
<unshadow> Ruby is fine, but Crystal is awsome XD
unshadow has quit [Quit: leaving]
datanoise has quit [Ping timeout: 265 seconds]
bcardiff has quit [Quit: Leaving.]
Excureo has joined #crystal-lang
Locke23rus has joined #crystal-lang
bcardiff has joined #crystal-lang
ismaelga has quit []
Locke23rus has quit [Quit: Leaving]
Ven has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Locke23rus has joined #crystal-lang
strcmp1 has joined #crystal-lang
mdz_ has joined #crystal-lang
datanoise has joined #crystal-lang
mdz_ has quit [Ping timeout: 264 seconds]
unshadow has joined #crystal-lang
<unshadow> What is better to use, Fiber.new do , or, spawn do ?
<jhass> spawn I guess
<unshadow> Apperently sleep inside a Thread cuses a Crystal meltdown
<unshadow> >> Thread.new { sleep 0.5 }
<DeBot> unshadow: in macro 'macro_191509088' /usr/lib/crystal/reference.cr:50, line 32: ================================================================================ - http://carc.in/#/r/1cw
<unshadow> >> Fiber.new { sleep 0.5 }
<DeBot> unshadow: # => #<Fiber:0x8af5f60 @cr=Pointer(Void)@0xb63c1008, @proc=#<( -> Void):0x804aaa0>, @stack=Pointer(Void)@0xb63c1008, @stack_top=Pointer(Void)@0xb6bc1008, @stack_bottom=Pointer(Void)@0xb6bc1008, @next_fiber=nil, @prev_fiber=#<Fiber:0x8af5f90 @cr=Pointer(Void)@0xb6bc2008, @proc=#<( -> Void):0x804a620>, @stack=Pointer(Void)@0xb6bc2008, @stack_top=Poin ... - http://carc.in/#/r/1cx
<unshadow> >> spawn { sleep 0.5 }
<DeBot> unshadow: # => [#<Fiber:0x9e40f60 @cr=Pointer(Void)@0xb637d008, @proc=#<( -> Void):0x804aac0>, @stack=Pointer(Void)@0xb637d008, @stack_top=Pointer(Void)@0xb6b7d008, @stack_bottom=Pointer(Void)@0xb6b7d008, @next_fiber=nil, @prev_fiber=#<Fiber:0x9e40f90 @cr=Pointer(Void)@0xb6b7e008, @proc=#<( -> Void):0x804a640>, @stack=Pointer(Void)@0xb6b7e008, @stack_top=Poi ... - http://carc.in/#/r/1cy
<unshadow> >> (spawn { sleep 0.5 }).class == (Fiber.new {sleep 0.5}).class
<DeBot> unshadow: # => false - http://carc.in/#/r/1cz
<unshadow> >> (spawn { sleep 0.5 }).class
<DeBot> unshadow: # => Array(Fiber) - http://carc.in/#/r/1d0
<unshadow> Oh, so a spwan create a fiber inside an array ?
<jhass> just look at the code
<jhass> that's the beauty of crystal, it's all just crystal
<unshadow> what does that means "%fiber" whats the % ?
<jhass> that's a macro variable
<jhass> will get a guaranteed unique name in the generated code
datanoise has quit [Ping timeout: 250 seconds]
<unshadow> Oh... I see
<unshadow> so it creates a new fiber, and adds it to this thing Scheduler.enqueue %fiber
<unshadow> So the arry I see, is actually the schedualer, which gets a [] of Fiber
<unshadow> what's the point of {{ yield }} ? why the two {{ ?
shama has joined #crystal-lang
<BlaXpirit> unshadow, if u haven't read the extremely concise docs, what do u want
<unshadow> Until now I used Thread.new(server.accept) do |client|, this syntax wont work for spawn, Is there an alternative way to do that ?
<unshadow> BlaXpirit: just did, I read about macros and saw why this is used like that
<unshadow> sometimes I happen to ask things becuase they pop into my mind, and then go check them and see the explanations, I know this might be annoying, sorry.
<strcmp1> unshadow, is it just a syntax thing you care about? otherwise its easy to capture server.accept as a local inside or outside spawn block.
<unshadow> strcmp1: would doing something like server.accept do |client|; spawn do ..., will produce the same thing (ofcurse without a new thread)
<strcmp1> i dont understand that syntax, i meant to do: client = server.accept; spawn { client }
<jhass> {{yield}} in a macro is replaced with the "block" passed to the macro
<unshadow> jhass: thanks :)
<unshadow> doing client = server.accept will block other clients trying to connect, this is why (I think) doing server.accept do |client| will continue to accepting others while piping the connected client to the spawn
<strcmp1> im not sure how it is different from Thread.new(server.accept), since the argument is called before a thread has been spawned?
<unshadow> well, I may be mistaken, but, I think that Thread.new(server.accept) do |client|, will "pipe" the client to the newly created thread, this way your next client which needs server.accept wont get blocked waiting for server.accept to be released
<strcmp1> i honestly dont know if that is true or not.
<unshadow> TBH me nither XD I just know that this is what I used and what worked for me in Ruby
<strcmp1> ruby or crystal i dont know if it is true :) i guess it might be special cased, but i read it as just a way to pass locals through to a thread.
<strcmp1> i still see server.accept being called from the main thread/caller thread.
<unshadow> now doing a server.accept do |client|, will create a new client(socket) without blocking server to accpeting more clients
<unshadow> maybe this is a special case
<strcmp1> Thread.new("foo", "bar") { |x,y| } would only make sense to me if x and y ended up being copies of those two strings, so they're thread local.
<unshadow> strcmp1: see example 1 v.s example 2
<strcmp1> alright 1sec
<unshadow> 1st one will block and will serve only a single client, the second one will server multiple clients
<strcmp1> i still think server.accept blocks in that case, the first example just has no threads at all.
<strcmp1> i would bet money on it ;)
<strcmp1> seems easy to test.
zamith has joined #crystal-lang
<zamith> Hey, I'm trying to use a C lib, but I get "has no field 'to_unsafe'". Is this specific to the lib, or something from Crystal?
<BlaXpirit> zamith, something from crystal
<zamith> How can I solve it? Or what does it mean?
<BlaXpirit> you're passing something that makes no sense in the lowlevel world
<zamith> I'm passing a struct from that lib, but it was expecting a pointer
<zamith> I think
<zamith> how can I make it one?
<BlaXpirit> that's possible
<BlaXpirit> probably use pointerof
<zamith> hum...
<zamith> let me try
<BlaXpirit> sometimes `out` specifier is the thing
<crystal-gh> [crystal] zamith opened pull request #723: Remove unused method (master...remove-path-method) http://git.io/vk14U
datanoise has joined #crystal-lang
<zamith> BlaXpirit: I now get "can't take address of X" with pointerof(X)
<zamith> how ca i use out?
<zamith> *can
<BlaXpirit> do people really just not read the only essential documentation
<zamith> Is there docs for any of this?
<zamith> thanks
<BlaXpirit> if u want some specific help, be specific
<jhass> yeah, this starts to turn into a case for https://www.mikeash.com/getting_answers.html :P
<unshadow> strcmp1: using spawn, if I do server.accpet do |client| and send client into spawn works, if I do client = server.accept and then send it into spawn will produce a concurrency hell, why ? becuase all spawns will try and use the same client :) this is what client = server.accept is blocking.
<unshadow> strcmp1: I get 100 * cannt do client.blabla nil class errors
<strcmp1> ah i see, so thats also when passing a local is useful :)
<strcmp1> so, the only real problem is that you can corrupt the local your spawn (or thread) block sees.
<unshadow> yeha :) but to be specific do |client| produces new client object for each server.accept, while, client = server.accept produces a single object and will send it to spawn
<unshadow> Though now I get Bad File Descriptor exceptions
<strcmp1> i think it produces a different client object everytime, it just overwrites whatever the previous thread or spawn block saw.
<zamith> While working with this lib, I've been getting a lot of "Program terminated abnormally with error code: 11", which I assume is a segfault, or similar, but no stack trace or something like that. Is there a way to get one? How can I get useful info out of this error?
<jhass> zamith: use crystal build and run it through gdb or valgrind
<jhass> no idea if --debug's been fixed, but can't do harm to add either
<zamith> so using a C debugger is the way to go here, nothing specific to Crystal, or that Crystal can do to try and help, before I have to reach to one of those?
<jhass> maybe it will, but it doesn't right now
<jhass> lldb should help too if you got that
<datanoise> zamith: if you are on Mac, you can also check Console.app. it should log your crash dumps
<zamith> I am, thanks for that
zz_Cidan is now known as Cidan
<unshadow> I'm getting some wierd runtime errors while using spawn, after reading jhass how to ask questions guide, I created a gist with my former working code, my now not working code, and an explanation of what is not working ;) https://gist.github.com/bararchy/6735bf9e1c59914c929a
<unshadow> the errors are in runtime
<jhass> I guess accept closes the FD with the block form
<jhass> loop do client = server.accept
<unshadow> Oh.... I see
<unshadow> I'll try that
<unshadow> Now, I'm back to getting everything is Nil issues, for exampe inside the spawn I have client.close if client, I get a compile error which says: undefined method 'close' for Nil (did you mean 'clone'?)
aemadrid has joined #crystal-lang
asterite has joined #crystal-lang
<asterite> unshadow: do `spawn helper_method(arg1, arg2)`
<asterite> otherwise variables inside the block given to spawn are closured and you will get those errors
<jhass> asterite: http://carc.in/#/r/149 bug?
<asterite> jhass: definitely
<jhass> just found it while scavenging the pastes, do you put it on your personal todo or shall I stuff it into an issue?
<asterite> jhass: I'm already fixing it :)
<asterite> I was curious to know why it failed :-P
Locke23rus has quit [Quit: Leaving]
<crystal-gh> [crystal] asterite pushed 10 new commits to master: http://git.io/vk15h
<crystal-gh> crystal/master abc4f01 Ary Borenszweig: Fixed: browser was broken. Also: better styles and show method return types. Fixes #715
<crystal-gh> crystal/master 8efbc44 Ary Borenszweig: Reorganized some std files: created kernel.cr and put top-level declarations there
<crystal-gh> crystal/master e126e9e Ary Borenszweig: Use `_` type restriction instead of Object (shorter and more correct)
<crystal-gh> [crystal] asterite pushed 2 new commits to master: http://git.io/vk1dV
<crystal-gh> crystal/master 0e7783d Zamith: Remove unused method
<crystal-gh> crystal/master f6d1941 Ary Borenszweig: Merge pull request #723 from zamith/remove-path-method...
asterite has quit [Ping timeout: 246 seconds]
ponga has quit [Quit: Leaving...]
<BlaXpirit> seems to be the most complete lib generator
<travis-ci> manastech/crystal#2396 (master - f6d1941 : Ary Borenszweig): The build passed.
bcardiff1 has joined #crystal-lang
bcardiff has quit [Ping timeout: 258 seconds]
<BlaXpirit> anyone?
* jhass pats BlaXpirit shoulder
<BlaXpirit> yay
asterite has joined #crystal-lang
<asterite> BlaXpirit: cool! I'm trying to use it, I get: ImportError: No module named 'pycparser.c_generator'
<asterite> Ah, mmm... the submodule?
bcardiff has joined #crystal-lang
<asterite> I don't know python :(
DerisiveLogic has joined #crystal-lang
bcardiff1 has quit [Ping timeout: 272 seconds]
asterite has quit [Quit: Page closed]
<BlaXpirit> asterite, u probably didn't clone recursive
mdz_ has joined #crystal-lang
<BlaXpirit> for sure, i have the same symptom when the submodule folder is empty
mdz_ has quit [Ping timeout: 256 seconds]
Locke23rus has joined #crystal-lang
<crystal-gh> [crystal] datanoise opened pull request #724: reduce the excessive number of newlines (<br/>) and do not display attributes (master...master) http://git.io/vkMrn
bcardiff has quit [Quit: Leaving.]
zipR4ND has joined #crystal-lang
<zipR4ND> hey all, is invoking a block with a scope also supported for forwarded blocks/lambdas/procs?
datanoise has quit [Quit: leaving]
datanoise has joined #crystal-lang
datanoise has quit [Client Quit]
datanoise has joined #crystal-lang
datanoise has quit [Quit: WeeChat 1.2]
<jhass> no
<jhass> I mean you can work around the compile time errors but it doesn't work
<crystal-gh> [crystal] asterite pushed 2 new commits to master: http://git.io/vkMAg
<crystal-gh> crystal/master a3bb3f4 Ary Borenszweig: Allow invoking `debug()` inside a macro to see what's being generated.
<crystal-gh> crystal/master 9a6145c Ary Borenszweig: Browser: don't display attributes, and use code tag for body
<crystal-gh> [crystal] asterite closed pull request #724: reduce the excessive number of newlines (<br/>) and do not display attributes (master...master) http://git.io/vkMrn
datanoise has joined #crystal-lang
datanoise has quit [Ping timeout: 264 seconds]
datanoise has joined #crystal-lang
<travis-ci> manastech/crystal#2398 (master - 9a6145c : Ary Borenszweig): The build passed.
zamith has quit [Quit: Be back later ...]
c355E3B has quit [Ping timeout: 276 seconds]
c355E3B has joined #crystal-lang
<zipR4ND> @jhass k
c355E3B has quit [Quit: Connection closed for inactivity]
Excureo has quit [Read error: Connection reset by peer]
Excureo has joined #crystal-lang
Excureo has quit [Remote host closed the connection]
BlaXpirit has quit [Quit: Quit Konversation]
zamith has joined #crystal-lang
datanoise has quit [Read error: Connection reset by peer]
zamith has quit [Ping timeout: 264 seconds]
Excureo has joined #crystal-lang
DerisiveLogic has quit [Ping timeout: 264 seconds]
DerisiveLogic has joined #crystal-lang
zamith has joined #crystal-lang
zipR4ND has quit [Ping timeout: 272 seconds]
zamith has quit [Ping timeout: 250 seconds]
DerisiveLogic has quit [Ping timeout: 265 seconds]
mdz_ has joined #crystal-lang
mdz_ has quit [Ping timeout: 256 seconds]
datanoise has joined #crystal-lang
c355E3B has joined #crystal-lang
zamith has joined #crystal-lang
zamith has quit [Ping timeout: 246 seconds]
bcardiff has joined #crystal-lang
bcardiff has quit [Quit: Leaving.]
zamith has joined #crystal-lang
bcardiff has joined #crystal-lang
bcardiff has quit [Client Quit]
bcardiff has joined #crystal-lang