<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
<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]
<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
<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
<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?