»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
andreoss Zoffix: $*PROGRAM-NAME should be '-' in this case 00:02
but it's interactive unless file is passed as an argument 00:03
another work-around would be `echo 'say 1' | perl6 /dev/stdin` 00:04
Zoffix andreoss: thanks. There was a conversation after you left and I have a fix in mind. Working on it ATM 00:05
andreoss m: $*SPEC.canonpath('-').say 00:20
camelia -
Zoffix We don't treat '-' path specially (well, other than in open() but that's going away in 6.d) 00:22
andreoss perl5 checks if the file it's reading is /dev/fd/0 and if so sets $0 to '-' 00:27
andreoss perl5.git.perl.org/perl.git/blob/H...rl.c#l3820 00:28
this chunk i believe
andreoss it would be nice to have standard streams in $*SPEC alongside .devnull 00:33
awwaiid What's with the weird --/ params in zef?
Zoffix awwaiid: that convention is used by rakudo all over. e.g. in sub MAIN
awwaiid oh, I guess they mean "not"
Zoffix Yeah 00:34
awwaiid weird, I never noticed it until earlier this week
and never saw it outside of rakudoland
Zoffix andreoss: they're available as IO::Special objects
m: IO::Special.new('<STDIN>').native-descriptor.say 00:35
camelia No such method 'native-descriptor' for invocant of type 'IO::Special'
in block <unit> at <tmp> line 1
Zoffix m: IO::Special.new('<STDIN>').open.native-descriptor.say
camelia No such method 'open' for invocant of type 'IO::Special'. Did you mean 'one'?
in block <unit> at <tmp> line 1
Zoffix boo
open(IO::Special.new("<STDIN>")).native-descriptor.say works
andreoss it says 0 00:37
Zoffix Isn't that correct?
andreoss shouln't it be /dev/fd/0?
geekosaur m: open(IO::Special.new("<STDOUT>")).native-descriptor.say
camelia open is disallowed in restricted setting
in sub restricted at src/RESTRICTED.setting line 1
in sub open at src/RESTRICTED.setting line 9
in block <unit> at <tmp> line 1
Zoffix andreoss: these were always ints. 00:38
geekosaur andreoss, native-descriptor is a C file descriptor, not a path
andreoss i see
Zoffix Did we have a wiki with env vars in rakudo or am I misremembering? 00:42
Zoffix I know there's a page in docs, but I thought it was partial and wiki had all of 'em 00:42
census can someone please help me with perl? i used to use activeperl on windows xp years ago, and i'm looking to code up in perl again 00:43
Zoffix census: you likely want the room next door: #perl 00:43
census: this channel is about its sibling, Rakudo Perl 6
census Zoffix haha yes i agree; however, they banned me 5 years ago and still won't let me back in
Zoffix census: why did they ban you? 00:44
census Zoffix this chanel had always been kind when i had questions 00:44
Zoffix census: well, what's the question?
census Zoffix it was 5 years ago; i wish i remember. i truly didn't do anyting that bad.
i'm not sure why they won't drop the ban -- they probably don't even remember 00:45
Zoffix census: when you say "still won't let me back in" do you mean you asked recently and they said no?
Or is the ban simply was never removed
census Zoffix no i didn't ask. the ban was never removed
Zoffix 1 sec 00:46
census Zoffix my question is this. is there a free version of perl for windows XP? i'm struggling to find one. i used to use activeperl
Zoffix census: yeah: this: strawberryperl.com/
census Zoffix I believe I used to use activeperl 00:47
i don't know if there was a reason i didn't use strawberry but does it matter?
Zoffix census: yeah there's also ActivePerl: www.activestate.com/activeperl (the "Free community edition"). I haven't used Active for ages, but never had problems with Strawberry, so I'd go out on a limb and say it's the superior one. 00:48
census: what's your host that's banned? The one you're using right now?
census Zoffix yes i was on that website, but i was struggling to dowload it for XP. i tried one of the .exe and it gave me an error 00:49
Zoffix i had tried: www.activestate.com/activeperl/dow...401627.exe
Zoffix census: ah. Not surprising, as XP has been EOLed long time ago. It's probably not safe to even use it, as it's missing a bunch of security updates 00:50
census Zoffix on a flash drive somewhere i think i have an .exe file with perl . should i try to dig it out? would it work 00:51
Zoffix census: well, it'd be an ancient perl 00:52
census: have you tried installing strawberry?
census Zoffix is that a problem?
Zoffix census: if you like using outdated stuff, I guess not :) There've been lots new goodies added. 00:53
AlexDaniel m: say +SIGUSR1 00:54
camelia 30
AlexDaniel what the f
census no i didn't try strawberry. i had been using certain libraries. would there be a compatibility issue?
like my old code would still work?
Zoffix census: as for the 5-year-old ban. Talk to mst and see if it's possible to remove it, given the "sentence" has been served.
AlexDaniel I've just SIGPWR-ed something
census Zoffix @mst is away
Zoffix census: he'll likely read this conversation when he comes back :) 00:55
AlexDaniel is it all wrong? github.com/rakudo/rakudo/blob/beec...s.pm#L1-L7
census i was barely in the #perl channel for more than 1 day
AlexDaniel or am I reading it incorrectly?
Zoffix census: small partion of code might not work, IIRC 00:56
census Zoffix oh no that's bad
andreoss census: you still can use cygwin on XP
census andreross yes i'm trying to download cygwin in the meantime
andreoss and compile a fresh version of perl5
Zoffix AlexDaniel: what was the question? 00:57
Other than "what the f" :D 00:58
census andreross are you saying i can run my code directly through cygwin and not need activeperl or strawberryperl ?
AlexDaniel Zoffix: it may be emotional, but that's the question, yes. SIGUSR1 is 10 and SIGUSR2 is 12, why are these completely different in rakudo :/ 00:59
Zoffix: and looking at other numbers, they're all wrong too?
Zoffix AlexDaniel: no idea. There *is* this bit of code that parses `kill -l`; I forget what it affects tho: github.com/rakudo/rakudo/blob/beec...#L108-L124 01:00
andreoss census: idk how fresh cygwin's version of perl is, you might have to recompile it 01:02
Zoffix bah... brainfart. Thought I could amend roast's REPL tests to work fine in non-TTY mode, but that'd require setting a rakudo-specific var -_-
AlexDaniel “SIGUSR1 value is platform dependent. SIGUSR1 can be 30, 10, or 16.” 01:03
Zoffix AlexDaniel: oh, when you actually go to use the signal it'll use the one from parsed values. So the value of the enum isn't actually the number that's gonna be sent (I think) 01:03
census_ sorry i got disconnected if you had answered 01:05
Zoffix census: we have logs: irclog.perlgeek.de/perl6/2017-08-28#i_15078238 01:06
AlexDaniel Anyway: github.com/perl6/doc/issues/1474 01:09
I think it's a bug, but for now this will do
Zoffix m: say $*KERNEL.signal: SIGUSR1 01:10
camelia 30
Zoffix shrugs
AlexDaniel m: use NativeCall; sub kill(int32, int32) is native {*}; kill $*PID, +SIGUSR1 01:14
camelia (signal PWR)
AlexDaniel c: HEAD use NativeCall; sub kill(int32, int32) is native {*}; kill $*PID, +SIGUSR1
committable6 AlexDaniel, ¦HEAD(815faa3): « «exit signal = SIGUSR1 (30)»» 01:15
AlexDaniel ppfffffffffffffffffft
AlexDaniel so if you .tap on SIGUSR1 you're actually tapping on SIGPWR? :/ 01:16
AlexDaniel actually, no! 01:18
m: signal(SIGUSR1).tap({say ‘hello’}); use NativeCall; sub kill(int32, int32) is native {*}; kill $*PID, 10; sleep 0.5
camelia hello
AlexDaniel so it taps on it just fine
m: signal(SIGUSR1).tap({say ‘hello’}); use NativeCall; sub kill(int32, int32) is native {*}; kill +SIGUSR1, 10; sleep 0.5
camelia ( no output )
Zoffix andreoss: `echo -e 'say 42' | perl6` now prints just 42 without any other messages: github.com/rakudo/rakudo/commit/2c0cd0a3a9 01:30
Geth doc: f0e515486e | (Peter Stuifzand)++ (committed by Zoffix Znet) | doc/Language/syntax.pod6
Fix method name set-name -> set-name-age (#1473)
01:31
Zoffix I think the indirect method syntax finally clicked to me (thanks to that ^ explanation) :) 01:32
m: say later Date.today: :42hours 01:33
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
later used at line 1
Zoffix Or maybe not ^_^
m: say later (Date.today): :42hours
camelia Cannot use unit hours with Date.delta
in block <unit> at <tmp> line 1
Zoffix m: say later (Date.today): :42days 01:33
camelia 2017-10-09
Zoffix Yup \o/
It follows the ($invocant:, $arg, $arg2) pattern. I could never figure out what the deal with semicolons was in the past :) 01:34
AlexDaniel m: say 42: 01:34
camelia 42
Zoffix m: say abs 42: : 01:35
camelia 42
AlexDaniel yea, get crazy with it :)
Geth doc: ce504a2081 | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Programs/00-running.pod6
Document RAKUDO_LINE_EDITOR env var
01:41
Geth doc: b791b87f27 | (Zoffix Znet)++ (committed using GitHub Web editor) | util/trigger-rebuild.txt
Add geekosaur++ to rakudo release credits list

