RX14 changed the topic of #crystal-lang to: The Crystal programming language | http://crystal-lang.org | Crystal 0.27.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
gangstacat has quit [Ping timeout: 246 seconds]
gangstacat has joined #crystal-lang
Dreamer3 has joined #crystal-lang
kmctown has joined #crystal-lang
jemc has quit [Ping timeout: 246 seconds]
Dreamer3 has quit [Quit: Leaving...]
kmctown has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<FromGitter> <Blacksmoke16> would be pretty easy to implement i think, esp with type restrictions
<FromGitter> <Blacksmoke16> at compile time get an array of all subclasses of some parent `Command` class, and build out handler methods type restricted to that type
<FromGitter> <Blacksmoke16> ill add that to the list :p
jemc has joined #crystal-lang
jemc has quit [Client Quit]
jemc has joined #crystal-lang
<FromGitter> <Blacksmoke16> @dscottboggs_gitlab I found an issue with my white-listing logic for the specs :(
<FromGitter> <Blacksmoke16> ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=5c5ced1e3608b004a08ad7b1]
<FromGitter> <Blacksmoke16> it only works when doing like `User.prepare(HasRole.new "foo")` have to think if i can come up with a way to limit that outside the type
<FromGitter> <Blacksmoke16> ``` spec = User.and( ⏎ HasRole.new "ROLE_CALENDAR" ⏎ )``` [https://gitter.im/crystal-lang/crystal?at=5c5cf58d5095f6660cb8484c]
<FromGitter> <Blacksmoke16> would do it since the type is now in the context of the class but thats a bit strange?
<FromGitter> <Blacksmoke16> will have to do if you want everything to be type safe :shrug:
DTZUZO has joined #crystal-lang
<FromGitter> <sam0x17> @j8r my understanding was that the plan is to eventually make fibers run in parallel by default, maybe I was mistaken about that
marmotini_ has joined #crystal-lang
moei has joined #crystal-lang
ua has quit [Ping timeout: 272 seconds]
marmotini_ has quit [Ping timeout: 250 seconds]
marmotini_ has joined #crystal-lang
<FromGitter> <j8r> I don't know. In this case, using a mutex seems appropriate
DTZUZO has quit [Ping timeout: 250 seconds]
ashirase has quit [Ping timeout: 252 seconds]
ashirase has joined #crystal-lang
ua has joined #crystal-lang
<FromGitter> <vladfaust> I bet @r00ster91 is a secret member of core team as well
<FromGitter> <mavu> Morning, If any of you want to feel really facepalmingly stupid for a bit, just try to get bitwise operations right while using "&&" as your bitwise-and operator.
<FromGitter> <kingsleyh> Hehe :g
DTZUZO has joined #crystal-lang
DTZUZO has quit [Ping timeout: 272 seconds]
<FromGitter> <mavu> Is there a method in JSON to pretty print json?
<FromGitter> <mavu> never mind. pp some_parsed_json works.
<FromGitter> <Blacksmoke16> there is also a `to_pretty_json` method
marmotini_ has quit [Ping timeout: 250 seconds]
edcragg has quit [Ping timeout: 264 seconds]
edcragg has joined #crystal-lang
<FromGitter> <j8r> mps I'm working on doing the same thing of libzip.a, but with curl this time
<mps> j8r: you want static libcurl?
kmctown has joined #crystal-lang
fanta7531 has joined #crystal-lang
edcragg has quit [Remote host closed the connection]
edcragg has joined #crystal-lang
<mps> j8r: are you here? forgot to mention that curl-dev on Alpine already have libcurl.a
fanta7531 has quit [Quit: fanta7531]
jemc has quit [Ping timeout: 245 seconds]
jemc has joined #crystal-lang
jemc has quit [Client Quit]
<FromGitter> <j8r> sorry mps, I was in a meeting
<FromGitter> <j8r> yes it already exists, but symbols are missing to build PHP statically
<FromGitter> <j8r> that's why I've a dirty build script https://github.com/DFabric/apps-static/blob/master/source/curl-static/build.sh
kmctown has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
DTZUZO has joined #crystal-lang
<mps> j8r: np, just wanted to say that is there already to save you some time :)
<FromGitter> <j8r> Thanks, I'll tell you if I'm really blocked :)
<mps> libcurl is shared libs apk. for development you have to use curl-dev
DTZUZO has quit [Ping timeout: 244 seconds]
<FromGitter> <j8r> looks like i do it :D
kmctown has joined #crystal-lang
<FromGitter> <j8r> oh no now curl is statically linked :/
<mps> nice. you like static programs. Sometimes they are really useful. I will try to build static crystal apk, and rust if I found time and learn how to do these things
<FromGitter> <j8r> that's still for PHP, I don't have a simpler choice :/
<FromGitter> <j8r> I use it on my crystal project https://github.com/DFabric/dppm
<FromGitter> <j8r> either I use a complicated solution like Nix, or I compile statically
<mps> I remember it.
<FromGitter> <j8r> I didn't find an other options
<FromGitter> <j8r> If you have one, I take it :)
<mps> I didn't made a lot of them, but I also sometimes build static binaries when install all shared libs is a big hassle
<FromGitter> <j8r> Another non-option is using VM/containers 💀
<FromGitter> <j8r> for libcurl adding `LDFLAGS=-static PKG_CONFIG='pkg-config --static'` seems to do the trick
<mps> container are overkill, imho. I escape them if I can, although I use them regularly. Sometimes container/emulators are only options
<FromGitter> <j8r> yeah agree
<FromGitter> <j8r> VMs are even worse in overkill
<mps> yes, for most compiled programs you tell the linker to build or not static version using -static flag
<rkeene> The problem is that a static library can't express its dependencies
<mps> rkeene: right, but you can explicitly list them for linker
<rkeene> mps, You have to find them first
<rkeene> That's where pkg-config --static comes in, or GNU's libtool "la" files (blech)
<mps> well, yes, but usually you know what you do when making static programs. you do not build statically randomly downloaded programs from the net
<rkeene> For example, libcurl could link to libldap or a few different libraries, depending on how curl is compiled
<rkeene> Does it use GNUtls or OpenSSL ? Maybe it's now NSS-based...
<mps> everything is true, but you usually know what you want to get as a result, so you know what 'ingredients' are needed
<rkeene> You don't really know how libcurl was compiled unless you compile it as part of your toolchain
<mps> rkeene: of course, I mean to say that. you have to know from ground-up what are you doing
DTZUZO has joined #crystal-lang
<FromGitter> <j8r> curl is compiled with nghttp2, I'm afraid I need nghttp2.a when building php-static
<FromGitter> <j8r> That would be logical
<FromGitter> <HarrisonB> Is there a way to have a spec show the stark trace on interrupt? something is hanging but I’m not sure what
<FromGitter> <HarrisonB> Actually I might understand now...lol I just want to treat a request body as a string
<FromGitter> <faustinoaq> Hi community, I just fixed vscode-crystal-lang (https://github.com/crystal-lang-tools/vscode-crystal-lang) again 😅 now `Format Document` works fine 😉
<FromGitter> <faustinoaq> @baelter 👆
<FromGitter> <faustinoaq> Also included a `.vsix` file, so offline installations are possible too 🎉
<FromGitter> <dscottboggs_gitlab> @faustinoaq 🎉 👏 thanks!
<FromGitter> <bararchy> thanks @faustinoaq great job!
kmctown has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
g- has quit [Quit: Lost terminal]
mps has quit [Quit: leaving]
mps has joined #crystal-lang
kmctown has joined #crystal-lang
kmctown has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]