Zoffix ❗❗❗🌟🌟🌟❇️❇️❇️🌠🌠🌠🎉🎉🎉⚠️⚠️⚠️🚧🚧🚧🌈🌈🌈 00:16
PART 2: Upgrade Information for Changes Due to IO Grant Work: rakudo.org/2017/04/03/part-2-upgrad...rant-work/
❗❗❗🌟🌟🌟❇️❇️❇️🌠🌠🌠🎉🎉🎉⚠️⚠️⚠️🚧🚧🚧🌈🌈🌈
MasterDuke Zoffix++ 00:21
AlexDaniel scary shit going on right there! But that's much better than having another newio branch wasted 00:27
Zoffix++
hm, so I guess cat is not going to happen now? design.perl6.org/S32/Containers.html#List 00:35
otherwise it may be confused with IO::Cat, no? 00:36
Zoffix That's Cat, not IO::Cat
And they have similarities: "lazily treat content of a list of strings as one" vs "lazily treat content of a list of file handles as one" 00:37
m: class IO::Cat {}.gist.put # maybe in this way tho 00:39
camelia (Cat)
Zoffix IO::CatHandle it is!
mst that's a filehandle that mostly sleep()s when you try to get it to do anything, right? 00:43
Zoffix heh 00:44
Geth roast: d052285878 | (Zoffix Znet)++ | S32-io/indir.t
Actually make use of test's description
01:39
roast: 04333b3baa | (Zoffix Znet)++ | S32-io/indir.t
[io grant] Test &indir fails with non-existent paths by default
roast: 73a54489fe | (Zoffix Znet)++ | S32-io/chdir.t
[io grant] Remove two fudged &chdir tests