For telling solution for REPL tty stuff. Forgot to give ++ in commit
  github.com/rakudo/rakudo/commit/2c0cd0a3a9
01:47
lookatme morning 01:49
lookatme Can I call flush on STDIN of Proc::Async 01:50
?
Zoffix lookatme: I don't think buffering is in use by default yet. What problem are you facing? 01:51
lookatme perl6 -e 'my $p = Proc::Async.new(<mysql -P3306 -u ovirt -pdefault>, :w); $p.stdout.tap(&say); my $pp = $p.start; await $p.print("show databases;\r\n"); say "WAITING OVER"; await $pp;'
I start a mysql command use Proc::Async 01:52
But it not print result only if I run $p.close-stdin
Zoffix, ^^ 01:53
Zoffix Yeah. reading code 01:54
To figure out if there's a way.
lookatme Hmm
gfldex lookatme: try $p.put("your string here")
lookatme gfldex, not working 01:55
:) and I'm not found put in document . 01:56
Zoffix lookatme: looks like it's actually mysql that's causing this 01:57
lookatme: perl6 -e 'my $p = Proc::Async.new(«perl6 -e "get.say; get"», :w); $p.stdout.tap(&say); my $pp = $p.start; await $p.print("show databases;\r\n"); say "WAITING OVER"; await $pp;' 01:58
^ that prints the first get() and then waits for the next one
gfldex lookatme: await $p.print may be called to early 01:59
lookatme: try await Promise.in(2) { $p.put("your string here") } 02:00
lookatme: see: gfldex.wordpress.com/2017/08/27/ou...r-mystery/
lookatme Hmm, Zoffix I see 02:05
AlexDaniel don't you have to .close-stdin anyway? 02:07
lookatme yeah, but I want make something like REPL 02:08
AlexDaniel I see
lookatme don't want close stdin
Zoffix lookatme: got it 02:09
lookatme maybe mysql have some optional about it
Zoffix lookatme: pass -n param to mysqlk
lookatme ok
Zoffix perl6 -e 'my $p = Proc::Async.new(<mysql -n -P3306 -u ovirt -pdefault>, :w); $p.stdout.tap(&say); my $pp = $p.start; await $p.print("show databases;\r\n"); say "WAITING OVER"; await $pp;' 02:10
lookatme Zoffix, great! works
Zoffix \o/
lookatme ^_<
lookatme oh, mysql buffer the output 02:11
lookatme Thanks :) 02:14
census andreross now i have to teach myself how to tailor my old code to a new problem 02:15
thanks Zoffix i got strawbery perl downloaded 02:16
Zoffix Sweet. 02:20
awwaiid If I have a class that I define some operators for, like +, -, * -- where is a good spot to define those operators? Not sure doing them as subs with is export in the class file is quite what I want, as I want the operators to be available wherever the instances are 02:54
awwaiid eh. Looks like I will have to use/export these to wherever I need them. Oh well. 02:58
lookatme I think better define in the class file 02:59
awwaiid yeah, that's where I'll define it. but anyone who wants to use those operators has to explicitly pull them in. In Ruby operators are methods, so if you have an instance you can use all of it's operators without explicit lexical dependency 03:02
lookatme awwaiid, actually I also wonder why operator not method 03:05
in c++, you can defined operator in class and global operator
raschipi awwaiid: it's that way by design. this way there's no surprises. 03:07
awwaiid yeah, I know it's on purpose. I'm trying to figure out how to work with it well. I'm working on Inline::Ruby, and have Inline::Ruby::RbObject that wraps a ruby instance. To make it easy to work with, I have a few basic operators defined that get turned into ruby instance method calls 03:13
Now I'm trying to make it so these operators are re-exported when you `use Inline::Ruby` for convenience 03:14
lookatme If you want provide it to user, maybe defined it in Inline::Ruby will be better. And I guess we need the mechanism which can import some symbol from others package. 03:16
lookatme m: role Foo { proto method operator { * }; }; role Bar does Foo { has $.i; method operator:sym<==>($r) { $!i == $r.i; }; }; multi sub infix:<==>(Foo $l, Foo $r) { $l."operator:sym<==>"($r); }; say Bar.new(i => 1) == Bar.new(i => 2); say Bar.new(i => 42) == Bar.new(i => 42) 03:37
camelia False
True
lookatme Write a module make operator easy 03:41
lookatme s/operator/operator define/ 03:41
Geth whateverable: 939948afd3 | (Aleks-Daniel Jakimenko-Aleksejev)++ | 3 files
More aggressive parallelization of tests

Now if the bot is blocked by something else, it can send SIGUSR1 to the test bench to extend the timeout. This way bots can wait forever for the build to become unlocked.
Existing timeouts were a bit too tight, so with the load of 8 bots being tested, some of the tests just can't make it in time. Therefore, timeouts were extended (1.5x) under 「prove」.
See issue #205. Now we are down to 4m 32s from original 22m.
04:59
lookatme m: sub fac($c) { return 1 if $c == 1; return $c * fac($c - 1); }; &fac.wrap(sub (|c) { say "CALL ME with {|c}"; my $ret = nextsame; say "RETURN { $ret }"; }); say fac 5; 06:41
camelia CALL ME with 5
CALL ME with 4
CALL ME with 3
CALL ME with 2
CALL ME with 1
120
lookatme m: sub fac($c) { return 1 if $c == 1; return $c * fac($c - 1); }; &fac.wrap(sub (|c) { say "CALL ME with {|c}"; say "RETURN { callsame }"; }); say fac 5; 06:44
camelia CALL ME with 5
CALL ME with 4
CALL ME with 3
CALL ME with 2
CALL ME with 1
RETURN 1
RETURN 2
RETURN 3
RETURN 4
RETURN 5
True
timotimo lizmat, i'm sitting at the breakfast table :) 07:06
(she arrived 10 eeconds after i said that) 07:07
El_Che timotimo: I like the way you describe breakfast :) 07:29
timotimo "eeconds" m) 07:46
RabidGravy BOOM! 09:26
yoleaux 26 Apr 2017 20:18Z <Zoffix> RabidGravy: reading the log about license thing. Could we get to the issues instead of threatening to remove all the modules? From logs, I see license/license issue; we can handle both. What other concerns do you have?
RabidGravy I got nagged three times about not getting on the channel 09:27
ONCE IN REAL LIFE
RabidGravy Anyhow can someone fill me in what the story with System::Passwd was? I noticed that a PR I had against the original went away and that the current source is a fork of, er, my fork 09:30
RabidGravy unless anyone can think of a reason why not I'm going to delete my fork so the one on community-modules becomes the base version and no-one gets confused 09:33
RabidGravy also does anyone have a clue about github.com/perl6/DBIish/issues/97 DBIish is totally shagged right now and I don't have a clue what caused it 09:37
nine RabidGravy: could be one of my NativeCall optimizations 09:42
RabidGravy that makes sense 09:44
nine RabidGravy: in lib/DBDish/Pg/Native.pm6:58 the $statement_name is defined as str. Does it work when you change that to Str? 09:45
If yes, then I know what's going on
RabidGravy let's have a look
nine I think it improves things. But I can't run the tests in full as it's expecting an undocumented database to exist. 09:59
RabidGravy I'm struggling with postgres too :) 10:01
right, hope I didn't have anything precious in the existing databases ;-) 10:04
Ah it wasn't that one specifically but it does appear to be the str/Str thing 10:11
👍 nine++ # liberal sprinkly of s/str/Str/g in lib/DBDish/Pg/Native appears to have fixed it 10:17
nine Ok, the reason is that I'm relying on the information in the signature to decide whether we need to decont an argument. We shouldn't need to decont native types. But as I've found out in the last couple of days, one can still pass a boxed argument and the callee is supposed to decont. 10:18
So the fix in rakudo will be somewhat simple. But it's sad (and costly) that we have to.
Zoffix RabidGravy: welcome back :) 10:20
RabidGravy I'm minded to push this anyway as IIUC the fix in rakudo will blow away the advantage of using str in those places :) 10:21
Zoffix, boo! 10:22
nine RabidGravy: I'm not so sure. Having str there means that in the (probably rare) case you actually pass a str argument, we won't have to unbox.
nine Though the only way to actually do that is having a natively typed variable that is passed as argument. Literals won't do 10:23
RabidGravy yeah and it seems that all the native methods that do so return a Str rather than a str 10:27
nine At least the fix for this will also remove the last remaining blocker for my efforts to JIT NativeCall 10:28
RabidGravy 🍻 10:29
RabidGravy right I'm going to cut the grass before it gets too hot and then push this unless anyone has a profound objection 10:31
nine win 14 10:31
buggable nine, Thank you for entering Accidental /win Lottery! The next draw will happen in 3 days, 13 hours, 28 minutes, and 35 seconds
RabidGravy surprisingly warm outside 11:14
Skarsnik_ str with NC is generally a bad idea 11:16
I don't remember what trouble I get with it
Skarsnik nine, if you figure the diff between Str and str and found str is bad you could remove it to github.com/rakudo/rakudo/blob/nom/...l.pm6#L238 so it help notice it x) 11:23
RabidGravy wonders which machine it was that he had installed Oracle on 11:31
Skarsnik sqlite test fail for me with dbiish 11:33
RabidGravy Hmm working for me here 11:40
[Coke] .
El_Che RabidGravy: wb 11:41
andreoss Zoffix: shouldn't Perl6::Compiler handle this instead? i.e the compiler should know which file (e.g stdin) is being compiled 11:54
nine Skarsnik: str is quite ok in a signature. The issue is that even if the signature says "str", rakudo accepts a Str. So the function may not actually rely on the contraints in the signature
Skarsnik what the fiff between str and Str for NC? 11:55
RabidGravy anyhow I'm going to merge that, as the red thing on travis is upsetting me ;-) 11:58
nine Skarsnik: there is no difference. In theory using str may improve performance a little in some cases as we may be able to avoid boxing/unboxing. 11:59
Skarsnik hm, no weird encoding issue? 12:04
m: say "0xfffff".Int 12:05
camelia 1048575
Skarsnik fun
RabidGravy right, so everyone cool with me deleting my fork of System::Passwd? 12:08
Skarsnik what the issue? 12:09
RabidGravy to recap, it was left as the "original" after the original original get deleted and now the one which is in the ecosystem is a fork of mine
if I delete mine then the one in comunnity modules will become the "original" 12:10
Zoffix andreoss: unsure. It is possible to move the detection code into Perl6::Compiler, but I'm invisioning it as simply rewriting my patch in nqp ops and moving it to `method interative`; is that what you mean? Since running `perl6` by itself starts REPL, I'm viewing my patch as simply a non-interactive, "bare" line editor for REPL that gets used when explicitly requested or when we detect we're not on TTY and a
different line editor weren't requested. Is there a benefit to keeping them entirely different features, possibly controlled by two different env vars?
census Zoffix : mst never chimed in! or any other #perl person 12:11
Zoffix census: which hostname is banned? Your current one?
census Zoffix yea but i think it's IP not the name but maybe i'm mistaken 12:12
Zoffix andreoss: basically, I think it might come in handy to override automatic behaviour for when we do REPL vs. just-eval-STDIN. And currently that gets taken care of by the already existing RAKUDO_LINE_EDITOR env var 12:16
census: OK, you're unbanned. Don't get banned again :) Happy programming! 12:17
census thanks Zoffix ! :)
RabidGravy gah, anyone object if I remove 2017.01 from the DBIish travis, maybe add a more recent one? It's failing to install NativeHelpers::Blob
Skarsnik yeag 12:18
you can
Geth doc: dfed8116cf | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Programs/00-running.pod6
Polish RAKUDO_LINE_EDITOR docs

  - Add `none` editor to list
  - use "non-interactive" instead of "fake" to describe `bare` editor
