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! |