japhb TimToady, nwc10: I wrote a 'concurrency' branch for Net--IRC, which I was holding off on merging at least until r-m's threading was as solid as r-j's. That seems to be very close, if not already there. I had also wanted to updated it for async I/O, which I know has landed in r-m -- but I'm sufficiently backlogged that I don't know how stable it is. 00:52
In any case, with a concurrent IRC bot on r-m, it should be very doable to start dogfooding long-lived Perl 6 services for our channels. 00:53
japhb is scrabbling for tuits as hard as he can ... 00:54
01:08 FROGGS_ joined 01:37 btyler joined 01:55 woosley joined 02:25 donaldh joined 06:47 FROGGS joined
jnthn japhb: Don't know of any issues in the async sockets, but they're heavily under-tried so far 06:58
japhb: We do have some bugs in general conc stuff still
jnthn is also hunting tuits :) 06:59
I guess tomorrow is May Day, so in theory I have time to hack up some stuff :) 07:00
07:28 zakharyas joined 07:35 donaldh_ joined
timotimo replaces a couple of if (thing) with if (!MVM_is_null(tc, thing)) in the perl6 ops file 08:18
no joy, though. 08:19
the symptom is we've got an outer that's a null pointer from an MVMCode and we only check if outer->outer is null 08:21
not quite sure why it happens that we're looking at a code entirely without an outer 08:22
apparently in capture outers we are trying to set the outer's outer to something, which can hardly work if the outer itself doesn't exist 08:24
and now i can't look at outer without thinking it's wrong
checking that for null lets us continue a bit, but i'm not sure if it'll lead to something functional 08:25
well, it gets us through the core.setting compilation and restricted.setting now fails with Cannot invoke null object 08:26
hm. we're trying to MapIter.$!block ~~ Inf 08:28
and then the line self.isNaN ?? $a.isNan !! $a == self inside Numeric breaks 08:29
moritz that looks distinctly wrong 08:33
is there both a isNaN and a isNan method?
timotimo er. typo.
it's isNaN both times
moritz seems like it could be simplified to self.isNaN || $a == self 08:34
timotimo anyway. that's where we try to invoke a null object. so i guess the problem is somewhere hidden deep within the guts of moar/rakudo rather than directly here
moritz (I know that's not what you're getting it)
timotimo hmm, any number ~~ NaN? 08:35
moritz m: say 42 ~~ NaN
camelia rakudo-moar c9f223: OUTPUTĀ«Falseā¤Ā»
timotimo how does that code give false?
moritz m: say 42 == NaN 08:36
camelia rakudo-moar c9f223: OUTPUTĀ«Falseā¤Ā»
moritz ah, never mind
I'm confused
it's correct in there
timotimo ah! 08:37
it refers to $a and then self
that makes more sense.
moritz right
timotimo if you *could* improve that bit of code, you could become a rich man :P
Real already defines isNaN to just return Bool::False 08:38
maybe that could be defined "is pure", but i don't think it makes much of a difference. 08:39
moritz only subroutines profit from 'is pure' atm 08:40
timotimo OK
once spesh gets to inlining methods, this'd get very cheap
but that seems a bit far off at the moment
AFK for now. 08:41
jnthn timotimo: Feel free to gist me your patch; it will give me a good hint to the issue if nothing else. :) 09:01
oh, nm, you pash already
will look at it later...on the train home :)
09:46 woosley joined
timotimo that sounds like "much later" though? :( 10:14
jnthn well, it's today at least :P 10:24
nwc10 it's better than "tomorrow". eg twitter.com/elonmusk/status/461055064438628353 10:32
jnthn hah. Another class who're sufficinetly into the exercises, cake break is uninteresting. Or maybe it's just the large serving of beef at lunchtime. :) 11:52
nwc10 at least you won't go horse shouting at them to get them to return from a break. :-) 11:53
jnthn
.oO( I didn't say I'm a pony, I said I'm a little horse... )
11:57
12:52 colomon joined 13:08 btyler joined 13:26 btyler joined 13:36 btyler joined 13:53 FROGGS[mobile] joined 13:57 FROGGS[mobile] joined 14:05 btyler joined 14:25 donaldh joined 14:59 FROGGS joined
jnthn timotimo: Your patch is in the right direction but it is really wrong to MVM_is_null on a frame... 17:05
It only ever makes sense on an MVMObject
timotimo ah, fair enough 17:07
jnthn All the other bits look good though
timotimo that mildly surprises me :) 17:12
trying to boot a self-made usb linux and gettting a different error every time 17:14
but mostly superblock problems during mounting or checking the filesystem
17:47 LLamaRider joined
dalek arVM/vm-null: 456e099 | jonathan++ | src/core/frame.c:
Update invocation handling for VMNull.
18:36
arVM/vm-null: 0d28951 | jonathan++ | src/core/hll.c:
Factor VMNull into null HLL mapping.
19:03
japhb Using IO::Notification.watch_path($dir) on r-m -- I only get changes directly in that directory, not recursively. Is that intended? Is there anyway to get the recursive behavior? 19:31
timotimo it is intended, we shall build a perl6-level solution for that 19:33
japhb timotimo: How can that possibly be efficient? I thought you really need to tell the file-watcher service/daemon/whatever the whole tree you wanted to look at, so that it could take advantage of OS-/FS-level support for doing that efficiently? 19:36
timotimo don't ask me 19:37
it's probably just what libuv gives us
jnthn japhb: Write a module. 19:39
japhb: There's no portable OS support for it.
japhb: You'd be horrified how horribly OSes suck at this.
btyler japhb: I was toying with watchers in go lately, and apparently the main issue is that not all platforms provide a decent recursive watch: github.com/howeyc/fsnotify/issues/...t-36683923
jnthn Windows is one of the better ones, and it's still crap.
timotimo how can windows be better than my favourite OS, linux, at ANYTHING! 19:40
japhb bak 19:47
OK, makes sense, I'll look at that bug btyler.
jnthn: :-/
lee_ OS X has FSEvents which is decent imo 19:48
japhb timotimo: For all I hate Windows (I *earned* it, BTW), I have to say that from day 1 WinNT had an *excellent* system performance monitoring system, that I didn't see replicated in free software for a long time. "top is good enough!" they all cried. :-P 19:49
Hell, I *still* miss perfmon 19:50
timotimo :D 19:55
do you know perf, btw?
that thing is pretty amazing
and what systemd does with cgroups is cool
japhb timotimo: I had not used perf before, no -- though it seems to be at a somewhat different level, just skimming the help. 20:00
One of perfmon's greatest assets was being explorable. If you understood basic OS design and HW subsystems, you could find a LOT of useful info. 20:01
timotimo OIC 20:03
20:06 rurban_ joined
japhb ... and correlate various stats easily. Plus, a fair number of services exported perfmon stat data, sorta like D counters nowadays, so you could go "I see how MS SQL is pounding the OS right now, even though it's not thrashing the disk." 20:10
dalek arVM/vm-null: b641763 | jonathan++ | src/ (15 files):
Make array and hash use VMNulls; fix fallout.