12:21
RabidGravy 👍 12:22
Zoffix & 12:25
RabidGravy okay deleting my version of System-Passwd didn't have quite the effect I anticipated 12:35
RabidGravy the github.com/perl6-community-modules...em-Passwd/ is now a fork of one from FROGGS 12:35
ho hum 12:36
RabidGravy there all green again travis-ci.org/perl6/DBIish 👍 12:41
Skarsnik :)
[Coke] doc/Programs/00-running.pod6 is complaining about a missing > for a C< (though I don't see it.) 12:43
ah, found it: line 137
Should that trip t/pod-valid.t ? 12:44
(It doesn't now because it was only a warning)
Skarsnik nine, can you write somewhere what is involvled for all the NC stuff? or it's already quite clear? 12:46
Geth doc: 9a083c425f | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Programs/00-running.pod6
Fix typo; [Coke]++
12:47
Zoffix [Coke]: yeah, I think it should trip it
The automatic doc site rebuild is still broken. 12:48
[Coke]: I noticed the cronjob got PATH added to it. What was that fixing? 12:49
Wonder if the flock isn't flocking, so it pulls commits too soon and doesn't notice updates happened or something 12:50
Geth doc: ad498b2794 | (Zoffix Znet)++ (committed using GitHub Web editor) | util/trigger-rebuild.txt
Commit to debug build (1)
12:57
[Coke] Zoffix: it was fixing the fact that there are two versions of node/npm/node-gyp available, and that the cron env was finding the old, system one. 12:59
Zoffix Ah 13:00
Geth doc: 359d1a9230 | (Zoffix Znet)++ (committed using GitHub Web editor) | util/trigger-rebuild.txt
build-debug-2
nine Skarsnik: I've got the fix pretty much done in my head already :) Helps that I've spent the past few days working on JITing NC
[Coke] It's possible that my rewrite of the .sh that respects 'force-update' has the wrong logic for "if a real update happened" 13:01
Zoffix Ohhh haha
Found it!
[Coke] but force-update does seem to DTRT.
Zoffix [Coke]: "rm: cannot remove '/home/doc.perl6.org/force-update': No such file or directory" :) and the script is set to exit on failure
Zoffix hackety-hacks
Skarsnik nine, I kinda want to add mising stuff in NC like sized array
[Coke] Zoffix: DAMMIT.
Zoffix :D 13:02
Skarsnik or a c-str type maybe
[Coke] good find, thank you
Ven`` rt.perl.org/Public/Bug/Display.htm...et-history what's the usual course of action for that? 13:03
Geth doc: 88cf85749c | (Zoffix Znet)++ (committed using GitHub Web editor) | util/update-and-sync
Do not exit if there's no `force-update` to remove
13:04
Zoffix Ven``: clicking the "S" button in top right to mark it as spam and get it deleted
RabidGravy Skarsnik, nine, I'd love shaped str in a CStruct if you;re looking for something to do :) 13:05
Zoffix clicks the "S" 13:05
[Coke] Zoffix++ Zoffix++ Zoffix++
Zoffix [Coke]++ # fixing original issues :)
Ven`` Zoffix: seems like the deleted tickets are shown in fail.rakudo.party (i.e. rt.perl.org/Public/Bug/Display.htm...et-history ) 13:06
ah, but I'd need a rt.perl.org account. Scratch that. 13:07
raschipi m: head [xx] 16, *: 10 #Perl6 is Lisp without parens after all.
camelia ( no output )
[Coke] might need a few minutes to sync out to the party
Ven`` raschipi: what's lispy there? :)
raschipi m: say head [xx] 16, *: 10
camelia (16 16 16 16 16 16 16 16 16 16)
raschipi the lists
Ven`` [Coke]: the ticket was deleted on the 22th, if you're talking to me 13:08
Zoffix Ven``: yeah, RT's API doesn't tell that a ticket was "deleted", so currently fail.rakudo.party doesn't know a ticket got deleted (unless you do a full db rebuild). So currently, I just manually delete them from the database once in a while
raschipi m: (say (head ([xx] 16, *): 10))
camelia (16 16 16 16 16 16 16 16 16 16)
Ven`` Zoffix: ah, I see. Thanks for the precision! 13:09
raschipi u: • 13:12
unicodable6 raschipi, U+2022 BULLET [Po] (•)
census Zoffix they are getting mad at me again! :( 13:56
Zoffix census: why? 13:56
census i think they don't like the way i'm writing my code. i don't know. they were a little insulting too. they told me to call a variable $shit 13:57
Zoffix .hug census
huggable hugs census
census haha thanks Zoffix i'm okay. i don't want to get banned again. i just don't know how to communicate in a way to get the help i need 13:57
Zoffix census: sadly, don't know an easy solution to the problem.
census i wrote the code myself
Zoffix census: you could try out Rakudo and write your code in it :) perl6.org/ 13:58
census Zoffix thanks. at this point, i know perl5 too well and for the work i'm doing i don't think perl6 is well developed. at least it hadn't been at the time 13:59
Zoffix Fair enough :)
What type of work is that, out of curiosity?
census Zoffix i am going to a website to collect some information off of it 14:00
Zoffix census: is JavaScript involved?
census Zoffix i don't know. i forgot how to check for JSON and all that
Zoffix census: which website is it? 14:01
census Zoffix i used to code in perl very regularly but i'm rusty now
i want to do it for pubmed and for google
Zoffix Ah, google will probably get you banned. It's against their TOS. They banned my Happy New Year party bot :) 14:01
census Zoffix for example www.ncbi.nlm.nih.gov/pubmed/?term=...BPDat%5D)) 14:02
Zoffix Yeah, that uses javascript. 14:03
census Zoffix does that mean i can be okay if i use a JSON type package? 14:04
Skarsnik dunno result look normal html5 14:04
Zoffix Skarsnik: but you need JS to load it :)
census: not sure what you mean. I'd use one of the modules listed here: metacpan.org/pod/distribution/WWW-...t-support?
Zoffix census: or poke at the site more and see where it's fetching data from and try fetching from there in your script. Or see if they got an API handy 14:06
Like they got some data on their FTP: ftp://ftp.ncbi.nlm.nih.gov/
census Zoffix I do not expect there is such if google doesn't 14:07
perlpilot census: but, if you're scraping the page (i.e. there is no API), don't parse "HTML with a regex" is still good advice. 14:08
census perlpilot #perl still scares me to death
perlpilot census: they sense your fear ;)
census "census: if that's the way you're going to listen to people I start to understand why you were banned 5 years ago."
i wrote my own code. i'm trying 14:09
perlpilot census: aye.
raschipi H͕͚̼̤̝͚e͞'􏿽xCD􏿽x98􏿽xCC􏿽x96􏿽xCC􏿽x97s 􏿽xCD􏿽x81􏿽xCD􏿽x94􏿽xCC􏿽xAF􏿽xCC􏿽xB9􏿽xCD􏿽x95􏿽xCC􏿽xB1􏿽xCC􏿽x96c̟̩̳o􏿽xCD􏿽x98􏿽xCC􏿽x9F􏿽xCD􏿽x85m̛̤̩̲̬̫m̧͇͍i􏿽xCD􏿽xA2􏿽xCD􏿽x8D􏿽xCC􏿽xA0􏿽xCC􏿽xA9􏿽xCC􏿽xA3n͇g͓̪͕ͅ.̞̻͈̠͕̪
b2gills census: you could try stackoverflow.com or codereview.stackexchange.com
census i used to use www-mechanize
perlpilot #perl is particular, but they do try to help (even if sometimes that help is in ways that you don't want or aren't expecting) 14:10
census perlpilot i'm okay, i just don't want them to ban me, and i don't know how to do the code differently
perlpilot census: try using one of the modules suggested to pull out the parts of the text that you're interested in. Mojo::DOM is really good if you understand CSS selectors 14:12
census: but ... if javascript is involved, you'll still want to do what Zoffix said 14:14
anywho ... I've got a meeting to go to.
census: good luck!
census perlpilot i used to use these modules, but i remember they're complicated. isn't there a way to figure out how the website it?
Zoffix census: how abusive is what you're trying to do? Is it just one search term or are you gonna be doing lots of them? 14:15
census a few searches, but i didn't realize it's conisdered abusive ? 14:16
Skarsnik use the 'debug' tool of your browser?
census i'll add something like sleep(20) to slow down the hits
they let you download the data as .csv files, but i'd much prefer to organize the searches this way 14:17
Zoffix census: there's "Create RSS" link under the search field. Pop open browser dev tools, click it, it'll tell you where and what fields to POST and reponds in JSON with a URL to RSS that you can parse with an RSS module
census: wouldn't CSV files be like a billion time easier to use?
census Zoffix i have a few search terms. and if i do it wrong and change my mind on what i want, it'll be easier to use perl 14:18
Zoffix census: they have API: www.ncbi.nlm.nih.gov/home/develop/api/ 14:21
use thagt
Zoffix Like eutils.ncbi.nlm.nih.gov/entrez/eut...xample.com 14:23
census thanks Zoffix! i've never written code with API before. what does that all mean conceptually. all of the work i did was with websites that did not have an API 14:24
Zoffix census: Which gives you IDs for the search. And you can then get metadata by IDs via eutils.ncbi.nlm.nih.gov/entrez/eut...xample.com
Zoffix And you can get full text by ID via: eutils.ncbi.nlm.nih.gov/entrez/eut...xample.com 14:25
census Zoffix my goal is to do a search like www.ncbi.nlm.nih.gov/pubmed/?term=...BPDat%5D)) and take down the `53'
census Zoffix are you saying i can simply just download all the bibliographies? 14:26
Zoffix census: that's all you need? Just the total number?
census yea totals for several searches
i suppose with all the bibliographies i can be more flexible, but i was just thinking totals would suffice 14:27
census Zoffix they have an option to download the .csv if you don't search by year www.ncbi.nlm.nih.gov/pubmed/?term=Babesiosis and the .csv breaks it down by year as i'm looking to do 14:28
census Zoffix However I didn't want the .csv option. I wanted to just make a .txt if i can that has the search term for a year and the number of hits, one result at a time 14:29
Zoffix census: you can load the CSV with perl and manipulate the data. 14:32
.oO( Mojo::CSV module )
census Zoffix 1. I didn't want to have to manually enter each search term, then find each .csv. Especially if what I do changes. Is there a way I can write a perl script to do anything 14:33
for example, I want a .txt file that's like this. row 1: 'Babesiosis',1990,53 row 2: 'Babesiosis',1991,59
census Zoffix i want to load in a few search terms into 1 .txt file. Then the output be as I described. If that's possible 14:36
Zoffix census: if all you want is a result count, just see if it's reported anywhere on the page. Grab a UA module, make a request, look whether it's reported anywhere 14:51
census Zoffix i wrote a script already 14:53
Zoffix heh 14:54
OK then
census Zoffix yes the total count is reported on the website. i'm not fully sure why my script isn't working. my guess is partly with the regex i had tried that #perl opposed. or maybe it's the API aspect
Zoffix census: this works: perl6 -MDOM::Tiny -MWWW -e 'DOM::Tiny.parse(post(q|www.ncbi.nlm.nih.gov/pubmed|, term => q|(Babesiosis AND (("1990/01/01"[PDat] : "1990/12/31"[PDat])))|)).at(q|meta[name="ncbi_resultcount"]|).attr("content").say' 14:55
gives 53
census Zoffix you mean i can write it in perl6 ? :) 14:56
Zoffix census: of course! :) 14:58
Zoffix census: Rakudo has been more or less production ready since 2015.12 14:58
census i had last used perl circa 2014 14:59
Zoffix Ah, that was before first stable release :)
Perl version, for the record: perl -MMojo::UserAgent -wlE 'say Mojo::UserAgent->new->get(q|www.ncbi.nlm.nih.gov/pubmed|, form => { term => q|(Babesiosis AND (("1990/01/01"[PDat] : "1990/12/31"[PDat])))| })->result->dom->at(q|meta[name="ncbi_resultcount"]|)->attr("content")' 15:00
Good luck \o
Zoffix &
Ven`` it's very nice we can do this that easily. Zoffix++ 15:01
census i may need some help if that's okay because i never coded before in perl 6.
i use windows XP. does anybody have a suggestion for what version of perl6 i should download?
raschipi census: That's what this chgannel is all about
census: you really should solve your xp problem. 15:02
Zoffix census: you could try the latest one here: rakudo.perl6.org/downloads/star/
census raschipi haha i like XP :)
Zoffix This one: rakudo.perl6.org/downloads/star/ra...0(JIT).msi
I'm assuming you're on 64-bit version 15:03
census Zoffix I suppose we'll find out as I'm downloading it now -- we'll learn if it's compatible :) 15:08
Zoffix thank you so much for your kindness
raschipi some people are just generous like that, contributting to botnets.
Zoffix Any time \o
census raschipi thank you for understanding :) #perl6 has always been very kind 15:11
it was always such a shame i had to use #perl
Zoffix It's a work in progress. I've seen some pics from recent Perl Conference with Ruth showin a presentation about empathy. 15:12
census Zoffix if i do something like sleep(20) for google, will that help
andreoss Zoffix: my point is `cat ... | perl6` should not start the repl at all, rather read /dev/stdin as it was pass as an argument
github.com/perl6/nqp/blob/master/s...r.nqp#L372 15:13
census i don't need speed on the google searches in want to do
andreoss i believe this should go here
Zoffix andreoss: why is starting the REPL a problem?
andreoss it's not nessesary 15:14
raschipi It doesn't start for me with "perl6 -".
Zoffix census: it's pretty advanced. Basically, if it suspects you're parsing with a robot, it'll throw a captcha and if your bot doesn't solve it you get blacklisted :) 15:17
census i know i coded around a website that had that problem before. i used TOR and ran perl through that 15:18
Zoffix andreoss: well, right now I can control when REPL gets started. With your proposal, we don't 15:19
Zoffix andreoss: also, it doesn't get started. The bare line editor evals in REPL.new and exits 15:19
andreoss: I'm familiar with that code path, but wouldn't starting the REPL still read from stdin? 15:21
*I'm NOT familiar
andreoss at what stage REPL.new is called? 15:22
census Zoffix it says that version isn't compatible with 32 15:23
Win32
Zoffix andreoss: right here: github.com/rakudo/rakudo/blob/nom/...er.nqp#L75
census: right, well you're a bit out of luck. We don't have recent-enough builds for 32bit windows.
census: how much RAM you got? 15:24
census i don't know how much RAM i have. does that mean i won't be able to use perl6 on my XP?
Zoffix Oh wait, I guess if host os is 32-bit, you can't run 64-bit VM. So never mind
Zoffix census: you could try building from source. The only build we have is like from a year and a half ago, which is ancient 15:24
census: though my recent attempt building on 32bit box failed. Dunno if the problem was fixed. The Windows build is a bit thorny ATM, and 32-bit even more so. 15:26
census: you should upgrade your OS. It's not safe.
census: get yourself a nice linux: www.bodhilinux.com/ 15:27
census: if you want to attempt to build from source; though I'm betting 50/50 it'll fail: github.com/zoffixznet/r#windows 15:28
Zoffix andreoss: anyway, I don't have any strong feelings on where this feature is handled. If you're able to make a PR moving it out of REPL, I'll be +1 on merging it. 15:30
Zoffix Docs for nqp ops are here: github.com/perl6/nqp/blob/master/d...s.markdown 15:30
s: $*IN, 't', \()
SourceBaby Zoffix, Sauce is at github.com/rakudo/rakudo/blob/7d1e...le.pm#L549
Zoffix ^ that gives the example for how to check for whether STDIN is a tty 15:31
census Zoffix i have some access to a neighbor's computer i think it's windows 7 15:35
i barely know how to use windows 7 though
what would be the download for it? 15:36
Zoffix census: this: rakudo.perl6.org/downloads/star/ra...0(JIT).msi 15:37
census: well, is it 64-bit Win7? 15:38
(Start -> right click "Computer" -> Properties -> the System section has "System type" info that says 64-bit Operating System) 15:39
census Zoffix yes i see 64 15:40
Zoffix Cool. Then download that link and install
Ven`` That SPW deopt talk is nice but really complex ;o). 15:43
.oO( When you gaze into the deeper parts of MoarVM, a one-liner gazes back into you )
census Zoffix okay i'm in a perl6 window i believe 15:44
To exit type 'exit' or '^D'
Zoffix yey \o/
Ven`` \o/ 15:45
Zoffix census: now run zef --/test install WWW DOM::Tiny
That'll get you two modules my one liner uses
the one-liner to parse your website stuff and get results count
census > zef --/text install WWW DOM::Tiny ===SORRY!=== :: not yet implemented 15:46
Did i type it incorrectly?
Zoffix census: nah, you typed it into rakudo's REPL. You need to type it into Windows's command prompt 15:47
census: press Win+R, type "cmd" and press Enter
and then type the zef command
census okay thanks Zoffix. This is all coming back to me, how'd I do that sort of thing for perl5 15:50
Zoffix Yeah, it's similar :) 15:50
( download strawberryperl.com/ ; Win+R -> "cmd" -> cpanm -vn Mojolicious ; run the one liner) 15:51
census Zoffix i should download strawberry perl on this one too? i have it on my other one with xp 15:52
okay cmd finished doing that part
Zoffix census: if you want to programm Perl, yeah. But it's not needed for Rakudo
census: ohh, actually yeah install it. It comes with a C compiler that I think you need for some modules (not 100% sure tho)
timotimo someone put the thing that crashes mate terminal into the irc again? 15:53
Zoffix huggable: nuclear option
huggable Zoffix, say "\c[LATIN SMALL LETTER O, COMBINING TRIPLE UNDERDOT]"
Zoffix m: say "\c[LATIN SMALL LETTER O, COMBINING TRIPLE UNDERDOT]"
camelia o⃨
timotimo i can't scroll up very far
wat
well, thanks
Zoffix timotimo: oh, sorry. I thought you were asking for someone to put it in again. Ooops 15:54
raschipi sorry timotimo
timotimo an easy mistake to make i guess?
raschipi mate terminal isn't optimized for fun 15:55
census Zoffix okay i'm installing strawbery here too. that other command finished in the cmd
Zoffix .hug timotimo
huggable hugs timotimo
raschipi hugs timotimo
Zoffix census: did it finish successfully? It failed on my box actually :( 15:56
geekosaur thought that wasn't mate-terminal... esp. since he tried pasting it into a mate-terminal here and didn't crash
Zoffix "No such method 'IO' for invocant of type 'Any' in whatevercode at C:\rakudo\share\perl6\site\sources\A20270EDF7F9A81C64950C05D5A79B5B310E17BB (Zef::Extract) line 19" 15:57
census Zoffix i don't know. it looks like there were some issues. should i copy and paste the result?
Zoffix census: yeah, pastebin it to gist.github.com or some other pastebin
raschipi census: not in the chgannel, use a pastie
census Zoffix raschipi pastebin.com/BPjFEd60 15:58
geekosaur right, no crash here
Zoffix census: I have a different error. To fix yours just download and install git: git-scm.com/download/win 15:59
Zoffix is reminded of yet another thing promised: making ecosystem generator add URLs to zip archives for modules on github, since it can figure them out 16:01
census Zoffix i downloaded it and ran the .exe. do i need to do anything else? or should i just go straight to the cmd and run that again? 16:02
Zoffix census: close the cmd and open it again (in case git added any env vars, to refresh them) and then... 1 sec 16:03
census: I'm trying something to fix the error I'm having 1 sec.
Zoffix (1 min, I guess :) slow network) 16:05
census Zoffix it's all good. i'm running it again, unless you think i should have waited longer 16:06
Zoffix census: my fix didn't work, so yeah, run again and see if you get similar error to mine 16:08
(for record, the fix attempt was installing newer zef with zef --force install github.com/ugexe/zef/archive/master.zip ) 16:09
census Zoffix it looks ok on mine. i'll copy and paste the outcome 16:10
Zoffix here it is: pastebin.com/T0XT9jBE 16:11
Ven`` Didn't expect I'd read about lattices from a Perl 6 talk. That's amazing.
Zoffix census: yeah, it installed fine
Ven`` my brain hurts
Zoffix census: the only thing with the oneliner is you need to flip the quotes on Windows and I can't test if it still works: perl6 -MDOM::Tiny -MWWW -e "DOM::Tiny.parse(post(q|www.ncbi.nlm.nih.gov/pubmed|, term => q|(Babesiosis AND (('1990/01/01'[PDat] : '1990/12/31'[PDat])))|)).at(q|meta[name='ncbi_resultcount']|).attr('content').say" 16:12
census: but if it doesn't. Just shove it into some file and run the file with `perl6 some-file.p6` this is the code: use DOM::Tiny; use WWW; DOM::Tiny.parse(post(q|www.ncbi.nlm.nih.gov/pubmed|, term => q|(Babesiosis AND (("1990/01/01"[PDat] : "1990/12/31"[PDat])))|)).at(q|meta[name="ncbi_resultcount"]|).attr("content").say 16:13
census what do you mean by flip quotes Zoffix ? and that i run in perl 6 or the cmd
Zoffix census: the cmd. On linux perl6 -e 'say "hi"' becomes perl6 -e "say 'hi'" on Windows (like Windows uses double quotes to quote arguments, while Linux single quotes (more or less) and you need to change single quotes to double quote4s and doubles to singles, usually) 16:14
census Zoffix can i write perl6 in a .txt file? just save it as .pl6 instead of .pl ? 16:18
AlexDaniel Zoffix: thanks, that was quick
Zoffix AlexDaniel: I didn't test it, but I think that should fix it 16:19
Zoffix census: you can write it in a .txt file if you want. Extension doesn't matter much 16:20
huggable: atom ide
huggable Zoffix, github.com/perl6/Atom-as-a-Perl6-IDE
Zoffix census: ^ some details on how to get a nice editor with Rakudo syntax highlighting
census Zoffix i have to take a coding break for about 30 mins. can we speak in a little? 16:21
AlexDaniel Zoffix: it doesn't
Zoffix: Type check failed in assignment to $!ca-file; expected Str but got Any (Any)
Zoffix: well, that's some progress anyway :) 16:22
Zoffix census: sure, though I'm about to leave to work and will likely be busy for some time
Zoffix AlexDaniel: k, pushed another commit that I think fixes it 16:23
AlexDaniel Zoffix: yup! Thank you very much! 16:24
Zoffix \o/
Any time.
Zoffix & 16:24
census Zoffix which quotes are the problem ones? 16:26
raschipi census: If you put double quotes on the outside, cmd will complain. 16:27
census raschipi the code worked
so here's what i want to do: 16:28
Zoffix census: the quotes surrounding the code need to be double quotes. This means the double quotes in the code itself become special and need to be either escaped (by adding a backslash before them \") or replaced to single quotes.
census: well, if the code worked, then no quotes are problematic :)
census i want to loop that over a set of years. loop that over a set of search terms that i'll feed into a .txt. and then output as a .txt
for example: Babesiosis,1990,53
where i upload a .txt with some words like Babesiosis
i understand the idea of looping from perl5 Zoofix raschipi and making variables and printing and uploading and saving as .txt 16:29
Zoffix m: my @terms = <Babesiosis Dudesiosis>; for 1990..1993 -> $year { for @terms -> $term { "$term:$year".say } }
camelia Babesiosis:1990
Dudesiosis:1990
Babesiosis:1991
Dudesiosis:1991
Babesiosis:1992
Dudesiosis:1992
Babesiosis:1993
Dudesiosis:1993
census in fact i had tried writing a code already in perl5 to do all that Zoffix . i just didn't know how to translate that all into perl6
Zoffix instead of @terms i'd rather input it from a .txt file ? 16:30
is # also the command for commenting out and documentation?
Zoffix census: how is the .txt file formatted? One search term per line?
census: # comments yeah.
census Zoffix yes 1 search item per line
Zoffix census: ok: my @terms = "the-file.txt".IO.lines 16:31
There are some language 5to6- tuts here (top 5 or so). Dunno how good they are: docs.perl6.org/language.html
census i didn't know how to adjust the Babesiosis AND (("1990/01/01"[PDat] part of the website to reflect variables. that's how I did the perl5 program
census Zoffix do i need a semi-colon on a line like my @terms = "the-file.txt".IO.lines ? 16:32
obviously change the file name
Zoffix census: my &term = { q|(| ~ $:term ~ q| AND (("| ~ $:year ~ |/01/01"[PDat] : "| ~ $:year ~ q|/12/31"[PDat])))| }; for 1990..1993 -> $year { for @terms -> $term { say term :$term, :$year; } } 16:33
census: that'll make the search query string that you give as :term param to get() routine
m: my &term = { q|(| ~ $:term ~ q| AND (("| ~ $:year ~ |/01/01"[PDat] : "| ~ $:year ~ q|/12/31"[PDat])))| }; say term :term<Dudosis>, :2017year 16:34
camelia 5===SORRY!5=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> 3 ~ $:term ~ q| AND (("| ~ $:year ~ |/01/7⏏0501"[PDat] : "| ~ $:year ~ q|/12/31"[PDat
expecting any of:
infix
infix stopper
Zoffix Well, if you spell it right :)
m: my &term = { q|(| ~ $:term ~ q| AND (("| ~ $:year ~ q|/01/01"[PDat] : "| ~ $:year ~ q|/12/31"[PDat])))| }; say term :term<Dudosis>, :2017year
camelia (Dudosis AND (("2017/01/01"[PDat] : "2017/12/31"[PDat])))
Zoffix that one
census: yeah, you need semicolon after lines
census Zoffix you kinda lost me on what to do with the DOM::Tiny.parse(post(q|www.ncbi.nlm.nih.gov/pubmed| part ? 16:35
Zoffix census: check out the resources in "For newcomers" section listed on this page: perl6.org/resources/
census: the post() thing makes a web request. The DOM::Tiny.parse part parses it
census Zoffix here's the pastebin i have of the code so far: pastebin.com/RRJS2uma 16:37
sorry i'm not following how to do the search part when it's in terms of variables in perl6 16:38
i need to do 2 more things it seems like. 1) fix up the variables-loop aspect. i feel like i didn't fully understand how you spelled that out. 2) instead of `say' `print' and `print' to a .txt file but i'm guess that part will be very similar to how I did it in perl5 16:43
Zoffix census: here, try this out: gist.github.com/zoffixznet/0f54957...0e0766c0ff 16:45
census: put terms in terms.txt and results will be written to results.txt
`post` makes Web request, passing search term as term. DOM::Tiny.parse parses it and extracts the number of search results from <meta> HTML element 16:46
`make-term` sub makes the term to give to web service, based on given term and year
And .spurt: :append writes it to the file, appending it to the end 16:47
docs.perl6.org/routine/spurt
The rest are just loops and prints()/says() to screen about progress 16:48
census Zoffix this is perfect !! thank you so much
Zoffix Any time \o
Zoffix leaves to work
census yea i'm familiar with the say and print from perl5
census hi rindolf 17:24
rindolf census: meow 17:25
census: how are you? 17:26
census rindolf not sure you remember me. it's been some time. i've been good. i wrote my first perl6 program today with lots of help. i used to do #perl but perl6 people are nicer and now perl6 has the library i need in it finally
rindolf census: i see - nice 17:27
census Zoffix what will be the problem with google?
rindolf census: i wrote some projecteuler.net/ solutions in p6 17:28
census is there a sleep(5); type option in perl6? 17:29
Zoffix census: yeah, sleep(5) works 17:31
census: the problem with goodle is they might ban you.
census even with sleep(5) ? what if i do it thorugh something like TOR
Zoffix census: well, not entirely, it's just trying to use google will show the captcha thing 17:32
It's pretty annoying :)
APic :)
😎
census yea i know about the captcha. i had that for another site and i used TOR to get around it
Zoffix census: dunno, try and see. I think it's safe to try and just see if you get banned.
census do you think pubmed will have that problem?
also it's for google patents? google patents has a similar search engine where i could do .csv files so maybe they're okay with that feature of it?
Zoffix census: dunno, depends on their resources. You could always contact them and ask what's the best approach is to gather the data you want. 17:33
What are you building anyway? Searching for patentable medical inventions? 17:35
:)
census yes Zoffix :) seriously 17:36
census if i get banned with the google one, will i be okay if i just type in the captcha manually in google? like it's not a permanent IP ban 17:37
Zoffix census: right, it's not permament. 17:38
census do you know what TOR is?
Zoffix Yup. 17:39
El_Che With the hammer, right?
census could I use TOR with perl6 ?
i used to use TOR with perl5
Zoffix Not something I have experience with.
How did you use it with Perl? You could load the relevant module via Inline::Perl5 17:40
buggable: eco Inline::Perl5
buggable Zoffix, Inline::Perl5 'Use Perl 5 code in a Perl 6 program': github.com/niner/Inline-Perl5
census to be honest,i don't quite remember. i have my old code still and can show you but it was a little complicated 17:40
i think i did it through cygwin in fact oddly
Zoffix I see this module: metacpan.org/pod/LWP::UserAgent::Tor
Pretty sure you'd be able to load it via Inline::Perl5 and just do your request via it.
the post() stuff 17:41
At least on Linux :) Never tried Inline::Perl5 on Windows 17:43
census yes i used post()
i had another site that i used that would give me a captcha, and that's how i got around it 17:44
census Zoffix if i dig out the perl5 code i have with TOR, do you think you'd know how it can be tailored to perl6? 17:48
Zoffix census: maybe, though I might not have the time to do that. 17:51
census i think it was a perl5 package though
i'll have to dig it out on my other computer 17:52
sena_kun ugh. 17:54
Zoffix .hug sena_kun 17:55
huggable hugs sena_kun
sena_kun no, I just accidentally did perl6/p6-io-socket-async-ssl. :c 17:56
census Zoffix could socks be it? 18:00
Zoffix As long as they come with a scarf and a hat :P 18:01
census i have a variable with my $proxyaddress = "socks://localhost:9150"; 18:01
Zoffix census: yeah, that looks to be it.
census: then just tell the UserAgent module you're using to use that proxy 18:02
There's no control to make WWW.pm6 handle it (at least I don't know of one), so try a different module
census i had done it with mech but i guess same idea
Zoffix huggable: eco UserAgent
huggable Zoffix, nothing found
Zoffix orly 18:03
census Zoffix are you saying i can't use TOR with perl6?
Zoffix wrong bot
buggable: eco UserAgent
buggable Zoffix, HTTP::UserAgent 'Web user agent': github.com/sergot/http-useragent
Zoffix census: you can, probably
census: well, you can always use LWP::UserAgent via Inline::Perl5, but check if ^ that one has proxy support
census: I'm saying the WWW module we used originally is just for basic requests and you need a different module 18:04
census Zoffix you mean the DOM one won't be good? 18:07
census Zoffix I don't think LWP does. that was my memory of it. i had to do www::Mechanize and WWW::Mechanize::Link i'm fairly certain 18:08
i loaded all 3 of those, but i think it was one of the Mechanize ones that ddi the trick, but i may be mistaken
i remember WWW::Mechanize::Link as someting special i had to download
Zoffix What's SSA? "SSA in linear code: easy 18:15
from deopt slides
census Zoffix the google ones are simlar website: patents.google.com/?q=Babesiosis&a...r=20010101 18:16
here the output is "About 488 results" to get the 488
Zoffix census: cool. Try building a parser for it, using what you learnt from the med site parser. 18:17
census Zoffix yea i'll work on it. my concern is more about the captcha and incorporating TOR in the long-term 18:18
i don't even know if the 1st websit will present such a problem 18:19
Zoffix census: I don't really see it as a concern. Build the parser without captcha hanlding. if you get captcha, just swap the useragent module to one that does tor business 18:19
census i'll add a sleep but i know that doesn't help with ip-ban too much 18:21
MasterDuke Zoffix: i think SSA is "single static assignment" 18:26
Zoffix Thanks. 18:27
Zoffix jnthn++ just finished reading the deopt slides. Fancy pants stuff :) I challenge myself to learn how to work on that in a year :) 18:34
(slides in question: jnthn.net/papers/2017-spw-deopt.pdf )
gfldex m: supply { .emit for ^10 }.grep(* %% 2).list.say 19:14
camelia (0 2 4 6 8)
gfldex are there any operators that work with Supply or Promise?
timotimo map as well 19:15
i believe head and tail, too
AlexDaniel basically, everything that is listed in “Methods that return another Supply” here: docs.perl6.org/type/Supply 19:16
timotimo unique, squish, ...
yeah
gfldex methods aint no operators
AlexDaniel these are not operators but methods, yeah
Zoffix :)
AlexDaniel but what operator do you need? :)
timotimo grep is also not an operator
Zoffix gfldex: nothing comes to mind. Not sure how easy to grep the data for what you want is, but we have a (mildly outdated) list of all subroutines and methods: map.perl6.party/ 19:17
gfldex i don't know what operators I need. But quite often you don't know that you need stuff until you tried.
AlexDaniel zip comes to mind, and it is available as a method currently 19:18
I don't think that Z will do the right thing
Zoffix Maybe download JSON ( map.perl6.party/map.json ) and grep for `fix:` in name and `Promise/Supply` in args
m: say ^10 .Supply Z 10..20 19:19
camelia ((0 10) (1 11) (2 12) (3 13) (4 14) (5 15) (6 16) (7 17) (8 18) (9 19))
Zoffix haw
gfldex I used ⇒ in github.com/gfldex/perl6-concurrent-channelify and found it quite usefull.
timotimo huh, does that do more than just start + .Channel on a lazy list? 19:20
gfldex no but it makes chaining Channels a lot less verbose
timotimo you can .Supply.tap.Channel :D 19:21
gfldex a concurrent Z might be useful
timotimo bbiab
gfldex having `whenever $s1 | $s2 { .&yourcode() }` is something I wanted. I can create the combined Supply by hand but would prefere to reuse nice syntax I already know. 19:23
[Coke] /win 3 19:34
AlexDaniel buggable: status 20:59
buggable: bugs
buggable AlexDaniel, Total: 1689; BUG: 1091; UNTAGGED: 405; LTA: 177; NYI: 95; REGEX: 65; JVM: 60; RFC: 59; CONC: 53; TESTNEEDED: 43; REGRESSION: 32; PERF: 28; UNI: 28; SEGV: 26; IO: 22; NATIVECALL: 22; @LARRY: 21; POD: 21; TODO: 18; PRECOMP: 14; OO: 12; BUILD: 11; TESTCOMMITTED: 11; OPTIMIZER: 10; STAR: 7; BOOTSTRAP: 5; PARSER: 5; REPL: 5; GLR: 4; MATH: 4; OSX: 4; WEIRD: 3; WINDOWS: 3; RT: 2; SPES
raschipi How can I get a list of bugs tagged WEIRD 21:03
perlpilot buggable: bugs WEIRD 21:04
buggable perlpilot, There are 3 tickets tagged with WEIRD; See fail.rakudo.party/t/WEIRD for details
Zoffix The tags are also listed at the top on the site and you can click any of them 21:05
AlexDaniel: closing in on that 2,000, eh? :)
AlexDaniel is going through some old tickets 21:06
Zoffix buggable: tag TESTNEEDED
buggable Zoffix, There are 40 tickets tagged with TESTNEEDED; See fail.rakudo.party/t/TESTNEEDED for details
Zoffix weird, on the site it says 44 tickets :/
^ those are already-fixed bugs that just need a test to cover the bug to be added to test suite ( github.com/perl6/roast ). Lots of easy pickings for anyone looking to contribute. 21:07
AlexDaniel Zoffix: actually, I think ≈2000 is too few for a project like rakudo
Zoffix It should be 0 21:08
AlexDaniel any project that has a noticeable amount of users will never get close to 0 21:09
Zoffix AlexDaniel: how come?
This is a good read, BTW: www.joelonsoftware.com/2000/08/09/...tter-code/
AlexDaniel Zoffix: I don't know, that's just how it is. There's always something to improve, so unless you declare the project dead and reject all tickets you just won't get there 21:10
perlpilot it's the whole time vs priorities vs life thing.
AlexDaniel especially when you have RFCs and feature requests in the same queue 21:11
Zoffix AlexDaniel: well, we get like 35 new tickets a month. That's 7 new developers closing one ticket a week. Doesn't sound like something ridiculously impossible. 21:12
I think the problem lies in those 7 new developers prioritizing hacking on some new features, which is why the ticket number creeps up.
Like I say, this is a good read. Especially #5: www.joelonsoftware.com/2000/08/09/...tter-code/
AlexDaniel that's my original point – 35 tickets a month is too few
either everyone who has a problem does not want to deal with RT or we simply don't have enough users 21:13
perlpilot at $work we've started doing a monthly bug squish day where everyone works on bugs that day instead of features. Each time we've cleared 20-30 bugs. If we keep it up, we'll get to 0 in several months.
Zoffix \o/
AlexDaniel perlpilot: that's a cool idea actually. Maybe we should try something like this once a month. Just a day when everyone who can hangs around and does stuff, should be a fun event. 21:14
Zoffix AlexDaniel: I wonder how easy it is to report bugs to total strangers. I recently came across dlang and spotted a bug on their website. The link to report the problem was a few pixels away from where the problem was, but it told me to create an account and I just left...
+1 on a Bug Squash Day :) 21:15
AlexDaniel in fact, I was thinking about organizing something like this for a few weeks now…
Zoffix Sweet. Let's do it.
AlexDaniel my original idea was that each time a new repo is chosen
so, sometimes it may be perl6/docs, sometimes rakudo, sometimes roast
Zoffix Oh, yeah, that sounds like a good idea.
Can't remember last time I even looked at roast issues 21:16
AlexDaniel yeah
releasable6: status
releasable6 AlexDaniel, Next release in 18 days and ≈21 hours. No blockers. Changelog for this release was not started yet
AlexDaniel, Details: gist.github.com/d5e65f1ed0080c842d...fb43fcdcf4
AlexDaniel let's do it next week?
Zoffix OK. Which day?
AlexDaniel Saturday sounds like a good choice? 21:17
Zoffix AlexDaniel: and lets decide which repo we'll work on, to prepare materials for someone unfamiliar with our setup to explain how to get into it
Yeah, Saturday sounds good
Sept 2, 2017
AlexDaniel maybe perl6/doc is a good place to start? 21:18
it should be easy enough for everybody, and we'll see how it goes
Zoffix Yeah, perl6/doc is good 21:19
Zoffix preps a poster :D 21:20
perlpilot Zoffix++ AlexDaniel++ 21:22
Zoffix perlpilot++
AlexDaniel works on a wiki page
gfldex I don't have to work next weekend. 21:26
and pretty much the whole first page of doc issues are pretty low hanging. 21:27
Zoffix Great \o/ 21:28
MasterDuke would love to participate, but i've got a 7-8h drive that day. might be around in the evening though 21:29
AlexDaniel sure! Sounds great 21:30
Zoffix names it "Community Bug SQUASHathon" 21:32
AlexDaniel alright, here's a quick draft 21:43
ruoso__ Hi... I've been jumping into an interesting rabbit hole recently in grammar writing...
AlexDaniel huggable: bug squash day :is: github.com/rakudo/rakudo/wiki/Mont...Squash-Day
huggable AlexDaniel, Added bug squash day as github.com/rakudo/rakudo/wiki/Mont...Squash-Day
AlexDaniel huggable: bug squashathon :is: github.com/rakudo/rakudo/wiki/Mont...Squash-Day
huggable AlexDaniel, Added bug squashathon as github.com/rakudo/rakudo/wiki/Mont...Squash-Day
ruoso__ I'm writing a FORTRAN grammar, and I came around an interesting feature of the language, where you can say nHhhhh where "n" is the expected number of "h" characters and "h" is any character 21:44
stmuk excellent idea!
ruoso__ I can't quite figure out a way to make it match a runtime-defined number of characters 21:45
MasterDuke ruoso__: someone else wanted to do almost exactly the same thing recently (month or two ago) 21:46
ruoso__ I imagine I need to write a custom grammar method that returns a match
MasterDuke there were a couple suggestions
ruoso__ MasterDuke: any idea what I should search for?
MasterDuke trying to remember...
geekosaur hollerith strings! 21:47
MasterDuke Zoffix, AlexDaniel: ^^^ ring any bells?
AlexDaniel nope 21:49
ruoso__ I have a feeling I'm on the right track, just need to find out how to implement a rule in pure code (since a rule is Code, I presume I can replace it with a hand-written function) 21:50
timotimo m: say "10Nnnnnnnnnnn" ~~ / (\d+) H h ** { $0 } /
camelia Potential difficulties:
Space is not significant here; please use quotes or :s (:sigspace) modifier (or, to suppress this warning, omit the space, or otherwise change the spacing)
at <tmp>:1
------> 3say "10Nnnnnnnnnnn" ~~ / (\d+) H7…
timotimo m: say "10Nnnnnnnnnnn" ~~ / (\d+) "H" "h" ** { $0 } /
camelia Nil
timotimo m: say "10Nnnnnnnnnnn" ~~ / (\d+) "H" "h" ** { +$0 } /
camelia Nil
MasterDuke m: say "aa3bbbb" ~~ /(\d+)\w**{$0}/
camelia 「3bbb」
0 => 「3」
ruoso__ oh, using the braces defers the evaluation to run-time 21:51
timotimo i wrote n instead of h
m(
m: say "10Nnnnnnnnnnn" ~~ / (\d+) "N" "n" ** { +$0 } /
camelia 「10Nnnnnnnnnnn」
0 => 「10」
timotimo m: say "4Nnnnnnnnnnn" ~~ / (\d+) "N" "n" ** { +$0 } /
camelia 「4Nnnnn」
0 => 「4」
timotimo m: say "4Nnnnnnnnnnn" ~~ / (\d+) "N" "n" ** { +$0 } $ /
camelia Nil
timotimo ^- require the end-of-string in order to make it fail if there's too many
ruoso__ Thanks timotimo... that was exactly it 21:52
I was trying to do without the { }
which caused it to be evaluated too early
Zoffix \o/ 21:53
timotimo i'm glad :) 21:56
i fondly remember when froggs implemented this
Zoffix ruoso__: nah, it'd still be run time without $0, it's just with the `**` construct we require the {} for anything but basic stuff (so it doesn't clash with other stuff). 21:56
m: say "42745" ~~ / (\d+) {} .+ $0 /
camelia 「4274」
0 => 「4」
Zoffix ruoso__: ^ and the {} above is needed to update the $/
'cause it's expensive and we only do it in special places
s/without $0/without {}/; 21:57
ruoso__ Maybe it's because I was using named capture instead of numeric
timotimo should still work 21:57
Zoffix m: say "42745" ~~ / $<meows>(\d+) {} .+ $<meows> /
camelia Nil
Zoffix m: say "42745" ~~ / $<meows>=(\d+) {} .+ $<meows> /
timotimo you need a = there
camelia 「4274」
meows => 「4」
timotimo yeah :)
Zoffix ruoso__: it works, but you have to reference it as named capture instead of $0 21:58
ruoso__ regex foo { $<digits>=[<[0..9]>+] 'H' $<character_constant_datum>=[ . ** $<digits> ] }
I tried that, and it gave me "Quantifier quantifies nothing"
Zoffix ruoso__: yeah, with `**` thing you have to use {} for anything except plain numbers
ruoso__: I was talking about more general case :) 21:59
ruoso__ Right, I was expecting it to be specific to the quantifier
Zoffix IIRC there's a ticket to improve that error message.
Zoffix or maybe not 22:02
ruoso__ I mean, the error message is clear enough 22:04
what's missing is the quantifier doc giving an example on how to defer the evaluation of the number
I understood very well what the problem was :) 22:05
Zoffix ruoso__: would be cool if the error answered your original question, say with "perhaps you used a variable as a quantifier? Enclose it in { }"
And what would be even cooler is Exceptions::Detailed class that you set RAKUDO_EXCEPTIONS_HANDLER env var too and it goes into detail in exceptions 22:07
Zoffix Speaking of which. Is RAKUDO_EXCEPTIONS_HANDLER a security risk? If `.` in PERL6LIB is, kinda makes me think code you can shove into an env var would be too 22:08
m: BEGIN $*ENV<RAKUDO_EXCEPTIONS_HANDLER> = "Pwned"; class Exceptions::Pwned { method process { die "PWNED" } }; 42 + foo
camelia 5===SORRY!5=== Error while compiling <tmp>
An exception occurred while evaluating a BEGIN
at <tmp>:1
Exception details:
Dynamic variable $*ENV not found
in code at <tmp> line 1
Zoffix m: BEGIN %*ENV<RAKUDO_EXCEPTIONS_HANDLER> = "Pwned"; class Exceptions::Pwned { method process { die "PWNED" } }; 42 + foo 22:09
camelia Unhandled exception: Too many positionals passed; expected 1 argument but got 2
at <unknown file>:1 (<ephemeral file>:process)
from src/Perl6/World.nqp:2239 (/home/camelia/rakudo-m-inst-1/share/nqp/lib/Perl6/World.moarvm:)
from SETTING::src/…
Zoffix m: BEGIN %*ENV<RAKUDO_EXCEPTIONS_HANDLER> = "Pwned"; class Exceptions::Pwned { method process ($) { die "PWNED" } }; 42 + foo
camelia No exception handler located for catch
at SETTING::src/core/Exception.pm:57 (/home/camelia/rakudo-m-inst-1/share/perl6/runtime/CORE.setting.moarvm:throw)
from SETTING::src/core/control.pm:178 (/home/camelia/rakudo-m-inst-1/share/perl6/runtime/C…
Zoffix feh
m: BEGIN %*ENV<RAKUDO_EXCEPTIONS_HANDLER> = "Pwned"; class Exceptions::Pwned { method process ($) { say "PWNED"; exit } }; 42 + foo
camelia PWNED
Zoffix I guess not, since you can set PERL6LIB and load your own versions of used modules 22:10
Zoffix forgets why `.` in PERL6LIB is a risk
AlexDaniel because you can pull someones git repo, run perl6 -e 'say ‘hello world’' and your system is hacked 22:11
well, kinda
(run perl6 … in that folder of course)
Zoffix Ah, I see
AlexDaniel if someone has control over ENV variables then I guess he can do any damage he wants to 22:12
ugexe because if a privileged tool like apt-get changed directories to a directory with shared privileges then a low privilege user could make a /tmp/Log.pm that gets run when someone does `sudo apt-get ...` 22:15
except in this case it would have to be a specially crafted /tmp/Log.moarvm file 22:16
Zoffix Got it. Thanks.
timotimo AlexDaniel: oftentimes you could set env vars just by setting an HTTP header 22:23
not sure under what conditions
AlexDaniel but not arbitrary env vars? :/
timotimo ah, yes, shellshock 22:25
Zoffix Boom poster: temp.perl6.party/squashathon.pdf 22:33
Looked better on my laptop :} maybe I should wipe down the dust off the sceen
timotimo mhh squish squash 22:36
AlexDaniel awwwwwwesome
Zoffix++
lizmat Zoffix: something for the P6W I assume ? 22:37
AlexDaniel lizmat: yes!
Zoffix lizmat: yeah, we're gonna work on perl6/doc issues this Saturday and anyone is welcome to join :)
lizmat okidoki 22:38
Zoffix lizmat++
AlexDaniel lizmat: there's also this page, but it's more for the history of the thing and some technical aspects: github.com/rakudo/rakudo/wiki/Mont...Squash-Day 22:40
AlexDaniel Zoffix: by the way, I like camelia logo on that poster 22:41
it's so neutral :)
Zoffix :) 22:53
AlexDaniel Zoffix: hey. What's the easiest way to get “Ticket ID, Title” list of all RT tickets? 22:58
I need it just once
all perl6 tickets*
AlexDaniel or a json, or something 22:59
Zoffix All open ones? 23:01
AlexDaniel yea
Zoffix AlexDaniel: here's an SQLite file you can download temp.perl6.party/r6.db 23:02
AlexDaniel Zoffix: yep, that works. Thanks 23:13
Zoffix AlexDaniel: also (now implemented): fail.rakudo.party/.json?full=1 23:14
AlexDaniel Zoffix: yah, I was expecting something like this to work. Awesome. Thanks 23:14
Zoffix lizmat: made a blog post you could link to, if you like: blogs.perl.org/users/zoffix_znet/20...athon.html 23:16
lizmat Zoffix++
AlexDaniel Zoffix++ 23:17
lizmat And another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2017/08/28/...rving-cro/ 23:37
zoll how busy is perl6-users mailing list? also, are there discussions about internals, things under the hood (or, bonet if you prefer) which I would rather avoid? 23:57
zoll s/bonet/bonnet/ 23:58