Parrot 3.3.0 released | parrot.org | Log: irclog.perlgeek.de/parrot/today | trac accounts are wonky; talk to cotto, coke or whiteknight if you have trouble
Set by moderator on 10 May 2011.
00:00 bluescreen__ joined 00:04 benabik joined 00:25 TiMBuS left 00:26 TiMBuS joined 00:27 athomason left
cotto_work bacek_at_work: manual bisect result is nonsensical and my attempts to automatedly bisect with cmd are making me insane. 00:28
whiteknight Insanity: it's how nature tells you WHARBLEGARBLE 00:29
00:31 athomason joined
cotto_work bash looks incredibly friendly all of a sudden 00:37
whiteknight I've always felt like people who develop console and their command syntax must be special kinds of people 00:41
cotto_work It seems like in the long term, it'd be less effort to implement a sane shell from scratch than to use cmd.exe. 00:48
atrodo cotto_work++ # Well volunteered 00:49
cotto_work um, no
unless by "implement", you mean "install cygwin" 00:50
atrodo wfm
00:57 kid51 joined 01:06 kid51 left
sorear Has OSUOSL talked about what happened to trac yet? 01:10
whiteknight sorear: what I've heard is basically what we already guessed
smolder ate all available memory, the VM crashed, files got corrupted, etc 01:11
I think that file was probably just in an unlucky sector
01:17 mtk left 01:19 alester left
cotto_work Awesome. In the process of trying to automate bisecting, I somehow got .git/BISECT_RUN into a state where I can't delete it. 01:19
atrodo Wow, that's rather amazing 01:20
cotto_work nm. looks like there was a stray git.exe running 01:21
poor thing
01:24 mtk joined
Coke_ (shell programming on windows) I find JS (invoked via cscript) quite tolerable. 01:54
02:00 bluescreen_ left, bluescreen__ left, bluescreen left 02:02 whiteknight left 02:05 cotto joined
cotto ~~ 02:11
02:14 kid51 joined
kid51 So tonight my iBook crashed twice, both times on what may be an infected email. 02:15
And after those crashes, Parrot now PASSes make test on Darwin/PPC.
go figure.
cotto kid51, best virus ever 02:16
btw, does that machine have /dev/urandom?
need to go offline; will check irclog
02:16 cotto left
kid51 plobsing ping 02:16
02:17 woosley joined
kid51 msg plobsing Our perlcritic standards preclude the use of subroutine prototypes. Can you revise config/gen/opengl.pm to not have sub any require a prototype? Thanks. 02:20
aloha OK. I'll deliver the message.
plobsing kid51: pong 02:25
dalek rrot: 420e2a1 | plobsing++ | tools/dev/nci_thunk_gen.pir:
throw error for unsupported types
kid51 plobsing: Can you rework that revision so that it doesn't use any()? 02:26
plobsing kid51: but it explains *exactly* what the operation I want to perform is
I would have just used List::MoreUtils, but it doesn't appear to be in core
kid51 But our current codingstd precludes use of sub prototypes. A couple of years back we went through and pulled them out. 02:27
If we would set Perl 5.10 as our minimum version, to be sure, we wouldn't have this problem, because we'd get List::Utils in core. 02:28
And I, for one, would vote for that.
But, in the meantime, I think we should stick to our codingstds.
plobsing I'd argue that standard is to prevent the missuse of sub protos, as opposed to careful, tactical, and correct usage, as is the case here, but I'll cede. 02:29
moderator Parrot 3.3.0 released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Trac accounts should be working properly again; talk to cotto, coke or whiteknight if you have trouble 02:30
dalek rrot: 039c0ed | plobsing++ | config/gen/opengl.pm:
avoid sub prototype

standards win out over expressivety
02:32
ttbot Parrot 420e2a15 MSWin32-x86-multi-thread make error tt.taptinder.org/cmdinfo/3662 02:35
02:35 cotto joined
cotto ~~ 02:37
dukeleto, thanks for getting the trac passwords back to normal 02:41
dukeleto++
ttbot Parrot 039c0edc MSWin32-x86-multi-thread make error tt.taptinder.org/cmdinfo/3701 02:44
kid51 must sleep 03:16
03:16 kid51 left
atrodo alright, now that i'm done with that distraction, maybe i can actually get work on ipfy done 03:17
plobsing atrodo: care to share what you have planned? 03:20
atrodo plobsing: Nothing earth moving. Cleanup mostly
plobsing atrodo: any chance you could figure out how to smooth that noise?
03:21 jsut_ joined
atrodo major change would be a meta config file that gets pulled and multiple branches 03:21
plobsing> Probably better tests and more data
03:21 jsut left
atrodo Going to try it on a different machine that does less, but it's also much older 03:21
dalek rrot: 17a997e | plobsing++ | / (2 files):
add support for long double NCI parameters

long doubles are potentially larger than parrot-native floatvals. this may to undesirable truncation. You have been warned.
04:04
rrot: ec159d2 | plobsing++ | config/gen/config_h/config_h.in:
keep track of sizeof (long long) if the platform has a long long type
rrot: 40d2607 | plobsing++ | / (2 files):
add long long support to NCI

long long is potentially larger than the parrot-native intval. this may lead to undesired truncation. furhter, long long is a non-standard (but common) type and may not be present on all platforms. using this type reduces the portability of your code. YOU HAVE BEEN WARNED!
rrot: c7e27f5 | plobsing++ | / (2 files):
add 8, 16, 32, and 64 bit NCI argument types

