🦋 Welcome to Raku! raku.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: colabti.org/irclogger/irclogger_log/raku
Set by ChanServ on 14 October 2019.
Geth doc/master: 5 commits pushed by (Luc St-Louis)++ 00:43
Geth doc: ed04434c70 | (Luc St-Louis)++ | doc/Type/Grammar.pod6
Whoops, fixed what two commits ago accidentally undid
00:51
linkable6 Link: docs.raku.org/type/Grammar
Xliff m: enum Letters <A B C D>; my $a = A; say $a.succ 01:35
camelia B
jdv79 it seems the data marshalling is what kills JsonC. what would be a better/doable way to do that sort of thing? do it in nqp? build it up using the reprs in moarvm? something else? 04:12
rba El_Che: There is a sponsored vm currently used for all websites, then Konrad runs a physical machine in cellar for Blin and hopefully for the RakuDist workers soon. Then we have some sponsored money on AWS and DigitalOcean. With a decent VM this money gots eaten very fast I realised, yet. Neverthless this is all for the Raku community, so let me know when you have a need. 08:27
tellable6 2020-05-20T19:33:53Z #raku <melezhik> rba - please let me know when you are here, thanks
2020-05-20T22:22:32Z #raku <melezhik> rba I need 2 http ports open to public or (just one if we decide to proxy by nginx ) on VM to allow RakuDist web UI and Sparky to be accessible publicly
rba melezhik: Does it matter which port? Please let me know...
tellable6 rba, I'll pass your message to melezhik
Doc_Holliwould sup 10:38
lizmat per's ready? 10:39
Doc_Holliwould i don't know, is it? 10:41
lizmat bit early maybe ?
Doc_Holliwould jnthn: that easy, eh? 10:42
oh boy. apple released a new iOS with the corona app tracing api on it... 10:43
i hope i don't get too many calls from alu-hats about it 10:44
but then, such people probably don't buy iphones to begin with 10:45
lucs Looking at docs.raku.org/syntax/sym , what is 「token letter:sym<*> {.}」 doing, how does that work? 12:07
melezhik .tell @rb 13:20
tellable6 melezhik, I cannot recognize this command. See wiki for some examples: github.com/Raku/whateverable/wiki/Tellable
melezhik .tell @rba there are 2 web application that require http ports. does not really matter the number of ports, but b/c I run apps under an unprivileged user 13:21
tellable6 melezhik, I cannot recognize this command. See wiki for some examples: github.com/Raku/whateverable/wiki/Tellable
melezhik .tell rba there are 2 web application that require http ports. does not really matter the number of ports, but b/c I run apps under an unprivileged user 13:22
tellable6 melezhik, I'll pass your message to rba
melezhik .tell @rb
tellable6 melezhik, I cannot recognize this command. See wiki for some examples: github.com/Raku/whateverable/wiki/Tellable
melezhik .tell rba there should be ports > 1024 13:23
tellable6 melezhik, I'll pass your message to rba
melezhik or we could "wrap up" all 2 application under a nginx reverse proxy and in this case I'd need to update nginx configuration to "plug in" my 2 apps 13:24
tellable6 2020-05-21T08:27:50Z #raku <rba> melezhik: Does it matter which port? Please let me know...
melezhik http
say 10001 and 3000
evalable6 WARNINGS for /tmp/bbkdSyu8qE:
10001
Useless use of constant integer 3000 in sink context (line 1)
rba melezhik: I have asked Konrad. If you need to test now you might tunnel it through ssh. 13:25
melezhik rba it should be http ports
ahh, I see, I've never done that ... so you mean I could do it on my own?
rba Yes, but only back to yout machine... 13:26
melezhik yeah
is that what you're talking about - serverfault.com/questions/78351/ca...-was-proxy ?
jdv79 it seems the data marshalling is what kills JsonC. what would be a better/doable way to do that sort of thing? do it in nqp? build it up using the reprs in moarvm? something else? 13:38
jnthn jdv79: "kills" isn't very specific; what exactly is the issue? 13:48
melezhik rba , so you're suggesting to test web apps using ssh/http tunneling first, over my laptop. and then when it's tested to make ports public? 13:52
jdv79 performce of getting from a json string to a raku datastructure 13:54
JsonC is slower than JSON::Fast which isn't terribly fast 13:55
lizmat jdv79: I assume you're referring to from_json, right ? 13:56
jdv79 i think its from-json but yet
*yes
jdv79 i have a potential use case where JSON::Fast is the perf bottleneck so i might be able to attempt to make or help make something faster - htat's hte overall situation 13:57
ctilmes jdv79: I've got rudimentary bindings for simdjson. It's faster than JSON::Fast. I'm waiting for permission to release. 13:59
lizmat ctilmes: if you're waiting for permission to release, will it also require permission to use simdjson ? 14:00
ctilmes lizmat: simdjson is Apache License 2.0 -- I just need permission to release my raku code 14:01
lizmat ah, from your employer?
ctilmes yes
lizmat gotcha
rba melezhik: As it then works for you only this is usefult to verify the installation and not to make it public available.
lizmat at former $work, once the lawyers understood open source, they ok'd it on the provision that $work would *not* be implicated in the code in any way :-) 14:02
they were more afraid of liability then of helping the competition 14:03
*than
ctilmes What should I call it? JSON::simd?
lizmat JSON::SuperFast :-) 14:04
seriously, JSON::simd sounds fine
jdv79 ctilmes: that'd be neat. how fast is it? and how is the marshalling handled?
i was gonna attempt a bind to ccan-json since its c so its a little easier and its a bit more conformant and fast than JsonC 14:05
but i might hold off if simd is "on the way";)
ctilmes jdv79: I've done the marshalling at least 3 different ways so far, but I'm not certain I've hit on the best yet. It may have tradeoffs that I want to keep multiple ways. 14:06
It makes a big difference if you want everything vs. want to pick and choose what you need from JSON.
If you want everything, it is faster to batch up on the C side and send a bunch with a single C call. 14:07
If you are going to pick and choose a few JSON paths, I can leave most of it out, and just send back what you actually need.
jdv79 makes sense. i would prefer the simpler "from-json" style just for ease of use. 14:11
ctilmes It also does some up front work that you can amortize if you re-use the allocated parser. A single from-json either allocates a new parser with every call (slow), or uses a singleton (not thread-safe for multiple calls), or does some smarter caching of parsers and reuses ones not already in use (harder). 14:14
I'm still playing with lots of options trade-offs
Marcool hi all, how can I tell raku where to find native libs? OpenSSL module is failing with openssl version 1.1, or the stock libressl from apple, but i've managed to get it to work with the openssl 1.0 from homebrew. How can I force that one to be used by NativeCall in the OpenSSL module? 15:04
cpan-raku New module released to CPAN! Term::Choose (1.6.6) by 03KUERBIS 15:10
New module released to CPAN! Gnome::Gtk3 (0.28.5) by 03MARTIMM 15:19
ctilmes Marcool: you can put an explicit path in the native() and it will use only that. You could also try tweaking ENV variable LD_LIBRARY_PATH which governs where it searches. 15:22
Marcool ctilmes: thanks I got the LD_LIBRARY_PATH part from the docs, but can't get it to change anything :/ 15:24
ctilmes Of late, I've been using github.com/salortiz/NativeLibs to load native libraries 15:25
Marcool but i've actually just modified the code from github.com/sergot/openssl directly to change the native() calls (which to me seem very strange, but that could be me not getting something: github.com/sergot/openssl/blob/mas...iveLib.pm6 ) and it seems to be working
why do those subs in there use state $lib = [stuff] and not just return the correct lib string? 15:26
ctilmes To make sure it finds the library at runtime instead of compile time. If you are on the same system, it won't make a difference, but if you package things up and move them it can matter 15:27
Marcool hum… right 15:28
makes sense
Marcool so the right thing should be to set LD_LIBRARY_PATH? 15:29
ctilmes possibly -- be careful if loading more than one library too. 15:30
Marcool export LD_LIBRARY_PATH="/usr/local/Cellar/openssl/1.0.2s/lib/"; raku -I./lib t/01-basic.t fails in the way that suggests it's using the system one (libressl) 15:38
MasterDuke Marcool: maybe run it under strace and see where it's actually looking? 15:46
tellable6 MasterDuke, I'll pass your message to Marcool
jdv79 is there a max usage option list length? 16:30
the list of options seems to stop though i see additional in the cmd string up top
Altreus can someone remind me of the type of supply that supplies the most recent ... other supply you gave it ... am I making sense? 16:33
jdv79 nope - nm
jnthn migrate?
Altreus there was like a proxy supply 16:34
oh yeah migrate
Thank :)
mind-reader
Altreus Can I meaningfully store the value of Suppler.new.Supply.migrate? 16:43
The example in the docs for migrate seem to put the onus of *calling* migrate on the consumer of the supply
But I would like this fact to be transparent to the consumer 16:44
my $!message = Supplier.new.Supply.migrate; ?
well - with a middle man so I can supply new supplies!
jnthn Altreus: Sure, it's just a Supply 16:45
Altreus thought so ^_^ 16:47
hoping this refactor will fix the discord api lib
>_>
Or at least make a problem clearer
konvertex Thanks a lot for these nice and fancy advent postings! Took me a while, but went through all of them. 16:51
JJMerelo konvertex congrats! 16:56
konvertex Nah, props to the raku community for keeping this going year after year. Seen other langs, with far more contributors overall, that are lacking in this regard. 16:59
JJMerelo konvertex Thanks. The call is already open for this year, just in case you want to contribute :-) 17:00
jdv79 how can one get vars into END on a "raku -ne" type deal?
jnthn jdv79: You mean so you have a var that persists through the whole loop? Declare it `state` scope instead of `my`. I guess. 17:06
jdv79 ah, explicitly. i tried $ but no dice. thanks. 17:10
should the anon state vars work in that case? 17:12
jnthn If you need to refer to it outside the END and inside, it can't be anonymous, 'cus you need to refer to it in two places :) 17:50
cpan-raku New module released to CPAN! Gnome::Gtk3 (0.28.5.1) by 03MARTIMM 17:52
[Coke] xkcd.com/2309/ "X" 18:14
MasterDuke jdv79: or `BEGIN my $line-count; $line-count++; END say $line-count;` perhaps? 19:31
ctilmes jdv79: Almost all the time reading JSON is in building the Raku data structures. with simdjson I can make the parsing itself blazing fast, but to build all the data structures is still slow. 20:13
jdv79: The beauty is in being able to pull out bits of structure without building all of it.
jdv79: then simdjson wins big. 20:14
Geth doc: 7d3cc61538 | (Brian Duggan)++ | doc/Language/quoting.pod6
Fix typo
20:27
linkable6 Link: docs.raku.org/language/quoting
cpan-raku New module released to CPAN! LibXML (0.4.0) by 03WARRINGD 21:08
Altreus Is «:$!foo» not « foo => $!foo » ? 21:11
never mind, expanding it has also made it sad 21:13
melezhik .tell @rba I successfully tested ssh/http tunneling, it's funny stuff to learn ))) 21:15
tellable6 melezhik, I cannot recognize this command. See wiki for some examples: github.com/Raku/whateverable/wiki/Tellable
melezhik .tell rba I successfully tested ssh/http tunneling, it's funny stuff to learn )))
tellable6 melezhik, I'll pass your message to rba
Geth doc: juanfra684++ created pull request #3415:
Typo
23:46