🦋 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.
dominix because I have to. some client request is to use clear linux 00:36
I guess there is no pkg for Clear Linux, I just don't found it in fact. 00:37
tbrowder dominix: what kind of package sys does clear linux use? is it fedora or debian based? 01:49
tellable6 tbrowder, I'll pass your message to dominix
tbrowder dominix: never mind. i see the problem i would have with clear linux. i, being retired, would have the luxury of telling my client "no" to clear linux, but he's paying for that agony. 01:55
tellable6 tbrowder, I'll pass your message to dominix 01:56
tbrowder dominix: but your client wants you to use raku? maybe client will pay for a clear linux raku pkg. 01:57
tellable6 tbrowder, I'll pass your message to dominix
[Coke] gets a skype alert in a conversation called "no other participants" 02:08
Geth ecosystem: 8a4b9a11cf | (Haytham Elganiny)++ | META.list
Add Pakku::RecMan
05:57
ecosystem: 8bda0c7933 | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | META.list
Merge pull request #545 from hythm7/master

Add Pakku::RecMan OK, I'm going to merge it anyway. We can't test native dependencies. I don't really understand why it's trying to test, and is throwing an unrelated error, when one of the dependencies is not found. It might be an error in the testing script. Thanks anyway for submitting this.
xinming_ SmokeMachine: You'll need to comment the `quietly warn(.name);` statement to reproduce the issue. 05:58
El_Che .tell dominix It looks like Clear Linux uses flatpack as pkg format. Timotimo just release a rakudo release oin that format 08:08
tellable6 El_Che, I'll pass your message to dominix
timotimo El_Che: not quite, i made an appimage 08:09
El_Che damn, close enough :) 08:14
.tell dominix: nevr mind about the flatpack. However precompiled non-pkg release can be found here: github.com/nxadm/rakudo-pkg/releas.../v2020.09, just untar-gzip this: rakudo-pkg-mooarvm-2020.09-01-linux-x86_64.tar.gz 08:15
tellable6 El_Che, I'll pass your message to dominix
Geth ¦ problem-solving: JJ assigned to jnthn Issue What is the philosophy of the Raku language github.com/Raku/problem-solving/issues/235 09:11
lizmat Anyone for getting people to update information on www.slant.co/topics/15491/viewpoin...ges~perl-6 ? 10:44
Xliff \o 13:05
Geth doc: wayland++ created pull request #3655:
Missing closing square bracket
13:42
Geth doc: ca58303237 | wayland++ (committed using GitHub Web editor) | doc/Language/community.pod6
Missing closing square bracket
13:47
doc: a1b2807a24 | Altai-man++ (committed using GitHub Web editor) | doc/Language/community.pod6
Merge pull request #3655 from wayland/patch-1