They were fudged 5 years ago. Seems the intent is to check chdir for non-existent path fails and not throws, but one test wouldn't work now even if it were unfudged as a sunk Failure would explode.
Testing of this functionality will be subsumed by the new tests, to be added shorly.
02:28
roast: a627e59226 | (Zoffix Znet)++ | S32-io/indir.t
Fix incorrect order of arguments to indir test
03:03
Zoffix Spectest never really feels that slow, until you're in a rush :o 03:05
Zoffix enables speed mode 03:06
R is aliased to `for i in `git diff --name-only`; do echo $i; scp $i [email@hidden.address] done;' 03:07
And same for roast files :) And then I just shift-tab to terminal on fast VM and run spectest fast, while still able to edit in Atom :)
(moments like this make me a bit jealous of people who like to use vi for coding) 03:08
Geth rakudo/nom: 2483d68941 | (Zoffix Znet)++ | src/core/io_operators.pm
[io grant] Fix regression in &chdir's failure mode

Yesterday's improvement used `.= chdir` to change the CWD, but that means on failure mode, $*CWD ends up containing a Failure object. Fix by returning Failures as is and assigning to $*CWD only on successes.
  [1] github.com/rakudo/rakudo/commit/a0...4b18086a12
03:10
roast: 86f79ce194 | (Zoffix Znet)++ | S32-io/chdir.t
[io grant] Expand &chdir tests
03:11
rakudo/nom: 5464b82007 | (Zoffix Znet)++ | src/core/io_operators.pm
[io grant] Improve &*chdir

  - fail() not throw()
  - return $*CWD, just like &chdir does
  - Coerce argument to IO::Path instead of Str and use its .absolute as new CWD.
   This prevents accidental use of wrong path to chdir to when given some
   IO::Path objects, since ther .Str does not take its $!CWD into account
04:12
roast: 430ab897a8 | (Zoffix Znet)++ | S32-io/chdir-process.t
[io grant] Test &*chdir
rakudo/nom: 4c31903e93 | (Zoffix Znet)++ | t/spectest.data
[io grant] Add S32-io/chdir-process.t to list of test files to run
04:22
roast: b41a8ad41a | (Zoffix Znet)++ | S02-types/int-uint.t
Unfudge passing int64 tests

The fudge line covers more than just the newly-passing test, so duplicate the test in an if/else branch to just fudge it for tests that are not for int64
04:48
Zoffix ZOFVM: Files=1231, Tests=133141, 112 wallclock secs (21.36 usr 3.09 sys + 2340.76 cusr 126.00 csys = 2491.21 CPU) 04:58
ZOF6VM: Files=1231, Tests=133141, 224 wallclock secs 05:06
Geth nqp: e5f9b825c3 | (Samantha McVey)++ | 2 files
Better Configure.pl errors when finding a MoarVM binary w/o version
06:29
nqp: 097acbfe77 | (Samantha McVey)++ | tools/lib/NQP/Configure.pm
blah
samcv oops. RE 2nd commit 06:30
oh well. i tried to Ctrl + C
was having a problem using ./Configure.pl in nqp. so now i added new error detection so it will tell you if your MoarVM doesn't supply a version but works and need to checkout tags and recompile 06:31
and made the specific errors display at the top instead of at the bottom so easier to find the most relevant info.
[Tux] This is Rakudo version 2017.03-115-g4c31903e9 built on MoarVM version 2017.03-88-g21fc7a22 06:50
csv-ip5xs 3.229
test 12.392
test-t 4.843 - 5.029
csv-parser 13.011
dogbert17 hmm, there are several spectest failures 09:17
dogbert17 suspect IOninja++ doing io work
lizmat Files=1181, Tests=56159, 204 wallclock secs (12.14 usr 4.81 sys + 1208.52 cusr 116.91 csys = 1342.38 CPU) 09:37
yes, indeed 09:38
dogbert17 nqp: blah :) 10:05
camelia Confused at line 2, near "blah :)"
at gen/moar/stage2/NQPHLL.nqp:765 (/home/camelia/rakudo-m-inst-1/share/nqp/lib/NQPHLL.moarvm:panic)
from gen/moar/stage2/NQP.nqp:915 (/home/camelia/rakudo-m-inst-1/share/nqp/lib/nqp.moarvm:comp_unit)
from gen/mo…
Geth rakudo/nom: 5ae454976b | (Elizabeth Mattijsen)++ | src/core/set_operators.pm
Streamline generic handling of (<+) (>+)

Making it about 15% faster: mostly because of using .AT-KEY, thereby skipping the {} step.
10:32
roast: 47581980e1 | (Pawel Murias)++ | S02-lexical-conventions/unicode.t
[js] Fudge lack of full unicode support
11:07
nqp/master: 5 commits pushed by (Pawel Murias)++ 12:04
rakudo/nom: b64f210c7f | (Elizabeth Mattijsen)++ | 2 files
Add internal raw_hash method to Setty/Baggy

To allow set operators access to internals, so that we can speed up the common cases by orders of magnitude.
12:13
lizmat hmmm... isn't (>+) the same as R(<+) ? 12:30
m: class A { method succ() { ^42 .pick } }; say (A .. *).head(10) # wonder if this is a bug 12:46
camelia ((A) 27 28 29 30 31 32 33 34 35)
lizmat or a DIHWIDT
Geth rakudo/nom: 1277fb5875 | (Elizabeth Mattijsen)++ | src/core/set_operators.pm
Simplify (>+) as it is just R(<+)
12:48
[Coke] Zoffix: I ended up not having time to review. I hope you got some feedback on your IO stuff. 12:49
jnthn lizmat: What would the bug be? :) 12:52
But yeah, I think the doctor would be like "stop taking that stuff" :P 12:53
Geth rakudo/nom: 224e40f22f | (Elizabeth Mattijsen)++ | src/core/set_operators.pm
Make Setty (<+)/(>+) Setty at least 25x faster

  - this is for worst case in identical Sets of 26 strings
  - no need to re-calculate .WHICH, so still faster for expensive .WHICHes
  - shortcuts for empty Settys and Settys with different number of elements
13:04
Zoffix dogbert17: what sort of failures? There should be no failures on HEAD 13:06
lizmat Zoffix: t/spec/S32-io/chdir-process.t 2-4 13:15
t/spec/S32-io/indir.t 10-21, 26, 28-29, 31, 34, 36, 38, 40, 42-43, 50, 52, 58, 62, 66
seeing them since sometime last night, possibly earlier 13:16
dogbert17 Zoffix: what lizmat said 13:18
dogbert17 can retry in a bit 13:20
Zoffix lizmat: and yet no faiures in t/spec/S32-io/chdir.t? 13:23
lizmat checks
Zoffix That's really weird. Based on the numbers, looks like something to do with $*TMPDIR, but chdir.t does use it just as indir.t does :/ 13:24
lizmat t/spec/S32-io/chdir.t is ok
Zoffix :S
lizmat I think symlinks are involved 13:25
expected: '/var/folders/7_/ndrzv7y14fj0zxjx3fy0hfjm0000gn/T/
got: /private/var/folders/7_/ndrzv7y14fj0zxjx3fy0hfjm0000gn/T
Zoffix lizmat: which test is that? one of chdir-proccess.t ones? 13:26
lizmat /var is a symlink to /private/var on MacOS apparently
yeah
Zoffix OK, I'll try making my $*TMPDIR a symlink and see if it explodes 13:27
lizmat so perhaps chdirring to a symlink is borked ?
(or at least the test is borked :-)
dogbert17 All tests successful. 13:29
Files=1169, Tests=55610, 423 wallclock secs
Result: PASS
that's with 3 cores
Geth roast: bc1c3a56c4 | (Zoffix Znet)++ | S32-io/chdir-process.t
Fix tests to work right when $*TMPDIR/$*HOME are a symlink
13:35
Zoffix That fixes chdir-process...
Zoffix looks at indir ones
Geth rakudo/nom: 38b341aec8 | (Elizabeth Mattijsen)++ | src/core/set_operators.pm
Make Mixy (<+)/(>+) Mixy at least 5x faster

  - this is for worst case in identical Mixes of 26 strings
  - no need to re-calculate .WHICH, so still faster for expensive .WHICHes
  - shortcuts for empty Mixes and Mixes with different number of elements
13:38
Zoffix Can't repro the issue there. 13:40
lizmat: would you pastebin output of t/fudgeandrun t/spec/S32-io/indir.t ? I wanna see details of what fails and what was expected. 13:41
lizmat Zoffix: gist.github.com/lizmat/7b2ee0a9abd...2e47823c93 13:45
Zoffix Thanks. 13:46
Geth roast: e03ccac0b4 | (Zoffix Znet)++ | packages/Test/Util.pm
Make make-temp-[file|dir] fully resolve $*TMPDIR

This prevents problems when $*TMPDIR is a symlink and, say, is used someplace to make a path relative to it. If the symlink is not the same level as the actual temp dir, the relativenes will have too few/too many steps in it.
14:01
Zoffix lizmat: that fixes it.
lizmat :-) 14:05
Geth rakudo/nom: 928a406a8e | (Elizabeth Mattijsen)++ | src/core/set_operators.pm
Make Baggy (<+)/(>+) Baggy at least 6x faster

  - this is for worst case in identical Bags of 26 strings
  - no need to re-calculate .WHICH, so still faster for expensive .WHICHes
  - shortcuts for empty Bags and Bags with different number of elements
14:06
timotimo nice.
Geth rakudo/nom: 1ebeeb382c | (Elizabeth Mattijsen)++ | src/core/set_operators.pm
Broaden acceptance in (<+)/(>+)

  - all Quanthashes can be considered Settys for (<+)/(>+)
  - all Baggys can be considered Mixys for (<+)/(>+)
14:31
lizmat afk for a few hours&
Geth roast: 86c5f9c4a4 | (Zoffix Znet)++ | S32-io/path.t
[io grant] Delete qp{} tests

This file is currently not being run and the 4 qp{} tests test a non-existent feature. We likely won't want that feature ever anyway, as ''.IO is much clearer and is just 1 extra character to type.
The file will be repurposed for generic IO::Path tests.
15:18
[Coke] Zoffix++ #cleanups galore. 15:28
Geth roast: 3c4e81b656 | (Zoffix Znet)++ | S32-io/path.t
[io grant] Test IO::Path.Str works as advertised
15:37
roast: ba3e7be375 | (Zoffix Znet)++ | 2 files
[io grant] Merge S32-io/path.t and S32-io/io-path.t
15:40
Zoffix Oh shit. It's my bday \o/ 15:46
Zoffix leaves to bake celebratory chicken wings and play celebratory video games
[Coke] Zoffix: happy birthday, youngster. 15:47
perlpilot Zoffix: happy birthday! :)
Zoffix Thanks.
stmuk m: say "\c[BIRTHDAY CAKE]" 16:19
yoleaux2 23 Jan 2017 23:32Z <samcv> stmuk: can you syndicate my perl 6 blog o/ pl6net? feed cry.nu/feed.xml
camelia 🎂
timotimo happy birthday Zoffix! 16:53
Zoffix Thanks. 18:53
Time for some celebratory hacking \o/
perlpilot Zoffix++ you really know how to celebrate! :-) 19:18
Zoffix :)
samcv oh i said that a while ago. hello stmuk 19:25
Geth rakudo/nom: cb27bce745 | (Zoffix Znet)++ | 2 files
[io grant] Clean up &open and IO::Path.open

The dance with $handle and .throw is pointless as .new will never return a :U thing.
19:26
samcv time to put my birthday present in my laptop to get double cores :) 19:30
also happy bday Zoffix 19:31
Zoffix Thanks.
samcv be back once i have multiplied :-)
Zoffix hbday to you too
samcv you too :-) 19:32
vendethiel
.oO( I guess we should avoid incrementing Zoffix too often )
19:39
(happy bday, Zoffix++) 19:40
stmuk samcv: yes maybe the bot was lagged .. your blog was syndicated anyway! 21:17
lizmat stmuk: was it ? I don't seem to see it ? 21:26
samcv is taking a lot of time to multiply :-( Hope all is well! 21:28
timotimo it's vendethiel! 21:32
lizmat and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2017/04/03/...-advances/ 22:19
lizmat gets some sleep 22:29
timotimo gnite lizmat!
samcv has now multiplied 22:39
heh and since my TEST_JOBS env var is based on nproc + 1 and so is make, don't even have to touch anything 22:40
timotimo nice 22:41
samcv 2->4 cores; 2.6->2.7Ghz base; and 3.3->3.7Ghz max freq 22:45
nice that's a pretty huge jump in max frequency
double the cache
timotimo nice. 22:47
but isn't the max only achievable when you're using just a single core? 22:48
i'm not sure how this "turboboost" stuff works
samcv i don't think so 22:49
timotimo excruciating to watch an appveyor build do its thing when you're not yet sure if the config is correct ...
samcv heh 22:50
timotimo NMAKE : fatal error U1065: invalid option 'j'
GGGAAAAAHHHHHhhhhhh
samcv i know that feel
timotimo it boggles my mind that there are people who develop using windows like ... by choice 22:51
Zoffix lizmat++ good weekly 22:52
samcv making rakudo is not much faster
but running the tests should hopefully take half the time now 22:53
timotimo yeah, should 22:59
i heard using the harness5 is also noticably faster than the harness6
samcv i never did end up getting a camelia sticker 23:07
timotimo t\nqp/019-file-ops.t (Wstat: 0 Tests: 104 Failed: 0) 23:08
Parse errors: Bad plan. You planned 107 tests but ran 104.
t\qregex/01-qregex.t (Wstat: 0 Tests: 781 Failed: 0)
TODO passed: 342
t\moar/08-indexic.t (Wstat: 0 Tests: 97 Failed: 0)
TODO passed: 10
i wonder what that's all about
how do i get the tests to be verbose on windows with nmake? 23:37
i believe we have a VERBOSE=1 flag or something?
samcv uh 23:38
timotimo, you want `nmake -n` 23:39
`nmake -n spectest`
and then it'll give you the command that it runs, then you can type that in with verbose
that's what I do
verified nmake does have that option
timotimo no i want the prove to not swallow all the test descriptions 23:41
samcv cool cry.nu/coverage/is now dated and shows the nqp version and moarvm version 23:47
and it *should* also tell you if there are failed tests below where the date is
and it would be nice if the links on the right frame would open on the left 23:48
timotimo target="_name_of_right_frame"
samcv yeah 23:49
the boxes were resizeable but i broke it
timotimo :S
samcv they look resizeable at least. that's half way there
timotimo will nmake -n actually give me the output from all those tests?
samcv it will tell you the command that runs so you can modify it
to be verbose
timotimo oh 23:50
we have test-loud