ChanServ changed the topic of #crystal-lang to: The Crystal programming language | http://crystal-lang.org | Crystal 0.23.1 | 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
olbat[m] has joined #crystal-lang
<FromGitter> <bew> @unreadable kill the mobile keyboard!! *Im out*
saadq has joined #crystal-lang
braidn[m] has joined #crystal-lang
byteflame has joined #crystal-lang
tybee[m] has joined #crystal-lang
TheGillies has joined #crystal-lang
Renich has joined #crystal-lang
galstar[m] has joined #crystal-lang
kp666[m] has joined #crystal-lang
watzon has joined #crystal-lang
thelonelyghost has joined #crystal-lang
cptaffe has joined #crystal-lang
dtcristo has joined #crystal-lang
phase[m] has joined #crystal-lang
weston_[m] has joined #crystal-lang
sija[m] has joined #crystal-lang
aroaminggeek is now known as aroaminggeek[awa
dhk has joined #crystal-lang
vivus has quit [Quit: Leaving]
faustinoaq has quit [Ping timeout: 250 seconds]
hightower2 has joined #crystal-lang
hightower3 has quit [Ping timeout: 248 seconds]
csk157 has joined #crystal-lang
DTZUZO has quit [Ping timeout: 255 seconds]
DTZUZO has joined #crystal-lang
go|dfish has quit [Ping timeout: 255 seconds]
go|dfish has joined #crystal-lang
csk157 has quit [Ping timeout: 248 seconds]
dhk has quit [Quit: Leaving]
faustinoaq has joined #crystal-lang
faustinoaq has quit [Ping timeout: 240 seconds]
aroaminggeek[awa is now known as aroaminggeek
aroaminggeek is now known as aroaminggeek[awa
<FromGitter> <codenoid> hi
<FromGitter> <codenoid> urgent, how to check is variable has been defined
<FromGitter> <codenoid> like `defined? varname` in ruby
faustinoaq has joined #crystal-lang
<crystal-gh> [crystal] woodruffw opened pull request #5360: Tempfile: Add `Tempfile.tempname` (master...tempfile-tempname) https://git.io/vbCrd
aroaminggeek[awa is now known as aroaminggeek
<faustinoaq> @codenoid I don't have Idea, maybe using a macro trying to redefine it?
<FromGitter> <codenoid> `defined? varname # varname was not defined => return false` , something like that
csk157 has joined #crystal-lang
csk157 has quit [Ping timeout: 240 seconds]
<faustinoaq> <@@codenoid> Here is something https://carc.in/#/r/37jp
<faustinoaq> but just work at compile time
<faustinoaq> `defined? varname # varname was not defined => return false` @codenoid wait, but if `varname` is not defined you program won't compile
<FromGitter> <codenoid> in kemal , ⏎ ⏎ ```get "/kukang" do ⏎ var = "helo" ⏎ end``` [https://gitter.im/crystal-lang/crystal?at=5a28bd683ae2aa6b3f975610]
<FromGitter> <codenoid> nvm
DTZUZO has quit [Read error: Connection reset by peer]
aroaminggeek has quit [Quit: Textual IRC Client: www.textualapp.com]
vegai has left #crystal-lang [#crystal-lang]
rohitpaulk has joined #crystal-lang
csk157 has joined #crystal-lang
<FromGitter> <bew> You can't, how can't you know If it's defined or not?
csk157 has quit [Ping timeout: 268 seconds]
<FromGitter> <codenoid> i got other solution
<FromGitter> <codenoid> *for my problem
<FromGitter> <bew> Ok, good!
DTZUZO has joined #crystal-lang
rohitpaulk has quit [Ping timeout: 248 seconds]
ashirase has quit [Ping timeout: 268 seconds]
ashirase has joined #crystal-lang
rohitpaulk has joined #crystal-lang
rohitpaulk has quit [Ping timeout: 260 seconds]
<FromGitter> <codenoid> how i can calculate a percentage from 2 number in crystal ?
<FromGitter> <codenoid> *is crystal have method for that ?
<FromGitter> <bew> Don't think so
<FromGitter> <bew> But should be simple maths
aroaminggeek has joined #crystal-lang
rohitpaulk has joined #crystal-lang
aroaminggeek has quit [Quit: Textual IRC Client: www.textualapp.com]
csk157 has joined #crystal-lang
aroaminggeek has joined #crystal-lang
aroaminggeek is now known as aroaminggeek[awa
csk157 has quit [Ping timeout: 248 seconds]
aroaminggeek[awa is now known as aroaminggeek
aroaminggeek is now known as aroaminggeek[awa
aroaminggeek[awa is now known as aroaminggeek
aroaminggeek is now known as aroaminggeek[awa
aroaminggeek[awa is now known as aroaminggeek
DTZUZO has quit [Ping timeout: 260 seconds]
<FromGitter> <matrixbot> `vegai` @codenoid (Gitter): https://carc.in/#/r/37ki
<FromGitter> <matrixbot> `vegai` all the numbers you used were integers, so naturally the division was integer division
<FromGitter> <matrixbot> `vegai` and 25/30 is obviously 0 then :)
alex`` has joined #crystal-lang
<FromGitter> <codenoid> nice to know, thank @matrixbot
saadq has quit [Ping timeout: 248 seconds]
saadq has joined #crystal-lang
mark_66 has joined #crystal-lang
csk157 has joined #crystal-lang
csk157 has quit [Ping timeout: 258 seconds]
aroaminggeek is now known as aroaminggeek[awa
claudiuinberlin has joined #crystal-lang
ShalokShalom has quit [Remote host closed the connection]
Papierkorb_ has joined #crystal-lang
claudiuinberlin has quit [Read error: Connection reset by peer]
ShalokShalom_ has joined #crystal-lang
ShalokShalom__ has joined #crystal-lang
ShalokShalom__ has quit [Remote host closed the connection]
csk157 has joined #crystal-lang
handicraftsman has quit [Ping timeout: 248 seconds]
kosmonaut has quit [Ping timeout: 260 seconds]
csk157 has quit [Ping timeout: 248 seconds]
kosmonaut has joined #crystal-lang
handicraftsman has joined #crystal-lang
ShalokShalom_ has quit [Remote host closed the connection]
ua has joined #crystal-lang
ashirase has quit [Ping timeout: 255 seconds]
ashirase has joined #crystal-lang
<FromGitter> <sdzyba> love the new format of a 0.24.1 changelog, thanks RX14
<RX14> Np
<FromGitter> <sdzyba> is there any info when Manas people are going to release it? ⏎ or you as a core team member can do this by yourself?
<RX14> It needs a little participation from manas
<RX14> But when its released depends on when we can all get it approved and merged
<RX14> I don't want it to be just the core team's input
<ua> hi, is there a package system for crystal?
<RX14> I want it to be the whole community's input on when to release
<RX14> ua: shards
<ua> thx
<RX14> The most useful document is the SPEC.md
<RX14> If a little dry
<ua> 2560 total shards hehe
<Papierkorb_> another breaking change is Time::Span.new(0) not working anymore. Dunno which PR
<Papierkorb_> At least it's what I observed with a project failing to compile
<RX14> Papierkorb_: are you sure that's a 0.24.1 change not a 0.24.0
<Papierkorb_> Oh it is
<Papierkorb_> it's a 0.24.0
<FromGitter> <imonmyown> @RX14 what kind of input do you expect from the community?
<FromGitter> <imonmyown> I think it would simplify things if the community was aware what is expected from it, no?
<RX14> If there's something we missed from the changelog, or if they really really have a case that a certain pr should be merged before the release.
<FromGitter> <imonmyown> @RX14 how about announcing this explicitly somehow?
<FromGitter> <sdzyba> basic windows support is going to be merged before 0.24.1 or it will be postponed to 0.25 (or 1.0 beta :) )?
<FromGitter> <imonmyown> Or you just don't want to force the process?
<FromGitter> <unreadable> I really start likeing to declare variables without var keyword or value type, es6 got this feature as well :)
<Papierkorb_> RX14: If for nothing else, the categorization alone makes the changelog pr worthwhile. Though I also like the shoutouts lul.
<RX14> The shout outs aren't my idea
<RX14> Look at the older change logs
<Papierkorb_> I didn't claim they were :P
<Papierkorb_> More in response to the thought of dropping them for "lesser important" PRs
<Papierkorb_> Whatever that means
<RX14> Ikr
<RX14> Everyone contributed, everyone should get a changelog entry
<RX14> If you want a skimmable changelog make a blog post
<RX14> Well no
<RX14> This changelog is skimmable
<RX14> Because its categorised and it has important stuff at the top
<Papierkorb_> I think it's fine. If a release is larger, it only makes sense that the CHANGELOG is larger as well. If someone wants tweet-sized messages they should just use Twitter
<RX14> [11:00] RX14: I would like a longer more explanitory blog post with 0.24.0 and 0.24.1 changes
<RX14> [11:00] RX14: And with only the most important things and explanations for all
Groogy2 has joined #crystal-lang
Groogy has quit [Disconnected by services]
Groogy2 is now known as Groogy
Groogy_ has joined #crystal-lang
badeball has quit [Ping timeout: 248 seconds]
badeball has joined #crystal-lang
<ua> so, i have installed icr, any way to make it faster?
<ua> i guess not
<Papierkorb_> ua: icr has architectural problems that may be confusing, especially to a beginner. Have you tried using `crystal play` instead?
<ua> oh cool thanks
<ua> yeah ive seen it saves code and compiles it
csk157 has joined #crystal-lang
csk157 has quit [Ping timeout: 258 seconds]
<FromGitter> <ysbaddaden> it seems we can't get the address of a linker symbol in Crystal? Something equivalent to `extern char *end[]; pointer = &*end`
<FromGitter> <bew> yes @ysbaddaden I've opened an ossue about that some time ago iirc
<RX14> @ysbaddaden I'm sure you can
<FromGitter> <ysbaddaden> nope
<RX14> I think the guy who made the kernel did it
<FromGitter> <ysbaddaden> I'd love to know how
<FromGitter> <ysbaddaden> maybe with asm...
<FromGitter> <bew> #4845
<DeBot_> https://github.com/crystal-lang/crystal/issues/4845 (Can't take address of extern lib variables)
<Papierkorb_> There's no way
<FromGitter> <ysbaddaden> any link for the kernel thing in crystal ?
<Papierkorb_> ysbaddaden, `pointer = &*end == end`, hence in your case, doing `$ end : Char**` should work
<FromGitter> <ysbaddaden> nope
<FromGitter> <ysbaddaden> it's a "symbol"
<FromGitter> <ysbaddaden> not just an extern
<FromGitter> <ysbaddaden> LibC._end => Pointer(Pointer(UInt8)).null
<RX14> Oj
<Papierkorb_> variables and functions are symbols, what do you mean?
<RX14> I think he made a custom linker script
<RX14> Which placed the address at the symbol
<Papierkorb_> Yep
<Papierkorb_> Surprisingly, pointerof doesn't work for extern globals
<RX14> It should
<Papierkorb_> I think I worked around it by having a `foo *fooAddr(){ return &g_foo; }` helper function >_>
<Papierkorb_> can't remember where I needed that for
<FromGitter> <ysbaddaden> yup, I just wrote a C helper function to access these
<RX14> hopefully someone can work on fixing that compiler bug
<Papierkorb_> `retry 5.times do .. end` mfw that looks like smalltalk
<RX14> where's that from Papierkorb_ ?
<Papierkorb_> From nothing, I want to teach retries to a program, and figured a yielding #retry method would be nice. and then saw that the syntax above would actually work (But it's not what I'll do I think)
<RX14> you want to make a `retry` method?
<Papierkorb_> Yeah amazing I know
<RX14> lol
<RX14> when I was working on backblaze's b2 API i tried that
<RX14> but their retry logic is wacky
<RX14> it has an exponention backoff + optional header advising you of the to next retry + times when you have to reset the retry counter and backoff to 0
rohitpaulk has quit [Ping timeout: 248 seconds]
<RX14> and so it just got messy and I ended up just copy/pasting code since I couldn't find a good abstraction
<RX14> retried are hard
<Papierkorb_> Ah yeah, all I need to shield off is from a shoddy reverse proxy that may occasionally kill off my long lived http sessions
rohitpaulk has joined #crystal-lang
<Papierkorb_> Was embedded `rescue` in blocks part of 0.24.0?
<RX14> i think so
rohitpaulk has quit [Ping timeout: 264 seconds]
rohitpaulk has joined #crystal-lang
DTZUZO has joined #crystal-lang
<FromGitter> <Rinkana> Yeah it was
rohitpaulk has quit [Ping timeout: 248 seconds]
DTZUZO has quit [Ping timeout: 260 seconds]
DTZUZO has joined #crystal-lang
csk157 has joined #crystal-lang
csk157 has quit [Ping timeout: 248 seconds]
rohitpaulk has joined #crystal-lang
gewo has quit [Quit: WeeChat 1.6]
alex`` has quit [Quit: WeeChat 1.9.1]
rohitpaulk has quit [Ping timeout: 258 seconds]
alex`` has joined #crystal-lang
r53 has joined #crystal-lang
r53 has quit [Quit: Page closed]
aroaminggeek[awa is now known as aroaminggeek
aroaminggeek is now known as aroaminggeek[awa
rohitpaulk has joined #crystal-lang
snsei has joined #crystal-lang
csk157 has joined #crystal-lang
_whitelogger_ has joined #crystal-lang
Liothen has quit [*.net *.split]
jsn- has quit [*.net *.split]
pabs has quit [*.net *.split]
Guest34371 has quit [*.net *.split]
DTZUZO has quit [*.net *.split]
dtcristo has quit [*.net *.split]
dom96 has quit [*.net *.split]
galstar[m] has quit [*.net *.split]
olbat has quit [*.net *.split]
asterite has quit [*.net *.split]
Majost has quit [*.net *.split]
FromGitter has quit [*.net *.split]
braidn[m] has quit [*.net *.split]
oz has quit [*.net *.split]
ephemera_ has quit [*.net *.split]
aarongodin has quit [*.net *.split]
danzilio has quit [*.net *.split]
mroth has quit [*.net *.split]
tybee[m] has quit [*.net *.split]
raz has quit [*.net *.split]
badeball has quit [*.net *.split]
txdv has quit [*.net *.split]
mjblack has quit [*.net *.split]
saadq has quit [*.net *.split]
z64 has quit [*.net *.split]
reblunk has quit [*.net *.split]
justinmcp has quit [*.net *.split]
Poetichristmas has quit [*.net *.split]
dahhowl has quit [*.net *.split]
illyohs has joined #crystal-lang
alex has joined #crystal-lang
olbat[m] has quit [Ping timeout: 255 seconds]
kp666[m] has quit [Ping timeout: 246 seconds]
TheGillies has quit [Ping timeout: 255 seconds]
sija[m] has quit [Ping timeout: 248 seconds]
Guest34371 has joined #crystal-lang
jsn- has joined #crystal-lang
Liothen has joined #crystal-lang
pabs has joined #crystal-lang
Renich has quit [Ping timeout: 255 seconds]
alex is now known as 7IZAALMT3
_whitelogger has joined #crystal-lang
gewo has joined #crystal-lang
c-c is now known as Guest11667
handicraftsman has joined #crystal-lang
faustinoaq has quit [Ping timeout: 240 seconds]
sz0 has joined #crystal-lang
olbat[m] has joined #crystal-lang
Papierkorb_ has quit [Quit: Konversation terminated!]
<RX14> btw oprypin could you add me as a moderator for r/crystal_programming ?
snsei has quit [Remote host closed the connection]
csk157 has joined #crystal-lang
mark_66 has quit [Remote host closed the connection]
csk157 has quit [Ping timeout: 240 seconds]
olbat[m] has quit [Ping timeout: 246 seconds]
snsei has joined #crystal-lang
<oprypin> RX14, I could, if I had your username
<RX14> RX142
snsei has quit [Ping timeout: 250 seconds]
<oprypin> mh ok submitted 10 months ago by RX142
<RX14> hmm?
<RX14> i posted a lot more recently than that
aroaminggeek has joined #crystal-lang
<oprypin> yeah but i mean it wasnt easy to find until you told, because i remembered it was something slightly different
<RX14> oh ok
<oprypin> ok
<RX14> thanks
<Vexatos> RX142 nice
<RX14> well RX14 was taken
<RX14> only reddit and twitter have rx14 taken
<RX14> literally everything else it's free
rohitpaulk has quit [Ping timeout: 248 seconds]
rohitpaulk has joined #crystal-lang
aroaminggeek is now known as aroaminggeek[awa
<FromGitter> <aroaminggeek> Out of curiosity what's the significance of RX14?
<Papierkorb> Erm .. kinda odd question. What do you mean?
<RX14> @aroaminggeek RX14 doesn't really have any meaning as a username
<RX14> it's just short, sweet, fairly memorable, and always unavailable
<FromGitter> <aroaminggeek> Well that's no fun
<FromGitter> <aroaminggeek> Lol
<yxhuvud> globally unique usernames are convenient.
Yxhvd is now known as yxhuvud
DTZUZO has quit [Ping timeout: 240 seconds]
DTZUZO has joined #crystal-lang
dom96 has quit [Quit: Nim is King]
dom96 has joined #crystal-lang
dom96 has joined #crystal-lang
dom96 has quit [Changing host]
<Vexatos> I blame RX13
<RX14> pls
<RX14> blame RX12 Vexatos
csk157 has joined #crystal-lang
<Vexatos> RX14, it's been over half a year since I was told, don't expect me to remember :I
<RX14> lel
csk157 has quit [Ping timeout: 264 seconds]
DTZUZO has quit [Ping timeout: 252 seconds]
DTZUZO has joined #crystal-lang
olbat[m] has joined #crystal-lang
7IZAALMT3 is now known as alex``
<oprypin> is bitcoin bubble bursting right now?
olbat[m] has quit [Remote host closed the connection]
rohitpaulk has quit [Ping timeout: 264 seconds]
<Papierkorb> mh?
rohitpaulk has joined #crystal-lang
<FromGitter> <paulcsmith> Does anyone know how HTTP::Headers constructor works? You can do this: `HTTP::Headers{ ⏎ ⏎ ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=5a29830effa3e379190b5b3a]
<Papierkorb> Too many idiots shoving their livesavings into crypto without knowing jackshit of markets or coins in general
<FromGitter> <paulcsmith> Note the lack of `.new`
A124 has quit [Ping timeout: 264 seconds]
<oprypin> paulcsmith, it's a general shorthand syntax A{b,c} -> a=A.new; a<<b; a<<c;
<FromGitter> <paulcsmith> Ahhh ok thank you for the explanation @oprypin :D
<FromGitter> <paulcsmith> I don't think I would've figured that out on my own
<FromGitter> <unreadable> omg, so glad I kept those bitcoin
<FromGitter> <unreadable> was thinking at one point to exchange my btc to etherum
<oprypin> uhhh you probably should sell it right now
<oprypin> if you can even do that
<oprypin> (cuz probably not)
<FromGitter> <unreadable> it would be better than selling
<FromGitter> <unreadable> selling wouldn't be an option for now
<FromGitter> <unreadable> bitcoin is high af
rohitpaulk has quit [Ping timeout: 276 seconds]
rohitpaulk has joined #crystal-lang
<FromGitter> <gandulio> Hello, does Crystal have a ‘for x in y’ iteration syntax?
<FromGitter> <gandulio> I can’t find anything about that in the docs
claudiuinberlin has joined #crystal-lang
<FromGitter> <sdzyba> .each
<FromGitter> <gandulio> Perfect thanks!!
rohitpaulk has quit [Ping timeout: 240 seconds]
olbat[m] has joined #crystal-lang
A124 has joined #crystal-lang
csk157 has joined #crystal-lang
faustinoaq has joined #crystal-lang
DTZUZO has quit [Ping timeout: 264 seconds]
DTZUZO has joined #crystal-lang
csk157_1 has joined #crystal-lang
aroaminggeek[awa is now known as aroaminggeek
csk157 has quit [Ping timeout: 248 seconds]
DTZUZO has quit [Remote host closed the connection]
alex`` has quit [Quit: WeeChat 1.9.1]
<faustinoaq> Interesting usecases for Julia
DTZUZO has joined #crystal-lang
<oprypin> k
olbat[m] has quit [Ping timeout: 246 seconds]
alex`` has joined #crystal-lang
DTZUZO has quit [Ping timeout: 248 seconds]
<Vexatos> faustinoaq, the talk https://youtu.be/KnoYzqAw_vM?t=1h15m5s
<faustinoaq> Yeah, Thank you!, I wondering why Julia is so popular :)
DTZUZO has joined #crystal-lang
<oprypin> it wasnt always so popular
<Vexatos> faustinoaq, the reason is "look at basically any benchmark anyone has ever done"
<oprypin> it found its niche and people kept working on it
<Vexatos> julia is fast fast fast, especially compared to its direct competitors MATLAB and numpy
<faustinoaq> Yeah, they even compare with C/C++
<Vexatos> It is also about €2000 cheaper than MATLAB
<faustinoaq> Also Julia has some kind of C++ interoperability, https://juliacomputing.com/blog/2017/12/01/cxx-and-cxxwrap-intro.html
<Vexatos> well you can call any C or python code inside julia
<Vexatos> there are lots of wrappers for doing calls to other languages
<Vexatos> I mean, a great part of the julia stdlib consists of existing C and FORTRAN libraries
<faustinoaq> ![julia](http://i.imgur.com/ehiodI5.png)
<faustinoaq> I just found this in a Julia forum:)
<faustinoaq> XD
<oprypin> faustinoaq, that Cxx thing is beyond magic
<Vexatos> julia is magic
<Vexatos> there is a package that allows you to load python code
<oprypin> meh
<Vexatos> and you access it as you would access ordinary julia code
<Vexatos> so if you load foobar.py as Foo, you can then call Foo.bar() in julia
<Vexatos> and it'll automagically call bar() in python
<faustinoaq> Oh, is that something good or bad? I mean too much magic?
<oprypin> that's fine by me
<Vexatos> it's a lot of magic, for sure
<oprypin> but c++ tho
<Vexatos> natively, it supports calling C code
<Vexatos> and that's a lot less magical+
<Vexatos> you use a function called ccall
<FromGitter> <unreadable> what's so fancy about julia??
<oprypin> > if you load foobar.py as Foo, you can then call Foo.bar() in julia
<oprypin> i could do that in crystal
<Vexatos> @unreadable it's fast
<Vexatos> like
<Vexatos> really fast
<Vexatos> it beat C in some things
<FromGitter> <unreadable> and btw, I find matlab bs, I'm currently studying that bs at the university and no wonder why would anyone use it
<FromGitter> <unreadable> native code?
<Vexatos> julia is not a compiled language
<Vexatos> well, it is JIT compiled
<Vexatos> LLVM magic and all
<Vexatos> @unreadable I study chemistry and I can tell you that matlab is complete trash. It crashes half the time and the other half it's suuuper slow
<Vexatos> why would anyone spend €2000 buying such a bad, ancient and outdated language
<oprypin> the point of matlab is that it has a lot of math in it, not being nice
<Vexatos> and that's where julia comes to save the day
<faustinoaq> Vexatos, Julia syntax isn't bad +1
<Vexatos> faustinoaq, in Julia, arrays start at 1 because it is meant to make it easy to translate mathematics to code, and in mathematics, the first element of a matrix is A₁₁
<Vexatos> julia syntax is very nice
<Vexatos> even moreso compared to matlab
<Vexatos> matlab is just worse in every conceivable way
<faustinoaq> Yeah, I read something about that, I wrote some math functions using Julia and was very easy :-)
<Vexatos> It used to be good ten years ago
<FromGitter> <unreadable> it's not trash because of that
<FromGitter> <unreadable> there's also the free alternative gnu octave
<FromGitter> <unreadable> and ofc numpy
<Vexatos> both are orders of magnitude slower than jl in most things
<FromGitter> <unreadable> gonna dig into Julia
<FromGitter> <unreadable> you made me curious
<Vexatos> there are a lot of benchmarks out there
<Vexatos> jl doesn't win all of them
<Vexatos> but it wins most overall
<FromGitter> <unreadable> oo, wow, solus got julia in the store
<faustinoaq> Yeah, octave is very slow compared to Julia
<Vexatos> this is a pretty good post
<Vexatos> Doesn't contain octave but a bunch of others
<FromGitter> <unreadable> not really interested in math stuffs for now. Are there any big-ish projects in julia?
<FromGitter> <unreadable> Currently loving C++ STL
<faustinoaq> Maybe one day crystal would have some nice usecases like Julia has. :-)
<Vexatos> And basically every benchmark you find is "let's not talk about matlab"
<FromGitter> <unreadable> do you know some julia git books faustinoaq?
<Vexatos> Unfortunately, the €2000 price tag still works because science is inherently slow and people don't try new things
<Vexatos> and julia is still very new
<faustinoaq> @unreadable, Just pick one -> https://julialang.org/learning/
<Vexatos> @unreadable I just read the docs.julialang.org
<Vexatos> as long as you know what a programming language is, and maybe the difference between a boolean and an Int, you should be fine :P
<faustinoaq> BTW, Ivo Balbaert, the author of some Julia books, is writing a book about crystal too :-)
<Vexatos> converting people to julia in #crystal-lang, RX14's nightmare
<Vexatos> relevant logo https://puu.sh/yBsDe/c2a4b19497.png
<FromGitter> <unreadable> vexatos, that's really what I'm looking for
<Vexatos> @unreadable it's very easy to read
<FromGitter> <eliasjpr> 🙉
<Vexatos> I basically learnt the language just from that
<faustinoaq> Vexatos, That logo is awesome :-)
<Vexatos> I was bored a while ago and turned every logo I came across into a julia logo somehow
<Vexatos> (I was REALLY bored)
<faustinoaq> I guess, Julia has interoperability with LLVM right?, maybe crystal could have interoperability with Julia too?
<FromGitter> <unreadable> hmm, I like the syntax of julia
<Vexatos> it writes a bit like Lua and a bit like maths
<faustinoaq> Vexatos, What do you think are the main diferences/usecases between crystal & julia?
<Vexatos> julia is for science
<Vexatos> things that gotta go fast
DTZUZO has quit [Ping timeout: 260 seconds]
<Vexatos> as I said, its direct competitors python and matlab are completely blown away by it
<Vexatos> its use cases are basically the same as the ones of MATLAB and numpy
<Papierkorb> which shouldn't be hard
<Vexatos> julia's still a general-purpose language so do whatever you want with it
<Vexatos> crystal is just meant to be used for... stuff?
<Vexatos> I mean it's like ruby
<Papierkorb> stuff pretty much covers it
<Vexatos> you use it for whatever when you just need something done
<Vexatos> small programs
<Papierkorb> lul small programs
DTZUZO has joined #crystal-lang
<Vexatos> Papierkorb, I have seen Lua programs in the range of multiple megabytes
<Papierkorb> The only thing that Crystal simply wasn't up to part was using it to write a Kernel. The end.
<Papierkorb> *up to par
<Vexatos> Just because a language can be used for huge programs doesn't mean it should be :P
<Vexatos> (Pro tip: Don't use Lua for multi-megabyte programs)
<Papierkorb> What should make crystal unsuited for "big programs"
<Vexatos> nothing
<Vexatos> But as I said, I think crystal is meant to be used where ruby and other similar languages are meant to be used
<Vexatos> small programs, cmd utilities, etc
<Papierkorb> it's meant to be used where it works for you
<Vexatos> the advantage of those languages is that they are easy and fast to write
<Vexatos> you can just get stuff done
<Vexatos> compared to C, C++, or Java
<Vexatos> You can use Julia for the same stuff
<Papierkorb> Those traits are highly desirable for a language
<Vexatos> yes
<Vexatos> Julia has the (dis)advantage of having a ginormous mathematical stdlib
<Vexatos> An install is 200MB in size
<Papierkorb> Especially for Crystal, where it's competing near C++-y levels of performance
<Vexatos> how big is a crystal install? I don't even know >_>
<Papierkorb> Though I'm too lazy to write the numbers game benchmarks in it to throw it into the synthetic benchmarks ring
<FromGitter> <unreadable> any julia gui lib?
<Vexatos> the best thing in julia: @time
<Papierkorb> > 65,15 MiB
<Papierkorb> Most of which is probably LLVM lul
<Vexatos> you can throw the @time macro in front of any expression, call, or code block, and it'll tell you the time it took to execute and the memory allocated, number of allocations, and time used by the GC
<FromGitter> <unreadable> i know that java has that swt and swig stuff
<Vexatos> @unreadable many packages are at http://pkg.julialang.org/
<Vexatos> it's the official package repo
<Vexatos> you can Pkg.add("packagename") on those
<faustinoaq> Vexatosm, On ArchLinux crystal package size is just 3.05MB
<Vexatos> for others, you can Pkg.add("https://some.url/with/a/repo.git")
<FromGitter> <unreadable> how would julia play with opengl? so far c++ seems to be the best choice for me
<Vexatos> @unreadable you will find GL bindings in the package repo
<Vexatos> multiple ones, even
<Vexatos> Vulkan too
<Vexatos> faustinoaq, there you go
<Vexatos> You might not want a 200MB language on a microcontroller :P
<Vexatos> That's where crystal could shine
<Vexatos> small computers
<faustinoaq> I like the Julia console, I used it to do some matrix math very easy
<Vexatos> because it is way easier to write than C
<Vexatos> but also small
<Vexatos> ah yes, julia's matrix/array notation is top-noth
<Vexatos> notch*
<Vexatos> also vectorized calls :I
<faustinoaq> Yeah :D
<Vexatos> how do you turn a subset of an array of strings into an array of strings without commas into an array of objects? Foo.(replace.(words[4:end], ",", "")))
<Vexatos> Julia also has excellent native support for easy parallelization
<Vexatos> which is very important in technical computing
<Vexatos> waiting for Julia 1.0 to drop in a few months
<faustinoaq> Vexatos, Very interesting, I gonna give Julia a try, What community channel Julia community uses more, IRC, gitter, discourse, forum?
<Vexatos> I only know of http://discourse.julialang.org/
<Vexatos> it's the "official place"
<Vexatos> along with a slack server
DTZUZO has quit [Ping timeout: 255 seconds]
<Vexatos> You can write some pretty disgusting code in julia, which is interesting
<Vexatos> good example
<Vexatos> f(num, den) = n -> //(sum.((a -> a .* n .^ (length(a) - 1:-1:0)).((num, den)))...)
<FromGitter> <unreadable> `<Vexatos> because it is way easier to write than C`
<FromGitter> <unreadable> well, lot of languages are way easier than c, but not as powerfull ;P
<FromGitter> <unreadable> didn't expect the emoticon to work
<Vexatos> It can be
<Vexatos> and not... whatever this is
<Vexatos> if you are sane
<Papierkorb> that looks like haskell to me *hides*
<Vexatos> Emoticons always work if you're using IRC and decent fonts :P
<Vexatos> A good way to find out is using weird unicode like 𒄡𒅑𒈙𒊲𒓡 or 𓀿𓆥𝈉𔐗𖡦𖨰
<Vexatos> Papierkorb, well it's definitely not a purely functional language :P
csk157_1 has quit [Ping timeout: 260 seconds]
<RX14> Vexatos, this is #crystal-lang not #julia-lang
<ua> kb for shilling?
claudiuinberlin has quit [Quit: Textual IRC Client: www.textualapp.com]
<RX14> lol
<RX14> Vexatos, also julia is highly optimized for scientific computing, i'll wait until I see a Julia web framework in https://www.techempower.com/benchmarks/previews/round15/ before you can all it a generic language
<FromGitter> <unreadable> <RX14> tranquillo, I actually enjoyed those Julia talks
<FromGitter> <jwaldrip> can you access an outer macro var from an inner macro
<FromGitter> <jwaldrip> ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=5a29b4e1232e79134d2022ca]
<FromGitter> <jwaldrip> i.e. I need to access method from the outer
jokke has quit [*.net *.split]
livcd has quit [*.net *.split]
RX14 has quit [*.net *.split]
manveru has quit [*.net *.split]
Poetichristmas has quit [*.net *.split]
dahhowl has quit [*.net *.split]
manveru has joined #crystal-lang
livcd has joined #crystal-lang
dahhowl has joined #crystal-lang
Poetichristmas has joined #crystal-lang
jokke has joined #crystal-lang
RX14 has joined #crystal-lang
manveru has quit [Max SendQ exceeded]
manveru has joined #crystal-lang
claudiuinberlin has joined #crystal-lang
sz0 has quit [Quit: Connection closed for inactivity]
claudiuinberlin has quit [Quit: Textual IRC Client: www.textualapp.com]
DTZUZO has joined #crystal-lang
alex`` has quit [Ping timeout: 258 seconds]
jokke has quit [*.net *.split]
livcd has quit [*.net *.split]
RX14 has quit [*.net *.split]
Poetichristmas has quit [*.net *.split]
dahhowl has quit [*.net *.split]
A124 has quit [Ping timeout: 240 seconds]
dahhowl has joined #crystal-lang
Poetichristmas has joined #crystal-lang
RX14 has joined #crystal-lang
jokke has joined #crystal-lang
livcd has joined #crystal-lang
A124 has joined #crystal-lang
A124 has joined #crystal-lang
A124 has quit [Changing host]
<FromGitter> <luislavena> @jwaldrip I think you will need to wrap `method.downcase` in `{{ .. }}`
DTZUZO has quit [Ping timeout: 240 seconds]
<FromGitter> <jwaldrip> No worries, found a work around
DTZUZO has joined #crystal-lang
DTZUZO has quit [Client Quit]
gewo has quit [Ping timeout: 255 seconds]
gewo has joined #crystal-lang