Missing closing square bracket
linkable6 Link: docs.raku.org/language/community
Geth doc: Scimon++ created pull request #3656:
Updating working on the TWEAK documentation based on confusion here :…
14:21
xinming_ SmokeMachine: Is it ok to expose the $!dbh? for now, Red lacks views etc, It'll be helpful if we have $!dbh directly 16:09
SmokeMachine xinming_: you can use it by `red-do { .execute: "your SQL here" }` 16:10
lizmat and yet another Rakudo Weekly News hits the Net: rakudoweekly.blog/2020/09/28/2020-...-releaser/ 16:49
mark[m]1 Hi all, just a quick question, is it "normal" that a simple script with a loop { [stuff]; sleep 60*60 } is using CPU time during the sleep stage? 16:56
as reported by systemd which is handling the script in a .service file 16:57
lizmat depends on what your stuff is 17:00
afk&
mark[m]1 lizmat: that's kind of my question I guess, does it? 17:11
or rather, how so?
doesn't the program just go to sleep when it hits the "sleep" subroutine and not use any more CPU until the wake time?
(I realise this is perhaps more than a raku question… but I'm interested in the particular implementation in raku as I use it a lot for bits and pieces) 17:21
[Coke] if I do "loop { sleep 3500 }" (oops, math is hard) I see it taking 0% cpu and a smidge of memory on my mac
are you sure you're looking at it in the sleep stage and not the "stuff" stage? Do you have a small sample that shows the issue? 17:22
any concurrency in the program that might be doing stuff while you're sleeping? 17:23
mark[m]1 sure: termbin.com/lf9t 17:27
mark[m]1 sent a long message: < matrix.org/_matrix/media/r0/downlo...essage.txt >
mark[m]1 sent a long message: < matrix.org/_matrix/media/r0/downlo...essage.txt > 17:28
mark[m]1 sent a long message: < matrix.org/_matrix/media/r0/downlo...essage.txt >
So it's run the journalctl line once, that chalked up about 1s CPU, then the 23 other seconds are all in the "sleep" stage 17:29
I'm not saying its outrageous time, just that it seems odd there should be any at all o_0 17:30
[Coke]: and so, no, no concurrency and I agree, I tested the loop and the simple sleep, and also observe no CPU time, which is why I'm getting curious here! 😀 17:31
tobs The garbage collector would be a natural candidate here, but I don't know under what circumstances it decides that it should run. A long sleep seems like a good time in any case. 17:36
mark[m]1 makes sense indeed 17:41
SmokeMachine should this work? 18:51
m: my $a = %(bla => %(a => %(x => 1), b => %(x => 2), c => %(x => 3))); say $a{"bla"; "a"}:v
camelia Unexpected named argument 'v' passed
in block <unit> at <tmp> line 1
SmokeMachine m: my $a = %(bla => %(a => %(x => 1), b => %(x => 2), c => %(x => 3))); say $a{"bla"; "a"}
camelia ({x => 1})
SmokeMachine m: my $a = %(bla => %(a => %(x => 1), b => %(x => 2), c => %(x => 3))); say $a{"bla"; *; "x"}:v # this is what I really wanted
camelia Unexpected named argument 'v' passed
in block <unit> at <tmp> line 1
SmokeMachine m: my $a = %(bla => %(a => %(x => 1), b => %(x => 2), c => %(x => 3))); say $a{"bla"; *; "x"} 18:52
camelia (1 3 2)
SmokeMachine m: my $a = %(bla => %(a => %(x => 1), b => %(x => 2), c => %(y => 3))); say $a{"bla"; *; "x"} #. But I didn't want that Any
camelia ((Any) 1 2)
bartolin lizmat++ # yet another interesting weekly 19:38
lizmat thank you all for the content :)
rir Is there a utimes type functionality in Raku(do)? 19:39
gfldex lolibloggedalittle: gfldex.wordpress.com/2020/09/28/re...ogrammers/ 20:03
lizmat: sorry for being late
lizmat gfldex: no pb, stuff for next week's :-) 20:04
kiti_nomad[m] When animals have their gonads removed, their metabolism will be reduced, and their personality will become mild... But when men have their gonads removed, it seems that their metabolism has not become slower. A perl programmer in Taiwan has changed gender, but her hair still looks scarce 20:05
Is the bless method in perl the same as the init method in objective-c? 20:08
Geth doc/method-not-op-p: 4ba9f23399 | (Stoned Elipot)++ | 2 files
race/hyper are methods not operators

