|
Parrot 2.8.0 released | parrot.org Log: irclog.perlgeek.de/parrot/today | Nopaste: nopaste.snit.ch:8001 | close 25 tickets; remove deprecated items (especially CodeString); Set by moderator on 24 September 2010. |
|||
| bacek_at_work | then we have to handle RPA from gen2 specially to properly mark PMC from gen1 | 00:00 | |
| dukeleto | GeJ: our github repo is a one way mirror, from svn to git, currently. You can create branches with a slash in them, tho, of the form username/branch | ||
| bacek_at_work | gc.write_barrier will put RPA into "root set" for next mark | ||
| ...next mark of gen1 | |||
| GeJ | dukeleto: Okay. I was thinking about something along those lines. I just wanted to be sure. Thanks. | 00:01 | |
| dukeleto | GeJ: we have a script now that syncs svn branches to github, and also deletes old branches, so if you want your branch to survive the sync process, it needs a slash in it | ||
| GeJ: there are some emails in the parrot-dev archives about it | |||
| cotto | So the write barrier for your gc ensures that any PMCs that get written to will be in the same generation? | 00:02 | |
| dukeleto | GeJ: we are switching to git "soon", so it is good to play around with the repo, keep it up to date, etc. But the easiest way to commit your work, and apply small patches, is directly with svn. There is git-svn, but it has a steep learning curve. | ||
| GeJ: if you look at the branch list, all the ones with slashes are pure git branches, and all the others are current svn branches | 00:03 | ||
|
00:03
kid51_at_dinner is now known as kid51
|
|||
| dukeleto | GeJ: i have a branch called leto/git_docs that has the git documentation I have been working on | 00:04 | |
| dalek | tracwiki: v7 | cotto++ | GitHubTracPluginTests | ||
| tracwiki: trac.parrot.org/parrot/wiki/GitHubT...ction=diff | |||
| dukeleto | GeJ: github.com/parrot/parrot/branches | ||
| GeJ: from that page, you can easily get a diff of any branch to master | 00:05 | ||
| bacek_at_work: is there a way to infer where write barriers need to be algorithmically, or is it a manual process currently? | 00:07 | ||
|
00:08
ash_ joined
00:09
ash_ left
|
|||
| cotto | dukeleto, it sounds like you want to parse c. | 00:11 | |
| cotto mumbles something about lorito | |||
| dukeleto | cotto: just wondering if it is possible to figure out beforehand, without parsing | 00:12 | |
|
00:12
whiteknight joined
|
|||
| plobsing | is there any plan on how we intend to handle systems where shared objects are impossible or undesirable? | 00:16 | |
| cotto | in theory it might be, but you never know when some wacky PMC might violate your assumptions | ||
| plobsing | dukeleto: some generational systems are more precise by wrapping all assignments with guards (similar to refcounting) | 00:17 | |
| GeJ | Hello whiteknight. | 00:19 | |
| whiteknight | hello GeJ | ||
|
00:26
kid51 left
|
|||
| luben | dukeleto, may be a good first approximations is to put wb on all vtables that have SETATTR in their code | 00:27 | |
| plobsing | luben: what about vtables that create new PMCs themselves? and what about vtables that call functions that SETATTR? | 00:29 | |
|
00:29
davidfetter joined
|
|||
| luben | if vtables calls a function with SETATTR in it, may be the WB should be invoked explicitly where the SETATTR is called | 00:31 | |
| plobsing | if you do that for functions, why not do it everywhere? | 00:32 | |
| luben | because most of the time SETATTR is in a PMC and most of the time the PMC is in the youngest generation, so it does not need WB. About the first case - "vtables that create new PMCs themselves" : my understanfing is that if the PMC will mark the newly created PMC as alive in GC trace, the vtable that creates it should be behind WB | 00:35 | |
| plobsing | sounds like premature optimization with 0 evidence used to support a special case. I really dislike special cases. | 00:36 | |
| luben | its just another manner to implement write barriers - with its cons and pros | 00:39 | |
| plobsing | what I'm saying is that it should all be one way or all the other. either you have to mark your writes in vtables or you don't in functions. | 00:40 | |
| luben | the easier solution is just to call write_barrier is SETATTR macro | ||
| plobsing, yes, I agree | |||
| but there are functions that SETATTR that are not invoked from vtables | 00:41 | ||
|
00:44
ruoso joined
|
|||
| dalek | rrot: r49373 | plobsing++ | trunk (5 files): calloc can return null |
00:48 | |
|
00:48
Andy left
00:52
dngor joined
00:53
dngor_ left
01:11
kid51 joined
|
|||
| dalek | tracwiki: v8 | cotto++ | GitHubTracPluginTests | 01:13 | |
| tracwiki: partial test results and minor fixes to the tests | |||
| tracwiki: trac.parrot.org/parrot/wiki/GitHubT...ction=diff | |||
|
01:24
Andy joined
01:32
davidfetter left
01:34
kid51_ joined
01:36
PhatEddy joined
|
|||
| PhatEddy | kid51: ping | 01:37 | |
|
01:37
kid51 left
|
|||
| kid51_ | PhatEddy pong | 01:39 | |
|
01:39
kid51_ is now known as kid51
|
|||
| PhatEddy | Thx, I am looking at proposing a patch for part of the rakudo build process under win32 that uses backticks "`". | 01:41 | |
| kid51 | If you are proposing patches for Rakudo, you probably want #perl6 on irc.freenode.net | 01:42 | |
| PhatEddy | Thx - will try there. | ||
| kid51 | or: open an RT for them via: rakudobug@perl.org | 01:43 | |
|
02:12
whiteknight left
|
|||
| GeJ | clock? | 02:13 | |
| aloha | GeJ: LAX: Tue, 19:13 PDT / LON: Wed, 03:13 BST / MAD: Wed, 04:13 CEST / NYC: Tue, 22:13 EDT / SYD: Wed, 12:13 EST / TOK: Wed, 11:13 JST / UTC: Wed, 02:13 UTC | ||
|
02:20
PhatEddy left
02:29
kid51 left
|
|||
| dalek | rrot: r49374 | plobsing++ | trunk (5 files): [C89] eliminate and add test against trailing commas in enums |
02:29 | |
|
02:35
janus left,
theory joined
|
|||
| dalek | rrot: r49375 | plobsing++ | trunk (2 files): make new codingstd test a little more codingstd conformant |
03:03 | |
| rrot: r49376 | plobsing++ | trunk/compilers/imcc (2 files): eliminate useless includes this prevents lex from defining INT{8,16,32}_{MIN,MAX} on non-C99 platforms that still define them somewhere |
03:20 | ||
|
03:31
janus joined
|
|||
| dalek | thub-trac: 33e2770 | cotto++ | github/github.py: fix commit message processing |
03:44 | |
| dukeleto | i think the git documentation is mostly done. i am sure it can be improved, but the core of it is there now | 03:48 | |
| plobsing | dukeleto: you were looking into parrot on embedded systems, correct? | 03:50 | |
| dukeleto | github.com/parrot/parrot/blob/leto%...rkflow.pod | 03:51 | |
| cotto | dukeleto++ | ||
|
03:52
preflex left
|
|||
| dukeleto | plobsing: yes. I haven't had time lately to mess with that, but I am very interested in it. | 03:52 | |
| plobsing | have you put any thought towards how to deal with parrot's addiction to DLLs (dynpmcs, dynops, etc...)? | ||
| dukeleto | github.com/parrot/parrot/blob/leto%...nology.pod | ||
| Comments and questions about the git docs welcome. | 03:53 | ||
| plobsing: it is an issue for things like real-time operating systems | |||
| plobsing: i haven't really seen a good reason for dynpmc's | |||
| plobsing: dynops i can see, and if necessary, PBC can be created that includes dynops,IIRC. But what is the use case for dynpmc's ? | 03:55 | ||
| plobsing | I think in a regular desktop system with multiple applications using dynpms, they may have value. But on an embedded system, you know beforehand what you need. | 03:56 | |
| dukeleto | plobsing: yes, i envision flavors of parrot, customized to different needs | ||
|
03:56
preflex joined
|
|||
| plobsing | But more important than use case, is the need for a workaround. There are systems out there that don't implement dynamic loading at all. | 03:57 | |
| dukeleto | plobsing: versions optimized for speed for desktop use and memory use for embedded systems | ||
| plobsing: i don't think RTEMS does dynamic loading yet, but I hear they are working on it. But yes, many don't. | |||
| plobsing: i could see somebody that doesn't have dynloading want, say, the Random dynop | 03:58 | ||
| plobsing: dynops can be compiled into parrot if necessary, right? | 03:59 | ||
| plobsing | MINIX doesn't seem to implement dynamic loading either. That's the only real blocker I've hit trying to port parrot to minix. | ||
| dukeleto | plobsing: very interesting | ||
| plobsing: which version of minix are you using? | |||
| plobsing | dukeleto: dynops and dynpmcs should be trivially statically addable (there has to be a real word for that) to core parrot | 04:00 | |
| just dump the .ops or .pmc file into the appropriate folder. then reconfig in the case of dynpmc, ./ops2c --core in the case of dynops. | |||
| you would run into problems when you try to .loadlib 'perl6_ops' though. Need to hack parrot's dynamic loading to keep track of what we've static'd | 04:01 | ||
| uname -a => Minix 10.0.2.15 3 1.7 i686 | 04:02 | ||
| that was the latest stable release when I downloaded it yesterday | 04:03 | ||
| dalek | tracwiki: v9 | cotto++ | GitHubTracPluginTests | 04:04 | |
| tracwiki: I guess that's why we have tests. | |||
| tracwiki: trac.parrot.org/parrot/wiki/GitHubT...ction=diff | |||
| dukeleto | plobsing: do you have a ticket or branch for your minix work? perhaps we can ask some minix people to help | 04:10 | |
| plobsing | no branch or ticket ATM. all the changes so far have been small. | ||
| dukeleto | plobsing: i've met one of the minix devs at the gsoc mentor summit, i can tell them we are interested in getting parrot to work on minix if I see him again | 04:11 | |
| plobsing | I wouldn't go making too many promises. I'm interested to the point where I'm willing to spend 5 minutes every couple of hours working on it. | 04:12 | |
| dukeleto | plobsing: does parrot compile at all on minix? | ||
| plobsing: that is why we ask for help :) | |||
| plobsing | dukeleto: I get to the stage where it tries to compile dynpmcs. so yes, core parrot compiles. | 04:13 | |
| modulo a couple hacks and workarounds which I am now cleaning up and commiting to core. | |||
| s/core/trunk/ | |||
| dukeleto | plobsing: showing them that we care enough about minix to try and make things works. I am not promising support, or anything like that. | ||
| plobsing: can you do a "make smolder_coretest" on your minix box, so we can get a smoke report for it? | 04:15 | ||
| plobsing | heh, I'll try | ||
| dukeleto | plobsing: perhaps after you commit to core, but whatev | ||
| plobsing: it would never have more than "experimental" support, but perhaps the minix folk are interested in having a VM for dynamic languages on their OS | 04:16 | ||
| plobsing: the only reason parrot works on openbsd is because of darbelo, it isn't supported. But I am glad that parrot (mostly) works on openbsd. | 04:17 | ||
| plobsing | minix/openbsd/etc *shouldn't* be too hard to get working. they are posix after all. | 04:18 | |
| dukeleto | plobsing: devil is in the details | 04:22 | |
| plobsing: if we had a buildfarm, small changes that break builds would be caught early, instead of lingering for a long time | 04:23 | ||
| cotto | git++ | ||
| git add -p FTW | |||
| plobsing | the devil is in the details. minix is more posix compliant than any of the systems we "officially" support | 04:24 | |
| and still doesn't quite work | |||
| dukeleto: are you suggesting that we have alternative oses in the build farm? the number of boxen/vmen could balloon quickly. | 04:26 | ||
| dukeleto | plobsing: yep, the more the better | ||
| plobsing: hopefully a few for each supported OS and at least one for the experimentally supported OS's | 04:27 | ||
| dalek | thub-trac: c4d8935 | cotto++ | github/github.py: add a redirect to the hook so trac doesn't complain about sending an empty response |
04:29 | |
| thub-trac: 5e01436 | cotto++ | github/github.py: fix config option check |
|||
| thub-trac: f983969 | cotto++ | github/ (2 files): fix hook code when the revmap is enabled |
|||
| rrot: r49377 | mikehh++ | trunk/t/codingstd/c_enum.t: fix perlcritic failure - remove hard tabs |
05:01 | ||
| rrot: r49378 | plobsing++ | trunk (7 files): test for timespec directly in stead of guessing at internal details of system headers |
|||
|
05:04
ash_ joined
|
|||
| mikehh | All tests PASS (pre/post-config, make corevm/make coretest, smoke (#311) fulltest) at r49377 - Ubuntu 10.10 beta amd64 (g++-4.5) | 05:19 | |
| pre-config tests say No tests exist for configure step auto::timespec at t/configure/026-options_test.t line 18 and | 05:25 | ||
| No tests exist for configure step auto::timespec at t/configure/049-options_test_prepare.t line 16 | |||
| plobsing | mikehh: sorry, I couldn't think of any tests for it | 05:27 | |
| it's more of an "obviously no bugs" rather than a "no obvious bugs" type software | 05:28 | ||
| but I'll try to think some up | |||
| mikehh | and you got hard tabs in config/auto/timespec.pm - you want to fix that or shall I | 05:29 | |
| plobsing | arg. why is it that I always forget that vim autovars don't get applied when you're writing the file for the first time? | 05:31 | |
|
05:32
Andy left
|
|||
| dalek | rrot: r49379 | plobsing++ | trunk/config/auto/timespec.pm: [codingstd] tabs |
05:35 | |
| plobsing | config/gen/platform/generic/stat.c contains BSD stat extensions. in fact, the only thing that separates win32 and generic is that win32 only expects posixy behaviour where generic assumes bsd extended. | 05:40 | |
| that seems backwards | |||
| mikehh | who is our OpenGL person | 05:44 | |
| I'm getting a bunch of can't handle type messages in gen::opengl since I updated Ubuntu 10.10 beta amd64 | 05:47 | ||
| plobsing | NotFound? I think | ||
| mikehh | NotFound: ping | 05:48 | |
| plobsing | I've been getting those type messages for months here on Arch. | ||
| hmmmm... praise tells a different story | |||
| japhb or Infinoid | |||
| cotto | Mmmmm. Arch. | 05:49 | |
| plobsing | sorry to have mislead | ||
| mikehh | I don't think it is serious, nut I am not getting them on Ubuntu 10.04 amd64/i386 (haven't set up 10.10 beta i386 yet) | ||
| but | |||
| dalek | rrot: r49380 | mikehh++ | trunk/config/auto (2 files): add svn properties |
05:52 | |
| mikehh | plobsing: which ones are you getting, maybe I can fix it | 05:59 | |
| nopaste | "plobsing" at 192.168.1.3 pasted "opengl_warnings" (7 lines) at nopaste.snit.ch/23795 | 06:04 | |
| mikehh | plobsing: yeah I am getting that one also some can't handle type 'longlong'; | 06:09 | |
| let me have a look | |||
| sorear | How are we on FreeBSD? | 06:11 | |
| plobsing | should work. last reported success was 20090720 though (according to PLATFORMS). | 06:13 | |
| mikehh | hmmn - OpenGL -> TT #1182 | 06:14 | |
|
06:29
dalek left,
PerlJam left
06:30
Util left,
dukeleto left,
hatseflats left,
pmichaud left
|
|||
| cotto | Say someone refers to a git commit id on the wiki ambiguously. What would be the right thing to do? | 06:40 | |
| i.e. there are commits deadbeef100000000000000000000000000000000 and deadbeef200000000000000000000000000000000, and someone writes deadbeef. | 06:41 | ||
| s/i.e./e.g./ | 06:42 | ||
|
06:44
dalek joined
|
|||
| GeJ | statistically, that'd be really bad luck. | 06:45 | |
| dalek | tracwiki: v10 | cotto++ | GitHubTracPluginTests | ||
| tracwiki: add incomplete test for ambiguous git ids | |||
| tracwiki: trac.parrot.org/parrot/wiki/GitHubT...ction=diff | |||
|
06:45
PerlJam joined
06:46
dukeleto joined
|
|||
| cotto | Sure, but I want to dtrt should it happen. | 06:46 | |
|
06:50
Util joined
06:51
pmichaud joined
06:58
dukeleto left,
dalek left,
PerlJam left,
pmichaud left,
Util left
07:03
fperrad joined
07:19
ruoso left
07:24
dalek joined,
PerlJam joined
07:25
dukeleto joined,
pmichaud joined,
Util joined
07:32
ruoso joined,
hatseflats joined
07:38
theory left
07:43
tadzik joined
07:50
lucian_ left
|
|||
| cotto | dukeleto, do you have any plans on writing the script to send messages to parrot-commits for git commits using github's api? | 07:52 | |
|
07:57
lucian joined
07:59
fperrad left
|
|||
| bacek_at_work | cotto, there is service hook available to send mails. No need for any development. | 08:01 | |
| cotto | right, but does it send out the full diff? | ||
| bacek_at_work | hmm. let me check | ||
| cotto | dukeleto seems to think not | ||
| bacek_at_work | Commit: 09ffd6797b5e59ffa3664f56d1e3071d7cef6013 | 08:03 | |
| github.com/bacek/aloha/commit/09ffd...1d7cef6013 | |||
| Author: vasily.chekalkin <vasily.chekalkin@optusnet.com.au> | |||
| Date: 2010-09-29 (Wed, 29 Sep 2010) | |||
| Changed paths: | |||
| M lib/Bot/BasicBot/Pluggable/Module/Clock.pm | |||
| Log Message: | |||
| ----------- | |||
| Add bit of documentation for email commit testing. | |||
| apparently not... | |||
| cotto | It should be pretty simple. | 08:04 | |
| They at least have a reasonably well-documented api. | 08:05 | ||
|
08:15
lucian left
08:18
lucian joined
08:46
bacek left
|
|||
| dalek | rrot: r49381 | bacek++ | branches/generational_gc/src/pmc/class.pmc: Add write barrier call when we update Class.attrib_cache |
08:51 | |
|
08:55
lucian left
08:57
bacek joined,
lucian joined
09:24
ruoso left
09:36
ruoso joined
09:52
particle1 left
09:56
particle joined
10:07
ruoso left
10:27
contingencyplan left
10:35
lucian left
10:42
tadzik left
11:45
nwellnhof joined
11:50
whiteknight joined
|
|||
| whiteknight | good morning, #parrot | 12:08 | |
|
12:13
mj41 left
12:15
mj41 joined
12:20
bluescreen joined
12:30
fperrad joined
|
|||
| dalek | rrot: r49382 | plobsing++ | trunk/config/gen/makefiles/root.in: avoid trying to build dynamic shared objects if we don't have dynamic linking |
12:32 | |
|
12:38
p6eval left,
p6eval joined
|
|||
| mikehh | All tests PASS (pre/post-config, make corevm/make coretest, smoke (#332) fulltest) at r49382 - Ubuntu 10.10 beta amd64 (gcc-4.5 with --optimize) | 12:57 | |
| whiteknight | mikehh: How is Ubuntu 10.10 beta? | 13:08 | |
|
13:19
Patterner left,
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
| mikehh | whiteknight: couple of minor problems, nothing serious, a lot of good stuff | 13:34 | |
| mikehh need to go shopping, bbl | 13:38 | ||
|
13:41
tadzik joined
14:27
tadzik left
14:51
ash_ left
14:54
theory joined
15:22
nwellnhof left
15:23
ruoso joined
15:26
allison joined
15:29
nwellnhof joined
15:30
jsut joined
15:35
patspam joined,
patspam left,
jsut_ left
15:41
lucian joined
16:11
fperrad_ joined
16:13
fperrad left,
fperrad_ is now known as fperrad
16:23
nwellnhof left
|
|||
| pmichaud | Parrot hashes seem to be ordered again. | 16:38 | |
| (nopaste coming) | |||
| gist.github.com/603084 # parrot hashes now act ordered? | 16:43 | ||
| whiteknight | interesting | 16:46 | |
| besides being weird, does this constitute a problem? | |||
| (I'm trying to figure out if this is a "bug" or "unintended feature") | 16:47 | ||
| dukeleto collapses into a stable eigenstate in #parrot | 16:52 | ||
| whiteknight takes dukeleto to a stable eigenhospital after he collapsed | 17:01 | ||
| probably from low blood eigensugar | 17:03 | ||
| pmichaud | well, it's not truly a "bug", other than some people might start to inadvertently rely on it. | 17:04 | |
| actually, it came up because someone was relying on the non-ordering behavior of hashes and was surprised when they all became ordered. | 17:05 | ||
| (relying on non-ordering behavior is equally as erroneous as relying on ordering behavior, imo) | |||
| whiteknight | pmichaud: okay. I'm mostly concerned about the performance of it. Obviously we don't want the overhead of keeping hash entries sorted | ||
| maybe what we need to do is to change the behavior every release, so nobody relies on it either way :) | 17:06 | ||
| pmichaud | right, that's why I'm primarily reporting it, in case it's indicative of a possible performance issue. | ||
| TimToady++ also notes that it can be a DoS issue, since hashes become predictable. | |||
| whiteknight | ok, that part is more serious | 17:08 | |
| TimToady | well, whether it's potentially DoS depends on how it's implemented | 17:13 | |
| whiteknight | assume the worst | 17:15 | |
|
17:28
kid51 joined
|
|||
| kid51 | msg plobsing When adding a config step, you should add a corresponding test file, e.g., t/steps/auto/01-timespec.t. | 17:30 | |
| aloha | OK. I'll deliver the message. | ||
| kid51 | msg plobsing Also, adding a config step should probably have been preceded by post to list or by Trac ticket. | 17:31 | |
| aloha | OK. I'll deliver the message. | 17:32 | |
| Coke | I reiterate my question regarding the usefulness of those tests. | 17:34 | |
| msg dukeleto - you should be a trac admin, and therefore capable of giving GeJ a commit bit. look at docs/project/meta*, give it a whirl, and let me know if you have any issues. | 17:35 | ||
| aloha | OK. I'll deliver the message. | ||
|
17:36
ruoso left
|
|||
| Coke | (reiterate) but it's a very old question that's probably already been dealt with. Apologies. | 17:36 | |
|
17:36
kid51 left
|
|||
| Coke | msg dukeleto - you weren't a trac admin, but are now. | 17:37 | |
| aloha | OK. I'll deliver the message. | ||
| dukeleto | Coke: will try now | 17:39 | |
| luben_work | hashes are not entirely ordered | 17:41 | |
| hash iteration is done in linear scan of the buckets - if no key was deleted, the iteartion order is the order of addition of the tuples to the hash | 17:43 | ||
| it's faster that way | |||
| dukeleto realizes that we should probably do something about the languages svn repo in our git conversion | 17:44 | ||
| luben_work | I do not see how this could be used for DoS attacks | ||
| dukeleto | luben_work: so you are saying that pmichaud's example is only ordered because nothing was deleted? | ||
| luben_work: perl 5 used to have ordered hashes, but then it is possible to create pathological hash misses | 17:45 | ||
|
17:46
contingencyplan joined
|
|||
| luben_work | yes, if we delete a key, we free a bucket. next tupple added will go in that bucket | 17:46 | |
| this are not ordered hashes, when we look keys we use hash indexes, they are not ordered | 17:47 | ||
| dukeleto | luben_work: www.cs.rice.edu/~scrosby/hash/Crosb...ec2003.pdf | ||
| luben_work | the order of iteration does not reveal noting about how the keys are hashed | 17:48 | |
| dukeleto | luben_work: or www.cs.rice.edu/~scrosby/hash/Crosb...index.html | ||
| whiteknight | dukeleto: (re: languages svn repo) Repos in git are cheap. We split each language out into it's own project on github | 17:50 | |
| or, into their own repos under the Parrot organization banner | |||
| since that repo gets such little traffic, it might actually make a very good test case | 17:51 | ||
|
17:51
allison left
|
|||
| dukeleto | whiteknight: git repos are cheap, but creating 20 little git repos out of the languages repo doesn't sound fun for me. it wouldn't be hard, but it would be time-consuming | 17:53 | |
| whiteknight | dukeleto: So maybe you don't do it. I would be happy to | ||
| dukeleto | whiteknight: have you used git filter-branch before? | ||
| Coke | the whole point of shoving those repos in the languages repo is that no one wanted them. I'm not sure expending more energy on them is a good plan. | 17:54 | |
| whiteknight | like I said, they're interesting test cases. Plus, I can't think of any reason besides "doesn't sound fun for me" why they all should have been jammed together into the same repo in the first place | ||
| Coke: Maybe I want them now | |||
| Coke | knock yourself out. | ||
| whiteknight | dukeleto: no, I have not. But I'm a young dog and can learn new tricks | ||
| Coke: Will do, with a hammer :) | |||
| dukeleto | whiteknight: the general idea is that we can use git filter-branch to create new repos for each language directory in the language svn repo | 17:55 | |
| whiteknight: filter-branch has many options for out to filter out commits. one of them is by file/directory name | |||
| atrodo | I think parrot needs more focus for more implemented languages | 17:56 | |
|
17:56
Drossel is now known as Kulag
|
|||
| Coke | atrodo: we can't focus on the languages we have. | 17:56 | |
| dukeleto | whiteknight: first you will need to convert the languages repo to one big git repo, then you will split up that big repo into smaller language repos with filter-branch | ||
| whiteknight: i suggest reading "git help filter-branch" | |||
| whiteknight | dukeleto: Okay, that all makes good sense to me | ||
| I've done the svn->git conversion before, so that's one step down | 17:57 | ||
| atrodo | Coke> I know, and that's what i was trying to get at. | ||
| dukeleto | whiteknight: cool. you can use git svn or whatever way you want. the languages svn repo doesn't have nearly as much history as the parrot repo, so it shouldn't take very long | 17:58 | |
| moritz | I found stackoverflow.com/questions/696043/...repository to be useful for the pugs repo migration | ||
| whiteknight | thanks | ||
| like I said, this is a kind of easy test case | |||
| dukeleto | moritz++ | ||
| whiteknight | if it works demonstrably well here, the community may have more confidence in the whole-hog migration later | ||
| moritz | erm, that link itself is pretty useless, but it oints to stackoverflow.com/questions/359424/...repository which in turn is what I used :-) | ||
| dukeleto | whiteknight: so i guess the plan is to make each language in the language svn repo be a separate git repo under the parrot github organization | 17:59 | |
| whiteknight | Yeah, that's probably a good plan. | ||
| That way all the parroteers will have access to it | 18:00 | ||
| dukeleto | whiteknight: then we get commit access controls for free. Currently, every user in the github org has push+pull access to all the parrot github repos | ||
| whiteknight | yeah | 18:01 | |
| moritz | (github organizations)++ | ||
| dukeleto | whiteknight: i would suggest doing the languages in order of "vitality". what is the most active language in the languages repo? | ||
| whiteknight: you probably want to do 1 language, and give it a stress test, make sure it has all the files you want/etc, before splitting out every language | |||
| i think this will be good for publicity of parrot languages. people will be able to see all the github repos for each language, instead of them being hidden in a languages repo | 18:02 | ||
| perhaps that will get more people to contribute | |||
| and i am thinking we need some kind of document for "I want to hack on a Parrot language, where should I start?" | 18:03 | ||
| which lists the most active languages, where they live (soon to be github) and some beginner advice for working on them | |||
| any volunteers? | 18:04 | ||
| whiteknight | yes, that's an excellent idea | ||
| we do have a page of languages, but it's a little bit dense | |||
| dukeleto | whiteknight: yes, scary for a newbie. But it is very informative for advanced users | ||
| GeJ: ping! | 18:05 | ||
| msg GeJ you need to make a trac account on trac.parrot.org so I can give you a commit bit | |||
| aloha | OK. I'll deliver the message. | ||
| whiteknight | he has one, I think | ||
| dukeleto | whiteknight: nope. he isn't listed on the track users page, as far as I can see. Coke told me to do it. | ||
| luben_work | dukeleto, I read the paper. I think that the current implementation of hashes in parrot does not reveal collision details | 18:06 | |
| whiteknight | "geraud" | ||
| dukeleto | luben_work: sounds good to me. Is there anything in our docs that tells users that our hashes are not ordered, and they shouldn't rely on that? | ||
| whiteknight: ah, I was looking for GeJ | |||
| whiteknight | I made that same mistake before too | 18:07 | |
| luben_work | ordering of the hashes that we see in hash iteration is ordering of memory allocation for the list nodes | ||
| Coke | msg chromatic www.modernperlbooks.com/mt/2010/09/...ation.html has a bad link near the end of the article. | ||
| aloha | OK. I'll deliver the message. | ||
| luben_work | nobody could derive nothing from this order. | ||
| there is a special case for hashes with integer key that could be expoited, because they are traversed by index, so it reveals the internal structure of the hashtable | 18:09 | ||
| dukeleto | luben_work: good to know. It might be nice to add a note to our docs explaining what you are telling us | ||
| whiteknight | in very small words | ||
| luben_work | but they are used only in parrot internals | ||
| I will look in the docs directory and add a note to hash description paragraph | 18:11 | ||
| dukeleto | whiteknight: take a look at the bottom of our CREDITS file | ||
| whiteknight: that authormap will be useful in the conversion of the languages repo | |||
| whiteknight: authormaps will map various committer names to one standard name, so that commits aren't split across different names for the same actual people | 18:12 | ||
| whiteknight: not a huge deal, but nice to have | |||
| msg GeJ i've found your user "geraud" and given you svn commit access. Please test it out by adding yourself to CREDITS | 18:13 | ||
| aloha | OK. I'll deliver the message. | ||
| dukeleto | GeJ? | ||
| anybody know his email? | |||
| whiteknight | I have it | 18:16 | |
| also, you should have it when i forwarded his CLA to the directors list | |||
| luben_work | As I read the articles I find that we have some naming of the internal structures that is differend from the common one | 18:17 | |
| what is commonly named "buckets", we call it "index", what is commonly called "entries" in a list, we call it "buckets" in the list | 18:18 | ||
| sorear | luben_work: "reveal structure"? You know our current hash tables are 100% predictable in bucket structure, right? | ||
| luben_work | haha, yes... the structure is the same, the internal ordering is not predictable, because hash_seed is random for every run of the interpreter | 18:19 | |
|
18:20
davidfetter joined
|
|||
| sorear | looking at src/hash.c it seems that string hashing entirely ignores hash_seed | 18:20 | |
| int hashing uses hash_seed in such a way as to not reduce DoSability at all | 18:21 | ||
| luben_work | no, it does not, the same seed is used directly by Parrot_str_to_hashval | 18:22 | |
| this was about key_hash_STRING | |||
| about integers - I do not know if the current aproach make DoSing easier | 18:23 | ||
| now rethinking it, we do not need hash_seed in Hash datastructure, because it's always the same with interp->hash_seed | 18:24 | ||
| sorear | buckets[(x ^ y) & z] = buckets[(x & z) ^ (y' = y & z)] | 18:25 | |
| luben_work | yes buckets[(x ^ y) & z] = buckets[(x & z) ^ (y & z)] | 18:28 | |
| y is random (per parrot execution), z depends on hash size | 18:29 | ||
|
18:35
theory left
|
|||
| sorear | luben_work: the point is that y does nothing to break up long hash chains | 18:37 | |
| it just rearranges existing buckets | |||
| luben_work | yes | 18:38 | |
| we should look for better hash function for numeric keys | 18:51 | ||
|
18:51
Andy joined
19:04
luben_work left
19:18
allison joined,
M_o_C joined
19:21
lucian_ joined
19:23
lucian left,
elmex left
19:42
elmex joined
19:56
theory joined
|
|||
| TimToady | phonifications | 20:01 | |
|
20:02
whiteknight left
20:13
bluescreen left
|
|||
| GeJ | Bonjour everyone. | 20:18 | |
| moritz | bon soir | ||
| GeJ | If I were nitpicking, I'd say it would be one word. | 20:20 | |
| Servus moritz. | |||
| dukeleto: pong. | 20:22 | ||
| moritz | if I were nitpicking, I'd say that the greeting is one word, but saying that the evening is nice is fine in two words :-) | 20:23 | |
| GeJ | A good thing that you're not nitpicking then. :) | 20:24 | |
| moritz | :-) | 20:25 | |
| dukeleto | GeJ: you have a commit bit. test it out :) | ||
| GeJ: check your email | 20:26 | ||
| cotto | If I were nitpicking, I'd have more nits. | ||
| davidfetter | nits grow up to be lice | 20:32 | |
|
20:50
aloha left
20:57
aloha joined,
lucian_ left
|
|||
| GeJ | Incoming... | 21:06 | |
|
21:08
kid51 joined
21:09
whiteknight joined
|
|||
| GeJ | I can't believe it... My first commit, and I've got this strange feeling that I already screwed it. | 21:10 | |
| cotto sees no commit | 21:11 | ||
| therefore, no mistake | |||
|
21:13
M_o_C left
|
|||
| kid51 | r49383 | geraud | 2010-09-29 17:06:31 -0400 (Wed, 29 Sep 2010) | 5 lines | 21:13 | |
| No problem there. | |||
| Welcome aboard. | |||
| dalek | ast: 0e3783c | moritz++ | S12-introspection/attributes.t: [attributes.t] test .get_value and .set_value |
21:16 | |
| GeJ | kid51: I think I srewed up the encoding. | ||
| dalek | kudo: 100b868 | moritz++ | src/core/Attribute.pm: implement Attribute.{get,set}_value |
21:18 | |
| rrot: r49383 | geraud++ | trunk/CREDITS: Add myself to the CREDITS file. |
21:19 | ||
| rrot: r49384 | jkeenan++ | branches/string_macros (10 files): Set SVN file metadata properties. |
|||
| kid51 | GeJ: I see that you made the commit -- but where's your own credit? | 21:21 | |
| Oh, I see. | |||
| sorear | GeJ: If you add a U: GeJ line, dalek will credit you correctlyh | 21:22 | |
| kid51 | This file is encoded in UTF-8 | ||
| sorear | (CREDITS is so big because dalek uses it, so all of the projects dalek reports on do) | ||
| kid51 | Gej: See entry for Franļæ½ois Perrad. That may give you a clue as to how to get your ļæ½ in. | ||
| Gej: For your first codingstd challenge, check out the string_macros branch and get t/coding/c_arg_assert.t to pass. | 21:25 | ||
| It's failing src/string/encoding/shared.h | |||
| mikehh can help you out. | 21:26 | ||
| msg luben In string_macros branch, t/examples/shootout.t is still failing Test 16 | 21:28 | ||
| aloha | OK. I'll deliver the message. | ||
|
21:29
fperrad left
|
|||
| kid51 | aloha, so far, lacks purl's ability to respond to 'messages' and 'messages erase' | 21:29 | |
| msg aloha If you see purl give her a shout-out from kid51 | 21:30 | ||
| aloha | OK. I'll deliver the message. | ||
| kid51 | CREDITS look good now | 21:32 | |
| dalek | rrot: r49385 | jkeenan++ | trunk/CREDITS: Add my IRC handle. |
21:36 | |
| rrot: r49386 | geraud++ | trunk/CREDITS: Fix encoding and pet dalek for karma to come. |
|||
| GeJ | kid51: branch checked out, built, running fulltest. Will have a look later. Duty calls and I need to get in touch with the surgeon. | 21:45 | |
| kid51 | Salud | 21:46 | |
| luben | kid51, string_macros is nick's branch | 21:56 | |
| kid51 | luben : k | 22:16 | |
| msg nwellnhof In string_macros branch, t/examples/shootout.t is still failing Test 16 | 22:17 | ||
| aloha | OK. I'll deliver the message. | ||
| kid51 leaves to go out drinking with rdice | 22:18 | ||
|
22:18
kid51 left
22:23
ruoso joined
22:26
allison left
22:29
Coke left
22:31
allison joined
22:38
whiteknight left
22:59
Andy left
23:06
whiteknight joined
|
|||
| sorear | whiteknight++ | 23:34 | |
| whiteknight | sorear? | 23:43 | |
| I don't think I've done anything karma-worthy today | 23:44 | ||
| bacek_at_work | whiteknight-- # lazy slacker! :) | 23:54 | |
| aloha, humans | |||
| whiteknight | lazy slacker!?! I've been filling out IRS paperwork for PaFo. I'm definitely not slacking | ||
| sorear | whiteknight: not today, but I didn't catch you at the time yesterday | ||
| bacek_at_work | whiteknight++ # not being lazy slacker :) | 23:55 | |
| whiteknight | unfortunately, the IRS doesn't have a git repo, a karma bot, or a dalek plugin | ||