|
Parrot 1.8.0 Zygodactyly released | Priority: trac.parrot.org/parrot/wiki/ClassV...eOverrides | Latest modified TT's: icanhaz.com/parrotbugs | Parrot Languages: icanhaz.com/parrotlang Set by moderator on 1 December 2009. |
|||
| pmichaud | so, is the NQP version creating 10x PMCs during execution as the PIR version? | 00:00 | |
| chromatic | No. | ||
| The GC is an order of magnitude more efficient with NQP. | |||
| pmichaud | sounds to me like it's doing redundant work somehow | 00:01 | |
| chromatic | I agree. | ||
| pmichaud | when we do a gc run, do we not reclaim all of the garbage pmcs? | ||
| tewk | conservative collectors can mistake bit patterns for actual references, do you spawn a subbordinate run loop that points to a bunch of garbage that isn't being collected in the pir case? | 00:03 | |
| pmichaud | I mean, if the nqp version is reclaiming 10x PMCs on each run, then either there have to be 10X PMCs being generated between runs, or we're "collecting" the same PMCs over and over | ||
| this is all fairly straightforward PIR -- the main way we'd be getting subordinate runloops would be via exception handlers | 00:04 | ||
| tewk | or lots of PMCS are marked as live when they really aren't in the pir case | ||
| IMCC launches subordinate runloops right? | |||
| pmichaud | but the load_bytecode example demonstrates that it's not likely due to subordinate runloops | ||
| in the load_bytecode example, there's no invocation of imcc, and there aren't any exceptions | 00:05 | ||
| yet it takes significantly longer. | |||
| tewk | It be interesting to see the number of live PMCS at each GC as well as the number reclaimed. | 00:08 | |
| chromatic | Aha. | 00:09 | |
| Coke | I like it when chromatic says that. | ||
| chromatic | It's the replenish level. | 00:10 | |
| In the PIR code, the number of objects per arena in the PMC pool eventually grows from 2048 to 3584. | 00:11 | ||
| In the NQP code, it eventually grows from 10976 to 19208. | |||
| The PIR code can reclaim just enough headers that it never bumps up the pool size. | 00:12 | ||
| The NQP code apparently keeps enough headers alive between GC runs that it needs to bump up the pool size and allocate more headers. | 00:13 | ||
| Thus, the NQP code has larger pools and needs to run the GC much less. | |||
| pmichaud | and so each run reclaims more PMCs | ||
| ? | |||
| chromatic | Right. | 00:14 | |
| More garbage accumulates between runs. | |||
| pmichaud | that leaves me with two questions then | 00:15 | |
| tewk | Less runs of the garbage collector, less time spent marking. | ||
| pmichaud | (1) what about the load_bytecode case -- what do the arena sizes look like then? | 00:16 | |
|
00:16
lucian joined
|
|||
| pmichaud | (2) does "more garbage accumulation" explain the increased execution time? | 00:16 | |
| tewk: but what we're seeing is really the opposite (isn't it?). If NQP is doing fewer gc runs, why do the fewer GC runs translate into significantly slower execution? | 00:17 | ||
| chromatic | In the PIR code with load_bytecode, the number of objects per arena in the PMC pool eventually grows from 10976 to 19208. | ||
| japhb | pmichaud, O() > O(n)? | ||
| chromatic | NQP doesn't run slower for me. | ||
| pmichaud | it does for me, though. | ||
| chromatic | I also don't care about wallclock time. It's not accurate enough. | ||
| pmichaud | chromatic: these numbers are incredibly repeatable on my system though | 00:18 | |
| every time I run the nqp version, it's 20.5 seconds +/- 0.2 | |||
| every time I run the PIR version, it's 9.8 seconds +/- 0.2 | |||
| (this for the case of $N == 28) | 00:20 | ||
| darbelo | repeatable != accurate, says the guy that's consistently wrong ;) | ||
| chromatic | I changed the replenish threshold to 50%, and now the PIR and NQP versions are very close in speed. | 00:24 | |
| pmichaud | what was it previously? | ||
|
00:25
plobsing joined
|
|||
| pmichaud | ...and you're not seeing a 2x difference between the two, right? | 00:25 | |
| cotto_work | What code did you change? | ||
| chromatic | It was 30%. | ||
| pmichaud | has anyone else been able to duplicate the results I'm seeing on my system? | ||
| (i.e., the NQP version takes 2x longer to run than the PIR version ?) | 00:26 | ||
| chromatic | cotto_work, src/gc/gc_private.h line 42 | ||
| japhb | pmichaud, repeat the exact commands you want us to try, and I'll run it on this box (32-bit Linux) | ||
|
00:26
payload joined
|
|||
| pmichaud | japhb: nopasting | 00:26 | |
| japhb | pmichaud, thx | ||
| pmichaud | (takes me 60 seconds to run :-) | 00:28 | |
| japhb | :-) | ||
| nopaste | "pmichaud" at 66.25.4.52 pasted "nqp benchmark for others to try" (36 lines) at nopaste.snit.ch/18918 | 00:29 | |
|
00:32
jsut_ joined
|
|||
| japhb | fib-6.nqp takes 10.977s user time, and fib-6-nqp.pir takes 11.077s user; the pir compile alone takes 0.176s user. | 00:33 | |
| This is with parrot r42822 | |||
| pmichaud | weird. so your results match chromatic's | ||
| nopaste | "darbelo" at 190.136.175.208 pasted "OpenBSD i386 results" (13 lines) at nopaste.snit.ch/18919 | ||
| japhb | Worth it to update to HEAD and try again? | ||
| pmichaud | I think I'm on head, yes. | 00:34 | |
| or pretty close to it | |||
| japhb | OK, the compile will take a while | ||
| pmichaud | r42834 | ||
| darbelo | nopaste.snit.ch/18919 is for r42840 | ||
| chromatic | The only other possibilities I can imagine are a difference for 64-bit machines (plausible, with regard to arena sizes) and uncommitted changes in pmichaud's copy (possible, but less likely). | ||
| japhb | HEAD appears to be r42840 | 00:35 | |
| pmichaud | the only uncommitted change in my copy is the parrotinterpreter.pmc change that chromatic++ suggested earlier | ||
| otherwise this is really a brand-new checkout | |||
| japhb | chromatic, you said you were on 64-bit like pmichaud was ... and I'm on 32-bit (original Core Duo) | ||
| chromatic | I'm on 32 bit. | 00:36 | |
| japhb | Ah, I misread you earlier then. | ||
| pmichaud | in fact, it's mostly a brand new system, as I reinstalled kubuntu yesterday and started with fresh checkouts of everything | ||
| japhb | .oO( Now would be a good time for my 64-bit system to be not dead ) |
00:37 | |
| pmichaud | I could try it on feather.... wall clock time is very unreliable there, but we should be able to see a 2x difference | ||
| japhb | chromatic, do arena sizes make any attempt to account for change in word size? | 00:39 | |
| pmichaud | I'll also try it on my notebook (also 64-bit, but a different machine nontheless) | ||
| *nonetheless | |||
| japhb | At HEAD, the results are essentially the same (delta both the NQP and PIR cases being a few dozen milliseconds faster, we must have had some tiny optimizations lately) | 00:41 | |
|
00:41
jsut joined
|
|||
| chromatic | Not really. | 00:41 | |
| japhb shrugs | |||
| pmichaud | milliseconds aren't significant in wall clock time | ||
| japhb | Could have been simple variance | ||
| pmichaud | even full seconds aren't always significant | ||
| japhb | I wasn't using wall time, but rather user time. But yes, I know that varies too. | 00:42 | |
| pmichaud | right.... my user times vary as well. | ||
| er, I should say, my user times show 2x differences | |||
| chromatic | Let's see how these minor tweaks help. | 00:43 | |
| nopaste | "pmichaud" at 66.25.4.52 pasted "results on my 64-bit notebook (also kubuntu 9.10)" (25 lines) at nopaste.snit.ch/18920 | 00:45 | |
| dalek | rrot: r42841 | chromatic++ | trunk/src/gc/gc_private.h: [GC] Increased replenish threshold to 50%, in hopes of making arenas grow to |
00:46 | |
| rrot: r42842 | chromatic++ | trunk/src/gc/gc_ms.c: [GC] Reversed the free_list check condition in gc_ms_more_traceable_objects() |
|||
| rrot: r42843 | chromatic++ | trunk/src/pmc/sub.pmc: [PMC] Explicitly set some Sub attributes to PMCNULL to avoid spurious marking. |
|||
| chromatic | pmichaud, can you time it without the fakecutable? | 00:47 | |
| pmichaud | sure | ||
| nopaste | "pmichaud" at 66.25.4.52 pasted "fakecutable versus .pbc (notebook, 64-bit)" (17 lines) at nopaste.snit.ch/18921 | 00:48 | |
| "pmichaud" at 66.25.4.52 pasted "fakecutable versus nqp-rx.pbc versus .pir (notebook, 64-bit)" (25 lines) at nopaste.snit.ch/18922 | 00:50 | ||
| chromatic | How about after r42843? | ||
| pmichaud | haven't tried that yet | ||
| japhb starting recompile as well | 00:51 | ||
| pmichaud | (recompiling now) | 00:52 | |
|
00:52
abqar joined
|
|||
| chromatic | Looks like a 13.763% performance improvement on the NQP version. | 00:52 | |
| 13.984% on the PIR version. | 00:53 | ||
| nopaste | "pmichaud" at 66.25.4.52 pasted "r42483 fakecutable versus nqp-rx.pbc versus .pir (notebook, 64-bit)" (32 lines) at nopaste.snit.ch/18923 | 00:54 | |
| pmichaud | r42483 definitely helps the nqp version a lot, doesn't help the PIR version as much | ||
| there's still a 40% difference between the two, though. | 00:55 | ||
| japhb | Yeah, closed the gap considerably | ||
| chromatic | GC arena sizes in the 64-bit world then. | 00:56 | |
| japhb | Oh this is interesting | ||
| pmichaud | I can confirm that on 32-bit (feather) I also see that the NQP and PIR versions have similar execution profiles. | ||
| japhb | Suddenly, my PIR version got faster (and the NQP stayed the same) | ||
| pmichaud | so it's something about the 64-bit world that causes the slowdown | 00:57 | |
| japhb | Now fib-6.nqp is 10.741 user time, fib-6-nqp.pir is 8.233 user | ||
| chromatic | Pointer sizes and the objects-per-pool calculation. | ||
| japhb | So my NQP time dropped by about .2s, and the PIR version dropped from 11.077 to 8.233 | 00:58 | |
| chromatic | Whiteknight mentioned that a while back. We need to get that sizeof (PMC *) out of there. | ||
| msg whiteknight It's time to fix the number of initial headers created in the GC -- no more relying on pointer sizes. | 00:59 | ||
| purl | Message for whiteknight stored. | ||
| pmichaud | the load_bytecode still causes the execution profile to slow down significantly, though | 01:00 | |
| I guess because it increases the objects-per-arena | |||
| I can turn this into a PIR program that we can use for more profiling tests | 01:01 | ||
| chromatic | That'd be handy. | 01:02 | |
| pmichaud | I wonder if I should go back to 32-bit on my desktop, though. | 01:05 | |
| I suppose I could install 32-bit on an empty partition just to see how it compares to 64 bit | 01:06 | ||
| Coke hurls www.childsplaycharity.org/ in case anyone here is a gamer and doesn't know about it. | 01:08 | ||
| japhb | They're doing quite well this year, I see. | 01:09 | |
| chromatic vanishes for a bit | 01:10 | ||
| nopaste | "pmichaud" at 66.25.4.52 pasted "fib-6 benchmarks and timing, 64-bit desktop (for pmichaud)" (37 lines) at nopaste.snit.ch/18924 | 01:12 | |
| pmichaud | time to do a 32-bit install | 01:13 | |
|
01:30
kid51 joined
|
|||
| Coke | kid51: hey | 01:37 | |
|
01:37
brrant joined
|
|||
| dalek | rtcl-nqp: f5f5537 | (Will Coleda)++ | TODO: add to pile |
01:38 | |
| rtcl-nqp: 03b8836 | (Will Coleda)++ | src/PmTcl/commands/info.pm: Add basic [info commands] |
|||
| rtcl-nqp: 78524e7 | (Will Coleda)++ | (3 files): add stubs for [package] |
|||
| Coke wonders how to implement an op that isn't a :pirop | 01:45 | ||
| cotto ponders the koan of the op which isn't an op | 01:47 | ||
|
01:49
JimmyZ joined
01:58
Limbic_Region joined
02:13
mikehh joined
|
|||
| Coke | pmichaud: hurm. running the N tests we can run, partcl is taking 7.77s, partcl-nqp is taking 10.2s (using -q on partcl to stop the load of the stdlib to make it a fair fight.) | 02:13 | |
| japhb | That seems not too bad considering you went up a level in implementation language | 02:15 | |
| Tene | Coke: explain what you want to implement? | 02:18 | |
| Coke | Tene: I want to have == call a function in NQP, not be directly mapped to a pirop. | ||
|
02:19
mikehh joined
|
|||
| Tene | PAST::Op.new( :pasttype('call'), :name('function'), ... ); ? | 02:19 | |
| Coke | token infix:sym<==> { <sym> <O('%equality_numeric, :pirop<iseq Inn>')> } | 02:20 | |
|
02:21
Andy joined
|
|||
| Coke | japhb: it's also doing a hell of a lot less. it's only going to get slower, I fear. | 02:22 | |
| Tene | Oh, the .O stuff... I don't understand that part yet. | 02:24 | |
| Coke: I'll keep a watch for that and get back to you after I've converted abc and squaak. | |||
| Coke | Tene: danke. | 02:35 | |
|
03:16
JimmyZ joined
03:45
allison joined
|
|||
| dukeleto | msg japhb what is up with this? gist.github.com/246915 | 03:51 | |
| purl | Message for japhb stored. | ||
| japhb | dukeleto, that's ... odd | 03:52 | |
| dukeleto | japhb: my luck | 03:54 | |
| japhb | I don't know if it matters, but I'm up at Parrot r42843 now | 03:55 | |
| Actually, let me recompile and make sure nothing broke recently | |||
| dukeleto | japhb: sounds good | ||
| japhb | Yep, looks good, and all tests passing | ||
| (not that we have nearly enough tests, mind you ....) | |||
| dukeleto | japhb: how do you feel about getting a faster test harness for plumage, written in PIR instead of NQP? | 03:56 | |
| japhb | Sounds fine with me ... but remember, it either has to ship with Parrot or Plumage. No external project dependencies. :-) | 03:57 | |
| dukeleto | japhb: this faster one also has tests, which currently our harness does not have | ||
| japhb | nodnod | ||
| dukeleto | japhb: no external deps other than parrot :) | ||
| dalek | rrot-plumage: 939edf9 | leto++ | : [cage] Get rid of useless slurp()'ing of the test file in t/harness |
||
| dukeleto | japhb: github.com/leto/tapir | ||
| tapir? | |||
| purl | somebody said tapir was being written to be testable from the ground up, unlike nqpTAP | ||
| japhb | I assume you mean Tapir. Which means you ought to get Tapir snapshotted into Parrot RSN. ;-) | ||
| dukeleto | japhb: i think it is easier to get tapir into plumage first. plumage has simpler needs | 03:58 | |
| japhb | So ... I can't replicate your Plumage build fail right now. | ||
| make realclean and start over? | |||
| I'm fine with copying Tapir in | |||
| dukeleto | japhb: yep. i was using an installed parrot and that is probably the issue | ||
| japhb: sweet. it is very close to being ready | 03:59 | ||
| japhb | Since you're a Plumage committer, the copyright issue should go away | ||
| I always use an installed parrot. | |||
| dukeleto | japhb: you don't use --parrot_config=... ? | ||
| japhb | never | ||
| On the short list of Plumage features: upgrade parrot, upgrade itself, and then upgrade all the installed projects. | 04:00 | ||
| japhb short on tuits ATM | |||
| dukeleto | japhb: yes, tapir is artistic 2.0, but snapshots can go into parrot or plumage since I am a parrot committer, correct? | 04:01 | |
|
04:01
allison joined
|
|||
| japhb | Right. If the license is the same, and you've done a PaFo CLA (which you must have, to get your Plumage commitbit), there's no issue. | 04:01 | |
| dukeleto | japhb: sounds good, just checking. it is the same setup as nqp-rx | 04:02 | |
| japhb | nodnod | ||
| dukeleto | japhb: what do you need help with on plumage that i can actually do? | ||
| japhb | #1 is write tests | 04:03 | |
| dukeleto | purl, tapir is also github.com/leto/tapir | ||
| purl | okay, dukeleto. | ||
| dukeleto | japhb: i have a general idea of writing tests for nqp-rx and plumage. which are most useful to you in nqp-rx? | 04:04 | |
| japhb | You should be able to write tests for Glue.pir, Util.nqp, and Plumage/Metadata.nqp at the very least. Possibly the other Plumage/*.nqp as well, but I haven't worked hard on testability of those yet. | ||
| Wait, tests *of* nqp-rx? | |||
| dukeleto | japhb: yes, tests in the nqp-rx repo | ||
| japhb: i have a commit bit for that as well ;) | |||
| japhb: does Glue.pir get installed anywhere? | 04:05 | ||
| japhb: i basically have a copy of qx() in tapir and it would be nice if some library provided that instead. but then dependencies/etc.... | 04:06 | ||
| japhb | Oh, I dunno. I mean, if you want to do forward-looking tests for NQP-rx (meaning, tests of stuff we *want* as opposed to already there), look at wiki.github.com/perl6/nqp-rx/plumage-requests | ||
| #1 request there is Full hash literals / constructors | |||
| Right now, ironically enough, nothing in Plumage installs anywhere. It is on my list for Parrot 2.0 to make Plumage installable and snapshot it into Parrot just as NQP-rx is. | 04:07 | ||
| I don't think I can make it by 1.9, but I suppose hope springs eternal. | |||
| dukeleto | also known as icanhaz.com/plumage-requests | ||
| japhb | dukeleto, well OK then. | 04:08 | |
| Do you own icanhaz.com? | |||
| dukeleto | japhb: no. | ||
| japhb: just a random url shortener | |||
| japhb | Oh, I see the credits at the bottom, got it. I just figured one of the #parrot crew had to be an owner, because we keep using that site, when other url shorteners are much ... well ... shorter. | 04:09 | |
| dukeleto | japhb: you can use whatever site you want. I just end up making short url's first and that is what i use :) | 04:10 | |
| japhb | :-) | ||
| dukeleto | japhb: feel free to optimize the length of our short urls >;) | 04:11 | |
| japhb | heh | ||
| When I need really, really short I use j.mp | |||
| dukeleto | wowzers | ||
| owned by twitter, though | 04:12 | ||
| i defer from the big url shorteners because i don't want to be their link juice | |||
| japhb | nodnod | 04:13 | |
| dukeleto | i call shenanigans on our priority this week | ||
| i went to the wiki page, and i have no idea how to help | |||
| japhb | I wish there was a url that short owned by the good guys | ||
| dukeleto | ENEEDMOREDIRECTIONS | ||
| japhb | And in truth, the real priority seems to be "Make GC & PCC performance suck less" | 04:14 | |
| dukeleto | japhb: xrl.us is run by a perl hacker | ||
| why the junk is this weeks priority classvtableoverrides then? | 04:15 | ||
| japhb | Might have been set prior to pmichaud & chromatic's discoveries today | 04:16 | |
| (and never updated) | |||
| dukeleto | interesting, i haven't backlogged | 04:19 | |
| japhb | dukeleto, also check email, the whole thread starts there | 04:20 | |
|
04:25
JimmyZ_ joined
|
|||
| dukeleto | japhb: yeah, i took a break from email for a few hours :) | 04:26 | |
| japhb | silly boy | 04:27 | |
| cotto | The priorities discovered earlier today don't really apply to people not interested in gc hacking. | 04:28 | |
| though I'm sure this would be an excellent time to dive into writing a new gc if anyone were interested | |||
|
04:29
JimmyZ_ joined
|
|||
| japhb | cotto: or PCC hacking, or profiling analysis, ... | 04:29 | |
| cotto | or those | 04:31 | |
| dalek | TT #1090 closed by dukeleto++: Convert t/pmc/exporter.t to PIR | 04:33 | |
|
04:33
JimmyZ__ joined
|
|||
| Tene | dukeleto: getting plumage installable would be great. japhb has expressed concern over getting that done before 1.9 | 04:34 | |
| dukeleto | Tene: yes, it would be | ||
| Tene | If you're looking for a priority. >.> | 04:35 | |
| dalek | TT #1114 closed by dukeleto++: [patch] Converted some tests from perl to pir | 04:36 | |
| dukeleto | parrot compiles warn with ./src/pmc/callsignature.pmc: In function āParrot_CallSignature_set_integer_keyedā: | 04:42 | |
| japhb | dukeleto, Tene: One task would be to get consensus on which directory Glue.pbc and Util.pbc ought to be installed into. I suppose we could just put them into Plumage/ in the lib dir, but they are more general than just for Plumage (any remaining vestiges of Plumage-only-functions can be easily pulled out and moved elsewhere) | 04:43 | |
| But if not within Plumage/, they need better names. | 04:44 | ||
| Tene | I still vote for Plumage/ | ||
| Other tools can still load Plumage::Glue | |||
| japhb | Fine by me, I don't really care ... but others might | 04:45 | |
| Tene | What objections do you imagine others might have? | ||
| dukeleto | the code began as glue for Plumage, seems about right | ||
| japhb tries to pick his battles ... but the first step is knowing what might be a battle in the first place | |||
| dukeleto | we could call it HLL::Glue | ||
| japhb | dukeleto, yes, but it is way more than that now. I've implemented grep, map, reduce, ... | 04:46 | |
| Then again, any real HLL would have their own version of same | |||
| dukeleto | japhb: what have you done in PIR and what is in NQP? | ||
| Tene | japhb: so maybe Bootstrap/Utils? | ||
| dukeleto | yes, but what about qx() ? | ||
| japhb | I've tried to make Glue.pir only contain stuff that is a pain to write directly in NQP. Everything else has been moved to Util.nqp at this point. | 04:47 | |
| (And if NQP-rx ever implements a wrapper around root_new, another big chunk of Glue.pir can go away.) | 04:48 | ||
| Maybe NQP/Glue and NQP/Util ? | |||
| Actually, that feels decent as a namespace. | 04:49 | ||
| Says what it's for, and all that. | |||
| dukeleto | japhb: i like it | 04:50 | |
| japhb | (BTW, the comment about root_new above is because root_new wants a key, but is not a keyed aggregate) | ||
| OK, that I can do in a bit. | |||
| $day_job still going for a little longer | |||
| dukeleto | japhb: same error after 'realclean' | 04:51 | |
| japhb | WTF? | ||
| OK, what was that nopaste link again? | 04:52 | ||
| dukeleto | japhb: gist.github.com/246915 | ||
| japhb | And you've got a recent pull of plumage? | 04:53 | |
| dukeleto | japhb: 939edf9, the latest | 04:54 | |
| japhb | OK, what if you realclean and configure with parrot-nqp instead of nqp ? | 04:55 | |
| dukeleto | japhb: i am recompiling nqp-rx again after nuking my installed parrot. i will try that next | ||
| japhb | OK | 04:56 | |
| plobsing | does parrot have fork? | 05:00 | |
| japhb | plobsing, I doubt it. spawn and pipe open, but probably not fork, since it's not easily portable | 05:02 | |
| dukeleto | plobsing: docs/pdds/pdd25_concurrency.pod | ||
| config/gen/platform/generic/exec.c | 05:03 | ||
| 42: child = fork(); | |||
| looks like we use fork() in exec() but don't expose a fork() opcode | |||
| plobsing: what do you need to do? | |||
| plobsing | well i was hoping to spawn off 2 children and pass a frozen PMC between them. | 05:04 | |
| the important part is the thawing side not to have the packfiles of the freezing side | |||
| also I'd been thinking it would be nifty to fork and run independant tests (within the same file) in different processes | 05:05 | ||
| that way when I crash the interpreter, I still see all the test results | |||
| for PIR tests | 05:06 | ||
| dukeleto | plobsing: funny you should ask about that :) | ||
| tapir? | |||
| purl | tapir is probably being written to be testable from the ground up, unlike nqpTAP or github.com/leto/tapir | ||
| plobsing | thats a harness no? | 05:07 | |
| dukeleto | plobsing: yes. so it is maybe not exactly what you are talking about, but i need the same stuff | ||
| plobsing | my problem is test files that have an interpreter panic halfway through | ||
| and I want to work around that | |||
| dukeleto | plobsing: spawnw() is probably what you want | ||
| plobsing: then what you want *is* on the tapir TODO list | 05:08 | ||
| plobsing: it won't be easy, but it will be worthwhile, if you want to work on it | 05:10 | ||
| plobsing | which item in the TODO list does that fit under? and more importantly, how can the harness uncrash the tester? | ||
| dukeleto | plobsing: so if i hear you, you want each test in each test file to be run in a seperate parrot process, such that if a test causes a segfault, only one test dies and not the rest of the file | 05:11 | |
| plobsing: correct? | |||
| plobsing | more or less. some tests should run in the same process if they are tightly coupled | ||
| dukeleto | plobsing: now you might be asking for too much ;) | 05:12 | |
| plobsing: then those should be put in the same test | |||
| plobsing | I didn't expect it to be possible | ||
| its more of a wishlist item | |||
| dukeleto | plobsing: it is a wishlist item for tapir. it is much easier and a bigger return on investment to get parallelizing on files working, though | 05:13 | |
| plobsing | depends on who measures those returns ;-) | ||
| dukeleto | plobsing: but that doesn't solve your issue, it just makes the test suite a shit ton faster | ||
| plobsing: yes, i agree. the speed increase doesn't matter in your situation, other than you can run+crash the suite much faster ;) | |||
| plobsing | dukeleto: my test suite already runs a shit ton faster than yours, because half the files crash 1/3 of the way through | 05:14 | |
| dukeleto | plobsing: nice! | ||
| plobsing: are you using coretest? | 05:15 | ||
| plobsing | coretest doesn't work | ||
| dukeleto | plobsing: in which way does it not work? | ||
| plobsing | some tests in coretest use like() which depends on PGE, which isn't build by corevm | ||
| so make realclean; perl Configure.pl; make -j3 coretest = FAIL | 05:16 | ||
|
05:16
TonyC joined
|
|||
| dukeleto | plobsing: tell me which ones and i will fix that | 05:17 | |
| plobsing: i think some people that are translating tests do not know that tests in coretest can only use a subset of test_more.pir . that is not really written down anywhere | |||
|
05:18
nopaste joined
|
|||
| dukeleto | we a flag in test files that are in 'coretest' so that devs know they can only use a subset of test_more.pir, and that subset should be written down somewhere | 05:19 | |
| plobsing | not sure if it's warranted, but what about a 'test_core.pir' | ||
| dukeleto | s/we a/we need a/ | ||
| plobsing: that could actually work | |||
| japhb: same stupid error. i will try parrot-nqp next | 05:20 | ||
| japhb | nod | ||
|
05:24
TonyC joined
05:26
TonyC joined
|
|||
| plobsing | nopaste? | 05:27 | |
| purl | nopaste is at nopaste.snit.ch/ (ask TonyC for new channels) or paste.scsys.co.uk/ or App::Nopaste or tools/dev/nopaste.pl or at www.extpaste.com/ or paste.scsys.co.uk (for #catalyst, #dbix-class, #moose and others) or gist.github.com/ or paste or gtfo or tools/dev/nopaste.pl or trac.parrot.org/parrot/browser/tru...nopaste.pl | ||
|
05:27
nopaste joined
|
|||
| plobsing | dukeleto: here's the stderr from 'make coretest' nopaste.snit.ch/18929 | 05:28 | |
| it contains the backtraces that show all the places PGE is used in core tests | 05:29 | ||
| dukeleto | i get a passing TODO in t/pmc/complex.t on darwin/x86, i think someone was asking about that | 05:45 | |
| japhb: it got a lot farther with parrot-nqp gist.github.com/246979 | 05:47 | ||
| japhb: and that is my fault | 05:48 | ||
| japhb | dukeleto, well, that's good and bad. | ||
| Yeah, something is really goofy that config.fpmc is not there | |||
| dukeleto | japhb: because i am not using an installed parrot, just the compiled binary in the repo directory. | ||
| japhb | NAUGHTY | 05:49 | |
| dukeleto is naughty | |||
| japhb | Just set --prefix during parrot configure, and then you can easily install to a nice safe place. | ||
| I use --prefix=/usr/local/parrot | |||
| dukeleto | japhb: ok, back on track. got the latest nqp-rx and the latest plumage working and passing their test suites | 05:51 | |
| japhb | yay .... | ||
| plobsing | fpmc? | 05:52 | |
| japhb | "frozen pmc" | ||
| dukeleto shudders from a cool wind across the nape of his neck | 05:53 | ||
| plobsing | oh. good. I was wondering what to call those. I've been calling them x.freeze, but it didn't seem right. | ||
| dukeleto | how do I /bin/sh -c foo.t without foo.t having to be executable? | 06:03 | |
| i need a way to run tests in any language, via the shebang line | |||
| plobsing | perl handles shebang detection itself | 06:07 | |
| and automatically dispatches | |||
| perl foo.t | |||
| dukeleto | plobsing: oy vey | ||
| plobsing: but you are right, i have seen that trick | |||
| plobsing: it doesn't seem to work, for a different reason. it can't find parrot-nqp, even though it is in my path | 06:12 | ||
| japhb | I've run out of steam. dukeleto, feel free to ping me tomorrow about moving Glue/Util and seeing if we can get to installable Plumage | ||
| dukeleto | PATH=/usr/local/bin perl t/01-sanity.t | ||
| Can't exec parrot-nqp at t/01-sanity.t line 1. | |||
| japhb: sounds good | |||
|
07:13
JimmyZ joined
|
|||
| JimmyZ | hello cotto. | 07:14 | |
|
07:17
uniejo joined
07:21
chromatic joined,
theory joined
|
|||
| JimmyZ | I want to hack all PMCs, to unify them into using the same way to get PMC class attr. ie. hash.pmc one way in PMC its self is by using PARROT_HASH(SELF) and another by using GET_ATTR_Hash, which way should I take? | 07:22 | |
| Did I describe clearly? | 07:23 | ||
| chromatic | GET_ATTR_Hash | 07:25 | |
| JimmyZ | chromatic: I saw the codes, the difference is that the former doesn't use PObj_is_object_TEST to avoid Attributes of type being subclassed from a high-level PMC | 07:28 | |
| chromatic | Right; the latter is more subclassable. | 07:31 | |
| JimmyZ | chromatic: So I am confused, if we should always check atrrs for subclassable in hash.pmc its self, or just use GET_ATRR when get attr from other pmcs? and the former seems to be more agile | 07:34 | |
| s/if/do/ | |||
| dalek | TT #1342 created by dukeleto++: [RFC] make a test_core.pir that tests which are part of coretest use, ... | 07:35 | |
| chromatic | Within PMCs, the GET_ATTR syntax is the best approach. | 07:42 | |
| JimmyZ | yes, but GET_ATTR losts a bit performance.;) | 07:47 | |
| chromatic | If that's our worst performance problem, we're in good shape. | 07:48 | |
| JimmyZ | thanks, I will try change them to use GET_ATTR | 07:50 | |
| s/try/try to/ | 07:51 | ||
|
07:56
bacek joined
|
|||
| bacek | o hai | 07:56 | |
| dukeleto | bacek: hola | 07:58 | |
| bacek | aloha dukeleto | ||
| dukeleto | bacek: are you working hard in the merge mine? | 07:59 | |
| bacek | dukeleto, not yet. But I'll start pretty soon | ||
| dalek | zy-k: 0df29e5 | bernhard++ | (2 files): Configure.pl and t/harness are no longer needed. |
08:00 | |
| dukeleto | bacek: music to my ears. what do you think of this? trac.parrot.org/parrot/ticket/1148 | 08:01 | |
| bacek: should I attempt to push that in before the merge? it is useful? | |||
|
08:01
iblechbot joined
|
|||
| bacek | dukeleto, it makes sense. | 08:02 | |
| dukeleto | bacek: seems like those bugs will exists after the merge, might as well apply a patch that fixes them while it still applies, right ? | ||
| bacek | yes, of course | ||
| dukeleto | bacek: ok, i will apply now and see if the test suite passes | ||
| bacek | ok | 08:03 | |
| dalek | lambda: cec1e90 | bernhard++ | t/harness: t/harness and Makefile are no longer needed. |
08:04 | |
| zy-k: 8846a21 | bernhard++ | MAINTAINER: Updated MAINTAINER. |
08:06 | ||
|
08:08
cotto_w0rk joined
|
|||
| dalek | lambda: 952393c | bernhard++ | MAINTAINER: Updated MAINTAINER. |
08:10 | |
| lambda: 6a4daae | bernhard++ | .gitignore: Makefile is no longer generated. |
|||
|
08:11
fperrad joined
|
|||
| dukeleto | bacek: coretest passed. i am running fulltest now | 08:13 | |
|
08:21
fperrad_ joined
|
|||
| JimmyZ | chromatic: then when do pmcs need to use PARROT_HASH? | 08:29 | |
| chromatic | That was a convenience macro for the Hash PMC that was a little bit more typesafe than PMC_data(SELF). | 08:30 | |
| It predates the new PMC attributes. | |||
| JimmyZ | chromatic: should I repalce it by using GET_ATTR syntax ? | ||
| chromatic | Yes. | 08:31 | |
| JimmyZ | chromatic: then I think I can remove PARROT_$pmcname syntax entirely . | 08:32 | |
| bacek | dukeleto, any luck with fulltest? | ||
| JimmyZ | chromatic: another quesiont is: when getting attrs, should all pmcs always to use PObj_is_object_TEST for checking ? | 08:33 | |
| dukeleto | bacek: yep, just finished :) will commit now | 08:34 | |
| bacek | dukeleto, ok | ||
| JimmyZ | s/quesiont/question/ | ||
| chromatic | Within the PMC, you can use the macro directly. It gets translated appropriately. | 08:35 | |
| JimmyZ | chromatic: I think it's the last question about it for me . ;) | ||
| dalek | rrot: r42844 | dukeleto++ | trunk (2 files): [TT #1148] Implement 'clone' method for CallSignature, flh++ |
08:36 | |
| JimmyZ | chromatic: which macro? PARROT_$pmcname or GET_ATTR? | ||
| chromatic | GET_ATTR | 08:37 | |
| dukeleto | bacek: ok, callsig is all yours :) | ||
| bacek | dukeleto, branching now :) | 08:38 | |
| chromatic | You don't have to do any checks. The PMC translator will add them for you. | ||
| Is this the new Context/CallSig merge branch? | |||
| JimmyZ | chromatic: so I can remove PARROT_$pmcname syntax within PMCs? | ||
| chromatic | Yes. | ||
| dalek | TT #1148 closed by dukeleto++: Implement "clone" method for CallSignature | 08:39 | |
| rrot: r42845 | bacek++ | branches/cs_csr_merge: Branch for merging CallSignature and CallSignatureReturns |
|||
| JimmyZ | chromatic: and So I can remove the PARROT_$pmcname macro from the source codes, I think. | ||
| chromatic | Yes. | ||
| JimmyZ | chromatic: thanks, I will do it. | 08:40 | |
| chromatic | Excellent. | ||
| JimmyZ hopes that'is the correct way. | |||
| chromatic | I'll review the patch to make sure. | 08:42 | |
| JimmyZ | chromatic++ | ||
|
08:43
payload joined
08:52
cognominal joined
|
|||
| dalek | rrot: r42846 | dukeleto++ | trunk/NEWS: [cage] Make a skeleton for the news for 1.9.0 and start filling in what I know |
08:52 | |
| rrot: r42847 | bacek++ | branches/cs_csr_merge/src/pmc/callsignature.pmc: Copy CSR attributes into CS. |
|||
| rrot: r42848 | bacek++ | branches/cs_csr_merge/src/pmc/callsignature.pmc: Reorder CS.mark and .destroy to be closer to .init. |
|||
| rrot: r42849 | bacek++ | branches/cs_csr_merge/src/pmc/callsignature.pmc: Destroy CS.returns_values |
|||
| dukeleto | bacek++ | ||
| dalek | rrot: r42850 | bacek++ | branches/cs_csr_merge/src/call/args.c: Copy CSR VTABLEs into src/call/args.c prepending csr_ prefix. |
09:19 | |
|
09:39
payload joined
|
|||
| dalek | rrot: r42851 | bacek++ | branches/cs_csr_merge/src/call/args.c: Make headerized happy again in src/call/args.c |
09:43 | |
| rrot: r42852 | bacek++ | branches/cs_csr_merge/src/call/args.c: csr_set_string_keyed_int can accept NULLs. |
|||
| rrot: r42853 | bacek++ | branches/cs_csr_merge/src/call/args.c: Switch from CSR to CS in building returns. |
|||
|
09:44
bacek joined
|
|||
| dalek | rrot: r42854 | bacek++ | branches/cs_csr_merge (2 files): Remove CallSignatureReturns |
09:46 | |
| rrot: r42855 | bacek++ | branches/cs_csr_merge/MANIFEST: Update MANIFEST... |
09:53 | ||
| rrot: r42856 | dukeleto++ | trunk/t/op/inf_nan.t: [t][cage] Remove PGE-dependence from t/op/inf_nan.t since it is part of 'make coretest' |
10:03 | ||
| rrot: r42857 | bacek++ | branches/cs_csr_merge/src/pmc/callsignature.pmc: Pacify compiler about default case in CallSignature.clone |
|||
| rrot: r42858 | bacek++ | branches/cs_csr_merge/src/pmc/callsignature.pmc: Remove old results storage from CallSignature |
|||
| rrot: r42859 | dukeleto++ | trunk/t/op/number.t: [t][cage] Remove PGE-dependence from t/op/number.t since it is part of 'make coretest' |
10:10 | ||
| JimmyZ | Improved Algorithms for String Searching Problems: lib.tkk.fi/Diss/2009/isbn9789512298884/ | 10:37 | |
| diakopter++ for share | 10:38 | ||
|
10:42
mikehh joined
10:51
bacek joined
11:34
riffraff joined
11:40
payload joined
|
|||
| mikehh | All tests PASS (pre/post-config, smoke (#30407), fulltest) at r42859 - Ubuntu 9.10 amd64 (g++ with --optimize) | 11:57 | |
|
12:11
JimmyZ joined
12:25
bluescreen joined
12:39
jsut joined
12:42
whiteknight joined,
bluescreen joined
12:48
JimmyZ joined
|
|||
| dalek | rrot: r42860 | bacek++ | branches/cs_csr_merge (4 files): Move append_result function from src/extend.c into src/call/args.c |
12:59 | |
| rrot: r42861 | bacek++ | branches/cs_csr_merge/t/pmc/callsignaturereturns.t: Remove test for CallSignatureReturns |
|||
| rrot: r42862 | bacek++ | branches/cs_csr_merge/t/pmc/callsignature.t: Remove test for C<returns> attribute in callsignature.t |
|||
|
13:01
bluescreen joined
|
|||
| bacek | anyone alive here? | 13:04 | |
| moritz | no, I'm undead | 13:05 | |
| sjn | we are all bots | ||
| pmichaud | (barely alive) | ||
| moritz | barely alive, barely kicking :-) | 13:06 | |
| bacek | heh :) | ||
| sjn | "anyone alive here?" should be the first question of any turing test | ||
| bacek | cs_csr_merge branch need some love | 13:07 | |
| Parrot_pcc_merge_signature_for_tailcall is badly broken | |||
| whiteknight | good morning bacek | ||
|
13:07
lucian joined
|
|||
| bacek | because we share same pointer between different CallSignature | 13:08 | |
| (and I'm falling asleep...) | |||
| pmichaud | ...it's snowing here. | 13:10 | |
| szbalint | lucky :S | ||
| bacek | pmichaud, no way! It's second day of summer! | ||
| szbalint | I want to have snow too, but alas there is none | ||
| pmichaud | This is Dallas. Dallas, Texas. We don't normally get snow here in December. | 13:11 | |
| szbalint | this is Wien, Austria | 13:15 | |
| bacek | snow... Is it some problem with "Dihydrogen monoxide"? | 13:18 | |
| szbalint | the silent killer. | 13:25 | |
|
13:26
ruoso joined,
iblechbot joined
|
|||
| moritz | in the course of human history, more people have died from Dihydrogen monoxide than from car accidents | 13:26 | |
| Coke | msg dukeleto those test_atan changes look wrong. You should probably use the .fp_eq macro instead. | 13:27 | |
| purl | Message for dukeleto stored. | ||
|
13:28
bluescreen joined
|
|||
| whiteknight | purl msg chromatic: We need to figure out how many headers are used for startup, and how much are used for common applications (NQP startup) | 13:35 | |
| purl | Message for chromatic stored. | ||
| pmichaud | ...noting of course that nqp itself isn't a "common application" :) | 13:36 | |
| JimmyZ | common languages :) | ||
| moritz | re PIR and __END__ | 13:40 | |
| iirc there's an include mechanism for PIR files | |||
| Coke | .include '', yes. | ||
|
13:41
payload joined
|
|||
| moritz | what would happen if you include a PIR which contains an __END__ marker? | 13:41 | |
| Coke | in the current scheme of .include, it would affecting the including file as well. | ||
| *affect | |||
| moritz | which would be rather bad, IMHO | ||
| Coke | but I imagine you could redefine it. | ||
| moritz | anyway, I don't want to argue any way, I don't use PIR enough for that. I just want to point out that these things should be thought of | 13:42 | |
| dalek | rrot: r42863 | mikehh++ | trunk/t/pmc/complex.t: correct a failing test that indicated a TODO pass - t/pmc/complex.t |
13:45 | |
| Coke | hurm. particle commented but didn't vote. | 13:57 | |
| particle | my vote depends on the answers, but is likely -1. pir is an assembly language, funky text blocks don't belong | 13:58 | |
| Coke | see, my vote depends on the fact that we have to expend energy /thinking/ about those answers. =-) | 13:59 | |
| particle | i like the 'split subroutine body over two files' edge case. that grabs people. | 14:01 | |
|
14:02
JimmyZ_ joined
14:05
lucian joined
14:19
whiteknight joined
|
|||
| whiteknight | I like the idea of __END__ because I like thinking we could use the extra space to store additional data and metadata about a file | 14:20 | |
| pmichaud | I'd rather have a start/stop marker for that, rather than just __END__ | 14:21 | |
| something like: "=data" ... "=cut" | |||
| moritz | we could also ask ourselves if evolving PIR is the right direction to move | 14:22 | |
| PerlJam | good morning | 14:28 | |
| someone wants to add __END__ to PIR? | |||
| JimmyZ | yes, there is a ticket. | ||
| PerlJam | weird. | ||
| whiteknight | when you think about *real* assembly languages, they usually give you the ability to specify where things go, like the data section, text section, code section, etc | 14:30 | |
| pmichaud: yes, I do like the idea of stop/start markers for it | 14:31 | ||
| Having a literal section in PIR code that contains the HLL code that was compiled would be great for producing meaningful annotations, for instance | 14:32 | ||
| pmichaud | oh. I figured that would just be .annotate "source", "....source here..." | ||
| whiteknight | places where we could specify lists of literal strings would be great for i18n among other uses | ||
| PerlJam | I'd bet that most PIR is machine generated rather than human generated. If that's true, what would the machines use something like __END__ for? Just a place to store static data? And then how would that data be accessed? | ||
| whiteknight | I still hold out for ways to specify PMC aggregate literals, and a separate section (and therefore possibly a separate parser) would be ideal for that | 14:33 | |
|
14:33
mikehh joined
|
|||
| PerlJam | whiteknight: aggregate literals sounds useful, but it also doesn't sound like __END__ :) | 14:34 | |
| Coke | whiteknight: that belongs in the PBC, not the PIR. | ||
| whiteknight | PerlJam: I'm past __END__ now, looking more at specific file "sections" with start/stop markers | ||
| Coke: But how does it get into the PBC? Need a way to specify the literal in PIR to be compiled into PBC | 14:35 | ||
|
14:35
lucian joined
|
|||
| Coke | which portion of the PBC doesn't have a way to get that information into it? | 14:35 | |
| whiteknight | Coke: I think we're talking about different things | ||
| Coke | whiteknight: you want to add something to the PIR; I'm saying that the ultimate place for that sort of thing is in the bytecode; what good is it if it's just in the pir? | 14:36 | |
| and if it's ok just inthe pir, why not just put it in pod? | |||
| whiteknight | Coke: We need PIR syntax to specify the kinds of things we want to add to PBC | ||
| Coke | what specifically are you trying to add? | ||
| whiteknight | PBC has ways to hold that kind of stuff | ||
| Coke | ok. which section of the pbc do we need pir syntax for? | 14:37 | |
| particle | if it's in pbc, it must be in pasm | ||
| whiteknight | Coke: you're misunderstanding me | ||
| Coke | whiteknight: not on purpose. | ||
| 09:37 <@whiteknight> PBC has ways to hold that kind of stuff | |||
| which stuff? | |||
| which stuff that is not specifiable via pir? | |||
| whiteknight | I'm not talking about PBC. no talking about PBC | 14:38 | |
| particle | come up with the pasm solution first, then address pir | ||
| whiteknight | forget PBC | ||
| purl | whiteknight: I forgot pbc | ||
| whiteknight | thanks, purl | ||
| purl | pas de quoi whiteknight | ||
| Coke | storing stuff in pir only is not a good idea. | ||
| it's just comments at that point. | |||
| whiteknight | nobody is talking about that either | ||
| Coke | ok. then I have no idea what you're talking about. =-) | ||
| particle | pbc is an acronym for the parrot bytecode format | ||
| whiteknight | I'm thinking about a system similar to __END__ but without the problems created by file inclusions | 14:39 | |
| Coke | Ok. what data would go in end other than comments? | ||
| whiteknight | the ability to specify data and metadata in the PIR file (in a similar way to how DATA and TEXT sections in x86 assembly work), which would then be stored in the compiled bytecode and accessible from the program | 14:40 | |
| Coke | ok. we can already store data (via .const subs) and metadata (via .annotate). is there /new/ data/metadata you wish to store? | ||
| whiteknight | no, not necessarily. Just looking for better ways | 14:41 | |
| just a thought experiment | |||
| particle | leave the experimentation until you get the basics down :P | ||
| Coke | ok. I vote against new syntax. if it's a new feature, that's something else. | ||
| whiteknight | why the blanket disapproval of new PIR syntax? It's hardly a language that's above improvement | 14:43 | |
| better syntax could provide natural pathways to increase features while at the same time improving parsing and compilation performance | 14:44 | ||
| particle | i'd rather concentrate on making our bytecode human-readable, by supporting all pbc concepts in pasm | 14:45 | |
| whiteknight | it's not either/or. | ||
| particle | no, it's not, except for time. | ||
| whiteknight | if we say we want to focus on that, maybe 10% of our develpment team will take that task | ||
|
14:45
bluescreen joined
|
|||
| particle | and for me, it's likely neither | 14:45 | |
| whiteknight | always better to put out a unified vision and an array of tasks. | 14:46 | |
|
14:46
payload1 joined
|
|||
| Coke | (why against) because timtoady isn't something we need at this level? | 14:47 | |
| I'm not saying this is the best implementation, mind you, but it's functional. There are other things that are not functional; I'd like to prioritize those (more) | 14:50 | ||
| ... so, yes, if there's a better syntax/format/something to replace something we already have, yes, that should be on the table. but do we really want our core committers working on that when we have HLL features that are currently impossible to implement with core parrot? | 14:51 | ||
|
14:52
patspam joined
|
|||
| Coke | (yes, people will work on whatever they want to anyway, which is fine and expected, but as you say, we should have a unified vision; our array of tasks should reflect our best understanding of our user's needs.) | 14:53 | |
|
14:54
patspam1 joined
|
|||
| whiteknight | We don't decide what our core committers are going to work on. This isn't a business or some sort of authoritarianism | 14:55 | |
| people work on what they want to work on, they vote for features with their tuits | |||
| you can say "you must not do X", but you can never say "you must do Y" | 14:56 | ||
| particle | that's not how roadmaps work. | ||
| Coke | ... did you read my sends? yes, I understand. | ||
| whiteknight | particle: and our roadmaps obviously don't work the way our development team works | 14:57 | |
| otherwise we might actually meet some of our deadlines eventually | |||
| particle | you speak with the devil's tongue. OUT DEMONS, OUT!!! | ||
| whiteknight | if a developer comes to us and says "I want to improve PIR syntax, I will do that or I will do nothing", it's not a matter of saying "we would prefer something else" | 14:58 | |
| Coke | whiteknight: no one is saying that. | ||
| whiteknight | Coke: implicitly, all open source devs are saying exactly that | ||
| people work on what they want to work on, or they don't work at all | 14:59 | ||
| Coke | whiteknight: so why even ask if we want this feature? | ||
| whiteknight | Coke: because it's not a free-for-all either. There are plans and goals | ||
| Coke | whiteknight: right. | ||
| whiteknight | if the needs of the developers match the needs of our project, development gets done | ||
| Coke | so I don't really know, again, what you're arguing about. | ||
| I'm not saying that a developer cannot work on that feature if they feel it is crucial. I am explaining why I do not feel that is crucial, and that I would rather prioritize other things higher. | 15:01 | ||
| Obviously every developer is not going to agree on all the priorities. | |||
| but where there is overlap, there is our roadmap. | |||
| whiteknight | I'm saying that it's nonsensical and even wrong to say "X would be nice, but table it because Y is higher priority" | ||
| if PIR improvements are nice, greenlight them and people will do the work | 15:02 | ||
| you can't prioritize somebody elses tuits | |||
| Coke | I feel it is crucial as me as a HLL implementor to prioritize. | ||
| Tene | In general, it seems that new PIR development has been discouraged until we get a replacement for pirc. | ||
| Coke | crucial /to/ me. | ||
| whiteknight | Coke: right. And you can prioritize your tuits accordingly | 15:03 | |
| and you can even provide incentives (begging, kudos, karma) to try and nudge others in that direction | |||
| Coke | whiteknight: so, again, I don't understand what we're arguing about. | 15:04 | |
| whiteknight | I'm mostly arguing against what particle said earlier | ||
| and saying that if a feature is something we would like eventually, we should greenlight it | |||
| and also you can't worry about dividing developer effort, it divides itself and disappears if you don't utilize it | 15:05 | ||
| Coke shuts up since whiteknight isn't arguing with him. | 15:06 | ||
| whoops, argument coming: | 15:09 | ||
| bah. six line argument typed out and deleted. I don't have the energy. | 15:13 | ||
| Coke tries to sum up. | |||
| we /can/ divide developer effort, and have done so in the past. We should endeavor to use that power for the good of the users where it does work, and when we say "please don't bother", please hear "please prioritize that at the bottom of the collective queue." | 15:14 | ||
| (division example: "let's move off rt.perl.org") | 15:15 | ||
| Coke likes how his summary was 5 lines. Oy. | 15:18 | ||
| whiteknight | it's certainly not a perfect world of "never" and "always" | 15:22 | |
|
15:22
lucian joined
|
|||
| whiteknight | There are plenty of projects that I am certainly not ever going to work on regardless of the priority level. I know there are other combinations of projects and people where that holds true as well | 15:22 | |
| and when the entire list of ongoing projects falls on a person's "I'm not ever going to do that" list, we've lost that person forever | 15:23 | ||
| Coke | whiteknight: is that a bad thing? | ||
| people leave the project all the time. | |||
| if their goals don't mesh with the project, that seems reasonable to me. | 15:24 | ||
| whiteknight | maybe, yes. Especially if we've artificially shortened the list of projects to try and avoid dividing effort | ||
| I would rather have a person working on a low priority task then to have that person not working with us at all | |||
| Coke | whiteknight: that depends on the project. if it's merely "low priority" and not "actively harmful", sure. | 15:25 | |
| I am not suggesting new pir syntax is actively harmful. | |||
| whiteknight | as people become more integrated into the community, it becomes easier to manipulate them into doing things for the good of the project | ||
| where manipulate was probably the wrong word choice | |||
| Coke | subdue? | ||
| hurm. | |||
| moritz | one roadmap to bind them, and in the darkness to grind them | 15:26 | |
| whiteknight | for instance, I'm pretty well integrated and I'm willing to do certain tasks for the good of the project that I wouldn't do as more of an outsider | ||
| moritz++ | 15:27 | ||
|
15:29
bubaflub joined
15:41
bluescreen joined
15:54
Psyche^ joined
|
|||
| Coke | whiteknight: there were a lot of those roadmap items that were theoretically documented at the PDC (but never on the wiki) | 15:55 | |
| in re TT#604; Thanks for following up on those. | |||
| whiteknight | the tasks on the "roadmap" really form a comical subset of tasks we should be looking at | 15:56 | |
| I really wish we could have a new general meeting to get priorities in order again | |||
| Coke | (meeting) - in person meetings aren't going to cut it. | 15:58 | |
| whiteknight | right, a good dedicated online meeting would be good for this purpose | ||
| Coke | +1 from me. | ||
| whiteknight | like #ps, only different in scope and time commitment | ||
| Coke | (unless of course, the meeting is in Albany, NY. =-) | ||
| whiteknight: we should probably have one of those just after each stable release. | 15:59 | ||
| whiteknight | I like that idea | ||
| Tene | We could have one right now! In this channel! | ||
| whiteknight | what bothers me is that these releases all have taglines, but we don't do anything in the large sense to acheive them besides following the small set of ragtag items on the roadmap | ||
| pmichaud | whiteknight: do you mean the "production ready", "stable platform for HLL developers", etc. taglines? | 16:01 | |
| whiteknight | pmichaud: exactly | ||
| pmichaud | whiteknight: those were our best guesses of progress as of PDS 2008 | ||
| whiteknight | there are a lot of things we should focus on, and should have been focusing on to make 2.0 "production ready" | ||
| but the roadmap only shows "testing sprint" and something vague about PGE | |||
| pmichaud | what really hurts is that we haven't revised our notion of priority since then | ||
| whiteknight | pmichaud: exactly! We need to revise | ||
| pmichaud | you're preaching to the choir here :-) | 16:02 | |
| whiteknight | our roadmap is uninformative at best right now, absolutely useless and totally misleading more likely | ||
| Coke | Infinoid: ping. estimated release of svn-bisect so I can advertise? | ||
| whiteknight | to think that the only thing we need to acheive production readiness is "testing sprint" is assinine | ||
| pmichaud | I've long complained that there's a parrot-process problem in that there doesn't seem to be a process or mechanism to update the roadmap | ||
| (I've complained about this since march) | 16:03 | ||
| Coke | here's my suggestion: just after each stable release to plan out the next six months, plus one in place of next week's parrotsketch. | ||
| all in favor? =-) | |||
| pmichaud | -1 | ||
| purl | -1 | ||
| Tene | I like how agreeable purl is. :) | ||
| pmichaud | because in this case, "just after each stable release" will mean after January | 16:04 | |
| and I think we need to be updating our roadmap _now_ | |||
| Coke | pmichaud: ... please reread my send? | ||
| whiteknight | pmichaud: no meeting we have before january will affect our trajectory for the 2.0 release | ||
| pmichaud | Coke: okay, mis-applied the "plus one" comment | ||
| Coke | so, long term, just after the release to set the plan, but we need one right now to figure out what we can do before january. | 16:05 | |
| moritz | whiteknight: but for example the deprecation items in the 2.0 release | ||
| pmichaud | whiteknight: false. While it might not affect the contents of the 2.0 release, it can certainly affect our activities between now and then. | ||
| and as moritz++ says, it might change what we choose to deprecate | |||
| whiteknight | pmichaud: that may be true. I don' want to be entirely pesimistic | ||
| the net end deliverable can't be changed much at this point | |||
| pmichaud | right now most of what I hear about the "2.0 release" is that it's a convenient excuse to postpone hard decisions until after January. | 16:06 | |
| whiteknight | but if we can improve our process, 2.6 could be dramatically affected | ||
| pmichaud | when in reality we need to be making those hard decisions *before* the January release. Even if it doesn't affect the code, it may affect what we're telling others about the next stable release. | ||
| whiteknight | agreed | 16:07 | |
| pmichaud | Also, given the number of issues that (imo) keep us from being truly "production ready", I'd like to resurrect the idea that we create another "supported release" in April. | ||
| whiteknight | for instance, I do want to start planning the next GC now, not after 2.0 | ||
| pmichaud | because I think that waiting until July for that is unrealistic. | ||
| whiteknight | pmichaud: that only helps us if we can achieve the necessary improvements by April | ||
| a lame-duck april release does nothing to help us | 16:08 | ||
| pmichaud | I think July may end up being too late for Parrot. | ||
| Tene | echo EVERYTHING >> DEPRECATED.pod | ||
| whiteknight | this is the problem with time-based releases, you can't say that any given release will contain any given feature set | ||
| pmichaud: in what sense? | |||
| Coke | whiteknight: but if you go the other way, you can never say when it's going to be released. | ||
| whiteknight | Coke: neither is perfect, just pointing out the issues | 16:09 | |
| Coke | so either way, you can never say. =-) | ||
| right. | |||
| whiteknight | I certainly don't advocate for a change | ||
| but time-based releases are the reality, and we need to understand the pros and cons of that | |||
| pmichaud | time-based releases are the reality, but the 6-month cycle is our own doing. | ||
| imo, a 6-month cycle assumes far more stability (and progress) than we've achieved in Parrot. | 16:10 | ||
|
16:21
ilbot2 joined
|
|||
| moderator | Parrot 1.8.0 Zygodactyly released | Priority: trac.parrot.org/parrot/wiki/ClassV...eOverrides | Latest modified TT's: icanhaz.com/parrotbugs | Parrot Languages: icanhaz.com/parrotlang | ||
|
16:22
Util joined
|
|||
| whiteknight | that is, the only things covered by the policy are things we've deemed to be stable | 16:22 | |
| not cover everything until we've deprecated the trash | |||
| PerlJam | whiteknight++ | ||
| whiteknight | pmichaud: I think people will use the standard darkPAN defense: "We don't know what our users are relying on, and we can't just pull the rug out from under them" | 16:23 | |
| szbalint_ | real or not, Darkpan is still a _wrong_ argument. Taking into account the needs of people who by definition won't express their views is bending over backwards so much as to fall backwards. | ||
|
16:23
slavorg joined
|
|||
| PerlJam | szbalint_++ | 16:23 | |
| szbalint_ | Besides, people needing a feature can a.) fix code b.) not upgrade. | ||
| whiteknight | I think it's also going to be used as "and it hurts Parrot adoption if we remove things our users rely on without warning" | ||
| szbalint_++ | |||
| PerlJam | Does anyone have a handle on the current parrot user base? | 16:24 | |
| pmichaud | I guarantee that Parrot-lack-of-features-and-performance will hurt its adoption far more than a moving API :) | ||
| PerlJam | (non-#parrot user base) | ||
| whiteknight | it's the current Parrot devs and maybe a handful of other people | ||
| pmichaud | whiteknight: okay, thanks for the answer -- that's essentially what I was looking for. | ||
|
16:24
tewk joined
|
|||
| whiteknight | pmichaud: no problem. I have plenty to say on the issue (I know you do too) | 16:25 | |
| pmichaud | whiteknight: yes, I have plenty to say also, but for the most part it appears to be screaming against the wind. I'm weary of it and so will likely stop. | ||
| whiteknight | Anything worth having is worth fighting for | 16:26 | |
| pmichaud | fighting indefinitely? with no results? | ||
| whiteknight | if we fight properly, there will be results | ||
| dukeleto | pmichaud: i hear what you are saying | ||
| PerlJam | There's always the fork option. | ||
| Coke | PerlJam: aka. "the nuclear option". | 16:27 | |
| dukeleto occasionally uses a spoon as well | |||
| whiteknight | I don't think a fork will generate critical mass | ||
| and I think it's a huge waste to fork the project over an incomplete roadmap and lousy deprecation policy. like pmichaud says, policy can be changed | |||
| pmichaud | the more common outcome is that people "vote with their feet" | ||
| dukeleto | Coke: why should i juse .fp_eq instead? | ||
| whiteknight | pmichaud: true | 16:28 | |
| Coke | dukeleto: because comparing equality on FP's is wrong? | ||
| pmichaud | which is somewhat why I say that "July may be too late for Parrot" | ||
| dukeleto | Coke: is() takes a 4th argument, of precision | ||
| whiteknight | so maybe the first act of business is to draft a new support policy and vet it on the list | ||
| dukeleto | whiteknight++ | ||
| PerlJam | whiteknight++ sounds like a plan. | 16:29 | |
|
16:29
workbench joined
|
|||
| Coke | dukeleto: ah, that's relatively new. +1; (-1 that if it's present, it should be used instead of doing an iseq check first. =-) | 16:30 | |
|
16:30
PacoLinux joined,
brrant joined
|
|||
| moritz | wouldn't that be a good candidate for a named argument? | 16:30 | |
| Coke | thanks for pointing that out. | ||
|
16:33
davidfetter joined,
jsut joined
|
|||
| Coke | email about #ps sent. | 16:34 | |
|
16:35
HG` joined
16:40
hachi joined
|
|||
| kthakore | /win 12 | 16:45 | |
| dalek | TT #1343 created by coke++: parrot's Test::More's is(Float,Float), with precision | 16:48 | |
|
16:50
lucian joined
|
|||
| dalek | TT #662 closed by doughera++: [PATCH] Add more dependencies on parrot.h | 16:54 | |
| dukeleto | Coke: i don't quite understand the -1 part of what you said | 17:02 | |
| coke++ for tt 1343, i considered writing them, but just wrote 2 extra lines instead | 17:03 | ||
| Coke | dukeleto: you pass in a precision to alter the comparison - it's potentially ignored. | ||
| $dayjob | |||
| pmichaud | $lunch | 17:04 | |
| or perhaps that's &lunch | |||
| dukeleto | self.'lunch'(food) | ||
| pmichaud | $Pm <== &lunch | 17:06 | |
| (hey, it is called the "feed" operator :-) | |||
|
17:20
theory joined
|
|||
| dalek | rrot: r42864 | fperrad++ | trunk/runtime/parrot/library/distutils.pir: [distutils] add a PIR implementation of 'glob' based on 'PGE::Glob' |
17:21 | |
| cotto_w0rk | good morning | 17:24 | |
| whiteknight | hello cotto_w0rk | 17:25 | |
| cotto_w0rk ponders the difference between working and w0rking | 17:28 | ||
| whiteknight | down that path lies danger | 17:35 | |
| next thing you know, you're getting fired for w0rking when you should be working | |||
| Tene | If IRC is too time-constrained, what about holding the discussion in email and/or wiki? | 17:36 | |
| mj41_ | /msg dukeleto Do you have permanent IP? | 17:39 | |
| \\msg dukeleto Do you have permanent IP? | |||
| moritz | /msg should work | ||
| if you don't have leading spaces | 17:40 | ||
| and a decent IRC client :-) | |||
|
17:44
payload joined
|
|||
| whiteknight | urg, I can't get TAP::Harness::Archive to build on OpenSolaris | 17:45 | |
| Coke | Tene: (mailing list) that's what I said! | ||
| whiteknight | which means I can't submit smolder reports there | ||
| Coke | whiteknight: is THA using xs? | 17:46 | |
| whiteknight | Coke: no idea. Build.PL gives me crap about the wrong arguments | ||
| Coke | ... should you be using Makefile.PL ? | 17:47 | |
| (are you building it via cpan or manually?) | |||
| whiteknight | it doesn't have a Makefile.PL | ||
| I am trying to do it via cpan, yes | |||
| Coke | do you have an old version of Moudle::Build? | ||
| Module::Build | |||
| purl | Module::Build is at sourceforge.net/projects/module-build or We preference you, the author, yay! or Making it even easier to create packages that the users can't install! or in soviet russia, module builds you or obsoleted by Module::Install, which is easy -and- produces distribution that install | ||
| whiteknight | I just installed Module::Build in this session | 17:48 | |
| Coke vaguely wants :multi(Float,Float)|(*,Float)|(Float,*) | 17:51 | ||
| whiteknight | ah, nevermind. Figured it out | 17:52 | |
| "perl Build.PL Build && perl Build Install" | |||
| mj41_ | please try it and set your passwd | 17:59 | |
| to dukeleto :-) | |||
|
18:02
xenoterracide joined
|
|||
| Coke | whiteknight: wasn't cpan doing that for you? | 18:10 | |
| whiteknight | Coke: nope | ||
| tried to write it's own makefile | |||
| hilarity ensued | 18:11 | ||
| Coke | were you doing anything other than 'cpan Module::Build' ? | 18:14 | |
| er, s/Module::Build/that other thing./ | |||
| whiteknight | I opened cpan, and typed "install TAP::Harness::Archive" | 18:15 | |
| (after I installed a few prereqs) | |||
| Coke | I would definitely report that over in #toolchain. | ||
| whiteknight | will do. Thanks | 18:16 | |
| Infinoid | Coke: pong. weekendish. still want to get "svn-bisect run sh -c 'foo bar'" working | 18:17 | |
|
18:18
nopaste joined
|
|||
| dalek | rrot: r42865 | fperrad++ | trunk/runtime/parrot/library/distutils.pir: [distutils] add a named parameter 'verbose' to some OS utilities |
18:24 | |
| whiteknight | for all it's hype, the cpan utility is remarkably unuser-friendly. | 18:30 | |
| and I'm having a huge number of issues involving missing dependencies not getting loaded | |||
|
18:31
chromatic joined
|
|||
| whiteknight | I don't know if that's a problem with cpan or a problem with the metadata from the various modules | 18:34 | |
| bubaflub | whiteknight: could it be both? | 18:36 | |
| dukeleto | whiteknight: also email module-authors, if #toolchain doesn't help | 18:39 | |
| whiteknight | success! | 18:41 | |
| purl | hmmm... success is finding king size papers | ||
| whiteknight | smolder.plusthree.com/app/public_pr...ails/30475 | 18:42 | |
|
18:46
nopaste joined,
hachi joined,
brrant joined,
workbench joined,
rhr_ joined,
|Ryan52 joined,
leto_ joined,
bluescreen joined,
whiteknight joined,
KatrinaTheLamia joined,
DrForr joined,
jjore joined,
cxreg joined,
he_ joined,
jan joined,
estrabd_ joined,
frodwith_ joined,
Tene joined,
treed joined,
purl joined,
Essobi joined,
NotFound joined,
preflex joined,
sjn joined,
Maddingue joined,
integral joined,
PerlJam joined,
eiro_ joined,
baest joined,
ttbot joined,
athomason joined,
spinclad joined,
silug joined
18:47
joeri joined,
payload joined,
PacoLinux joined,
slavorg joined,
cosimo_ joined,
sri_ joined,
mj41_ joined,
mikehh joined,
ruoso joined,
cognominal joined,
fperrad joined,
redbrain joined,
GeJ joined,
slavorgn joined
|
|||
| dukeleto | wilkommen! | 18:47 | |
| dalek | p-rx: 4633d19 | pmichaud++ | (3 files): Allow leading & on subroutine declarations. |
18:52 | |
| p-rx: 3173f73 | pmichaud++ | src/NQP/Grammar.pm: Add bare circumfix to colonpair. |
|||
| p-rx: 530da42 | pmichaud++ | src/NQP/ (2 files): Improve longname handling for routine and regexes, allow "infix:<...>" names. |
|||
| p-rx: eab37ff | pmichaud++ | src/stage0/ (3 files): Update bootstrap. |
|||
| p-rx: 588f6a7 | pmichaud++ | src/NQP/Actions.pm: Merge branch 'master' of git@github.com:perl6/nqp-rx |
|||
| p-rx: 2d32e30 | pmichaud++ | src/stage0/ (3 files): Re-update bootstrap with latest pull from github. |
|||
| Coke | Infinoid: ok. I eagerly await the ability to delete my cpan module! | 18:53 | |
| Infinoid++ | |||
| whee, parrot-users-nyc gets its first spam. | 18:55 | ||
| dukeleto | joy to the world | 18:56 | |
| cotto_w0rk | It's a big day. | ||
| I'd better get back to work. | |||
| dukeleto | why does nyc think they are so cool? | ||
| i might have to start parrot-users-the-rest-of-the-universe | |||
|
18:57
theory joined
|
|||
| cotto_work | anyone want to be purl? now's your chance | 18:57 | |
| dalek | rrot: r42866 | pmichaud++ | failed to fetch changeset: [nqp]: Latest updates to nqp-rx, ability to declare &category:<xyz> subs. |
18:58 | |
|
18:59
nopaste joined,
hachi joined,
brrant joined,
workbench joined,
rhr_ joined,
|Ryan52 joined,
leto_ joined,
bluescreen joined,
whiteknight joined,
KatrinaTheLamia joined,
silug joined,
spinclad joined,
athomason joined,
ttbot joined,
baest joined,
eiro_ joined,
PerlJam joined,
integral joined,
Maddingue joined,
sjn joined,
preflex joined,
NotFound joined,
Essobi joined,
purl joined,
treed joined,
Tene joined,
frodwith_ joined,
estrabd_ joined,
jan joined,
he_ joined,
cxreg joined,
jjore joined,
DrForr joined
|
|||
| pmichaud | If I became purl, I'd have to kill myself. | 19:00 | |
| whiteknight | yay! no more netsplit | 19:08 | |
| internet is dragging ass though' | 19:09 | ||
| purl: kill yourself | 19:10 | ||
| purl | whiteknight: huh? | ||
| whiteknight | purl kill yourself is <reply>Okay, I'll try dividing by zero while dereferencing a null pointer. Wish me luck! | ||
| purl | ...but kill yourself is <reply>Goodbye... cruel... world....... | ||
| dalek | rtcl-nqp: ae81e91 | pmichaud++ | (3 files): Refactor %GLOBALS initialization. |
19:11 | |
| whiteknight | purl no, kill yourself is <reply>Okay, I'll try dividing by zero while dereferencing a null pointer. Wish me luck! | ||
| purl | okay, whiteknight. | ||
| rrot-linear-algebra: 9ebe089 | Whiteknight++ | PLATFORMS: starting a more verbose file explaining platform compatibility |
|||
| bubaflub | karma purl | 19:14 | |
| purl | purl has karma of 8799 | ||
| bubaflub | huh. i was expecting a negative number. | ||
| cotto_work | purl cheats | 19:15 | |
| purl | cheats are fun. | ||
| cotto_work | purl-- | ||
| purl | cotto_work: sorry... | ||
| cotto_work | karma purl | ||
| purl | purl has karma of 8799 | ||
| bubaflub | oh, i see | ||
| dukeleto | bubaflub: purl is a cheater! | 19:22 | |
| Tene | purl++ | 19:29 | |
| karma purl | |||
| purl | purl has karma of 8800 | ||
| Tene | foo bar purl-- | ||
| karma purl | |||
| purl | purl has karma of 8798 | ||
| bubaflub | bahhaahaha | ||
| Coke | pmichaud++ | ||
| pmichaud: that is easier to read, thanks. =-) | 19:30 | ||
|
19:31
jhorwitz joined
19:32
dngor joined
|
|||
| Coke | PerlJam: if you make a perl is undead t-shirt and sell it on cafepress or something and it doesn't suck, i will buy it. | 19:46 | |
| TimToady | phone | 19:59 | |
|
20:01
confound joined
|
|||
| Coke | seen chromatic? | 20:01 | |
| purl | chromatic was last seen on #parrot 11 hours, 19 minutes and 29 seconds ago, saying: I'll review the patch to make sure. | ||
|
20:10
nopaste joined
20:13
HG` joined
|
|||
| Coke is vaguely surprised no one has migrated pugs to git. | 20:14 | ||
| whiteknight | I was under the impression that pugs was mostly dead in the water, except the P6 tests | ||
| and are the tests even still in that repo? | |||
| pmichaud | it's been discussed from time to time | 20:15 | |
| (moving pugs, or portions of pugs, into a separate repo and/or git) | |||
| whiteknight | that's still the repo where the spectest suite is? | 20:19 | |
| pmichaud | yes | ||
| whiteknight | okay | ||
| pmichaud | I'll be glad to move it to the perl6 github account someday, though :-) | ||
| Coke | I think pull out the spec and the tests into a separate repo would be boss. | 20:20 | |
| "pulling" | |||
|
20:20
Andy joined
|
|||
| PacoLinux | whiteknight: can you take a look to pkgsrc.se/math/blas ? seems to be a BLAS package for solaris | 20:36 | |
| whiteknight | PacoLinux: were you reading my mind? | ||
| PacoLinux | :) | ||
| dalek | 9plus: c5871ee | bernhard++ | (2 files): Use setup.pir instead of Configure.pir. |
20:39 | |
| PerlJam | I think it would be wise to get TimToady's opinion before pulling the spec out of the pugs repo. | 20:43 | |
| whiteknight | PacoLinux: doesn't seem like there are any pre-built packages. I'm going to have to do the build myself | ||
| and I've heard this particular build can be a huge PITA | |||
| dalek | 9plus: 342570b | bernhard++ | setup.pir: Forgot to add setup.pir. |
20:45 | |
| whiteknight | doesn't help that I need the C bindings, not the Fortran ones | ||
| PacoLinux | Required to run: [lang/f2c] <--- fortran is translated to C | 20:49 | |
|
20:49
jsut joined
20:50
naypalm joined
|
|||
| dalek | 9plus: 3f83e0a | bernhard++ | Makefile: Makefile is no longer generated. |
20:50 | |
|
21:08
theory joined
|
|||
| Coke | PerlJam: done and done. (don't touch for now.) | 21:14 | |
|
21:15
payload joined
21:18
dngor joined,
kthakore left
21:19
bacek joined
21:26
joeri left
21:32
hercynium joined
21:35
HG` joined
21:42
japhb joined
|
|||
| Coke is forced to upgrade parrot again! | 21:49 | ||
| pmichaud++ | |||
|
21:51
TonyC joined
|
|||
| mikehh | All tests PASS (pre/post-config, smoke (#30485), fulltest) at r42866 - Ubuntu 9.10 amd64 (gcc with --optimize) | 22:02 | |
| messages | 22:03 | ||
| dukeleto | mikehh++ | 22:16 | |
|
22:24
HG` joined,
mmcleric joined
|
|||
| GeJ | Good morning everyone | 22:29 | |
|
22:30
mmcleric joined
22:36
AndyA joined
|
|||
| dukeleto | GeJ: glorious localtime() to you as well | 22:46 | |
| GeJ: what are you working on lately? | 22:47 | ||
|
22:58
bacek joined
23:23
particle joined
|
|||
| GeJ | dukeleto: sadly nothing parrot-related. Currently $job is taking all brain cycles. And I don't expect any changes before January. | 23:26 | |
| dukeleto: Although, when I really need a break, I'm trying to submit patches here and there. | 23:28 | ||
| win 2 | 23:34 | ||
| damn | |||
| dukeleto | meh | 23:50 | |