With this, NQP still builds/passes tests.
20:12
arVM/vm-null: 71dd456 | jonathan++ | src/core/hll.c:
Use MVM_is_null in gethllsym.
20:21
japhb I missed it in the backlog ... what's the advantage of VMNull? 20:28
nwc10 was on #perl6 20:29
19:58 < jnthn> lazy allocation of containers - including $!, $/ and $_
dalek arVM/vm-null: bf37fe2 | jonathan++ | src/core/interp.c:
Use MVM_is_null in sp_findmeth.
20:31
jnthn japhb: Also, null not actually being a C null that explodes wiht a SEGV.
japhb Nice on both counts. 20:35
nwc10: Clearly my attempt to stay real-time on #moarvm and let #perl6 backlog grow is biting me in the tookus. :-) 20:36
dalek arVM/vm-null: 32269a0 | jonathan++ | src/ (2 files):
A couple more placs MVM_is_null is needed.

With this, Rakudo builds and sanity-tests again.
20:42
nwc10 jnthn: you were clean on make test on Rakudo without that 20:46
will update and leave it running, but I'm going to bed
jnthn k 20:47
spectest with that isn't too bad. Have to get to S17 before I see new failure.
nwc10 the goalposts, they keep moving
"this week^W5 minutes" :-) 20:48
jnthn Will work on those S17 fails at home 20:51
gotta detrain
bbiab
nwc10 hopefully last-week jnthn was organised with the fridge
in that context, that's much better than 5-minute-ago jnthn 20:52
jnthn There's 2 imperial IPAs, an oatmeal stout, and a...corriander ale (?!) 21:10
21:10 cognominal__ joined
FROGGS hehe 21:13
I like that "(?!)"
21:23 donaldh_ joined
jnthn Turns out the coriander ale is actually a trippel! 22:04
And quite tasty too
FROGGS what is a trippel? 22:05
www.beeradvocate.com/beer/profile/192/1054/ 22:07
jnthn Yes, that's the one 22:08
FROGGS On the taste, wow, very hoppy. Didnā€™t expect that. Bitter for a trippel. Very little sweetness. Iā€™m not detecting any citrus or sweet-ish floral tastes that you might associate with a Belgian trippel. Nor any trace of this coriander. 7.8% ABV, so it packs a punch. The complexity might be there, but my taste buds have surrendered to the hops.
hehe
I could never say such things about a beer :o)
jnthn FROGGS: en.wikipedia.org/wiki/Tripel 22:09
Yes, it is bitter from its style. otoh I drink IPAs all the time so I'm finding the bitterness pretty fine :) 22:10
*for its style
FROGGS ahh, I see 22:11
dalek arVM/vm-null: 405b1ec | jnthn++ | src/io/eventloop.c:
Do VM null check in event loop.
jnthn That probably fixes the S17 regressions
japhb Watching /usr/local/google/home/gjb/foss/git/japhb-talks for changes 23:27
Noticed change at lightning-talk
Generated 1 presentation and updated index
\o/
jnthn :)
japhb That ... is ... awesome.
The one problem is that moar is idling at 103% CPU right now 23:29
Is the notifications thread busy waiting?
jnthn It's not meant to be. 23:31
But I've observed that to.
So, "not by design".
*too
But something's up.
japhb Fair enough. 23:32
jnthn Didn't have chance to investigate yet. It's on the todo list.
japhb For now, I'm content to burn a core on my desktop to have near-instant updates while I'm iterating on a slide deck, but I'm glad the bug's on the todo list. 23:33
jnthn The IO::Notifications stuff is bleeding edge, in the "still bleeding" sense. :) 23:34
japhb notes that chrome is burning another core or so ... remember when cores were actually *precious*?
*chuckle*
FWIW, watching a tree of directories is relatively easy: github.com/japhb/japhb-talks/blob/...tions#L119 23:41
Over half the complexity of that already short function is that File::Find doesn't have either skip functionality or matching/ignoring with general Code. 23:42
jnthn Still, cute solution. And merging the supplies is what I'd expect. 23:46
OK, rest time here :)
'night
japhb Good night!