»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_log/perl6 | UTF-8 is our friend! 🦋 Set by Zoffix on 25 July 2018. |
|||
atweiden-air | m: multi sub abc(Bool:D :abc($)! where .so --> Str:D) { 'got :abc' }; multi sub abc(Bool:D :def($)! where .so --> Str:D) { 'got :def' }; abc(:abc); abc(:def); | 00:12 | |
camelia | ( no output ) | ||
atweiden-air | m: multi sub abc(Bool:D :abc($)! where .so --> Str:D) { 'got :abc' }; multi sub abc(Bool:D :def($)! where .so --> Str:D) { 'got :def' }; say(abc(:abc)); say(abc(:def)); | ||
camelia | got :abc got :def |
||
atweiden-air | m: multi sub abc(Bool:D :abc($)! where .so --> Str:D) { 'got :abc' }; multi sub abc(Bool:D :def($)! where .so --> Str:D) { 'got :def' }; my Bool:D %mode{Str:D} = :abc, :def; %mode.pick.say; say(abc(%mode.pick)); | 00:13 | |
camelia | abc => True Cannot resolve caller abc(abc => True); none of these signatures match: (Bool:D :abc($)! where { ... } --> Str:D) (Bool:D :def($)! where { ... } --> Str:D) in block <unit> at <tmp> line 1 |
||
atweiden-air | anyone know why this is not passing %mode.pick is not matching the signature with :abc or :def above? | 00:14 | |
sena_kun | give me a second... | ||
m: multi sub abc(Bool:D :abc($)! where .so --> Str:D) { 'got :abc' }; multi sub abc(Bool:D :def($)! where .so --> Str:D) { 'got :def' }; my Bool:D %mode{Str:D} = :abc, :def; %mode.pick.say; say(abc(|%mode.pick)); | 00:15 | ||
camelia | abc => True got :abc |
||
sena_kun | m: multi sub abc(Bool:D :abc($)! where .so --> Str:D) { 'got :abc' }; multi sub abc(Bool:D :def($)! where .so --> Str:D) { 'got :def' }; my Bool:D %mode{Str:D} = :abc, :def; %mode.pick.say; say(abc(|%mode.pick)); | ||
camelia | abc => True got :def |
||
sena_kun | please note `|` in call. | ||
like, `say(abc(|%mode.pick));`. | |||
atweiden-air | ok | ||
thanks | |||
sena_kun | the reason is that in a hash you store pairs, so when you pick one, it tries to pass a Pair there | 00:16 | |
to pass it as a named argument, you need to "decontainerize" it. | |||
which can be done using `|`. another option will be... | |||
hmm, I am not sure about another option, but I hope that helps. please ask if there is anything unclear. :) | 00:18 | ||
atweiden-air | yes, it does gist.github.com/atweiden/23c881c06...78f5f4c2ab | ||
00:20
yqt joined
|
|||
sena_kun | oops, I need to re-learn that... docs.perl6.org/type/Signature#inde...parameters <- docs here say that `|` converts parameter into Capture, which is different from deconteinerization. :( Well, as Capture is a something that represents routine arguments, once again, it converts a Pair into something that might be passed into a routine as a named arg. | 00:20 | |
00:21
p6bannerbot sets mode: +v yqt
|
|||
sena_kun memoized hiragana the hard way using drag-n-drop. :) | 00:21 | ||
atweiden-air was there | 00:22 | ||
atweiden-air saw flash | |||
sena_kun | hehe | ||
well, it was like around two years ago from now, can say it becomes very natural with some practice. atweiden-air just out of curiosity, have you started recently or not so? | 00:23 | ||
atweiden-air | very recently | ||
sena_kun | not flash though, but hiragana. | ||
atweiden-air, oh, good luck and I wish you a lot of perseverance. If any advices wanted: wanikani every single day at least twice does a miracle and totally worth it(no, I didn't get paid for this). | 00:25 | ||
but back to Perl 6, atweiden-air, are you just trying out various stuff from Perl 6 syntax to learn or want some tips on how to make the script less "official"? | 00:26 | ||
sena_kun probably the first one, but just in case | |||
s/probably/guesses/ | 00:27 | ||
atweiden-air | in this case, i wanted to avoid flash; did it in about 10 mins | 00:28 | |
i have some more extensive p6 scripts at github.com/atweiden | |||
sena_kun: thanks for the wanikani recommendation; wish i had heard of it before buying skritter for 2 yrs | 00:29 | ||
00:30
rindolf left
|
|||
sena_kun | atweiden-air, I have no longer studying kanji(though probably have to, lol, but anyway too lazy when can read books and stuff) and hearing first time about skritter service, but I guess anything with SRS and some kanji order presence does the job with enough time investment. Even e.g. Anki. | 00:31 | |
s/have/am/ | |||
00:34
aborazmeh left
00:35
yqt left
00:36
rindolf joined
00:37
p6bannerbot sets mode: +v rindolf
|
|||
atweiden-air | sena_kun: do you have a wanikana promo code by chance | 00:38 | |
about to buy lifetime membership i think | |||
sena_kun | unfortunately, I don't think so, sorry. :( I have used montly payment and haven't recieved any promo codes. they have a three level trial and I _highly_ recommend firstly go through it fully, to check if that's "your" thing, because an advice of some random person(such as me) over the internet is cool, but everyone is still different. | 00:41 | |
00:41
rindolf left
|
|||
sena_kun | and it depends on your goals, I think. It doesn't teach you a big about stroke order and handwriting, so if your goal is to recognize && be able to read stuff - that's one thing. If you want to write using pen&paper... Wanikani is not really useful. | 00:42 | |
s/big/bit/ | |||
ugh, it seems typos and late night are friends. | 00:43 | ||
00:47
w_richard_w left
|
|||
atweiden-air | suppose i'll go through the free tiers first then | 00:47 | |
00:47
kurahaupo left
00:48
kurahaupo joined
|
|||
sena_kun tries to golf the script as much as possible | 00:48 | ||
00:48
p6bannerbot sets mode: +v kurahaupo
|
|||
Xliff | sena_kun: OOOH! I wanna learn Japanese. | 01:06 | |
At least enough to be able to listen to it. | |||
sena_kun | Xliff, how can I be helpful? :) | ||
Xliff | What would be the best tool to use to accomplish that? | 01:07 | |
Would Wanikani work for me? | |||
I actually have SOME experience with Hiragana. | |||
Kanji? Not so much. | |||
sena_kun | Xliff, well, listening depends on what do you want to listen to. Some cool lectures on hard topics? Some schoolgirls chatting in some random anime? Real-life talking? | 01:09 | |
Xliff | Anime, mostly. :) | ||
sena_kun | Xliff, well... :] | ||
I am here between a golfed script and hexchat, give me a minute please... | |||
Xliff | And I know Anime conversations are never like the real thing. | 01:10 | |
sena_kun | yeah | ||
Xliff | LOL! sena_kuuun... always take your time. I can wait. | ||
atweiden-air | bbl | 01:12 | |
01:12
atweiden-air left
|
|||
sena_kun | o/ | 01:13 | |
hmm, well, I guess it's late already and I just cannot write this last piece. :S | 01:30 | ||
gist.github.com/Altai-man/1555ae3a...0a60b30efd <- not super-short, but I tried. | 01:31 | ||
I wish I could inline `@map `definition too into previous line, but it seems I miss something about unpacking of positionals. | 01:32 | ||
and this last `$q. $a` is totally cheating, as in original script it shows an index to user... | |||
Xliff, mind if I pm you? | 01:33 | ||
Xliff | Not at all! :) | 01:37 | |
leont | Ran into another «Cannot invoke this object (REPR: Null; VMNull)» | 01:38 | |
Xliff | sena_kun: Shouldn't %HIRAGANA.pick.map be %HIRAGANA.pairs.pick.map? | 01:39 | |
sena_kun | Xliff, why? | 01:40 | |
%HIRAGANA is already a Hash and Hash has pick implemented. | |||
so no need to convert to an array of Pairs, I think. | |||
Xliff | Oh! I am looking at the docs and they don't mention pick! | 01:41 | |
leont | m: class Foo { has &foo = sub { $^foo }; method bar($arg) { foo($arg) } }; Foo.new.bar(42) | ||
camelia | Cannot invoke this object (REPR: Null; VMNull) in method bar at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
sena_kun | m: my %a = one => 1, two => 2; say %a.pick; say %a.pick; say %a.pick; | ||
camelia | one => 1 two => 2 two => 2 |
||
Xliff | m: %a = ( a => 1, b => 2 ); say %a.pick(2) | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Variable '%a' is not declared at <tmp>:1 ------> 3<BOL>7⏏5%a = ( a => 1, b => 2 ); say %a.pick(2) |
||
Xliff | m: my %a = ( a => 1, b => 2 ); say %a.pick(2) | ||
camelia | (b => 2 a => 1) | ||
Xliff | So it is! | ||
01:42
Possum left
01:46
zacts joined,
p6bannerbot sets mode: +v zacts
|
|||
vrurg | Xliff: basically, almost all core methods are defined on Any. pick is very simple an universal: multi method pick() { self.list.pick } | 01:50 | |
01:51
zacts left
|
|||
vrurg | Docs are just incomplete, but that's a known problem. | 01:51 | |
01:52
zacts joined,
p6bannerbot sets mode: +v zacts
02:11
cpan-p6_ joined
|
|||
cpan-p6_ | 03cpan-p6_ reporting for duty! [Perl 6] 02git.tyil.nl/perl6/app-cpan-uploadnotifierbot | 02:11 | |
02:11
p6bannerbot sets mode: +v cpan-p6_
02:12
cpan-p6 left
|
|||
sena_kun | leont, I know it's probably not what you want, but... | 02:21 | |
m: class Foo { my &foo = sub { $^foo.say }; method bar($arg) { foo($arg) } }; Foo.new.bar(42); | |||
camelia | 42 | ||
sena_kun | and `has` usage resulting in `Cannot invoke this object` is probably a bug to be reported at Rakudo repo. | 02:22 | |
It may be a reasonable error for some reason I am not aware about, but having a better error message for a case will be very cool. :) | 02:23 | ||
sena_kun goes afk | |||
02:24
sena_kun left
02:40
molaf left
02:53
molaf joined
02:54
p6bannerbot sets mode: +v molaf
03:02
ferreira left,
wi15ht left
|
|||
SmokeMachine | m: class Foo { has &!foo = sub { $^foo }; method bar($arg) { &!foo($arg) } }; Foo.new.bar(42) | 03:38 | |
camelia | ( no output ) | ||
SmokeMachine | m: role Foo { my &foo = sub { $^foo.say }; method bar($arg) { foo($arg) } }; Foo.new.bar(42); | 03:39 | |
camelia | 42 | ||
03:40
Guest18 left
|
|||
SmokeMachine | m: multi trait_mod:<is>(Attribute $attr, :&bla!) {say 42}; role :: { has $.a is bla{;} } | 03:42 | |
camelia | ===SORRY!=== Cannot invoke this object (REPR: Null; VMNull) |
||
SmokeMachine | m: multi trait_mod:<is>(Attribute $attr, :&bla!) {say 42}; class :: { has $.a is bla{;} } | 03:43 | |
camelia | 42 | ||
03:44
peach_liqueur joined
03:45
p6bannerbot sets mode: +v peach_liqueur
03:54
ufobat_ joined,
ufobat left
03:55
p6bannerbot sets mode: +v ufobat_
03:57
molaf left
04:34
molaf joined
04:35
p6bannerbot sets mode: +v molaf
04:50
abraxxa joined,
abraxxa left,
abraxxa joined
04:51
p6bannerbot sets mode: +v abraxxa
04:52
Cabanossi left,
Cabanossi joined
04:53
p6bannerbot sets mode: +v Cabanossi
04:55
abraxxa left
05:09
peach joined,
peach is now known as Guest97414
05:10
abraxxa joined,
p6bannerbot sets mode: +v Guest97414,
p6bannerbot sets mode: +v abraxxa
05:12
peach_liqueur left,
leont left
05:33
molaf left
05:41
zacts left
05:43
Guest97414 is now known as peach_liqueur
06:03
kurahaupo left,
kurahaupo joined,
p6bannerbot sets mode: +v kurahaupo
06:04
curan joined,
p6bannerbot sets mode: +v curan
06:06
kurahaupo_ joined
06:07
p6bannerbot sets mode: +v kurahaupo_
06:08
kurahaupo left
06:09
cpan-p6 joined
|
|||
cpan-p6 | 03cpan-p6 reporting for duty! [Perl 6] 02git.tyil.nl/perl6/app-cpan-uploadnotifierbot | 06:09 | |
06:10
p6bannerbot sets mode: +v cpan-p6
06:11
cpan-p6_ left
06:22
jmerelo joined
06:23
p6bannerbot sets mode: +v jmerelo
06:27
abraxxa left
|
|||
jmerelo | releasable6: status | 06:33 | |
releasable6 | jmerelo, Next release will happen when it's ready. 4 blockers. 115 out of 245 commits logged (⚠ 41 warnings) | ||
jmerelo, Details: gist.github.com/44af37ff3548ca64d4...dc4de3739e | |||
jmerelo | One blocker less... | ||
m: say Any.cando(coll) | |||
camelia | 5===SORRY!5=== Error while compiling <tmp> Undeclared routine: coll used at line 1. Did you mean 'roll'? |
||
jmerelo | m: say Any.cando("coll") | ||
camelia | No such method 'cando' for invocant of type 'Any'. Did you mean 'can'? in block <unit> at <tmp> line 1 |
||
06:33
isomorphismes left
|
|||
jmerelo | m: say Any.coll | 06:34 | |
camelia | No such method 'coll' for invocant of type 'Any'. Did you mean any of these? Bool all roll in block <unit> at <tmp> line 1 |
||
06:36
aborazmeh joined,
aborazmeh left,
aborazmeh joined,
p6bannerbot sets mode: +v aborazmeh
06:37
isomorphismes joined,
p6bannerbot sets mode: +v aborazmeh
06:38
p6bannerbot sets mode: +v isomorphismes
06:42
moony left,
Juerd left,
smash left,
moritz left,
profan left,
jdv79 left,
kubrat left,
krunen left,
BinGOs joined,
p6bannerbot sets mode: +v BinGOs,
krunen joined,
profan joined,
pnu__ joined,
p6bannerbot sets mode: +v pnu__,
KotH joined,
moritz joined,
smash joined,
jnthn joined,
kubrat joined,
skaji joined,
p6bannerbot sets mode: +v skaji,
Juerd joined,
S007 joined,
p6bannerbot sets mode: +v S007
06:43
p6bannerbot sets mode: +v krunen,
p6bannerbot sets mode: +v profan,
p6bannerbot sets mode: +v KotH,
p6bannerbot sets mode: +v moritz,
p6bannerbot sets mode: +v smash,
p6bannerbot sets mode: +v jnthn,
p6bannerbot sets mode: +v kubrat,
p6bannerbot sets mode: +v Juerd,
moony joined,
p6bannerbot sets mode: +v moony
06:44
MasterDuke left
06:46
lizmat left
06:47
jdv79 joined
|
|||
Geth | doc: 199fa862eb | (JJ Merelo)++ | doc/Language/operators.pod6 Redirects links And also closes #2524 again. Fixes definition of operators, and does some reflow. |
06:47 | |
synopsebot | Link: doc.perl6.org/language/operators | ||
doc: cd63d328fa | (JJ Merelo)++ | doc/Type/Any.pod6 Some typo improvements and reflow |
|||
synopsebot | Link: doc.perl6.org/type/Any | ||
06:48
p6bannerbot sets mode: +v jdv79
07:00
mowcat left
07:09
silug left
07:17
domidumont joined
07:18
p6bannerbot sets mode: +v domidumont
07:29
reach_satori left
07:35
jmerelo left
07:44
kurahaupo_ left,
kurahaupo joined
07:45
p6bannerbot sets mode: +v kurahaupo
07:52
aborazmeh_ joined,
aborazmeh_ left,
aborazmeh_ joined,
p6bannerbot sets mode: +v aborazmeh_
07:53
aborazmeh left,
aborazmeh_ is now known as aborazmeh,
p6bannerbot sets mode: +v aborazmeh
|
|||
tyil | it looks like minion1 goes out of memory whenever cpan-p6 gets hosted on it | 07:54 | |
07:54
Khisanth left
07:55
hph^ joined
07:56
p6bannerbot sets mode: +v hph^
07:58
aborazmeh left
08:09
Khisanth joined
08:10
p6bannerbot sets mode: +v Khisanth
08:17
sno left
08:26
zakharyas joined,
p6bannerbot sets mode: +v zakharyas
08:31
hph^ left
08:32
abraxxa joined
08:33
p6bannerbot sets mode: +v abraxxa
08:37
sno joined
08:38
p6bannerbot sets mode: +v sno
09:17
kurahaupo left,
kurahaupo joined,
p6bannerbot sets mode: +v kurahaupo
09:19
w17t joined,
p6bannerbot sets mode: +v w17t
09:20
peach_liqueur left
09:29
domidumont left,
domidumont joined
09:30
p6bannerbot sets mode: +v domidumont
|
|||
Xliff | Will perl6 -e 'use Module' precompile Module.pm6? | 09:34 | |
moritz | I think so, yes | 09:38 | |
pmurias | Xliff: without a 'no precompilation' in Module.pm6 it should | 09:42 | |
Xliff: if I want to make absolutely sure if precompilation happens I add a say in BEGIN ;) | 09:43 | ||
Altreus | I need vim to recognise when my .t files are in a Perl6 project and act accordingly. Any ideas? 🤔 | ||
cpan-p6 | New module released to CPAN! XDG-BaseDirectory (0.0.9) by 03JSTOWE | 09:48 | |
Ulti | Altreus: could maybe do it by what other buffers are open | ||
unless you edit perl 5 and 6 at the same time | |||
Altreus | Hmm, seems like teaching a computer how to guess | 09:50 | |
09:50
pmurias left
|
|||
tadzik | look for a META6.json somewhere up in the directory tree? | 09:51 | |
no idea how to do it in vim though | |||
cpan-p6 | New module released to CPAN! gtk-glade (0.6.2) by 03MARTIMM | 10:20 | |
10:22
pmurias joined,
p6bannerbot sets mode: +v pmurias
10:24
rindolf joined
10:25
Manifest0 left,
Manifest0 joined,
p6bannerbot sets mode: +v rindolf
10:26
p6bannerbot sets mode: +v Manifest0
|
|||
ufobat_ | tadzik, | 10:31 | |
there are some issues/PR against your modules | 10:33 | ||
Shell::Command and ClassX::StrictConstructor | 10:35 | ||
could you please have a look? | |||
10:51
ZZZzz joined
10:52
p6bannerbot sets mode: +v ZZZzz
|
|||
tyil | Altreus: add # vim: ft=perl6 at the end of the file | 10:53 | |
assixt adds that line automatically to all test files it generates | 10:54 | ||
10:55
ZZZzz left
10:57
ZZZzz___ joined,
p6bannerbot sets mode: +v ZZZzz___
11:00
domidumont left
11:03
MilkmanDan left,
MilkmanDan joined,
p6bannerbot sets mode: +v MilkmanDan
|
|||
tadzik | ufobat_: sure thing | 11:07 | |
ufobat_ | thanks :D tadzik++ | ||
a comment on that github.com/tadzik/Shell-Command/issues/20 would be awesome | 11:08 | ||
i am currently on windows and I am reimplementing those 2 lines over and over again | |||
ZZZzz___ | Hello Everybody. Short question about defining a list of hashes containing lists of hashes. This is what I came up with: pastebin.com/XGnECTpV | 11:10 | |
When iterating over the hashes in key-list it seems that the whole first hash is taken as a key for the second one. What I intended was that key-list contains two hashes. How do I accomplish that? | |||
tadzik | ufobat_: sounds like a good fit imho. It's not a shell command on linux, but from the looks of it it seems to be one on windows :) | 11:11 | |
if it makes the module more useful then I'm all for it, to hell with purity :P | |||
ufobat_ | woho! \o/ | ||
i am not sure what you want to do, ZZZzz___ | 11:13 | ||
the key-list, is a list, there are no "keys" there are indexes | 11:14 | ||
ZZZzz___ | @list is supposed to be a list of hashes. each of those hashes should hold a list of hashes in key 'key-list'. | ||
ufobat_ | ZZZzz___ say @list[0]<key-list>[0]; # numer: 1, name: joe | 11:16 | |
aye | |||
@list[0] is a hash, @list[0]<key-list> takes the list again, and then with [0] you get the hash {'number' => 1, 'name' => joe} | 11:17 | ||
ZZZzz___ | but for @list -> %h1 { | 11:19 | |
for %h1{"key-list"} -> %h2 { | |||
say %h2; | |||
} | |||
} | |||
yields Type check failed in binding to parameter '%h2'; expected Associative but got Array ($[{:name("joe"), :num...) | |||
11:20
reach_satori joined
11:21
p6bannerbot sets mode: +v reach_satori
|
|||
ZZZzz___ | Seems I am using 'for' incorrectly. for @(%h1{"key-list"}) -> %h2 seems to do the trick! | 11:21 | |
Altreus | tyil: right on :) | 11:22 | |
ufobat_ | ahh | ||
Altreus | 'cept it didn't work 🤔 | ||
tyil | works for me | ||
ZZZzz___ | and for me | ||
jnthn | ZZZzz___: Yes, it's because hash values are considered items, and `for` doesn't iterate an item | 11:23 | |
yoleaux | 07:51Z <nine> jnthn: niner.name/files/inline-issue/master.log.gz vs. niner.name/files/inline-issue/patched.log.gz | ||
07:54Z <nine> jnthn: To reproduce run: `time perl6 csv-ip5xs.pl < /tmp/hello.csv` from Tux' CSV repository and compare Inline-Perl5's master branch to the inline-demonstration branch (1 commit difference). I do not think that it's JIT related. Feels more like inlining will push the inliner's size over the inline limit and we'd benefit from that much more. Or so. | |||
jnthn | ZZZzz___: Another way is to put [] on the end rather than wrapping it up | ||
tyil | if you have vim views enabled, it may ignore it on consecutive opens, Altreus | ||
Altreus: you also need to have modeline enabled in vim, which I thought was default | 11:24 | ||
ZZZzz___ | Thank you all very much for your input! | ||
ufobat_ | but woudn't it be simple to put a | infront of the %h1<key-list> | ||
? | |||
simpler | |||
Altreus | I thought so too | 11:25 | |
it might be being overridden by the au I have in my vimrc maybe | |||
but you'd think modeline would win | |||
ufobat_ | ZZZzz___, yup for |%h1{"key-list"} -> %h2 { works too | 11:26 | |
ZZZzz___ | ufobat_, I like this one even better. Thanks! | ||
11:27
pmurias left,
pmurias joined,
p6bannerbot sets mode: +v pmurias
11:47
salva left
11:48
reach_satori left
11:49
reach_satori joined
11:50
p6bannerbot sets mode: +v reach_satori
11:54
salva joined
11:55
p6bannerbot sets mode: +v salva
11:56
sena_kun joined
11:57
p6bannerbot sets mode: +v sena_kun
11:58
salva left
12:02
kurahaupo_ joined
12:03
p6bannerbot sets mode: +v kurahaupo_
12:04
kurahaupo left,
kurahaupo_ left
12:05
kurahaupo joined,
p6bannerbot sets mode: +v kurahaupo
12:06
kurahaupo left,
kurahaupo joined,
p6bannerbot sets mode: +v kurahaupo
12:11
lucasb joined,
p6bannerbot sets mode: +v lucasb
12:15
zakharyas left
12:20
llfourn left
12:22
masak left
12:24
llfourn joined
12:25
p6bannerbot sets mode: +v llfourn
12:29
llfourn left,
llfourn_ joined
12:30
p6bannerbot sets mode: +v llfourn_,
silug joined
12:31
p6bannerbot sets mode: +v silug
12:35
lizmat joined,
p6bannerbot sets mode: +v lizmat
12:36
leont joined,
p6bannerbot sets mode: +v leont
12:38
reach_satori left
12:39
reach_satori joined,
p6bannerbot sets mode: +v reach_satori
12:53
mowcat joined
12:54
p6bannerbot sets mode: +v mowcat
12:58
domidumont joined
12:59
reach_satori left,
p6bannerbot sets mode: +v domidumont
13:02
pmurias left
13:03
pmurias joined,
p6bannerbot sets mode: +v pmurias
13:08
masak_ joined,
masak_ is now known as masak,
p6bannerbot sets mode: +v masak,
aborazmeh joined,
aborazmeh left,
aborazmeh joined,
p6bannerbot sets mode: +v aborazmeh
13:09
reach_satori joined,
p6bannerbot sets mode: +v aborazmeh
13:10
p6bannerbot sets mode: +v reach_satori
|
|||
Altreus | hmm I had a BufEnter for *.t that kept breaking my syntax, but even if I use BufRead it still overrides what the modeline says | 13:13 | |
13:26
silug left
13:31
ZZZzz___ left
13:33
MasterDuke joined,
p6bannerbot sets mode: +v MasterDuke
13:34
MasterDuke left,
MasterDuke joined,
herbert.freenode.net sets mode: +v MasterDuke,
p6bannerbot sets mode: +v MasterDuke
13:39
w17t left
13:41
pmurias left,
andrzejku joined
13:42
pmurias joined,
p6bannerbot sets mode: +v pmurias,
p6bannerbot sets mode: +v andrzejku
13:50
silug joined
13:51
p6bannerbot sets mode: +v silug
13:52
pmurias left
13:55
pmurias joined,
p6bannerbot sets mode: +v pmurias
13:56
pmurias left
14:00
pmurias joined,
p6bannerbot sets mode: +v pmurias
|
|||
cpan-p6 | New module released to CPAN! URI-Template (0.0.7) by 03JSTOWE | 14:01 | |
14:03
zachk joined
14:04
aborazmeh left,
p6bannerbot sets mode: +v zachk
14:07
molaf joined,
p6bannerbot sets mode: +v molaf
14:09
zakharyas joined
14:10
p6bannerbot sets mode: +v zakharyas
14:37
titsuki joined,
p6bannerbot sets mode: +v titsuki
|
|||
ufobat_ | who was maintaining zoffix modules? I found a race condition on github.com/zoffixznet/perl6-Temp-Path/issues/7 that I want to fix :) | 14:39 | |
lizmat | AlexDaniel probably knows | 14:40 | |
ufobat_ | ty :) | 14:42 | |
14:44
silug left,
pmurias left
14:50
melezhik joined,
p6bannerbot sets mode: +v melezhik
|
|||
melezhik | Hi! Can I have equivalents or something similar to Ruby mixins in Perl6? - ruby-doc.com/docs/ProgrammingRuby/...dules.html | 14:51 | |
14:52
pmurias joined,
p6bannerbot sets mode: +v pmurias
|
|||
MasterDuke | melezhik: roles are pretty much the equivalent of mixins | 14:53 | |
docs.perl6.org/language/glossary#i...entry-role | 14:54 | ||
melezhik | MasterDuke: , thank you, will take a look | ||
I am reading this - docs.perl6.org/language/objects#Mixins_of_roles | 14:55 | ||
14:57
silug joined,
p6bannerbot sets mode: +v silug
14:59
reach_satori left
|
|||
vrurg | melezhik: For special cases you can use .^mixin. It's what is backing 'but', AFAIK. | 15:09 | |
15:09
Kaiepi left
|
|||
andrzejku | I want to write an SDL game for kid is it possible to run Perl6 on Android? | 15:09 | |
timotimo | andrzejku: on the moarvm backend you won't have a jit unless the device is an x86-64, so performance won't be very good i'm afraid | 15:14 | |
daxim | m: my $r = role { has Int $.x; }; my $foo-thing = Any.new but $r; $foo-thing.^name = 'Foo::some-dynamic-name-under-user-supplied-namespace-Foo'; dd $foo; # how to rebless? | 15:20 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Variable '$foo' is not declared at <tmp>:1 ------> 3-under-user-supplied-namespace-Foo'; dd 7⏏5$foo; # how to rebless? |
||
andrzejku | :< | ||
timotimo I remmember you was working on Perl6 SDL | |||
timotimo | aye | ||
andrzejku | timotimo what's the state now? | 15:21 | |
timotimo | it works. i don't have a very shiny example but that's only because i'm not good at game development or art :) | ||
andrzejku | timotimo ahh | 15:23 | |
15:23
silug left
|
|||
andrzejku | timotimo the problem is that my kid is small | 15:23 | |
he is only 3 y old and he have a problem with mouse | |||
has* | |||
but on tablet it is eathier to tap with finger | 15:24 | ||
timotimo | OK, if there is no need for high speed and fast reaction times, that should be totally fine | ||
you could also investigate how well rakudo.js works in the browser of the device you've got | 15:26 | ||
andrzejku | mm yes but as I understand I have to compile moarvm with arm compiler? | ||
timotimo | yeah, the android NDK should come with everything you need i'd assume | 15:27 | |
15:27
jme` left
|
|||
andrzejku | ok :O | 15:27 | |
timotimo | when using SDL you'll have to draw every frame manually, but when you have an engine - which in this case can be the browser - you'll only have to do business logic for high-level behaviour and the frame-by-frame work is done by the engine | ||
andrzejku | timotimo I am not fan of browser | 15:28 | |
it is trap for humanity | |||
timotimo | fair enough | ||
sena_kun | andrzejku, while unrelated to programming, I have to warn you that screens are not totally safe for children as they increase risk of severe vision issues later in life(while adults are affected less strongly). Running Perl 6 on Android is a great thing on its own thuogh. :) | 15:29 | |
timotimo | it should be possible to make a gdnative thing to work with rakudo, i.e. use rakudo with godot | ||
andrzejku | timotimo well ok :-) I will think about that | ||
sena_kun Ya I heard about that | |||
sena_kun but I was also a display kid I should say that the times and I was playing games is better then to drink vodka | 15:30 | ||
vodka is much worse than screens | 15:31 | ||
sena_kun | andrzejku, it likely is, just wanted to note as health comes first. :) | 15:32 | |
timotimo | if your 3 year old would start drinking vodka if you don't let them use the android tablet, i think something might be going wrong %) | 15:33 | |
just kidding, of course | |||
andrzejku | timotimo :-D | ||
timotimo maybe we have to start work on something like e-paper number games etc. for small kids | 15:34 | ||
which not damage their vision | |||
15:34
silug joined
|
|||
andrzejku | it helps a lot with learning new things | 15:34 | |
15:34
reach_satori joined
15:35
p6bannerbot sets mode: +v silug,
p6bannerbot sets mode: +v reach_satori
15:40
reach_satori left
|
|||
timotimo | that sounds good | 15:40 | |
15:41
molaf left
15:44
zacts joined,
p6bannerbot sets mode: +v zacts
15:56
curan left
|
|||
Voldenet | Eh, I hate timezones, especially with historically-changing timezones | 16:04 | |
Is there any sane way of providing global override for .local? | 16:08 | ||
16:16
jmerelo joined
16:17
p6bannerbot sets mode: +v jmerelo
16:18
synopsebot left
16:19
synopsebot joined,
ChanServ sets mode: +v synopsebot,
p6bannerbot sets mode: +v synopsebot
|
|||
melezhik | how can I does for multiple roles? I am reading this - docs.perl6.org/language/objects#Inheritance | 16:20 | |
sena_kun | `does A does B` | 16:21 | |
m: role A {}; role B {}; class C does A does B {}; | |||
camelia | ( no output ) | ||
melezhik | thanks | ||
sena_kun | yw | 16:22 | |
16:23
ChanServ sets mode: -o AlexDaniel,
ChanServ sets mode: +o AlexDaniel,
p6bannerbot was kicked by AlexDaniel (Kicked by AlexDaniel)),
ChanServ sets mode: -o AlexDaniel
16:25
Possum joined
16:27
Kaiepi joined
|
|||
Kaiepi | m: use nqp; role A { has $!a; submethod TWEAK(:$!a) { say $!a; } }; role B { method bless(*%args) { (self.CREATE but A).BUILDALL: Empty, %args } }; class C does B { }; say nqp::getattr(C.new(:1a), C but A, '$!a') | 16:29 | |
camelia | (Any) 1 1 |
||
16:29
ChanServ sets mode: +vvvv synopsebot jmerelo zacts silug,
ChanServ sets mode: +vvvv pmurias melezhik titsuki zakharyas,
ChanServ sets mode: +vvvv zachk andrzejku MasterDuke masak,
ChanServ sets mode: +vvvv domidumont mowcat leont lizmat,
ChanServ sets mode: +vvvv llfourn_ lucasb kurahaupo sena_kun,
ChanServ sets mode: +vvv MilkmanDan Manifest0 rindolf
|
|||
Kaiepi | m: use nqp; role A { has $!a; submethod TWEAK(:$!a) { say $!a; } }; role B { method bless(*%args) { (self but A).CREATE.BUILDALL: Empty, %args } }; class C does B { }; say nqp::getattr(C.new(:1a), C but A, '$!a') | 16:29 | |
camelia | 1 1 |
||
16:30
ChanServ sets mode: -vvvv synopsebot jmerelo zacts silug,
ChanServ sets mode: -vvvv pmurias melezhik titsuki zakharyas,
ChanServ sets mode: -vvvv zachk andrzejku MasterDuke masak,
ChanServ sets mode: -vvvv domidumont mowcat leont lizmat,
ChanServ sets mode: -vvvv llfourn_ lucasb kurahaupo sena_kun,
ChanServ sets mode: -vvv MilkmanDan Manifest0 rindolf
16:31
ChanServ sets mode: -vvvv sno abraxxa Khisanth jdv79,
ChanServ sets mode: -vvvv moony S007 Juerd skaji,
ChanServ sets mode: -vvvv kubrat jnthn smash moritz,
ChanServ sets mode: -vvvv KotH pnu__ profan krunen,
ChanServ sets mode: -vvvv BinGOs isomorphismes cpan-p6 Cabanossi,
ChanServ sets mode: -vvvv ufobat_ dogbert17 cpup xinming,
ChanServ sets mode: -vvv eseyman phogg gfldex,
ChanServ sets mode: -vvvv ExtraCrispy Ulti [particle]1 AlexDaniel,
ChanServ sets mode: -vvvv El_Che revdiablo random_yanek jeek,
ChanServ sets mode: -vvvv ambs timotimo coverable6 committable6,
ChanServ sets mode: -vvvv squashable6 reportable6 nativecallable6 bloatable6,
ChanServ sets mode: -vvv evalable6 statisfiable6 undersightable6,
ChanServ sets mode: -vvvv unicodable6 quotable6 shareable6 greppable6,
ChanServ sets mode: -vvvv releasable6 notable6 benchable6 bisectable6,
ChanServ sets mode: -vvvv sauvin sftp robertle MikeyG,
ChanServ sets mode: -vvvv kudzo dogbert2_ cgfbee TeamBlast,
ChanServ sets mode: -vvvv powerbit atta aindilis leah2,
ChanServ sets mode: -vv APic TreyHarris,
ChanServ sets mode: -vvvv unicodable6 quotable6 shareable6 greppable6,
ChanServ sets mode: -vvvv releasable6 notable6 benchable6 bisectable6,
ChanServ sets mode: -vvvv sauvin sftp robertle MikeyG,
ChanServ sets mode: -vvvv kudzo dogbert2_ cgfbee TeamBlast,
ChanServ sets mode: -vvvv powerbit atta aindilis leah2,
ChanServ sets mode: -vv APic TreyHarris,
ChanServ sets mode: -vvvv marcusr irdr_ oftl_ sca_,
ChanServ sets mode: -vvvv aeruder_ jast john_parr pochi_,
ChanServ sets mode: -vvvv nightfrog loops ofperfection[m] lance_w[m],
ChanServ sets mode: -vvvv AlexDaniel` MitarashiDango[m Demos[m] wictory[m],
ChanServ sets mode: -vvvv AlexDaniel-old[m tyil[m]1 tyil[m] Matthew[m],
ChanServ sets mode: -vvvv Garland_g[m] breinbaas andrewalker ChoHag,
ChanServ sets mode: -vvvv niceplace Guest19311 stux|RC-only awwaiid,
ChanServ sets mode: -vvvv mst perlawhirl hobbs ingy,
ChanServ sets mode: -vvvv tailgate a3r0 Util integral,
ChanServ sets mode: -vvvv BuildTheRobots robinsmidsrod Grrrr tony-o,
ChanServ sets mode: -vv isacl_ vxe,
ChanServ sets mode: -vvvv rjbs f3ew samebchase protium,
ChanServ sets mode: -vvvv tinita cxreg diego_k leedo,
ChanServ sets mode: -vvvv raydiak_ Spot__ Altreus markk,
ChanServ sets mode: -vvvv pirateFinn domm scott SmokeMachine,
ChanServ sets mode: -vvvv spycrab0 jhill mithaldu_ kipd,
ChanServ sets mode: -vvvv chansen_ [BooK] bhm Summertime,
ChanServ sets mode: -v [ptc],
ChanServ sets mode: -vvvv lucs zostay caasih hfjvjffju,
ChanServ sets mode: -vvvv jcallen ecocode eythian huf,
ChanServ sets mode: -vvvv mornfall tbrowder b2gills simcop2387,
ChanServ sets mode: -vvvv perlbot ribasushi mephinet reu,
ChanServ sets mode: -vvvv mtj_ sacomo avuserow Sharparam,
ChanServ sets mode: -vvvv mniip peteretep joy_ rgrau,
ChanServ sets mode: -v tharkun
16:32
ChanServ sets mode: -vvvv Mithaldu wbn japhb Exodist,
ChanServ sets mode: -vvvv literal Bucciarati CindyLinz avar,
ChanServ sets mode: -vvvv fvox kolibrie jkramer esh,
ChanServ sets mode: -vvvv nine hoelzro chsanch_ hahainternet,
ChanServ sets mode: -vvvv charsbar alpha6 spacebat1 Technaton,
ChanServ sets mode: -vvvv sivoais erdic xiaomiao Elronnd,
ChanServ sets mode: -v pony,
ChanServ sets mode: -vvvv alnk iviv zengargoyle nebuchadnezzar,
ChanServ sets mode: -vvvv Celelibi ilbelkyr daxim Woodi,
ChanServ sets mode: -vvvv albongo dotdotdot riatre dustinm`,
ChanServ sets mode: -vvvv eater sergot grumble camelia,
ChanServ sets mode: -vvvv ssm syntaxman klapperl ilogger2,
ChanServ sets mode: -vvv Gothmog_ petercommand avalenn,
ChanServ sets mode: -vvvv meltingwax obfusk dylanwh ponbiki,
ChanServ sets mode: -vvvv DrForr Voldenet cjkinni irco,
ChanServ sets mode: -vvvv m0ltar gabiruh Peter_R dpk,
ChanServ sets mode: -vvvv yoleaux tadzik scovit caa51h_,
ChanServ sets mode: -vvvv lgtaube go|dfish sjn kybr,
ChanServ sets mode: -vvvv cosimo tomaw bartolin stux|RC,
ChanServ sets mode: -vv KDr2 k-man,
ChanServ sets mode: -vvvv xi- oodani wmoxam kent\n,
ChanServ sets mode: -vvvv daemon telex DarthGandalf SyrupThinker,
ChanServ sets mode: -vvvv vrurg tobs Bob SCHAPiE,
ChanServ sets mode: -vvvv cpage TimToady Grauwolf SqrtNegInf,
ChanServ sets mode: -vvvv pierrot lookatme_q dalek mrsolo,
ChanServ sets mode: -vvvv timeless Geth PotatoGim eiro,
ChanServ sets mode: -v PavelB,
ChanServ sets mode: -vvvv Harzilein webstrand Xliff ccntrq,
ChanServ sets mode: -vvvv imcsk8 pmichaud_ Praise shadowpaste,
ChanServ sets mode: -vvvv giraffe_ SHODAN kyzn_ kst`,
ChanServ sets mode: -vvvv cibs_ xxpor_ tyil samcv,
ChanServ sets mode: -vvvv krkini mantovani_ afresh1 broquaint
|
|||
AlexDaniel wonders if there was any better way to do it… | 16:32 | ||
dpk | woah | ||
[ptc] | omfg | ||
dpk | apparently ChanServ isn't aware that you can voice/devoice up to (iirc) four people with one MODE command | 16:33 | |
AlexDaniel | dpk: it accepts a bunch of nicks but then splits them by itself anyway… weird stuff | ||
Kaiepi | am i nuts for writing code like this? hastebin.com/erirevuhas.rb | 16:34 | |
AlexDaniel | dpk: oh wait, MODE command? | ||
dpk: I mean, there's probably a way to do it… | 16:35 | ||
dpk | i mean the IRC MODE command, not a/the ChanServ MODE command | ||
sena_kun | Kaiepi, it depends. If that's "end user" application code, I'd say... Probably. If that is _necessary_ "library-writer-side torture" to do magical things for end user... It depends. And in any way, COMMENT THE MEANING. :) | ||
Kaiepi | it's meant for library authors, not end users | 16:36 | |
and yeah it definitely needs commenting | |||
sena_kun | if you pour in enough comments and documentation for this piece explaning what is happening at all, then it'd be a less nuts, I guess. :) | 16:37 | |
16:37
domidumont left
|
|||
lizmat checks her voice | 16:38 | ||
AlexDaniel | lizmat: sounds nice | ||
lizmat | :-) | ||
melezhik | how to declare class attribute as obligatory? | 16:45 | |
sena_kun | has $.a is required; | ||
16:45
reach_satori joined
|
|||
sena_kun | m: class A { has $.a is required }; A.new; | 16:46 | |
camelia | The attribute '$!a' is required, but you did not provide a value for it. in block <unit> at <tmp> line 1 |
||
melezhik | thanks sena_kun: | ||
jmerelo | m: class A { has $.a is required is rw}; my $new_a = A.new(a=>3); $new_a.a = Nil; | 16:51 | |
camelia | ( no output ) | ||
jmerelo | m: class A { has $.a is required is rw}; my $new_a = A.new(a=>3); $new_a.a = Nil; say $new_a.perl | ||
camelia | A.new(a => Any) | ||
jmerelo | melezhik: so it's compulsory in the sense that you have to provide it when you create the object, but you'll have to check that it's non-null afterwards because the class will not do it for you. | 16:52 | |
releasable6: status | |||
releasable6 | jmerelo, Next release will happen when it's ready. 4 blockers. 115 out of 246 commits logged (⚠ 41 warnings) | ||
jmerelo, Details: gist.github.com/ae53335dd33cebcd1a...80542b5fde | |||
melezhik | jmerelo: sure, thanks for clarification | ||
16:54
abraxxa left
|
|||
ufobat_ | jmerelo, i think I do understand the 2 issues we were discussing yesterday, just fyi | 17:01 | |
one is fixed, the other got an issue now. | |||
github.com/zoffixznet/perl6-Temp-Path/issues/7 | 17:02 | ||
jmerelo | ufobat_: great! | ||
ufobat_: suggestion looks OK. You know that that module is now managed by AlexDaniel, right? | 17:04 | ||
17:05
zakharyas left
17:10
Kaiepi left
17:13
Kaiepi joined
17:15
zacts left
17:22
ferreira1 joined
|
|||
lucs | Meep (testing -- what's this devoice thing?) | 17:31 | |
Um, so good morning everyone :) | 17:32 | ||
jmerelo | lucs: hi! | ||
17:33
Kaiepi left
17:37
Kaiepi joined
17:42
zacts joined
17:45
patrickb joined
17:56
melezhik left
17:58
domidumont joined
17:59
zacts left
18:04
sno left
18:18
rindolf left
|
|||
ufobat_ | jmerelo, yes | 18:34 | |
18:37
abraxxa joined,
abraxxa left
18:38
abraxxa joined
|
|||
AlexDaniel | jmerelo: so I can merge PRs and stuff, but it turns out I cannot transfer repos easily | 18:38 | |
that's how personal repos on github work… | |||
b2gills | m: class A { has $.a is required is rw}; my $new_a = A.new(a=>Nil); dd $new_a; | 18:43 | |
camelia | A $new_a = A.new(a => Any) | ||
b2gills | m: class A { has $.a is required is rw is default(Nil) }; my $new_a = A.new(a=>Nil); dd $new_a; | ||
camelia | A $new_a = A.new(a => Nil) | ||
b2gills | m: class A { has $.a is required is rw is default(Nil) }; my $new_a = A.new(); dd $new_a; | ||
camelia | The attribute '$!a' is required, but you did not provide a value for it. in block <unit> at <tmp> line 1 |
||
18:43
pecastro joined
|
|||
jmerelo | AlexDaniel: you can always fork to a new organization. | 18:49 | |
AlexDaniel | jmerelo: yes but all tickets will remain in the old repo | ||
jmerelo | AlexDaniel: Right. My point is that you can probably give ufobat_ a commit bit (if you and him so want, of course) | 18:50 | |
AlexDaniel | it's OK, I'll probably just ask them to transfer everything… | ||
and until then I can accept PRs just fine | 18:51 | ||
jmerelo | AlexDaniel: good luck. It's a lot of work. | ||
And talking about work... | |||
releasable6: status | |||
releasable6 | jmerelo, Next release will happen when it's ready. 4 blockers. 115 out of 246 commits logged (⚠ 41 warnings) | ||
jmerelo, Details: gist.github.com/371c58cc0e91c5ecc1...883ce55cdb | |||
jmerelo | So blockers will be blockers, right? | ||
18:53
ravenousmoose joined
|
|||
AlexDaniel | GH#2623 needs some fixing. GH#2608 needs a decision and maybe some implementation, depending on the decision. GH#2576 is mips-only so that makes it hard. GH#2567 is something you can help with :) | 18:54 | |
synopsebot | GH#2623 [open]: github.com/rakudo/rakudo/issues/2623 [⚠ blocker ⚠] Intermittent failure when running t/spec/S04-exceptions/fail.t | ||
GH#2608 [open]: github.com/rakudo/rakudo/issues/2608 [⚠ blocker ⚠] Scope flattening and regexes | |||
GH#2576 [open]: github.com/rakudo/rakudo/issues/2576 [⚠ blocker ⚠] flapper in t/06-telemetry/01-basic.t on mips | |||
GH#2567 [open]: github.com/rakudo/rakudo/issues/2567 [⚠ blocker ⚠] Non-zero wait status: 11 in testt | |||
jmerelo | AlexDaniel: I do have an AMD64. let me see | 18:55 | |
AlexDaniel: it works, but this one is not an AMD, but a i7. Sorry, can't help (unless you mean something else) | 19:09 | ||
AlexDaniel | jmerelo: how many iterations? :) | ||
Kaiepi | how can i try to golf a moar malloc panic? | 19:15 | |
on HEAD it's using ridiculous amounts of memory when i run one of my bots but i don't know how to find out what's causing it to happen | |||
on 2018.12 it doesn't happen | 19:16 | ||
moritz | I'd go with bisect then | 19:17 | |
19:18
sno joined
|
|||
Kaiepi | how do i do that? | 19:19 | |
AlexDaniel | Kaiepi: how to reproduce this? | 19:23 | |
Kaiepi: generally you'd just use `git bisect` but in most cases it's easier to us Whateverable to speed things up | |||
Kaiepi | git clone github.com/Kaiepi/p6-PSBot, set up its config, and run it with DEBUG=1 | 19:24 | |
it panics after about 30 seconds or so | 19:25 | ||
19:34
kaare_ joined
19:38
kurahaupo_ joined
|
|||
jmerelo | AlexDaniel: I just run the test. It says it's 50.534403825807225x faster | 19:38 | |
AlexDaniel | jmerelo: it's a flapper according to the OP, so you need to run it many times. Like: while make t/08-performance/99-misc.t; do :; done | 19:39 | |
Kaiepi: looking | 19:40 | ||
19:41
kurahaupo_ left
|
|||
jmerelo | AlexDaniel: it's going. Different x values, smaller is 52 | 19:41 | |
19:41
kurahaupo_ joined
|
|||
AlexDaniel | Kaiepi: ohhh I have to register an account, right? | 19:42 | |
19:42
kurahaupo left
|
|||
Kaiepi | you don't | 19:42 | |
just leave the username and password as null and it'll log in as a guest | |||
AlexDaniel | jmerelo: that doesn't matter, it will segfault | ||
19:47
kurahaupo_ left
19:49
kurahaupo joined
|
|||
jmerelo | AlexDaniel: OK, I'll leave it running while this is on. It's been running for a few dozens times without a problem. | 19:49 | |
19:58
abraxxa left
|
|||
jmerelo | AlexDaniel: turning off now. Still going... | 20:06 | |
20:06
jmerelo left
20:09
domidumont left,
MasterDuke left
|
|||
Geth | URI-Encode: fed582739e | cfa++ | 2 files use v6.c, bump version number. |
20:13 | |
URI-Encode: 5f4d747d38 | (Aleks-Daniel Jakimenko-Aleksejev)++ (committed using GitHub Web editor) | 2 files Merge pull request #11 from cfa/v6c use v6.c, bump version number. |
|||
20:14
|oLa| joined
|
|||
cpan-p6 | New module released to CPAN! GDBM (0.0.4) by 03JSTOWE | 20:21 | |
20:27
kurahaupo left
20:28
kurahaupo joined
20:30
kurahaupo_ joined
20:31
kurahaupo_ left,
kurahaupo left,
kurahaupo joined
20:33
kurahaupo_ joined
20:34
kurahaupo left,
kurahaupo_ left,
kurahaupo joined
20:36
kurahaupo left
20:37
molaf joined,
kurahaupo joined
20:39
kurahaupo_ joined,
kurahaupo left,
kurahaupo_ left
20:40
kurahaupo joined
20:43
kurahaupo left
20:45
kurahaupo joined
20:48
ravenousmoose left
|
|||
AlexDaniel | Kaiepi: I'm still on it… it gave me some weird error so I did `zef upgrade` in a hope that it's something about some module, and now I'm waiting and waiting… | 20:57 | |
zachk | be cool is cpan-p6 put a url/link to the new modules that it notifies to this channel | 21:02 | |
AlexDaniel | tyil: ↑ | 21:03 | |
21:04
rindolf joined,
pmurias left
|
|||
tyil | zachk: link to the repo, or the .tar.gz that got uploaded? | 21:04 | |
21:04
pmurias joined
|
|||
zachk | link to the repo would be nice | 21:05 | |
21:05
_isomorphismes joined
|
|||
tyil | .bots | 21:06 | |
cpan-p6 | 03cpan-p6 reporting for duty! [Perl 6] 02git.tyil.nl/perl6/app-cpan-uploadnotifierbot | ||
tyil | I'll add an issue there | ||
to remind myself to add it when I have time | |||
zachk | cool :) | 21:07 | |
tyil | ofc, a link to the repo is only possible if the META6.json contains a src-url | ||
Kaiepi | what was the error AlexDaniel ? | 21:08 | |
timotimo | greppable6: "use HTTP::Response" | ||
greppable6 | timotimo, Found nothing! | ||
zachk | there is no cpan page? | ||
timotimo | i think Pastebin::Shadowcat is missing a dependency | 21:09 | |
tyil | hmm, I could link to the modules.perl6.org page, so long as I don't have App::CPAN running with an interface yet | ||
timotimo | oh? i wonder if that happened when LWP::Simple was replaced with HTTP::UserAgent? | ||
hum | 21:13 | ||
installing it via "zef install ." somehow made it not fail | 21:14 | ||
21:28
|oLa| left,
lucs joined
|
|||
AlexDaniel | Kaiepi: ah-ha, ok… so I run `bin/psbot` and it runs… and nothing happens? | 21:30 | |
timotimo | ^- same | ||
^C10.25user 1.98system 8:20.70elapsed 2%CPU (0avgtext+0avgdata 323080maxresident)k | 21:31 | ||
i thought perhaps it was still precomping or something | |||
AlexDaniel | memory usage is not very low but it's not growing | ||
or at least not growing fast enough to cause any issue | |||
Kaiepi | nothing happens? | ||
AlexDaniel | yeah there's no output | 21:32 | |
Kaiepi | oh | ||
did you set the DEBUG env var? | |||
timotimo | oh, now i have | ||
AlexDaniel | OK, yeah, it's doing something | ||
sauvin | What was the mass devoice about? | ||
timotimo | what speed of growth are you seeing, Kaiepi? | 21:33 | |
AlexDaniel | sauvin: sorry for that. +v was used to fight spam on this channel, there is no issue anymore so everyone was devoiced | ||
timotimo | i do see it growing slowly | 21:34 | |
283 now | |||
284 | |||
sauvin | AlexDaniel, yea, a common problem. | ||
timotimo | 286 | ||
AlexDaniel | timotimo: yeah I see something like that too, but I think it'll settle at some point | 21:35 | |
sauvin | AlexDaniel, does this channel have an -ops channel? | 21:37 | |
timotimo | we don't have anything like that to my knowledge | ||
sauvin | I was kinda hoping to huddle with some of the ops to discuss spam mitigation measures. | 21:38 | |
AlexDaniel | sauvin: there's #perl6-dev but no ops channel | ||
sauvin: is it still an issue? It was quiet for a few days even though the bot was practically not doing anything | 21:39 | ||
zachk | i've seen like two spammers on freenode in the last month and one got banned fast by the freenode auto ban system on spam | 21:40 | |
21:40
patrickb left
|
|||
sauvin | Spam has been something of a waxing/waning net-wide nuisance for some time now. A number of channels have imposed restrictions in an effort to curtail it, such as requiring identification to nickserv before being allowed to enter the channel. | 21:40 | |
(fsov "some time now") | |||
Kaiepi | i'm not seeing any atm since i'm not running it on head anymore but it was trying to allocate 1.5GB of memory in 30 seconds | 21:43 | |
timotimo | |||
21:43
dataangel joined
|
|||
timotimo | well, i'm on head, it's now at 311 megabytes | 21:45 | |
it surely isn't from precompilation for example, right? | |||
it totally does do its job? | |||
Kaiepi | it does | ||
21:45
dataangel left,
rindolf left
|
|||
Kaiepi | it finishes precomp and starts running before it runs out of memory | 21:46 | |
21:46
dataangel joined
|
|||
AlexDaniel | sauvin: so the way p6bannerbot worked was like this | 21:46 | |
sauvin: +m so that only voiced can speak, +z so that ops see messages of those who don't have voice | 21:47 | ||
sauvin: p6bannerbot bots gived voice like a minute after you join | |||
if you spoke earlier, you're a spammer :) | 21:48 | ||
21:48
|oLa| joined
|
|||
pmurias | I think the wait time was smaller then a minute | 21:48 | |
AlexDaniel | 45 seconds | ||
github.com/zoffixznet/perl6-banbot...bot.p6#L29 | 21:49 | ||
pmurias | I guess our measures worked mostly because they weren't used network wide | ||
AlexDaniel | sauvin: so the assumption is that normal users wouldn't send a message that fast… which was actually correct most of the time. Most. | ||
and yes, pmurias is right | 21:50 | ||
sauvin | I've considered installing a twit filter in my own channel: anybody who utters anything more than X times per minute is a flapjaw and needs to be removed. | ||
AlexDaniel | I guess they were banned on other channels and got kicked off the server entirely | ||
but that measure worked extremely well for #perl6 | |||
sauvin | THere's a bot called sigyn that automatically bans or klines spammers. | 21:51 | |
timotimo | 314 megs | ||
sauvin | I believe it can be invited into the channel. Freenode staff runs it. | ||
AlexDaniel | sauvin: it used to be here, I think. It does ban bots very well :D | 21:52 | |
timotimo | Kaiepi: is heaptrack available on your platform? | ||
sauvin | Why is it gone? | ||
pmurias | sauvin: I would guess the banning bots part | ||
AlexDaniel | I'm not sure. Does it have to be on the channel at all times to do its work? | ||
timotimo | i'd expect it to have to be, yeah | 21:53 | |
sauvin | It can't react to what it can't see. | ||
AlexDaniel | mst: so we're curious, where's sigyn? | ||
timotimo | i'd expect we have asked for it to be removed? | 21:54 | |
it's still online | |||
mst | sigyn wanders off after 30 days of no hits | ||
timotimo | 316 megs by now | ||
mst | any op can re-invite her though | ||
AlexDaniel | I see. Thanks! | 21:56 | |
Kaiepi | heaptrack? | 21:57 | |
doesn't look like it | |||
21:59
_isomorphismes left
|
|||
mst | AlexDaniel: basically if we get hit again, try a /invite as +o, if that doesn't work, poke me, if *that* doesn't work, cry in #freenode and blame me | 21:59 | |
AlexDaniel | mst: OK, thanks. fwiw I can also get p6bannerbot back up when needed, it seemed to do its thing for us | 22:00 | |
mst | yeah, that was a neat hack, I seriously considered using it in #perl | ||
(and I suspect you're right that being weird helped save us, I've seen spambots optimised to e.g. not trigger sigyn if they're started in a particular mode, we just weren't a big enough target to develop mitigations against our defenses) | 22:02 | ||
(I managed to almost entirely save irc.perl.org from the problem with a different evil trick for much the same reason) | |||
(but now, pubtime) | |||
masak .oO( pub-sub time ) | 22:03 | ||
masak waves to #perl6 | 22:04 | ||
AlexDaniel | mst: thank you for your work | ||
lizmat | and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2019/01/21/...-youtubed/ | 22:11 | |
22:14
rindolf joined
|
|||
AlexDaniel | oh wow, that youtube video | 22:15 | |
lizmat++ | |||
(Derek Banas)++ for the video, of course :) | |||
hahainternet | ooh worth a watch | 22:16 | |
and thanks lizmat p6weekly is always an enjoyable read | |||
22:16
dataangel left
|
|||
timotimo | it went down to 304 megs | 22:23 | |
22:23
isomorphismes left
|
|||
timotimo | or maybe a little bit was swapped out | 22:23 | |
pmurias | lizmat++ # always awesome to see what people have been up to | 22:25 | |
zachk | perhaps garbage collection kicked in a bit? I have seen that before with other languages | 22:37 | |
22:37
cpan-p6_ joined
|
|||
cpan-p6_ | 03cpan-p6_ reporting for duty! [Perl 6] 02git.tyil.nl/perl6/app-cpan-uploadnotifierbot | 22:37 | |
timotimo | well, we do have a garbage collector | 22:38 | |
22:46
Kaiepi left,
Kaiepi joined
22:47
cpan-p6 left
22:49
isomorphismes joined
|
|||
Kaiepi | i'll check and see if it still happens on HEAD | 22:49 | |
22:56
moony is now known as ynoom
23:01
rindolf left
|
|||
Kaiepi | MoarVM panic: Memory allocation failed; could not allocate 728748032 bytes | 23:02 | |
like 5 seconds after the bot started | 23:03 | ||
zachk | can we set heap sizes for the moarvm? | ||
23:06
rindolf joined
|
|||
Kaiepi | i tried using upping it with ulimit but instead of panicking it ground my computer to a halt | 23:13 | |
timotimo | mhh | 23:14 | |
can you turn off spesh to see if it has anything at all to do with that? | |||
cpan-p6_ | New module released to CPAN! TAP (0.0.7) by 03LEONT | 23:15 | |
Kaiepi | tried that | 23:19 | |
didn't help | |||
timotimo | your BSD has some pretty advanced tracing stuff, right? | ||
dtrace or something? | |||
23:21
lucasb left
23:25
rindolf left,
Praise left,
pecastro left
|
|||
Kaiepi | timotimo, i tried using ktrace and for some reason it *doesn't* panic while i'm running it | 23:33 | |
timotimo | ha | 23:34 | |
fantastic | |||
El_Che | In what world do we live in where ktrace does not panic? Doesn't anyone think of the children? | 23:43 | |
23:48
dataangel joined
|
|||
Kaiepi | 77662 mmap calls and 370558 futex calls from moar over the 30 seconds i had the bot running | 23:51 | |
is that bad? | |||
that's all that stood out from the logs | 23:52 | ||
timotimo | futex calls could come from locking/unlocking sockets perhaps? though that probably doesn't happen with async sockets, though they do use the message queue to transfer received/sent message data to the user code threads | 23:53 | |
the mmap calls could be any number of things, including the jit acquiring memory to put bytecode into | 23:54 | ||
and any individual allocation that's "too big", like probably the bigger pages of the gen2 as well as the Fixed Size Allocator | |||
23:56
zacts joined
|