while here format {Race,Hyper}Seq word
20:14
doc: stoned++ created pull request #3657:
race/hyper are methods not operators
20:15
AlexDaniel` kiti_nomad: wtf was that remark about? Are you sure you wanted to say this out loud, or am I missing something? 20:38
timotimo mark[m]1: there is a supervisor thread for the ThreadPoolScheduler that regularly (i think a thousand times per second) checks all the work queues and worker statuses and decides whether to launch new workers 20:39
AlexDaniel timotimo: that's what I thought about. The code there is rather hot too
mark[m]1 @timo 20:40
(woops…)
timotimo kiti_nomad[m]: i'm not sure but i don't think having hormonal replacement therapy done to go from primarily testosterone to primarily estrogen will reverse any of the typical baldness that comes with testosterone
mark[m]1 timotimo: thanks for the info! that makes sense
timotimo there is two env vars that make the scheduler supervisor output debug messages 20:41
one spits out decisions made, one spits out measurements taken (i.e. a lot of output)
timotimo also, whether the gonads are removed or not (i assume this is in reference to what's usually called bottom surgery) is a highly personal manner; i don't know if you have more info than just "she did a gender change", but going from "gender reassignment" to "had bottom surgery" is not guaranteed 20:49
AlexDaniel and I still fail to see how any of this is relevant to this channel, or in fact, any other channel in existence
given the way it talks about a specific person 20:50
timotimo fair enough
mark[m]1 timotimo: any documentation on those, RAKUDO_MAX_THREADS is the only one related I can see in docs.raku.org/programs/03-environment-variables 20:54
[Coke] AlexDaniel++ - yes, please, let's consider that way off topic and inappropriate. 20:55
timotimo RAKUDO_SCHEDULER_DEBUG and RAKUDO_SCHEDULER_DEBUG_STATUS 20:58
mark[m]1 thanks ! 21:05
well the second one continuously spills out "[SCHEDULER 7094] Per-core utilization (approx): 1.1223469876632168%" 21:08
when in sleep
AlexDaniel timotimo: shouldn't mark[m]1 just file a bug report about it? There may be reasons why it behaves this way but it does not seem to be OK to me 21:09
for example, let's say the value of 1% is true. Does it mean that 100 rakudo processes will keep CPU at 100% ? 21:10
correction: 100 “sleeping” rakudo processes 21:11
and if 100 processes sounds like a stretch, there are like what, 20 whateverable bots? Most of them not doing anything, just waiting for new messages 21:12
mark[m]1 AlexDaniel: happy to, but I need to dig into it a bit better, 'cos this outputs nothing:
```
raku -e 'sleep 100'
```
(still with export RAKUDO_SCHEDULER_DEBUG_STATUS="True")
so it probably has to do with the "run()" I have before the sleep 21:13
mark[m]1 sent a long message: < matrix.org/_matrix/media/r0/downlo...essage.txt > 21:14
timotimo yes, run() will kick off an event queue worker thread 21:17
mark[m]1 which isn't killed when the run() call completes? 21:28
you know the fun part in all this: I actually had started this script with a Proc::Async() that called journalctl to keep an eye on the logs, and a react {} construct to … well, react accordingly. And then I thought "that's probably un-necessarily CPU greedy", so changed it to a `run("journalctl", "blabla", "--since", "$sleep_time"); sleep $sleep_time` only to find that in the sleep, it's still using CPU 😀 21:32
to be precise, Proc::Async("journalctl", "blabla", "--follow")
timotimo perhaps we want to have another look at how moarvm exactly executes the supervisor's code
at one point i changed it around so it didn't do any allocations at all, so when your program is literally sleeping, the GC wouldn't kick in 21:33
mark[m]1 ah that's what lizmat had first suggested, something related to the GC
sorry tobs rather 21:34
parabolize SmokeMachine: I couldn't think of a concise way to do that. This seems to work though: 21:35
m: my %h = bla => %(a => %(:1x), b => %(:2x), c => %(:3y)); say ( for %h<bla>.values -> $v { with $v<x> {$_} } );
camelia (2 1)
thundergnat m: my $a = %(bla => %(a => %(x => 1), b => %(x => 2), c => %(y => 3))); say $a{"bla"; *; "x"}.grep: *.so 21:48
camelia (2 1)
timotimo OK, the GC does definitely run during the sleep 21:51
thundergnat m: my $a = %(bla => %(a => %(x => 1), b => %(x => 2), c => %(y => 3))); say $a{"bla"; *; "x"}.grep: *.defined # probably better to avoid skipping zero values
camelia (1 2)
timotimo amusingly, perhaps, the timings between the GC runs starts at 4s, then 11, then 22, then 44, then 90, and another 90 21:52
parabolize grep: *.defined looks nice :) 21:58
greppable6 parabolize, Sorry, can't do that
parabolize so many bots 21:59
AlexDaniel parabolize: at least they're sorry x) 22:31