jhass changed the topic of #crystal-lang to: The Crystal programming language | https://crystal-lang.org | Crystal 0.35.1 | Fund Crystal's development: https://crystal-lang.org/sponsors | GH: https://github.com/crystal-lang/crystal | Docs: https://crystal-lang.org/docs | Gitter: https://gitter.im/crystal-lang/crystal
postmodern has joined #crystal-lang
Liothen has joined #crystal-lang
Liothen has quit [Excess Flood]
sagax has joined #crystal-lang
fifr[m]1 has quit [Ping timeout: 244 seconds]
alexherbo2 has quit [Ping timeout: 260 seconds]
Liothen has joined #crystal-lang
Liothen has quit [Excess Flood]
_whitelogger has joined #crystal-lang
badeball has joined #crystal-lang
yxhuvud has joined #crystal-lang
f1refly has quit [Ping timeout: 258 seconds]
f1refly has joined #crystal-lang
Liothen has joined #crystal-lang
Liothen has quit [Excess Flood]
chachasmooth has quit [Ping timeout: 272 seconds]
chachasmooth has joined #crystal-lang
chachasmooth has quit [Ping timeout: 240 seconds]
chachasmooth has joined #crystal-lang
_whitelogger has joined #crystal-lang
Liothen has joined #crystal-lang
Liothen has quit [Excess Flood]
Liothen has joined #crystal-lang
Liothen has quit [Excess Flood]
zorp has quit [Read error: Connection reset by peer]
<FromGitter> <naqvis> @herrcykel There is resource (file descriptor) leakage, so I would suggest to perform cleanup during exit
<FromGitter> <naqvis> something like ⏎ ⏎ ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=5f741764ebcae565816ee144]
sagax has quit [Quit: Konversation terminated!]
Liothen has joined #crystal-lang
Liothen has quit [Excess Flood]
<FromGitter> <3n-k1> is there any way to specifically refer to something from the global namespace? ⏎ ⏎ ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=5f74213278e34078d00c5d9a]
woodruffw has quit [Ping timeout: 256 seconds]
woodruffw has joined #crystal-lang
<FromGitter> <naqvis> `::Time`
<FromGitter> <naqvis> use `::` before class/module name
<FromGitter> <3n-k1> thank you much!
<FromGitter> <naqvis> 👍
woodruffw has quit [Ping timeout: 240 seconds]
woodruffw has joined #crystal-lang
Liothen has joined #crystal-lang
Liothen has quit [Excess Flood]
sagax has joined #crystal-lang
Stephie- has joined #crystal-lang
Nekka has quit [Quit: zzz]
Stephie has quit [Quit: Fuck this shit, I'm out!]
Nekka has joined #crystal-lang
Liothen has joined #crystal-lang
Liothen has quit [Excess Flood]
Liothen has joined #crystal-lang
Liothen has quit [Excess Flood]
Liothen has joined #crystal-lang
Liothen has quit [Excess Flood]
Liothen has joined #crystal-lang
Liothen has quit [Excess Flood]
Liothen has joined #crystal-lang
Liothen has quit [Excess Flood]
Liothen has joined #crystal-lang
Liothen has quit [Excess Flood]
Liothen has joined #crystal-lang
Liothen has quit [Excess Flood]
Liothen has joined #crystal-lang
Liothen has quit [Excess Flood]
Liothen has joined #crystal-lang
Liothen has quit [Excess Flood]
Liothen has joined #crystal-lang
Liothen has quit [Excess Flood]
Liothen has joined #crystal-lang
Liothen has quit [Excess Flood]
Liothen has joined #crystal-lang
Liothen has quit [Excess Flood]
Liothen has joined #crystal-lang
Liothen has quit [Excess Flood]
Liothen has joined #crystal-lang
Liothen has quit [Excess Flood]
Liothen has joined #crystal-lang
Liothen has quit [Excess Flood]
Liothen has joined #crystal-lang
Liothen has quit [Excess Flood]
Liothen has joined #crystal-lang
Liothen has quit [Excess Flood]
Liothen has joined #crystal-lang
Liothen has quit [Excess Flood]
Liothen has joined #crystal-lang
Liothen has quit [Excess Flood]
Liothen has joined #crystal-lang
Liothen has quit [Excess Flood]
Liothen has joined #crystal-lang
Liothen has quit [Excess Flood]
Liothen has joined #crystal-lang
Liothen has quit [Excess Flood]
Liothen has joined #crystal-lang
Liothen has quit [Excess Flood]
Liothen has joined #crystal-lang
Liothen has quit [Excess Flood]
Liothen has joined #crystal-lang
Liothen has quit [Excess Flood]
Liothen has joined #crystal-lang
Liothen has quit [Excess Flood]
Liothen has joined #crystal-lang
Liothen has quit [Excess Flood]
Liothen has joined #crystal-lang
Liothen has quit [Excess Flood]
Liothen has joined #crystal-lang
Liothen has quit [Excess Flood]
Liothen has joined #crystal-lang
Liothen has quit [Excess Flood]
Liothen has joined #crystal-lang
Liothen has quit [Excess Flood]
Liothen has joined #crystal-lang
Liothen has quit [Excess Flood]
Liothen has joined #crystal-lang
Liothen has quit [Excess Flood]
oz has quit [Quit: EOF]
oz has joined #crystal-lang
alexherbo2 has joined #crystal-lang
<mps> yesterday tested build crystal 0.35.1 an musl 1.2.1, build pass but some tests failed
<mps> gcc 10.2.0 and llvm-10
<mps> question is: does crystal also has bug related to some bugs exposed/discovered with latest musl
<jhass> I instantly take the bet that you're the first one to try it :)
hightower4 has joined #crystal-lang
<hightower4> Hey, YAML.mapping() is going to be removed altogether, right?
<mps> jhass: :)
<hightower4> (eventually)
<mps> any*
<jhass> hightower4: yeah
<jhass> mps: sorry, I doubt anybody knows that from the top of their head :)
<jhass> but quite possibly yes :D
<jhass> I guess the hotspot for this would be Process, otherwise Crystal should be forking very very seldomly
<mps> "Consequently, to avoid errors, the child process may only execute async-signal-safe operations until such time as one of the exec functions is called"
<mps> in a last month we 'discovered' a lot (ok, not small number) of programs and libs which are AS-unsafe
<mps> 'we' => alpine developers
<mps> glibc has workaround for this behaviour, but that just hide these bugs and not 'solve' them
<jhass> it's basically C writting in Crystal, so it shouldn't be too hard to follow for a C dev :)
<mps> jhass: aha, looks like right hotspot, but I'm far from expert in thread/fork so will ask some else to look
<jhass> great, thanks <3
<mps> someone*
<jhass> otherwise opening an issue with a reproducible testcase (something like run the following code in the following docker image) should also get someone to look at it eventually
<mps> I don't have github account
<mps> but I can post build log to paste service
<jhass> well, the easier to reproduce the more likely somebody will look at it :)
<mps> sure, see you later (before midnight I hope) :)
<jhass> :)
postmodern has quit [Quit: Leaving]
sagax has quit [Remote host closed the connection]
<FromGitter> <Daniel-Worrall> alpine image doesn't have sqlite package by default? D:
<mps> Daniel-Worrall: you mean alpine linux?
<FromGitter> <Daniel-Worrall> alpine docker image
<mps> dockers are minimal by intention
<mps> and base alpine installation is also minimal, again intentionally
<FromGitter> <Daniel-Worrall> indeed, but not including the dev packages needed to build crystal projects seems a bit silly
<FromGitter> <Daniel-Worrall> even if they are optional
<mps> no, we expect that users of alpine are educated and knows what they want
<FromGitter> <Daniel-Worrall> they include yaml-dev, but not sqlite-dev :^)
<FromGitter> <Daniel-Worrall> xml/yaml are both optional, but they're included
<mps> yes, crystal base depends on yaml but not on sqlite
<FromGitter> <Daniel-Worrall> Oh I'm being a dumb
<mps> for example I do not do sqlite with crystal, so why I would have sqlite-dev on my system
<FromGitter> <Daniel-Worrall> A little bit
<FromGitter> <Daniel-Worrall> for some reason, I thought sqlite was an optional dependency listed on the install instructions
<FromGitter> <Daniel-Worrall> Where's my coffee button
<mps> :)
<mps> crystal deps in alpine: depends="gc-dev libatomic_ops libevent-dev libevent-static gcc gmp-dev pcre-dev"
<mps> if anything else is essential please inform us on gitlab.alpinelinux.org by creating issue/bug or merge request
<FromGitter> <Daniel-Worrall> will do
alexherbo2 has quit [Ping timeout: 256 seconds]
sagax has joined #crystal-lang
<FromGitter> <Daniel-Worrall> crystal doc now fails on freshly init'd repos since it doesn't have enough git information
<FromGitter> <asterite> But it seems you can pass `--project-version`?
<FromGitter> <Daniel-Worrall> yeah, you can. I have a simple shell script that builds all shard docs, so I'd have to pass in the args to that ⏎ `crshdoc() { shards=(); for shard in lib/*/; do shards+=($shard/src/$(basename $shard).cr); done; crystal doc ${shards[@]}; cmd.exe /C start docs/index.html; }`
<FromGitter> <Daniel-Worrall> I got it from someone here, forgot who
<FromGitter> <Daniel-Worrall> at least the first part, the cmd.exe is me because of WSL2 bullshit
Liothen has joined #crystal-lang
Liothen has quit [Excess Flood]
Liothen has joined #crystal-lang
Liothen has quit [Excess Flood]
Liothen has joined #crystal-lang
<FromGitter> <j8r> Ho, Gitter has been acquired by Element!
<FromGitter> <j8r> Guys from Matrix, Vector.im
HumanG33k has quit [Read error: Connection reset by peer]
<FromGitter> <RespiteSage> Oh, they also changed the UI.
HumanG33k has joined #crystal-lang
<FromGitter> <j8r> For gitter? didn't noticed
<FromGitter> <j8r> more about the topic!: https://matrix.org/blog/2020/09/30/welcoming-gitter-to-matrix
<oprypin> amazing news for the situation with chats and bridges
<mps> jhass: musl primary author (Rich Felker) told me that the function self.fork (you posted url) looks safe but caller could do unsafe things in child
<mps> so debugging is needed
<jhass> I was afraid it's not that easy
<jhass> yeah
<mps> I will try to 'isolate' tests which provokes faults and report here
<FromGitter> <j8r> oprypin: backs in the day, it was possible to have most chats grouped in Pidgin - it was nice
<FromGitter> <j8r> I hope matrix will become the new XMPP
<FromGitter> <j8r> However other big corp chats will never support it, a shame
<jhass> ... says the gitter user :D
<FromGitter> <j8r> ...why?
<jhass> it's the same vendor lock-in principle than anything else
<FromGitter> <j8r> not really, it is open source
<jhass> so is signal, I have the same criticism for it
<jhass> centralized, non federating infrastructure
<FromGitter> <j8r> Don't know if interoperability, bridges, are possible with Signal
<jhass> the gitter one here is more of a crude hack than anything else, too
<jhass> gitter/IRC one I mean
<FromGitter> <j8r> sure, not ideal
<FromGitter> <j8r> The real problem is how to communicate between, say, WhatsApp and Wechat? The hack will be of a magnitude higher
<FromGitter> <j8r> And likely they will find a way to make the hack impossible :/
<jhass> hence I user neither of those either
<FromGitter> <j8r> me too yeah. I tried WhatsApp once, was horrible
<FromGitter> <j8r> even MSN messenger was better back then haha
<FromGitter> <Blacksmoke16> long live Google Hangouts :S
<FromGitter> <Blacksmoke16> #notDeadYet
<FromGitter> <j8r> Is a Zombie dead or alive? Here is the question :)
<FromGitter> <Blacksmoke16> google's been working on killing it off for a while ha
<FromGitter> <Blacksmoke16> Fi users are only ones who have it still afaik
<jhass> nobody but me can kill my XMPP server :)
<FromGitter> <j8r> I have a Mumble server. I still don't know anything better for voice chat
<FromGitter> <Blacksmoke16> discord?
<mps> I 'killed' my XMPP server few months ago, no one uses it anymore :(
<FromGitter> <j8r> @Blacksmoke16 ...lol. Not Open, more bandwidth/less efficient
<jhass> mps: want an account on mine? :D
<mps> :)
<jhass> I recently configured prosody's new invite flow :D
<mps> also I had prosody for years
<mps> but nowadays I only use IRC
<FromGitter> <j8r> what's the deal with XMPP nowadays, now there is matrix?
<FromGitter> <j8r> ho, mps has gone from XMPP to IRC, then to mail? Quite strange :)
<jhass> IRC is probably older than modern mail fwiw
<mps> j8r: show me good text mode matrix client
<mps> and matrix server which is not resource hungry to run it on my arm32 with 1GB of RAM
<FromGitter> <j8r> jhass not really, if I see Wikipedia
<FromGitter> <j8r> What is modern mail BTW?
<jhass> well my point is that there's been more modifications to the email protocols than to the IRC protocol since the early days
<jhass> and they're not that different age wise
<mps> mail is older, iirc
<FromGitter> <j8r> anyway, the point was, I found a bit strange to go from XMPP to IRC?
<mps> but 'talk' on unix is oldest iirc
<jhass> XMPP and IRC are distinct usecases for me
<FromGitter> <j8r> yes likely you always used both
<FromGitter> <j8r> mps nothing good here: https://matrix.org/clients/ ?
<FromGitter> <j8r> looks like weechat can be used
<mps> didn't looked in last few months, but before that I didn't found anything usable to me
<mps> btw, I packaged purple-hangouts for alpine as plugin for pidgin
<FromGitter> <Daniel-Worrall> Are regexs available at compile time optimised?
<FromGitter> <asterite> No, they are just compiled
hightower4 has quit [Ping timeout: 240 seconds]
Human_G33k has joined #crystal-lang
HumanG33k has quit [Ping timeout: 272 seconds]
<oprypin> huh? are they compiled at compile time? I'd be surprised if that's the case
<FromGitter> <Daniel-Worrall> I was wondering if they were formed into PCRE data, whatever that might be, instead of text
<FromGitter> <Daniel-Worrall> https://github.com/crystal-lang/crystal/blob/master/src/regex.cr#L256 ⏎ So looking at this, any optimisations are done with "pcre compiling" is done at runtime
<FromGitter> <Daniel-Worrall> Just curious, can C libs be called at compile time?
<FromGitter> <Daniel-Worrall> like in a macro
<oprypin> Daniel-Worrall, not really. but any subprocess can be called at compile time. that in turn can call C libs
<FromGitter> <Daniel-Worrall> cool, thanks
<yxhuvud> including shell callouts
<FromGitter> <asterite> oh, sorry, I said something wrong. They are always compiled at runtime. But when you use the `/regex/` syntax then it's compiled just once at runtime
<FromGitter> <Daniel-Worrall> thanks for the clarification
<oprypin> that would make sense 😊
<oprypin> still quite nice
kevinsjoberg has quit [Ping timeout: 240 seconds]
f1refly has quit [Ping timeout: 244 seconds]
f1refly has joined #crystal-lang
kevinsjoberg has joined #crystal-lang
deavmi_ has quit [Read error: Connection reset by peer]
deavmi has joined #crystal-lang
oprypin has quit [Quit: Bye]
oprypin has joined #crystal-lang
davic has quit [Excess Flood]