64 bit integers may be larger than parrot-native intvals. this may lead to undesirable truncation. 64 bit integers are only available where the underlying C compiler provides them. using this type may make your code less portable. YOU HAVE BEEN WARNED!
rrot/get-entropy: 898cbac | cotto++ | config/gen/makefiles/root.in:
add Makefile dependencies for entropy.c
benabik plobsing: A big warning somewhere in the documentation would be better than one in a commit message. :-/ 04:06
benabik hopes there is documentation for NCI somewhere. 04:07
plobsing benabik: you can make your hopes a reality
cotto The best person to document something is the one who's learning it as he goes. 04:08
though it's usually easier for whoever wrote it in the first place
plobsing I will happily answer questions regarding NCI, especially for people looking to document it. 04:13
bubaflub plobsing: after my last final tomorrow i might take you up on that; i'm more than happy to document as i go for GSoC 04:14
ttbot Parrot c7e27f58 MSWin32-x86-multi-thread make error tt.taptinder.org/cmdinfo/3802
benabik bubaflub++ 04:15
04:16 theory left
dalek TT #1182 closed by plobsing++: Add 'long long' to types supported by NCI 04:17
TT #1182: trac.parrot.org/parrot/ticket/1182
04:39 bubaflub left
dalek rrot: 4acf951 | plobsing++ | config/gen/opengl.pm:
generate opengl bindings which were blocked on TT #1182
04:45
cotto dukeleto, ping 04:46
ttbot Parrot 4acf9516 MSWin32-x86-multi-thread make error tt.taptinder.org/cmdinfo/3978 04:58
dalek rrot/m0-prototype: 02b13b2 | cotto++ | src/m0/m0_interp.pl:
add dummy implementations of all ops to the M0 interp
05:13
05:20 Coke_ left, Coke_ joined 05:21 birdwindupbird joined 05:37 birdwindupbird left 05:42 jrtayloriv joined 06:22 JimmyZ joined 06:25 JimmyZ left 06:28 rurban_ joined 06:32 rurban left, rurban_ is now known as rurban 06:54 cotto left 07:01 mj41 joined 07:08 jrtayloriv left 07:37 contingencyplan left 07:44 ligne joined 07:45 ligne left 07:46 rurban_ joined 07:48 rurban left, rurban_ is now known as rurban 08:40 ShaneC joined
jnthn__ Anybody know what replacd "t" NCI parameter type? 08:56
09:02 macroz joined 09:04 ShaneC left 09:05 mtk left 09:11 mtk joined 09:16 JimmyZ joined
bacek_at_work jnthn__, nothing. And I actually will miss it. 09:16
jnthn__, ask plobsing. He is mastermind of this deprecation. 09:21
09:22 jsut joined
jnthn__ bacek_at_work: :( 09:24
bacek_at_work: He broke so much in doing that. 09:25
Like, most of useful NCI on Perl 6.
plobsing--
Could just revert it. 09:26
09:27 jsut_ left
jnthn__ None of the Parrot examples that used it have been updated either. 09:40
The only thing the deprecation notice mentions is use from C land, which isn't our use case.
github.com/parrot/parrot/commit/75...thunks.nci 09:44
That just ripped out all uses, not updated them to do things in a better way! 09:45
10:02 woosley left 10:08 JimmyZ left
bacek jnthn__, I tend to agree with you. But speak to plobsing/mail-list first. May be he has something in mind to replace "t". 10:32
10:34 sjn left 11:02 Psyche^ joined 11:07 Patterner left, Psyche^ is now known as Patterner
jnthn__ bacek: done so 11:24
bacek jnthn__, ok :) 11:25
dalek p: 34e9e7c | bacek++ | src/pmc/sixmodelobject.pmc:
Make compiler little bit more happy.
p: ba5200b | bacek++ | src/ops/nqp.ops:
Add couple more write_barriers when we poke into DispatcherSub directly.
11:34 UltraDM joined, darbelo joined
jnthn__ oh noes, nci_thunk_gen.pir doesn't work on Win32 :/ 11:34
atrodo That seems convenient 11:37
jnthn__ meh, think I give up on NCI stuff for now... :/
atrodo probably for the best 11:38
jnthn__ <- unimpressed 11:39
11:50 JimmyZ joined 11:53 Coke left, Coke joined 11:59 macroz left 12:10 mj41 left 12:11 bluescreen joined 12:13 Coke left 12:14 Coke joined 12:20 woosley joined 12:22 JimmyZ left 12:23 bluescreen left, bluescreen joined 12:31 Coke left, Coke joined 12:33 ambs joined 12:37 dod left 12:44 Coke left, Coke joined 12:47 smash joined
smash hello everyone 12:47
Coke_ hio. 12:48
13:06 whiteknight joined 13:07 bubaflub joined
dalek p: 509350b | moritz++ | t/setting/01-resizablepmcarray.t:
[t/setting] delete an outdated test
13:10
13:11 bluescreen_ joined 13:14 JimmyZ joined
dalek p: ad31d07 | jonathan++ | src/how/NQPClassHOW.pm:
Forbid classes inheriting from themselves.
13:25
whiteknight good morning, #parrot
JimmyZ good morning whiteknight 13:26
whiteknight hello JimmyZ. How are you doing today?
13:29 bluescreen_ left
JimmyZ whiteknight: not too bad, though business is slow 13:29
13:30 bluescreen left 13:44 bluescreen_ joined, bluescreen joined 14:08 UltraDM left 14:12 bluescreen left 14:15 bluescreen_ left 14:16 woosley left 14:17 lucian joined
pmichaud I don't suppose the profiling runcore and tools are getting any love anytime soon. 14:17
is there a way in the cachegrind tools to determine how many times a particular function has been called? 14:21
14:27 bluescreen joined, bluescreen_ joined
whiteknight pmichaud: We floated those things as ideas for GSoC projects, but no takers. Without that, we have to formulate a plan to work on those things ourselves 14:31
pmichaud: I'm not aware of a way to use valgrind to get information about PIR-level subs 14:32
14:41 hercynium joined 14:46 alester joined 14:49 cotto joined
pmichaud I meant for C-level subs 14:54
(or PIR-level subs)
just knowing the number of times certain C-level subs get called would be useful to me 14:55
whiteknight pmichaud: oh, those numbers should appear when you run the file through kcachegrind 14:56
pmichaud I can see the instruction counts, but not the call counts (more)
more precisely, I don't know how to view call counts in kcachegrind
cotto ~~
pmichaud and I wasn't able to find anything about it with Google 14:57
whiteknight let me fire it up and take a look.
pmichaud oh, nm 14:59
it's right there
hmmm
so, I guess my questions becomes: is there a way to get those values via command line (e.g., callgrind_annotate)? 15:01
callgrind_annotate seems to just give Ir counts
15:04 theory joined
cotto any objections to merging get-entropy? 15:06
pmichaud Can I object after it's merged? ;-)
cotto let's find out
pmichaud did anyone test the branch with rakudo? 15:07
if no, would you like me to do so?
cotto d'oh
I'll do that now
pmichaud I can test also.
cotto I'd be highly surprised if it caused anything other than higher-quality randomness though.
pmichaud me also, but surprises are what we want to avoid
cotto yes 15:08
plobsing cotto: I have P(objection) = 0.1. Are you feeling lucky?
cotto consults the get-entropy branch 15:09
looks like I do 15:10
pmichaud (from email thread): "The signatures were removed with the intent that they be replaced later with their equivalents as needed." I thought our stance these days was that we wouldn't remove a feature until its replacement was available. 15:11
cotto That was the intent.
pmichaud Hmm.
whiteknight I think the deprecation notice for those signature strings was for direct removal
I have to go back and look, but I don't remember a replacement being specified
pmichaud surely we would provide an equivalent capability, though? 15:12
cotto It should have been. This is the exact kind of situation we want to avoid.
whiteknight There is an equivalent, pcre bindings use it
pmichaud does that work for Rakudo, written in PIR?
atrodo can someone remind me what t was?
jnthn__ The examples weren't updated, and the mysql signatures were just tossed.
whiteknight plobsing suggests so, using NCI
jnthn__ Rather than updated with how they should look. 15:13
whiteknight atrodo: t magically extracted a null-terminated C string from a parrot STRING
jnthn__ er, *some* of them were...
atrodo whiteknight> thanks
cotto rakudo build looks good, running spectest_regression
whiteknight it turns out to be a pretty expensive operation. Parrot STRING is not null-terminated by default, so the operation has to do a memcopy 15:14
plus, Parrot STRING might contain nulls internally, which causes havoc in c libraries
pmichaud imo, the point of "don't remove until new feature is available" is so that the downstream users have time to switch to the new way of doing things (and test it, and provide feedback about problems) before the old working mechanism disappears entirely.
dukeleto ~
plobsing jnthn__: those signatures were created for an internal mysql library that has since been dropped (not sure why). It is my opinion that signatures that are not required by parrot (or any bundled code) should not be included in core. Parrot provides a static thunk generator and a runtime thunk generator as options for module developpers. 15:16
jnthn__ plobsing: Expecting module developers to write static thunks is kinda sucky. The runtime one currently, as far as I know, can't be picked up on Windows as the probe depends on pkg-config. Also, the dlfunc with NULL as first argument doesn't work on Win32. The static thunk generator depends on that also. 15:18
dalek p: bb72006 | moritz++ | src/ (2 files):
compile methods to anonymous PIR subs
jnthn__ (Discovered these today...didn't get chance to ticket them yet...) 15:19
pmichaud what ticket is all of this covered under?
plobsing pmichaud: that system requires participation of downstream developpers, which rarely if ever seems to happen these days
jnthn__ pmichaud: This started out from my attempts today to get NativeCall updated because MiniDBI had stopped working. 15:20
pmichaud jnthn__: yes, I know (more)
I'm curious what ticket covers the deprecation. 15:21
plobsing TT #1931
pmichaud that ticket isn't mentioned in api.yaml
(the api.yaml of 3.3.0 release)
moritz plobsing: I find it hard as a downstream user to actually decide which discussions are relevant for me 15:22
plobsing pmichaud: that ticket *was* mentioned in DEPRECATED.pod. It was not properly ported over.
cotto It's in the current api.yaml
pmichaud I thought deprecations get noticed in supported releases.
whiteknight pmichaud: yes, it's been listed since at least 3.0.0 in deprecated.pod 15:23
jnthn__ afk
pmichaud where is deprecated.pod?
whiteknight it does not appear to have been moved to api.yaml for some reason, but it was in the older file
pmichaud: in the 3.0.0 tag
plobsing why did we move to api.yaml?
whiteknight plobsing: programmatic access
dukeleto plobsing: deprecations as data 15:24
plobsing: storing structured info in POD is dumb
plobsing I don't see why yaml is more desirable than POD
pmichaud "t manage null-padding in sugar layer
" (from #1931)
that doesn't seem particularly useful to a user. 15:25
dukeleto plobsing: DEPRECATED.POD had no format. It was free-form
cotto dukeleto, will you be online later today? I want to talk M0 but need to get ready for $dayjob soonish.
plobsing dukeleto: at least it was easy to read
dukeleto cotto: sure. will be on later.
cotto great
plobsing pmichaud: there is also advice for porting in the deprecation page 15:26
dukeleto plobsing: is there a wiki page describing how people can deal with the latest NCI deprecations? You described something on parrot-dev, but is there a deprecation wiki page describing how to deal with the deprecation?
jnthn__: i haven't backlogged yet. Is MiniDBI still between a rock and a hard place?
pmichaud plobsing: the ticket? or some other page?
dalek p: c9dd840 | moritz++ | / (2 files):
install hash() constructor, make t/setting/02-hash.t pass again
cotto t/spec/S03-operators/relational.t .............................. Failed 6/110 subtests 15:27
plobsing trac.parrot.org/parrot/wiki/ParrotD...meterTypes
pmichaud dukeleto: yes.
dalek p: ad4a452 | moritz++ | .gitignore:
ignore .so files
cotto should that be a concern?
pmichaud cotto: all tests successful here.
cotto: I'm guessing you have an older copy of rakudo.
(i.e., from before the NaN fixes to relops)
cotto so I do
dukeleto plobsing: that page does not provide sufficient information for Perl 6 devs to fix breakage from 't' changes
plobsing: you gave more info in your email to parrot-dev, but it still is not clear *exactly* how code should change 15:28
15:28 darbelo_ joined
dukeleto plobsing: can you add some example code to it, showing how 't' was used before, and what the code should change to? Even if it is pseudo-code-ish, that would help 15:29
plobsing the pcre and pg bindings used 't' signatures before and have been updated
pmichaud and although Rakudo might not need it -- that information really ought to be available for all of the parameter types that were removed
dukeleto plobsing: yes, but the knowledge of how to convert from 't' to whatever is used now is buried somewhere in the source/history of Parrot and is not very findable, even to Perl 6 devs who are very familiar with parrot 15:30
plobsing: i would say that is a failure on our part
15:30 darbelo left
dukeleto pmichaud: i agree with you 15:31
pmichaud: i think we are still growing into our new deprecation policy. It is better than before, but obviously we still need to get better
TimToady pity you can't make the omelet and *then* break the eggs...
pmichaud dukeleto: yes, things are getting better. we've just had a couple of unwanted surprises in the past couple of weeks 15:32
dukeleto pmichaud: knowing if deprecation wiki pages are sufficiently helpful cannot be programmatically checked :) So we only know when they aren't in times like these, when an HLL dev says, "WTF? Stuff is broke and these docs are incomplete"
whiteknight we did have a deprecation notice and a wiki page talking about the changes that needed to get made. It seems that nobody read that information still
dukeleto TimToady: if only the universe were a reversible system...
whiteknight if a downstream user had read it before now, we would know whether the information was sufficient or not
pmichaud whiteknight: what wiki page -- I'm not able to find it.
dukeleto trac.parrot.org/parrot/wiki/ParrotD...meterTypes 15:33
pmichaud: ^^^
whiteknight pmichaud: that may be true, but nobody alerted us that enough information was not readily available
pmichaud is that linked from the ticket or deprecation notice?
atrodo dukeleto> If the world was reversible, my life would be much simplier
whiteknight nobody looking at the deprecation notice and not seeing that there wasn't a link is telling in itself. We need more participation on both sides
dukeleto pmichaud: linked from here trac.parrot.org/parrot/wiki/ParrotDeprecations 15:34
pmichaud also, that notice says deprecation for *3.6*
plobsing pmichaud: that is the supported release in which the deprecations take effect 15:35
dukeleto pmichaud: yeah, the wiki pages are named oddly. It means deprecations between 3.6 and the previous release
plobsing which means the removal occurs between 3.3 and 3.6
dukeleto pmichaud: kind of like the sum of all deprecation changes between major releases
pmichaud deprecation means "no longer supported". deprecation occurs prior to removal.
the deprecation occurred in 3.0. the removal is occuring in 3.6 15:36
plobsing the list is those that have been acted upon
whiteknight the wiki page looks wrong. Deprecated.pod in 3.0.0 clearly says it's available for removal starting in 3.1
dukeleto we also have github.com/parrot/parrot/blob/mast...deprecator , which is an nqp script that uses api.yaml to look for deprecated code
pmichaud, jnthn__ : the parrot community would love to hear feedback on that script and improvements that can be made to it 15:37
pmichaud one last question: would it have been possible for Rakudo to migrate to the new system in 3.3.0 ?
whiteknight having multiple sources of documentation (api.yaml, tickets, wiki) is not helpful if those sources are out of sync
pmichaud i.e., can I get a version of zavolaj that runs on 3.3.0 but doesn't use the 't' parameter?
plobsing dukeleto: how is that an improvement over the deprecations warning system?
dukeleto pmichaud: i think it will currently give you the link to that wiki page when it finds the NCI deprecation
plobsing: because a person can run that script on a codebase and get a list of all deprecations and associated wiki pages, which *hopefully* have detailed instructions for how to deal with the deprecation 15:38
plobsing: our dep warnings just give a warning, iirc
plobsing: api.yaml stores regexes, so it can be smarter when looking for deprecated code 15:39
plobsing but static analysis is inherently limited
dukeleto plobsing: sure. But that is a straw man.
pmichaud dukeleto: (love to hear feedback) you're hearing it. :)
whiteknight okay, we're getting off onto a tangent
dukeleto plobsing: we are trying to make something workable, not disprove the Riemann Hypothesis
whiteknight we need to figure out what Parrot needs to do right now, what we need to do differently in the future. 15:40
pmichaud more directly, from a Rakudo/zavolaj perspective... what do we need to do to get it to work with current Parrot?
whiteknight I'm most annoyed by the fact that this entry was in DEPRECATED.pod as of 3.0.0 and that it didn't appear in api.yaml for 3.3.0
dukeleto pmichaud, jnthn__ : one idea is to have the dedeprecator run automatically for all Parrot HLL's, so we can notice breakage automatically and notify people. And/or have a web interface to it
whiteknight pmichaud: if Parrot needs to revert something, that decision has to happen first
15:40 redicaps joined
pmichaud whiteknight: well, obviously we'd prefer to not make Parrot revert. 15:40
dukeleto pmichaud, jnthn__ : does that sound useful to y'all ? 15:41
pmichaud it would be better for all of us if we can just get zavolaj working with the new environment
whiteknight pmichaud: we're in a grey area. Obviously the entry not appearing in api.yaml is a problem on our side
pmichaud dukeleto: it sounds useful, but I'm skeptical that it will actually work. :-)
dukeleto plobsing: is there any way you can use some of your extensive knowledge of NCI stuff to make zavaloj work again?
plobsing dukeleto: I'll have a go at it.
pmichaud dukeleto: a good test would be to run it on zavolaj and see if it offers up the warning
dukeleto pmichaud: sure. But remember, all progress is made by irrational people, as I am sure you know well :)
pmichaud: i hold out that we can automate some things which we believe can only be done manually 15:42
pmichaud (in this case, we *know* it wouldn't have found the problem because the deprecation wasn't in 3.3.0 api.yaml)
dukeleto pmichaud: api.yaml was created specifically with that in mind
pmichaud dukeleto: I don't disagree with the fact that we can automate a lot more stuff.
I'm just not sure that the tool would've had any chance to find this particular deprecation.
dukeleto pmichaud: sure, but that was a hiccup causes by insufficient data. *If* (a big if) all deprecations are described correctly in api.yaml, we would have been in a better situation 15:43
pmichaud I'd like to be proved wrong. I'd like to see if we fix up api.yaml if the tool actually finds the deprecation in zavolaj.
dukeleto pmichaud: yes, that would be lovely.
whiteknight I want to make it more clear in support_policy.pod that api.yaml is the definitive source of deprecation information
dukeleto whiteknight: sure. It isn't clear already?
plobsing from my prior knowledge of zavolaj, I know it builds up signature strings dynamically. the only opportunity it would have for identifying the failure is if it triggered off of every instance of the single character 't' string 15:44
whiteknight dukeleto: no, not really. We had a difference in target date between api.yaml and the wiki, we need to be clear which one wins in a conflict
I would be much happier not duplicating the list, but we have it so we need to be clear about it
pmichaud dukeleto: the code that zavolaj uses for signatures is github.com/jnthn/zavolaj/blob/mast...eCall.pm6. Would your tool have caught this? 15:45
if so, what would it have looked for?
dukeleto plobsing: perhaps we could add a test to zavolaj, and then the dedeprecator would see the test has deprecated code
pmichaud (line 63 is the one that violates the deprecation)
15:46 rurban_ joined
dukeleto pmichaud: no, that is quite hard to catch. But if there was a test for 't' specifically, we would have caught that 15:46
plobsing how many other instances of 't' would we also catch at the same time? 15:47
pmichaud ...what, report every.... what plobsing++ said
whiteknight it's fruitless to be arguing over the utility of the tool. It's obviously not going to be perfect in all situations
dukeleto whiteknight++ 15:48
pmichaud it's not fruitless if the recommendation we're getting is "use this tool and you'll find all (or even most) of your deprecations"
whiteknight we have this tool, we have warnings that can be enabled (but rarely are) also. We are trying to provide many mechanisms to help keep up with deprecations
dukeleto pmichaud: the tool is better than nothing. api.yaml is better than DEPRECATED.pod. Nothing is perfect.
15:48 rurban left, rurban_ is now known as rurban
whiteknight we're really trying to do our best with this deprecation policy, and still keep getting bitten by it 15:49
pmichaud I'm not asking for perfect. I'm asking for "works"
plobsing perhaps we should leave deprecation warnings on by default in parrot so that users don't need to know about the functionality beforehand to use it 15:50
whiteknight I'd say we could turn them on for unoptimized builds by default, but Rakudo only uses optimized builds
pmichaud I don't mind setting rakudo to always run with deprecation warnings, at least for non-releases. 15:51
whiteknight and if we enable the warnings by default for all builds, I'm certain the Rakudo makefile will always disable it by defualt
plobsing also, I think pmichaud++ brings up a good point about the wiki page being unfindable from the api.yaml and deprecation ticket entries. our SOP should be modified to create that link.
pmichaud but before doing that, I'd like to know if deprecation warnings would've caught this in 3.3.0
plobsing pmichaud: I could have easily added a warning about that, and would have had I had reason to believe it would have helped anyone 15:52
dukeleto Some depreacations are impossible to detect automatically. We can all agree on that, right?
Parrot wants to make the ones that *are* possible to find, findable.
pmichaud plobsing: (could've/would've) the point of having the flag is that parrot advertises that it'll help if you use it 15:53
(more)
you can hardly fault us for not using the flag if it actually doesn't produce anything :-)
i.e., that seems like a circular sort of argument to me :)
plobsing it is a chicken/egg problem to be sure. there's no point using the flag if it won't warn you about impending deprecations and there's no point using the functionality to warn if noone is listenning 15:54
pmichaud I'm not sure I agree with that latter part.
based on that reasoning, parrot shouldn't have a warn-on-deprecations option if we (parrot) believes nobody will ever actually use it 15:55
some things have to be done on faith. some things have to be done even when nobody is using them simply because we're trying to encourage people to start using them
in this case, it's kind of specious to say anything along the lines of "well, Rakudo ought to be using PARROT_WARNINGS_DEPRECATED_FLAG" when it wouldn't have helpd in this instance anyway 15:56
how many of Parrot's other tools are using the flag? 15:57
dukeleto pmichaud: i think you are talking into the wind
pmichaud I'm used to that, I guess. 15:58
I can stop.
whiteknight here's an extremely important question: We've been doing a hell of a lot more for our deprecations recently, even if we can't do it all perfectly. Are our users getting any noticible returns on our investment?
15:58 pmichaud left
dukeleto pmichaud: we aren't trying to break Rakudo on purpose, be sure of that. 15:58
wow, I guess I pissed off pmichaud. Awesome.
dukeleto feels accomplished for the morning
whiteknight we have wiki pages where we didn't before, we have tools and flags, and tickets and all this stuff. Are our users benefiting from this all or not? 15:59
dukeleto i was just trying to tell him that he was beating a dead horse that was already buried.
whiteknight if yes, we need to improve our process to keep things from slipping through the cracks. If no, we need to find more productive ways to spend our energy
obviously, users didn't seem to have enough information before this deprecation to anticipate problems that would arise from it. How do we make sure they have that information in the future? 16:00
And, how do we make sure we get the feedback to tell us whether the information we are providing is sufficient 16:01
We had a ticket, a wiki page, an entry in DEPRECATED.pod several months ago. Obviously none of that was sufficient to get the information to the people who needed it 16:02
dalek tracwiki: v10 | plobsing++ | HowToDeprecate
tracwiki: updates to improve pain points experienced by recent zavolaj breakage
tracwiki: trac.parrot.org/parrot/wiki/HowToDe...ction=diff
whiteknight because if users had that information in hand, they would have been able to tell us that it wasn't enough, and we could have come back with better documentation on the issue
I'm mostly talking to myself here, but I want to make sure we learn from this and that we start moving in a better direction 16:03
Maybe we need to be sending deprecation notices to parrot-users for feedback and discussion 16:04
16:04 darbelo_ left
whiteknight of course, we have plenty of users not subscribed to that list 16:04
plobsing I think at some point, you need to accept that we'll never reach all users with our warnings 16:06
whiteknight yeah, that's what I'm getting at in a roundabout way. No method is perfect 16:10
plobsing but I do agree we can strive to be better
which is why I've put my ideas about how this might have been averted in a small update to the deprecation SOP
whiteknight What I think we can do is to keep api.yaml up to date, and send out notifications to the parrot-dev and parrot-user lists
Everything else, as we make it, can be linked from api.yaml 16:11
dukeleto whiteknight: seems reasonable
whiteknight so if we have enough information, we don't need pages on the wiki, etc. If we don't have enough, we add it and link to it
dukeleto whiteknight: how about this: Email parrot-dev and parrot-users every time a new deprecation is added to api.yaml ?
whiteknight if we have multiple wiki pages, tickets, email archives etc we link them from api.yaml as they are generated
dukeleto: I like that. If we can automate it, the better 16:12
dukeleto whiteknight: that would at least give the rakudo peeps a heads up
whiteknight: i think it could be a pretty simple tools/dev/announce_deprecation.pl script
cotto_work ~~
atrodo dukeleto> With a large "OMG WE'RE DEPRECATING STUFF!!!!11one1" in the subject 16:13
whiteknight dukeleto: okay, I like that
I don't like the ParrotDeprecations page, if all it does is mirror data found in api.yaml 16:14
cotto_work originally api.yaml mirrored it, but it's less important now
16:17 pmichaud_ joined
whiteknight what I don't want is for us to have multiple copies of the same data which is not automatically kept in sync 16:18
dukeleto whiteknight: ok, here is an idea 16:20
dukeleto is good at crazy ideas 16:21
pmichaud_ (just to let others know: no, I didn't leave because of being pissed off. I felt I was over-talking and needed to remove myself from the conversation.)
16:21 darbelo joined
dukeleto and pmichaud_ had an enjoyable privmsg talking about stuff. All is well. 16:21
whiteknight: ok, do you agree that api.yaml is the best option for "the canonical place for deprecation data" ? 16:22
pmichaud_ "canonical starting point", perhaps??
it won't hold all of the data.
dukeleto pmichaud_: sure. perhaps "canonical nexus" ?
pmichaud_: nexus ~~ starting point, so I think we agree 16:23
atrodo nexus sounds cooler
pmichaud_ I already have a Nexus, and I don't want it to get deprecated. :-P 16:24
anyway, "nexus" is fine.
dukeleto what if we had code which read in api.yaml and generated deprecation info, which could be exported in various formats, as well as having a WWW::Mechanize script to shove it into our trac wiki
alester Trac doesn't have any other API?
dukeleto alester: not sure, but i doubt it. 16:25
cotto_work I'd love for trac to have an api.
pmichaud_ can I make a couple of proposals?
dukeleto pmichaud_: please do
alester pmichaud_: Yes, yes, I'll marry you!
dukeleto thinks Trac is good for ticket tracking and not much else 16:26
alester is as happy as a little girl.
pmichaud_ first, I'd like to see us create docs/project/deprecated.pod
in it, I'd like to see us document a process for deprecation
much like we do for release_manager_guide
1. Create a trac ticket
2. Add a notice to api.yaml
3. Document the replacement feature
4. Provide examples of how to modify code to work after deprecation takes effect 16:27
(most of this is already in docs/project/stability.pod, but not as a process)
docs/project/deprecated.pod can also contain the step-by-step guide for users who want to keep up with deprecations 16:28
1. Monitor api.yaml / mailing list / whatever for deprecations that might apply to you
2. Apply the modifications given in * to avoid the deprecation 16:29
etc.
mainly, let's have a deprecation checklist
plobsing we have a wiki page for deprecator procedure entitled "HowToDeprecate"
pmichaud_ I think it belongs in docs/project, then. 16:30
whiteknight I have some ideas for the process. I'll write up a draft 16:31
pmichaud_ iwbni api.yaml could also contain the links to the individual parts
(or somewhere)
for example -- a link to the documentation explaining how to upgrade the code
then we can say that a deprecation can't be completed until all of the deprecation requirements have been met (as indicated by tags in api.yaml) 16:32
16:32 darbelo left
pmichaud_ plobsing++ : I didn't know HowToDeprecate existed. 16:33
whiteknight pmichaud_: I like the spirit of it, but I still worry that we're not taking the information to the user, we are expecting the user to come and try to find it themselves
that's clearly not a working strategy
dalek rrot: 557712a | dukeleto++ | NEWS:
Give NEWS some love
whiteknight no matter how many pages we create in the wiki, no matter how much we add to api.yaml, if the user doesn't see it they are still going to get scrwed when a changover happens 16:34
pmichaud_ whiteknight: overall, I don't know that you can do much more about "taking information to the user" (more)
cotto_work Maybe we need EverythingYouEverWantedToKnowAboutDeprecationsButWereAfraidToAsk
pmichaud_ and in some sense, I'm not sure that's even the issue
from a rakudo perspective, I don't mind so much that something broke (more)
it's that when we went to fix it.... we couldn't.
whiteknight pmichaud_: I don't want to see a system where users are still confused and surprised, and the recourse for them is to come in and nitpick the process to catch us on a technicallity and force us to revert
16:35 darbelo joined
whiteknight the more steps we have to follow, the less likely any of them get done well enough 16:35
pmichaud_ and the reason we couldn't fix it is because the information wasn't available to fix.
dukeleto i think it comes down to parrot being more vocal and reminding people about deprecations
cotto_work hio darbelo
darbelo hio 16:36
pmichaud_ I think surprise is inevitable, on both sides.
whiteknight pmichaud_: and nobody went looking for the information. Nobody noticed it didn't exist until the changeover happened and peopel were confused and surprised
dukeleto perhaps every release announcement/blog post should contain a "these important deprecations happened, here are the wiki pages about them" clause
whiteknight I would rather see us engage users in deprecation conversations, as opposed to deprecation process
pmichaud_ dukeleto: that wouldn't have helped in this case -- the deprecation was four months ago
dukeleto and emailing parrot-dev and parrot-users with every additional deprecation will reduce surprise
whiteknight that's my thinking 16:37
dukeleto pmichaud_: sure. but reminding users more often is a better direction for us, than letting them always be surprised
whiteknight If we write a deprecation notice and expect users to be surprised by it, why do we have a mandatory waiting period built-in?
pmichaud_ I'm thinking surprises may be inevitable
(more) 16:38
I'd like surprises to be fail-softly rather than "they never occur"
whiteknight Waiting is counter-productive if surprises are inevitable
pmichaud_ we have two very recent examples to work from
first, random number generation in Parrot
second, the deprecated 't' feature 16:39
cotto_work pmichaud_: what do you mean by "fail-softly"?
pmichaud_ cotto_work: the impression of many of the rakudo devs is that when we report a surprise, the initial Parrot response is that it's somehow our fault
whiteknight also, the idea that we should provide the old feature and the replacement together for a time to allow switchover makes no sense if we expect the user to be surprised when the old feature is removed
pmichaud_ "you should've seen the deprecation from 3.0.0"
"you shouldn't rely on Parrot for random sequences on each run" 16:40
whiteknight pmichaud_: I don't feel that the current situation is workable from either side, and there is a lot of undue blame from both sides
pmichaud_ cotto_work: but beyond that, "fail softly" to me means that when a surprise occurs, there's a concerted effort to fix the surprise 16:41
in this case, we need code to show how we can bring zavolaj up to date. 16:42
an example would help
cotto_work pmichaud_: the rng thing was a failure on my part. I don't consider any significant to fault to be with Rakudo. 16:44
pmichaud_ cotto_work: but when jnthn first reported it, he was basically told "you need to fix Rakudo to work around it"
to the point that when I asked on #perl6 about it, he pretty much said it was a "parrot FAIL" and we'd have to come up with our own answer
ttbot Parrot 557712a4 MSWin32-x86-multi-thread make error tt.taptinder.org/cmdinfo/4089 16:45
cotto_work that's true 16:46
pmichaud_ it wasn't until I made noises about "deprecation fail" that it got "fixed" in Parrot.
in today's issue, jnthn's question was met with 16:48
whiteknight pmichaud_: it was in DEPRECATED.pod back in 3.0.0. If any user had read that, they could have noticed that there was insufficient information to perform an update back then (more)
pmichaud_ whiteknight: in some sense, I think that the users expect Parrot to provide that information without having to be asked. After all, the policy documents all say that Parrot will do this. 16:49
whiteknight DEPRECATED.pod and api.yaml really don't serve as good sources of information, because we can't force users to come read them and figure out which parts affect them
pmichaud_: A far better strategy would be to email parrot-dev and parrot-users, talk to the users, and find out what information the users need
We could have started the conversation months ago and said "We're removing 't' from NCI. Tell us who is using it and what information you need to upgrade" 16:50
pmichaud_ I don't think that would've worked (ore)
(more)
whiteknight We had a wiki page, and from the perspective of the involved developers, it appeared sufficient
We don't know it's not sufficient until a user actually reads it
and if we can't force the users to come to our wiki, we can send emails out to them 16:51
pmichaud_ how many people knew that zavolaj was relying on 't' ?
whiteknight pmichaud_: none of the parrot devs
pmichaud_ I suspect only a few of the rakudo devs. Perhaps even only one.
whiteknight it's the darkpan problem. We don't and can't know what all our users are using
pmichaud_ right
which is why I'm after a fail softly approach
whiteknight And we don't know how much effort each user is going to need to go through to fix deprecation breakages 16:52
pmichaud_: exactly. And the only way we know how much information is "sufficient" to bring a soft fail is to get users involved in the dialog
pmichaud_ (no, I don't know what "fail softly" looks like in this situation. I simply use the term to say "we need a better mechanism of handling deprecation fails rather than assumign they don't happen")
whiteknight and since we don't know which users specifically are using which features, we need to broadcast
pmichaud_ broadcast is fine. It wouldn't have helped in the last two deprecation fails. 16:53
fwiw, I *did* see the commit and messages that indicated that 't' would be going away. 16:54
it didn't occur to me that Rakudo would be affected.
16:54 redicaps left
pmichaud_ (because I'm not intimately familiar with every aspect of every piece of code that goes into Rakudo and Rakudo Star) 16:55
ambs seen coke?
aloha coke was last seen in #parrot 4 hours 11 mins ago joining the channel.
16:55 darbelo left
whiteknight pmichaud_: I suspect it would have helped. If we sent out an email to parrot-users saying NCI was going to change, jnthn might have seen that and said "I use NCI, I could use some more information about this" 16:55
ambs seen Coke_ ?
aloha Sorry, I haven't seen Coke_ .
ambs ahaha
whiteknight or sorear might have seen it 16:56
and then we would have been able to give those guys information tailored to them, in a more timely manner
pmichaud_ I'm saying a mail did at least go out to parrot-dev (or the commits list), because I did see it. 16:57
I presume jnthn++ monitors that as well.
whiteknight I don't even monitor the commits list :) I can't expect any of our users to be reading that and filtering out garbage from it
at least parrot-users has lower traffic and could be more focused and noise-free
parrot-dev too
pmichaud_ fair enough 16:58
ah, I know where I saw it. In the trac ticket. 17:00
whiteknight it takes a certain familiarity with the code to even recognize that a failure would have been caused by NCI signature changes. At least, I hope so 17:01
17:01 darbelo joined
pmichaud_ right. which is why I think the "broadcast" approach won't significantly reduce the number of deprecation fails 17:02
whiteknight I'm not trying to be combative here, I'm sincerely looking to help alleviate these problems
pmichaud_ because it's only helpful if it happens to reach the person familiar enough with the code to say "oh, that could be a problem"
(and that person has to not be distracted with other things)
I'm going to lunch soon; but I think a message from jnthn++'s original post says it best: 17:05
"I'm fine with
> deprecations if I'm given a clue what to do to get things wroking again. But
> a removal of a feature used by *Perl 6 database access* with no instructions
> or updated examples that I can find, or maybe not even an actual
> replacement?"
we're fine if the deprecation fails happen. but give us some help when they do happen. 17:06
17:06 darbelo left
whiteknight pmichaud_: okay. We'll do some thinking and discussing on our end and try to come up with some fixes 17:06
17:06 darbelo joined
plobsing jnthn__: how does zavolaj unwrap NativeArray as a parameter to hand off the inner $!unmanaged to NCI? 17:08
17:11 JimmyZ left
pmichaud_ plobsing: I'm not completely familiar with zavolaj but will try to help figure it out 17:14
plobsing I'm basically looking to manipulate the arguements (capture?) that gets passed in.
to be able to pass the NativeArray wrapper as an argument, I'd assume zavolaj would do similar, but it does not appear to do that 17:15
unless there's magic I don't see
pmichaud_ pass the NativeArray as an argument to the NCI func? I don't think that happens 17:18
plobsing ok
sorear whiteknight: what might I have seen?
whiteknight sorear: deprecation notices on parrot-user 17:19
sorear: sorry about the name-drop. I was just using you as an example
pmichaud_ oh, I could be wrong 17:20
looking
plobsing it seems like something you'd want to do (pass a value returned from a C function to a C function), but I don't see the mechanism to do it 17:21
if it doesn't exist, that's fine
pmichaud_ I think that values returned from C functions get cast into Rakudo-equivalent types 17:27
I don't know that we ever pass NativeArrays as argument to C functions (I could be very wrong about that) 17:28
Coke_ I am deep in review. checking /code/ with a regular expression is the wrong way to find deprecations. the right way is to add assertions (perhaps even the kind that go away in an optimized build) that are triggered at runtime. 17:30
pmichaud_ oh, there must be some way of doing it in order for the sqlite3 example to someday work 17:31
but that's the only example that I see that would want to pass a NativeArray to C func
(and it's listed as "not working") 17:32
17:33 bluescreen left
pmichaud_ yeah, looks like "doesn't exist" to me. 17:34
Coke_ pmichaud_: I feel your pain, and wish I had more tuits to make parrot suck less.
but for now, I'll just commiserate and bemoan the near death of partcl. ;)
pmichaud_ death of partcl makes me sad. Maybe I should do something about that :) 17:35
Coke_ It's only mostly dead. 17:37
(most of the actual parrotbugs/deprecations/changes have been avoided. Though I haven't tried to run it lately...)
I don't have easy access to a dev box atm but will check when I get home. 17:38
(and, code always appreciated.)
(runtime assertions - we have parrot -w, and I added code to warn about deprecated ops. warning about other deprecated things is also pretty doable.) 17:39
17:39 dodathome joined
benabik Coke++ 17:40
benabik is still running at a tuit shortage, or would help. 17:41
17:41 darbelo_ joined 17:42 smash left 17:45 darbelo left
Coke_ did that NCI change end up in a release? 17:46
(worse, a supported release?)
whiteknight Coke_: no, I think it's recent
cotto_work last few days iirc 17:47
Coke_ April 22, 2011
(from the commit link in jnthn's email.) 17:48
looks like the release was 4/19? excellent. easy peasy.
cotto_work dukeleto: Is it a good time to talk about M0? 17:49
dukeleto cotto_work: for a bit, yes. 17:50
cotto_work dukeleto: ok. What's your understanding of what the binary version of the bytecode segment needs to contain?
Coke_ wonders how this discussion could have gotten any further than "oh, right, we removed something and didn't give a replacement right away." 17:51
"let's fix that immediately and then figure out the upgrade path before we do that again."
dukeleto cotto_work: well, each line of M0 source should map to a binary representation
cotto_work sure 17:52
dukeleto cotto_work: when actually converting from the textual representation to the binary, we look up the opcode name and replace it with the op number 17:53
cotto_work the op and its three arguments, each of which is a byte
dukeleto cotto_work: perhaps I was misunderstandig if the 3 arguments need to be processed in some way
cotto_work: do the raw integer offsets go directly into the binary, or do we have to look up variables in the variable table, and replace them with constants? 17:54
cotto_work dukeleto: the only processing is to convert values like "I0" or "S99" into their equivalent int values
pmichaud_ Having thought about this some: Passing C-strings to NCI functions seems like such a common use case that I'm surprised that Parrot isn't supporting it directly and natively.
cotto_work dukeleto: the raw offsets go directly into bytecode 17:55
17:55 davidfetter joined
dukeleto cotto_work: yes, after thinking about it some more, I came to that realization after I asked you about it 17:56
cotto_work: good to hear confirmation on that. That makes it a lot easier.
cotto_work dukeleto: glad to hear it
dukeleto cotto_work: the assembler is much closer to done than i thought 17:57
cotto_work pmichaud_: very surprising 17:58
dukeleto has ssh access to the parrot.org vm now 17:59
osuosl++
davidfetter dukeleto, groovy. we're about a week out from the PL summit. got anything to add? 18:00
dukeleto davidfetter: nope 18:05
davidfetter might you have anything to add before then? 18:06
dukeleto davidfetter: nope. i have given you my 2 cents
dalek TT #2111 created by whiteknight++: new_s and new_s_i opcodes 18:07
TT #2111: trac.parrot.org/parrot/ticket/2111
davidfetter dukeleto, i'm asking because while you were giving it, you mentioned looking into plparrot.c and trying to give yourself a case of PTSD^W^W^W^W^W^Wrecall things that should have been available as APIs 18:08
dukeleto davidfetter: in general, frameworks for PL's to use for caching and security would be nice. For instance, PL/Perl does very fancy caching at many layers. If PG had that in core, then all PL's could benefit from it 18:10
davidfetter: PL/Parrot only mildly imitates the caching in PL/Perl
davidfetter adds this to dukeleto's list of gripes
pmichaud_ Coke++ # message to parrot-dev re: NCI
Coke++ # message to parrot-dev re: NCI, worth two karma 18:13
dukeleto davidfetter: as for security, pushing some of the security features of PL/Perl into a "pl security framework" could be something else to talk about 18:15
pmichaud_ 17:51 * Coke_ wonders how this discussion could have gotten any further than "oh, right, we removed something and didn't give a replacement right away."
17:51 <Coke_> "let's fix that immediately and then figure out the upgrade path before we do that again."
davidfetter dukeleto, could you expand that a bit? what would such a framework look like? 18:16
.oO(what does marsellus wallace look like?)
pmichaud_ Coke says what I was trying to say earlier. When we report a problem, we'd like to see "ooops, a 'upgrade tax' mistake -- let's revert" instead of a lot of pushback about it. 18:17
dukeleto davidfetter: not sure. That is for you and the pl summit people to talk about :) 18:21
davidfetter: but as a guide "emulate the security guards that pl/perl undertakes" and make it easier for other PL's to do similar things
davidfetter what marsellus wallace looks like?
dukeleto davidfetter: even if it is just good docs about "this is how you harden your PL" 18:22
davidfetter: because, as you well know, there have been many gaping security problems in Postgres PL's in the past, particularly PL/Perl. CVE's and such
davidfetter ah, excellent point 18:23
so you're thinking there should be APIs designated as "trusted" and "untrusted?"
dukeleto, rather than having people figure out which is which and then implement same, however well?
18:24 rblackwe joined
dukeleto davidfetter: yeps. give people a framework. Throw PL authors a frickin' bone :) 18:24
davidfetter anything else bugging you? 18:25
dukeleto the twitter failwhale 18:26
dukeleto goes afk
18:35 contingencyplan joined
dalek rrot: 9eab52a | Whiteknight++ | / (5 files):
Merge branch 'master' of github.com:parrot/parrot
18:53
ttbot Parrot 9eab52a1 MSWin32-x86-multi-thread make error tt.taptinder.org/cmdinfo/4152 19:02
Coke_ we sure do get a lot more merge commits than I would expect. 19:05
19:07 [hercynium] joined 19:10 darbelo_ left 19:11 hercynium left, [hercynium] is now known as hercynium, darbelo joined 19:13 hercynium left 19:42 ShaneC joined
dalek sella: 05afcda | Whiteknight++ | src/string/String.winxed:
Add in some stub code for a new strings library
19:44
sella: c9a93a6 | Whiteknight++ | setup.winxed:
Add in a tokenizer class which breaks a series of strings up into tokens based on cclass.
sella: a612b95 | Whiteknight++ | src/ (2 files):
Add in two stub files that I twiddled around with a few months ago, which may turn into new libraries
sella: 51f09df | Whiteknight++ | src/string/CClassTokenizer.winxed:
Add missing tokenizer file
sella: c5c98ce | Whiteknight++ | s (6 files):
fix setup script for merge
dukeleto msg plobsing please take a look at jitterbug.leto.net:3000/api/build/p...rl-v5.10.1 . do you know what is up?
aloha OK. I'll deliver the message.
19:47 ShaneC left
dalek sella/gh-pages: dfa5226 | Whiteknight++ | libraries/future.md:
mention new futures libraries
19:56
cotto_work 11.25/11.24 20:00
aloha 1.0008896797153
dalek sella: 169f832 | Whiteknight++ | src/winxed/Distutils.winxed:
build winxed files without warnings
sella: 9db3019 | Whiteknight++ | src/winxed/Distutils.bootstrap.pir:
update distutils bootstrap
20:01
sella: 6a1a973 | Whiteknight++ | VERSION:
add string to VERSION
dukeleto whiteknight: have you seen treehugger.js ? github.com/zefhemel/treehugger 20:04
whiteknight no 20:05
oh, nice
calling all rohit. 20:08
:)
cotto_work that looks familiar
dukeleto could be useful for Javascript on Parrot
20:11 darbelo_ joined
cotto_work That's shiny. 20:11
whiteknight if we can get Javascript running on Parrot without too much axelgrease, that would be a powerful tool for other HLLs to use too 20:13
if the Javascript standard library isn't too heavy, I hope it will be very useful 20:14
20:16 darbelo left 20:19 darbelo_ left, darbelo joined 20:24 ambs left 20:28 whiteknight left 20:38 mtk left 20:47 dodathome left 20:52 contingencyplan left 21:07 darbelo_ joined 21:12 darbelo left
cotto_work any objections to merging get-entropy? 21:17
dukeleto cotto_work: yes 21:19
pmichaud_ no objection here.
cotto_work dukeleto: ok. What objection? 21:20
dukeleto cotto_work: has it been tested on solaris or bsd ? 21:21
cotto_work dukeleto: no, but wikipedia claims that both have /dev/urandom
well, open and net
freebsd also seems to 21:23
pmichaud_ my Nexus One has /dev/urandom. :-) 21:25
dukeleto cotto_work: gonna kick off a test suite on freebsd
cotto_work dukeleto: awesome
21:27 bacek left
dukeleto cotto_work: is smolder working? 21:29
cotto_work dukeleto: looks like no
dukeleto grumbles 21:31
cotto_work: do you see that the get-entropy branch fails under jitterbug?
cotto_work: it looks like some configure.pl junk is messed up
cotto_work: jitterbug.leto.net
cotto_work dukeleto: I missed that
It looks like jitterbug's running three instances of the build concurrently 21:32
dukeleto: it does the same thing with plobsing's branch 21:34
tadzik what kind of machine build Rakudo in 8 seconds? /o\\
cotto_work looks partially like a jitterbug bug
dukeleto tadzik: rakudo on jitterbug is messed up :)
cotto_work I suspect the buildsplosion results from the separate builds stepping on each other's feet 21:35
dukeleto: same for whiteknight's branch
dukeleto cotto_work: yeah, something is going funky 21:36
cotto_work: it is a problem with jitterbug. Parrot seems to find a lot of them :)
cotto_work dukeleto: excellent! 21:37
dukeleto cotto_work: jitterbug seems to test Perl code pretty well, but parrot has many tricks
cotto_work: i am caching the git repo
cotto_work: so we don't clone the git repo for every commit 21:38
bubaflub dukeleto: would being able to build parrot out of directory help in this case?
cotto_work dukeleto: quite sensible
dukeleto: I remember that from your jitterbug talk
dukeleto cotto_work: but when a build explodes, i think i don't clean up properly in jitterbug
21:38 whiteknight joined
dukeleto cotto_work: usually, a "git clean -fdx" happens 21:38
cotto_work: but i think some edgecase prevents that from happening 21:39
cotto_work dukeleto: should I consider merging safe if your FreeBSD tests pass? 21:40
dalek sella/path_refactor: 148e9a9 | Whiteknight++ | / (6 files):
perform the bulk of the refactor. Move the path-searching logic into a single function loop, and make the searchers more simple. We lose one test assertion for now, I need to decide if we still want that or not
21:41
sella/path_refactor: 900124e | Whiteknight++ | src/path/Path.winxed:
more path cleanups
dukeleto cotto_work: looks like the parrot build fails on openbsd (get-entropy) branch 21:43
21:43 lucian left, lucian_ joined 21:44 darbelo_ left
cotto_work dukeleto: thanks for catching it then! Can you fix it or nopaste something for me to work with? 21:44
dukeleto++ 21:45
I'm thinking I should add a fallback to /dev/random if urandom is absent
21:46 bluescreen_ left
dukeleto cotto_work: openbsd probably doesn't compile on master either. I doubt it is get-entropy's fault 21:50
cotto_work I was hoping for something to fix. Whose fault is it? 21:51
dukeleto cotto_work: gist.github.com/971378
cotto_work: nobody tests openbsd regularly. Hence the need for a jitterbug instance or smoker on openbsd 21:52
cotto_work: those are the first errors, and then everything bombs
21:52 lucian joined
cotto_work may be an old gcc thing 21:52
dukeleto cotto_work: yeah, it might not understand __attrribute_notnull 21:53
cotto_work: my freebsd box is hosed for now. can't test on it
cotto_work well nuts 21:54
I guess I'll have to merge
21:56 lucian_ left
cotto_work done 21:58
dalek rrot: 658fd0a | cotto++ | / (8 files):
Merge branch 'get-entropy'
dukeleto is starting to daydream in M0 bytecode. Can't decide if that is good or bad. 22:12
davidfetter yes 22:14
cotto_work I guess that'll make it easier to generate. 22:15
ttbot Parrot 658fd0a7 MSWin32-x86-multi-thread make error tt.taptinder.org/cmdinfo/4478 22:17
cotto_work same as I see on my windows machine
cotto_work tries to manually rebase again 22:19
C:\\src\\parrot-mingw/src/nci_test.c:416: undefined reference to `_imp__Parrot_str_free_cstring' 22:23
22:41 Coke left, Coke joined
cotto_work 6f0cfa824ff117c6731ab47320e0375402f14e80 is the first bad commit 22:47
msg bacek 6f0cfa824ff117c6731ab47320e0375402f14e80 is what breaks the mingw build for me
aloha OK. I'll deliver the message.
22:48 Coke left, Coke joined 23:01 Anxuiz joined 23:24 davidfetter left
whiteknight Rosella, which has a hell of lot more code, builds faster than Plumage does 23:25
23:25 davidfetter joined
cotto_work winxed is nice like that 23:26
23:38 davidfetter left 23:46 rurban_ joined 23:49 davidfetter joined 23:50 rurban left, rurban_ is now known as rurban