Parrot 2.9.1 Released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Long live Git! github.com/parrot/parrot | git clone git://github.com/parrot/parrot.git
Set by moderator on 10 November 2010.
mikehh I have always built parrot first and used my installed parrot NOT --gen-parrot 00:00
00:02 seanstickle joined
dukeleto mikehh: moritz would know, could be a bug 00:03
whiteknight 6 smoke reports tonight 00:04
I would have had 8, if I could get stupid icc installed on this box
00:07 donaldh left 00:08 hercynium left 00:14 theory left
whiteknight HA! I got icc working 00:29
eat that, intel
dukeleto kicks icc while it is on the ground
dukeleto doesn't trust anything that starts with an "i" and ends in "cc"
whiteknight can't think of any other words that fit that criteria 00:31
dukeleto whiteknight: IMCC
dukeleto gives whiteknight a demerit
whiteknight oh damnit, that's the obvious one, isn't it?
I like ICC when I use it 00:34
my compiler of choice is clang though
dukeleto whiteknight: i have nothing against ICC except that it is not open source. Clang seems to rock.
mikehh winxed r684 - builds on parrot ae3500c, ALL tests - make test/test1/test2 PASS, examples seem ok (those I ran)
whiteknight dukeleto: not being open source is a valid concern, but good software is good software 00:35
mikehh whiteknight: thought it was open source 00:36
whiteknight no. Intel gives free licenses to open source developers for personal use, but it's not open souce
mikehh whiteknight: sorry not thinking straight at the moment, somehow confused ICC with ICU 00:38
whiteknight oh yes, icu is awesome
mikehh had a really bad weekend sorting out some problems not of my creation that I was called on to fix, not enough sleep etc (but the $ was good I suppose ;-} ) 00:41
whiteknight good $ makes up for a lot of shortcomings in the employee-employer relationship 00:42
okay. gcc, g++, clang, and icc with and without --optimize all PASS on Ubuntu 10.10/x64 00:45
mikehh whiteknight++
I ran up to fulltest with g++-4.5 (with/without --optimize) 00:47
whiteknight my gcc/g++ are 4.4, not 4.5 00:48
I don't run fulltest too often
mikehh it is the default on 10.10 - but I have installed 4.5 as well and use that 00:49
and use perl 5.12.2 rather than 5.10.1
which I build with gcc-4.5 00:50
whiteknight I rarely get too much software that I need to build myself 00:51
atrodo Can I get a quick rundown on how to run an optimized smoke? 01:03
whiteknight perl Configure.pl --optimize
perl Configure.pl --optimize && make && make smoke
atrodo thanks! 01:04
passed on optimized as well smolder.parrot.org/app/projects/rep...tails/1105 01:14
01:19 dmalcolm left 01:46 seanstickle left 01:52 dngor_ joined 01:56 dngor left 01:58 dngor joined 01:59 dngor_ left
cotto ~~ 02:03
02:34 rurban_ joined 02:35 bluescreen left 02:36 rurban left, rurban_ is now known as rurban 02:40 dngor_ joined 02:41 dngor left
bacek_at_work ~~ 03:02
cotto hi bacek_at_work 03:03
bacek_at_work cotto, hello 03:04
GeJ servus cotto.
G'Day bacek.
bacek_at_work G'Day GeJ. Howizgoin'? 03:05
GeJ Sick, tired and mad. Gimme some C4, and I'll make the news tonight. And you? How's your day? 03:06
dalek rrot/gsoc_nci: d3f8f9b | jkeenan++ | / (3 files):
[configure] Allow for possibility that pkg-config might not be present. Extract code for determinining that possibility into internal method and test it. Correct error in number of tests in plan in init::defaults.
03:08
03:10 jsut_ left
bacek_at_work gsoc_nci report smolder.parrot.org/app/projects/rep...tails/1107 (Debian Linux/i386 + libffi + optimize) 03:10
03:15 whiteknight left 03:27 jsut joined
dukeleto 'ello 03:27
03:28 adu joined
cotto 'i 03:30
dukeleto our NEWS for 2.10.0 looks pretty bad 03:31
didn't we, like, do stuff in the last month?
bacek_at_work we did almost nothing...
03:34 dngor_ is now known as dngor
dukeleto bacek_at_work: maybe you did almost nothing... 03:36
bacek_at_work: a lot of work happened on branches, but not many got merged to master
bacek_at_work dukeleto, I know. But is hard to sell :)
dukeleto bacek_at_work: what about mentioning all our new git docs in NEWS? If not, no one will find them 03:38
bacek_at_work: i am willing to improve NEWS, but people need to tell me what they want in there, or I will just put what I think people need to hear
cotto dukeleto, have you trolled #ps? 03:39
bacek_at_work I think git-related stuff deserve to be more covered in NEWS.
dalek rrot: b389465 | dukeleto++ | NEWS:
Add some meat to our NEWS burrito
03:42
dukeleto cotto: possibly. I troll myself sometimes and don't know it.
cotto I'm usually intentional when autotrolling. 03:43
dukeleto I am putting GCI stuff in NEWS. It is important. 03:47
dalek rrot: a635260 | dukeleto++ | NEWS:
Add a bit of garnish to the NEWS burrito
03:51
dukeleto pkg-config is deprecated now, correct? 03:56
does that need to be added to DEPRECATED.POD or something?
cotto good question for whiteknight 03:57
04:05 theory joined
cotto dukeleto, how soon can you get a parrot-commits script set up? 04:07
dukeleto cotto: meh. i am not very motivated to do it. who actually wants it? 04:14
dalek rrot: 3128984 | dukeleto++ | NEWS:
Add a few spices to the NEWS burrito
04:15
cotto does 04:16
but knowing that you're not motivated is helpful
dukeleto i see many other things as being a better use of my time 04:17
i just time "git pull --rebase && git log -p" and i have a colored diff history of Parrot. Why do I want to use email?
I hate email.
s/i just time/i just type/
also, git log --pretty=format:'%C(yellow)%h%Creset %s %Cred%an%Creset %Cblue%d%Creset %Cgreen%cr%Creset %cd' --graph --all 04:19
which i alias to "git plog"
cotto dukeleto, is the video at wiki.pentaho.com/display/BEEKEEPER/...+Recording broken for you? 04:20
dukeleto Now our NEWS file looks respectable.
cotto: it is flash
cotto you don't do flash? 04:21
GeJ Hum, did anyone see the note on build failure under Windows?
dukeleto cotto: i selectively enable it
cotto I hate it much less now that it's out-of-process for firefox and chromium. 04:22
dukeleto It is still the same black box of security and proprietary-ish software.
GeJ How close are we to the release? 04:23
dukeleto GeJ: soon
cotto GeJ, it ought to happen within the next 24 hours or so
GeJ Could be worth having a look at the github note attached to commit 2d9999d 04:24
dukeleto GeJ: link?
GeJ github.com/parrot/parrot/commit/2d...ent-194690 04:25
dukeleto particle: ping! Windows code review appreciated. ^^^ 04:26
cotto one of the comments has a link to the swf file 04:28
GeJ aloha: clock? 04:29
aloha GeJ: GeJ: LAX: Mon, 20:29 PST / CHI: Mon, 22:29 CST / NYC: Mon, 23:29 EST / UTC: Tue, 04:29 UTC / LON: Tue, 04:29 GMT / BER: Tue, 05:29 CET / TOK: Tue, 13:29 JST / SYD: Tue, 15:29 EST
GeJ thanks girl.
dukeleto I think we should institute a policy of people adding to NEWS whenever they think something is worthy to note to end users. 04:35
we can always trim it at release time if it is too much detail
cotto That'd be a good habit to get into. 04:36
dukeleto If i didn't just do some code spelunking to see what we did in the last month, our NEWS release was going to be pitiful.
Heroic efforts are not to be relied on.
cotto If you didn't do it, I'm sure tcurtis or someone else would have. 04:37
dukeleto cotto: where should this go in our project docs?
cotto (not to minimize your efforts, which are appreciated)
I think it needs to be more of a cultural thing.
dukeleto cotto: sure, but that is not the point. The point is that everyone should share the fun of adding to NEWS. It is how we communicate what we do to end users. It is important.
cotto: sure, i understand. But it can go as a sidenote in the git workflow "Add something to NEWS about your commit if you feel it is appropriate" 04:38
i don't want to carve rules in stone, but i do want tribal knowledge to be documented 04:39
cotto wfm, without the "if you feel it is appropriate". Nobody's going to add something they don't feel belongs.
dukeleto cotto: indeed. 04:40
cotto: i will work it more positively
s/work/word/
dalek rrot: d0ff82f | dukeleto++ | NEWS:
Add a link for PL/Parrot in NEWS
04:43
04:56 adu_ joined 04:58 elmex left, elmex joined 05:00 adu left 05:28 tcurtis joined
dalek rrot: 40b9729 | dukeleto++ | docs/project/git_terminology.pod:
[docs] Be more correct with regard to root commits in Git
05:37
tcurtis particle: ping 05:45
dukeleto tcurtis: how goes it? 05:50
tcurtis: do you feel comfortable with the impending release? do you need help with anything? 05:51
tcurtis dukeleto: I feel comfortable. The only issue is that I don't think I have privileges on parrot.org to change the url for /release/current and such or to update the docs. 05:53
s/the docs/docs.parrot.org/
dalek rrot: 2b8736d | dukeleto++ | docs/project/git_terminology.pod:
[docs] Clarify the location of the staging area
05:56
rrot: 04e8e4d | dukeleto++ | docs/project/git_terminology.pod:
[docs] Document 'useless merge commits' and explain rebasing more
dukeleto tcurtis: Coke and perhaps cotto can do that, methinks
cotto yup 05:58
tcurtis Alright. Good night, then, #parrot. 06:04
cotto 'night tcurtis
06:11 tcurtis left
bacek_at_work Andy++ # ack ftw! 06:23
06:23 autark_ joined, autark left 06:26 bacek left
cotto I love that tool. 06:27
bacek_at_work Do we have official way of C-code level unittesting? 06:33
cotto bacek_at_work, are you assuming that we have units? 06:35
06:35 jsut_ joined
bacek_at_work cotto, sigh... 06:35
cotto yeah 06:36
suggestions welcome
Why do you ask? 06:37
bacek_at_work I do want test GC on code level. Not parrot level.
cotto have you used any C unit testing frameworks? 06:39
06:40 jsut left
bacek_at_work only C++ 06:41
and C#
particle see testanything.org/wiki/index.php/TAP...2F_C.2B.2B 06:42
cotto There seem to exist some in C.
bacek_at_work CUnit looks all right. Probably will play with it tonight. 06:44
cotto What's good to look for in a unit testing framework? 06:45
bacek_at_work for me - at least customizable output. I do want TAP :) 06:46
and as less boilerplate code as possible.
cotto TAP is almost implicit 06:47
GeJ bacek_at_work: c2.com/cgi/wiki?TestingFramework has a looooong list of frameworks, just in case. 06:53
bacek_at_work GeJ, hey! I don't want huge list! I just need one which works! :)
06:54 fperrad joined
cotto freedom from choice is nice sometimes 06:55
06:55 AzureStone left
cotto or at least from too many of them 06:55
bacek_at_work ok. Either cUnit or Check. 06:56
and time to go home! Hooray 06:58
06:59 AzureStone joined 07:01 adu_ left 07:04 adu joined 07:16 spinclad left
dalek p-rx: c4c31a1 | moritz++ | / (2 files):
[configure] fix two thinkos
07:19
07:22 bacek joined
bacek aloha, 07:22
... humans
cotto error: humans not found
07:23 dukeleto left
cotto really. I even checked twice. 07:23
www.kindahl.net/mytap/doc/ 07:26
There seem to be several C TAP frameworks. 07:27
07:29 dukeleto joined
cotto Hmmm. dukeleto, would the parrot-commits mailer be a good gci task? 07:30
dukeleto cotto: sure. Add it as a task. 07:33
cotto are you trying to keep the perl and parrot tasks separate?
dukeleto cotto: i would call it "easy"
cotto: meh. not really.
07:34 bacek left
dukeleto cotto: all those tasks need to be exported to googles web app. thankfully there is a bulk csv importer 07:34
cotto: i am trying to order them from easy to medium to difficult
cotto wfm 07:35
msg cotto_work add parrot-commits to the gci list 07:36
aloha OK. I'll deliver the message.
07:40 bacek joined
bacek docs/tests.pod is really outdated. 07:42
cotto bacek, I don't think either cunit or check support pod
several others do though
bacek cotto, I'll stick with "c_output_is" for now. 07:43
from Parrot::Test
cotto that'll work too 07:44
and allow for maximum laziness
Heh. Drupal has decided to move from cvs to git. Suddenly our migration seems trivial. 08:03
08:11 theory left
moritz suspects that cvs' branching model is closer to git than svn's is 08:11
dalek rrot: c32f07c | fperrad++ | config/gen/platform/win32/ (2 files):
[win32] move WINVER check from misc.h to begin.c

like in original patch (see TT#1846)
08:47
rrot/gc_ms2_faster_list: d9d81b5 | bacek++ | / (3 files):
Stubs for future faster pointer storage.
09:09
rrot/gc_ms2_faster_list: a03a1f0 | bacek++ | / (2 files):
Made Parrot_pa_* exported
rrot/gc_ms2_faster_list: 77b71f1 | bacek++ | t/src/pointer_array.t:
Start adding tests for Pointer_Array.
rrot/gc_ms2_faster_list: 5f23c8e | bacek++ | t/src/pointer_array.t:
Add more tests for allocating chunks.
rrot/gc_ms2_faster_list: 943e588 | bacek++ | t/src/pointer_array.t:
Add (failing) test for iterating PA.
rrot/gc_ms2_faster_list: f273fd9 | bacek++ | / (2 files):
Add more tests and fix pa_remove to properly mark free cells
rrot/gc_ms2_faster_list: 6fdab4a | bacek++ | t/src/pointer_array.t:
Add more tests.
rrot/gc_ms2_faster_list: 0b70f3f | bacek++ | / (2 files):
Fix pa_remove to properly maintain 'free list'
rrot/gc_ms2_faster_list: 2479225 | bacek++ | src/pointer_array.c:
Implement Parrot_pa_destroy.
rrot/gc_ms2_faster_list: db2a267 | bacek++ | src/gc/gc_ms2.c:
Initial switch to Pointer_Array instead of Linked_List in GC MS2
bacek yak
moritz shaved!
bacek Not yet. But I'm getting close to it! 09:12
moritz only a shaved yak is good yak 09:15
dalek rrot/gc_ms2_faster_list: b858241 | bacek++ | src/gc/gc_ms2.c:
Resurrect string pool compacting
09:17
bacek Shit... I'm out of beer. And I need at least few more to finish this yak.
09:23 mikehh_ joined 09:27 mikehh left
bacek Yay! branch vs master - 2m06s vs 2m29s! 09:32
moritz for doing what?
bacek make test
moritz building rakudo?
bacek didn't test it yet
aloha, 2*60 + 6
aloha bacek: 126
bacek aloha, 2*60 + 29 09:33
aloha bacek: 149
bacek aloha, (149-126)/149
aloha bacek: 0.154362416107383
bacek aloha, (149-126)/149*100
aloha bacek: 15.4362416107383
moritz not bad
bacek 15%. Not too bad for 2 days of work :)
Time to get some beer and finish this yak. 09:34
moritz bacek: you could use lists.parrot.org/pipermail/parrot-d...04685.html as a test case too 09:35
bacek moritz, we used to have trac ticket for it. It was fixed in GC MS2 already 09:36
dalek rrot: af75053 | fperrad++ | t/ (2 files):
[t] fix the nigthmare CRLF on Windows

  (I work with git config core.autocrlf=true)
moritz didn't know that 09:37
bacek hmm... May be I was wrong about it. 09:39
moritz, trac.parrot.org/parrot/ticket/1789 this one? 09:40
moritz nope; that's about string concatenation 09:41
bacek because original .readall did a lot of concatenations inside. 09:42
moritz pmichaud's email was about this: the presence of a large object tree slowed down an otherwise fast-ish operation significantly 09:44
because the GC sweeps always considered the full tree, even if it wasn't ever changed after it was loaded 09:45
bacek ah... It will be (finally) fixed in generational_gc branch :) 09:46
moritz which is why I suggested it as a test case :-) 09:47
09:53 bacek left
sorear do we have the technology to performance test case stuff? 09:57
opbots trust moritz
slavorg But I already trust moritz
slavorgn But I already trust moritz
sorear opbots names
moritz sorear: not automatically
10:06 bacek joined
bacek moritz, how long it's usually takes to build rakudo? 10:17
moritz bacek: I haven't timed it in ages... will do now 10:18
but it varies greatly across different machines
sorear it varies greatly from month to month
7 minutes in June, 5 hours in September
on one machine 10:19
moritz sorear: where the 5 hours on 2.9.0 or 2.9.1? 10:20
10:20 adu left
sorear the better one 10:21
moritz ugh.
bacek 5 hours???? 10:25
moritz guesses a lot of swapping is involved 10:26
sorear yes 10:27
user time for a Rakudo build is always in the 5-20 minute range 10:28
moritz 7min12 on my box now
trying now on the branch 10:30
10:34 rurban_ joined 10:36 rurban left
moritz 5m37.906s on the branch 10:36
10:36 rurban_ is now known as rurban
moritz I haven't measured memory usage 10:36
sorear if it's much under 100 million words I'll try it 10:38
moritz is there a simple tool that can measure the peak memory consumpmtion of a process? (linux) 10:39
bacek 11m16s vs 7m12s on my box.
sorear moritz: /usr/bin/time if you're running kernel 2.6.32 or newer
otherwise you'll need to poll top(1) style 10:40
moritz tries it 10:41
sorear: /usr/bin/time reports the maximum resident set size, but not the max. virtual mem 10:54
sorear Max resident is what I really care about, given COW 10:55
well, "max resident with minimal/no swapping"
dalek TT #1789 closed by bacek++: String concatenation is really slow 11:03
TT #1789: trac.parrot.org/parrot/ticket/1789
GeJ bacek: you shrink Rakudo build time by one third?
bacek GeJ, something like this :) 11:04
moritz waits with the celebration until he has seen the memory usage figures
GeJ bacek: impressive feat! 11:05
Ship It!
bacek not before after release
moritz the branch needs more memory to build rakudo 11:11
Maximum resident set size (kbytes): 4288848 (branch) vs. 3009360 (master) 11:12
sorear -more-? 11:17
bacek: that ticket has nothing to do with darwin-i386 11:25
bacek sorear, we did fix it for other platforms.
sorear the problem is that kid51 has 256 MB of memory and can't hack on parrot until the GC is improved 11:26
11:29 Hunger left 11:33 Hunger joined 12:10 jhelwig left 12:43 particle1 joined 12:46 stilgar left 12:49 particle left
dalek TT #1829 closed by jkeenan++: Recent changes impeded building and testing on smaller boxes 12:52
TT #1829: trac.parrot.org/parrot/ticket/1829
12:57 PhatEddy joined
PhatEddy GeJ: you asked me to stop by so I tested the patches on my Activestate / MingW system and it built OK ... 12:58
GeJ PhatEddy: glad to hear it. 13:00
fperrad++
that's one that won't be a showstopper for the release. 13:01
13:01 bluescreen joined
GeJ any report is good to hear by now. 13:01
13:16 seanstickle joined 13:22 PerlPilot joined 13:27 PerlJam left 13:48 bacek_ joined 13:52 bacek left 13:57 whiteknight joined
GeJ Good morning whiteknight. 13:59
whiteknight hello GeJ, how are you today? 14:04
14:14 mikehh_ is now known as mikehh
GeJ whiteknight: Well, I'm more and more convinced that generating XML schemas should only be allowed to people holding a certification delivered by the W3C. 14:32
cheaters should be lapidated. 14:33
14:39 PhatEddy left
GeJ whiteknight: and you? 14:43
whiteknight GeJ: I agree wholeheartedly. 14:58
In my last job, we had a datafeed for a customer that was written in really ugly XML. I changed some whitespace formatting in the code, and later that day I got emergency emails that the feed was broken 14:59
I come to find out that the recipient was using a COBOL parser and that all fields were fixed-width and that they were parsing the whole document by taking fixed indexes 15:00
GeJ Shiny. 15:01
On my side of the pond, I'm working on massaging XML exports from an application used by several real estate agencies to later import said exports in the database for a website of ours. 15:03
for each item (a house, an appartment, commercial building, whatever...) the client can attach pictures, either as files attached to the XML export or inlined in the XML itself. 15:04
the XSD states something like : In the <FILE> node you can have 0 or 1 <ATTACHED_FILE> child node, or 0 or 1 <INLINE_FILE> child node." 15:06
15:06 zby__ joined, zby__ left
GeJ I asked a customer to send me an export, and tadaaaa! The <FILE> are here but no ATTACHED|INLINE_FILE 15:07
whiteknight great 15:08
GeJ which is correct according to the schema, but is completely useless.
15:08 zby left 15:10 PerlPilot left, PerlJam joined
GeJ Theoretically, I could have an real estate offer that is both an appartment to rent as well as an office building to sell. 15:11
15:11 lucian joined
GeJ THEY INVENTED QUANTUM REAL ESTATE! 15:11
Quick someone call the Nobel committee. 15:12
15:22 silug left 15:32 plobsing left, zby joined
whiteknight anybody seen tcurtis? We have an ETA on the release yet? 15:40
15:43 plobsing joined 15:48 theory joined 16:00 plobsing left, plobsing joined 16:08 dmalcolm joined 16:13 mariano joined 16:14 mariano left
dukeleto 'ello 16:20
16:21 particle joined 16:26 particle1 left
dukeleto moritz: if you want to track memory use of something, you might want to try: search.cpan.org/dist/Devel-Memalyzer/ 16:26
moritz dukeleto: does that work for non-perl stuff? 16:29
dukeleto moritz: you can spawn any process and track memory use, methinks. It uses /proc, so it only works on linux 16:30
moritz dukeleto: ok, thanks 16:33
dukeleto moritz: it seems to have plugins now, maybe it does more than the last time I checked. 16:34
whiteknight we do have those instrumentation PMC types that need to get fixed up and merged into trunk eventually 16:47
I would like those to be included in the core repo by 2.11 16:48
dukeleto whiteknight: are you volunteering? 16:50
whiteknight yes 16:51
dukeleto whiteknight: awesome! Maybe you can make some GCI tasks relating to them, such as writing more docs or tests for them
whiteknight I don't even think they build right now
Oooh, I just came up with a great idea for GSoC next summer: basic CUDA interface for Parrot 16:54
NotFound whiteknight: another one: dbus (maybe too big) 16:57
dukeleto Andy++ # new version of ack 17:09
Andy thanks
it's been waiting forever
dukeleto Andy: ack has improved my life greatly. Thanks for making it happen.
Andy I just had some time to kill last night while watching the Daily Show and figured what the hell.
You're very welcome. 17:10
17:13 seanstickle left, seanstickle joined 17:27 silug joined
dalek rrot: 2a19514 | tcurtis++ | NEWS:
[NEWS] fix typo and mention the charset op removal.
17:29
17:29 tcurtis joined
dukeleto tcurtis: how goes it? 17:47
tcurtis: do you have a time set for when you will tag 'master' as the release? That way we know when we can start breaking things again.
tcurtis dukeleto: I expect to have the release tagged within the next hour. 17:50
dukeleto tcurtis++ # our first release manager in the brave new world of Git 18:11
thread.gmane.org/gmane.comp.version...ocus=57918 is classic Linus 18:12
So I'm sorry, but for something like git, where efficiency was a primary 18:13
objective, the "advantages" of C++ is just a huge mistake. The fact that
we also piss off people who cannot see that is just a big additional
advantage.
tcurtis $ grep -c "Result: FAIL" make_fulltest.log 18:15
0
dukeleto tcurtis: looks promising 18:16
NotFound dukeleto: Date: 2007-09-06 Hot news? ;) 18:18
18:18 jhelwig joined
dukeleto tcurtis: we may want to mention that currently our mk_language_shell, create_language scripts are still being ported to git in NEWS. A preemptive warning to people 18:19
dalek rrot: c4477dd | tcurtis++ | / (11 files):
Release 2.10.0!
18:22
rrot: 7dbc0aa | tcurtis++ | NEWS:
Add a note to NEWS about mk_language_shell/create_language.
tcurtis probably should have waited until he tested the tarballs to push, just in case. 18:23
atrodo dukeleto> thanks for the linus link 18:24
dukeleto tcurtis: you can do an extra "make fulltest" from the tarball before you push it out 18:25
tcurtis: i would recommend it as a sanity check. If that is not in the release manager docs, it should be
tcurtis dukeleto: It is. I just should have waited to push the release-related commits(although I haven't actually pushed the tag yet) until I'd done so. I expect things to work properly (they did yesterday). 18:29
whiteknight dukeleto: Hah! That email from Linus is very funny. I'm surprised he's so down on C++ though. It seems from his email like he is pretty down on OO in general 18:30
18:31 PerlJam left
atrodo it's not hard to be pro-oo and anti-c++ 18:31
whiteknight If you're a big C programmer writing a huge system in C, and all your coding buddies are good at C, it makes good sense to write your next project in C
s/C/any particular programming language/g;
tcurtis For some values of "your next project". 18:32
whiteknight if it's what you know and what you can do well, it's probably the best choice for you
if your only tool is a hammer, every problem looks like a nail
and if C++ is your hammer, every problem looks like your thumb
18:34 rurban_ joined
dukeleto whiteknight: Linus seems to dislike OO in general, but he wrote an OS and a bunch of device drivers before git, so that makes a lot of sense. 18:34
atrodo when C is your tool, nothing looks oo 18:35
tcurtis I think that there are some (language, problem) pairs where even if you know that language and only that language and you know it very well, you're probably better off learning another language to tackle the problem. E.g., at the moment, (Perl 6, operating system kernel) 18:36
18:36 rurban left, rurban_ is now known as rurban
NotFound I think the problem is some random fool believing he knows what tool is better for a Linus project better than Linus do. 18:38
dukeleto NotFound: exactly. Getting into language wars with people who have designed operating systems is a fools errand. 18:40
atrodo maybe someone should start a language war about why parrot uses c... 18:41
18:41 seanstickle left
NotFound Talking about that, a guy wrote me that Winxed is a very nice language but will be better if I convert it to an implementation of some JVM or CLI existent language. 18:41
So, he like it but dislikes the language and the target... What he likes, I wonder? 18:42
whiteknight what makes me laugh here is when people talk about performance comparisons between C and C++. People talk as if code written in C is always as fast or faster than code written in C++
dukeleto atrodo: i am actually in the process of porting Parrot to /bin/sh
atrodo dukeleto++ 18:43
18:43 hudnix left
atrodo Have you thought about ksh, or csh? 18:43
NotFound whiteknight: Stroustrup has an article about that.
tcurtis release tagged and pushed but not yet uploaded.
NotFound He basically says that all comparations are shit. 18:44
dukeleto tcurtis: can you tell use the sha1 of the tag?
whiteknight exactly. The compiler drops it all down to the same machine code. What matters is the skill of the programmer in optimizing
A good C++ coder should be able to optimize code just as well as a good C coder
cotto_work ~~ 18:45
NotFound You can look at the highly optimized garbage collector in winxed stage 0 X-) 18:46
dukeleto $ git rev-parse RELEASE_2_10_0
7dbc0aaf9458f3fe160f973f0be30d579fbdaca4
18:46 hudnix joined
dukeleto I guess we can start breaking master and merging stuff again. tcurtis: do you give us the thumbs up? 18:46
atrodo NotFound> is that the same gc that's in my lorito prototype? EOUTOFMEMORY?
NotFound It does nothing. No one can beat that.
tcurtis dukeleto: Indeed.
Everyone, feel free to start breaking things in master again. 18:47
cotto_work tcurtis++
whiteknight I see people talking about "hand-optimized assembly" in this thread too. That's bullshit. I've known very few people who were ever any good at hand-optimizing assembly
NotFound atrodo: I've been unable to fill enough memory with it, even with my less powered machines.
dukeleto gets out his flamethrower attached to a chainsaw merry-go-round 18:48
whiteknight git push origin :master
NotFound whiteknight: I knew a guy that optimized for speed a wait-for-keystroke loop.
atrodo NotFound> I've been real good at filling my memory up with a moderately sized Fibonacci calculation
dukeleto whiteknight: parts of git were hand-optimized assembly for quite a while
whiteknight: but i think they moved away from it and use heavily macro-ized C 18:49
whiteknight dukeleto: saying that it's "hand-optimized" assembly, and claiming that it is actually "optimal" are two different things
cotto_work dukeleto: that's because it was written by kernel hackers
tcurtis whiteknight: it appears to be working rather well for LuaJIT.
dukeleto whiteknight: sha1 calculations need to be *really* fast
whiteknight plus, even if you do optimize your assembly for one architecture, it won't likely be optimal on any other architecture
TimToady I just had to optimize a wait-for-keystroke loop because each time through the loop was Too Slowā„¢
dukeleto TimToady++
whiteknight dukeleto: I know it needs to be fast. I say that your average programmer cannot produce code as optimal as your current-generation optimizing compilers can 18:50
NotFound TimToady: in this case it was in x86 assembler.
whiteknight There are always exceptions, but few of them
dukeleto whiteknight: you are preaching to the choir, dude :)
cotto_work kernel and video codec hackers are some of the few people I'd believe capable of writing good hand-optimized assembly
whiteknight I could sit down to a piece of code, and hand-optimize to reduce the number of instructions, but might screw up all the pipeline pairings 18:51
or I could get all the pairings perfect, but completely thrash the branch predictor
and if the branch predictor is happy, the L2 cache starts missing like a mammajamma
dukeleto plobsing: ping? Do you mind if I merge gsoc_nci ? 18:52
dukeleto is really antsy to see that branch merged
Who is +1 to me merging gsoc_nci ?
whiteknight trust me, an average human programmer is not going to optimize as much as a modern compiler will
+1
NotFound atrodo: I haven't measured but I guess that in order to out of memory winxed stage 0 you may need a source program of several MB.
whiteknight </rant>
dalek TT #1849 created by coke++: config failure post 2.10.0 18:53
TT #1849: trac.parrot.org/parrot/ticket/1849
TT #1850 created by coke++: config failure post 2.10.0
TT #1850: trac.parrot.org/parrot/ticket/1850
Util End of well-known story = Jr Pgmr: "but my version runs much faster than yours!"
Sr Pgmr: "Your version gets the answer wrong; if I do not have to get the right answer, then I can make it as fast as you want!" 18:54
dukeleto uh oh.
cotto_work dukeleto: I don't like it when you say that.
atrodo www.xkcd.com/221/
dukeleto Coke's recent 2 tickets, looks like "git" is not installed 18:55
many people without git will see that warning when they Configure
i don't think it stops the config, tho
seen Coke?
aloha Coke was last seen in #parrot 3 days 5 hours ago joining the channel.
dukeleto step auto::git_describe died during execution: Invalid git describe string (Git::Describe): RELEASE_2_10_0 at config/auto/git_describe.pm line 37. 18:56
i see the problem. I can fix that.
tcurtis I doubt that Coke pulled and rebuilt master without git installed.
dukeleto tcurtis: how do you feel about me fixing something pointing the tag to a newer commit?
NotFound Maye he's using git++
dukeleto no, there is an edgecase
i was wrong, git is installed, but our git describe code has a bug in it 18:57
tcurtis dukeleto: I haven't made the announcement yet, so I guess it's not really officially 2.10.0 yet, so it's fine.
dukeleto tcurtis: i meant "and pointing the tag to a newer commit"
tcurtis: give me 3 minutes to fix it and add a test 18:58
whiteknight tcurtis++ # patience
18:59 hudnix left, mj41 left
tcurtis I seem to have forgotten to update the ftp url in release.json. 19:00
dalek rrot: 4820ad5 | dukeleto++ | / (2 files):
[config] Fix TT#1849, where a released versions git describe string was not recognized
19:00 Coke joined
dukeleto tcurtis: ok, i think that commit fixes Coke++'s issue
tcurtis: and adds a test for it :) 19:01
tcurtis: there may still be bugs in calculating git describe strings, where one is a release version, but that can be looked into later
Coke dukeleto: we won't know until the next release tag. 19:03
dukeleto Coke: no, we can test things before that.
Coke: i think i just fixed your recent TT, in the most recent commit to master
Coke but at least I can build now. BTW, that line for the config output is enormous. can probably remove "parrot's" from that output, since ... duh.
dukeleto Coke: also, did the Config just warn, or actually die?
Coke: i would think it would only warn, but continue on. 19:04
19:04 hercynium joined
Coke dukeleto: it works now, but the git-describe string now has a sha1 at the end of it. 19:04
dalek rrot: 80d156e | tcurtis++ | tools/release/release.json:
Fix ftp.path.
dukeleto Coke: wait until tcurtis repoints the tag
tcurtis: do you feel comfortable with how to update where RELEASE_2_10_0 points ?
Coke dukeleto: it warned, and then said "fix this before running make"
dukeleto Coke: sure, but the config actually kept going. That is what I wanted to know.
Coke the config ALWAYS keeps going. it's (*#&!@$ annoying. 19:05
tcurtis dukeleto: "git tag -f RELEASE_2_10_0" ?
dukeleto tcurtis: yep, if you are on the latest master
tcurtis: you will then need "git push --tags --force" and then others will need "git fetch --tags" to get the new one 19:06
whiteknight why --force?
dukeleto whiteknight: we are changing where RELEASE_2_10_0 points
tcurtis --force doesn't appear to be necessary for the push.
dukeleto tcurtis: interesting. Did you push the tag? 19:07
tcurtis $ git push --tag
Total 0 (delta 0), reused 0 (delta 0)
To git@github.com:parrot/parrot.git
7dbc0aa..80d156e RELEASE_2_10_0 -> RELEASE_2_10_0
dukeleto tcurtis: nice. looks like --force isn't necessary for updating tag locations.
Coke still need the -tags to get the update tags on the pull/fetch 19:08
now I'm getting:
dukeleto tcurtis: you may want to send an email to parrot-dev and tell people they need "git fetch --tags", because git fetch will not pull down changed tags by default
Coke init::manifest - Check MANIFEST.....................................done.Use of qw(...) as parentheses is deprecated at config/init/defaults.pm line 290.
Use of qw(...) as parentheses is deprecated at config/init/defaults.pm line 295.
dukeleto Coke: that is odd. What is your "perl -v" ?
Coke 5.13.6. ;) 19:09
sorry, switched perl's in between. trying with 5.12
dukeleto Coke: lollerskates
dalek TT #1851 created by coke++: invalid NAME section in config/auto/describe.pm
TT #1851: trac.parrot.org/parrot/ticket/1851
hercynium blogs.perl.org/users/rurban/2010/09...cated.html
dukeleto tcurtis: i think you are good to cut the release now
hercynium (in case it's helpful)
Coke dukeleto: yup, my 1849 is fixed. 19:10
dukeleto hercynium: thanks
hercynium hth
tcurtis I'm getting a configure test failure in t/configure/063-git_describe_to_cache.t 19:12
nopaste "tcurtis" at 192.168.1.3 pasted "specifically, this failure" (4 lines) at nopaste.snit.ch/25675
dukeleto tcurtis: doh! 19:13
hercynium tcurtis: you have a literal '-' in there
and none in the string
dukeleto tcurtis: will fix, one sec 19:14
Coke dukeleto: fyi, I added "master" as a possible version to trac. 19:15
so we now have trunk & master, which might be confusing.
19:15 hudnix joined
dukeleto Coke: danke, can you remove trunk ? 19:15
dalek rrot: 0eb237a | dukeleto++ | t/configure/063-git_describe_to_cache.t:
[config][t] Fix a test relating to git describe strings
dukeleto tcurtis: please test against on newest master
tcurtis: i should have run more tests before sending in the previous commits. My bad. 19:16
tcurtis: s/against/again/
tcurtis dukeleto: The test probably wouldn't have failed prior to me repointing the tag.
hercynium heh, adding a ()? works too :)
Coke dukeleto: removed. 19:17
dukeleto svn--, long live git++ # thanks Coke++
whiteknight Util++ # branch merge is good to go! 19:28
dukeleto tcurtis: how are things going? 19:33
tcurtis dukeleto: running fulltest on the new tarball (just in case).
dukeleto tcurtis++ # making sure 19:34
tcurtis The tag is updated and the tarballs and checksums are uploaded, but I'm going to go eat lunch before I worry about the release announcements. 19:38
dalek rrot: 34916c7 | util++ | t (2 files):
Merge branch 'master' of github.com:parrot/parrot
TT #1849 closed by coke++: config failure post 2.10.0 19:40
TT #1849: trac.parrot.org/parrot/ticket/1849
cotto_work #ps in 45 19:46
dalek rrot: 6d7ae9a | jkeenan++ | config/auto/git_describe.pm:
Correct documentation error (TT #1851).
19:54
TT #1851 closed by jkeenan++: invalid NAME section in config/auto/describe.pm 19:56
TT #1851: trac.parrot.org/parrot/ticket/1851
20:01 mj41 joined
whiteknight When the gsoc_nci branch merges, I think I'll be able to get back into writing LAPACK bindings for PLA 20:01
Util++ 20:07
Util: Where is the source of pbc_to_exe? 20:08
Util tools/dev/pbc_to_exe.pir , or did you mean my NQP version? 20:09
whiteknight I didn't know about your NQP version
I though it was written in C. I didn't know it was PIR and bootstrapped
20:09 mariano__ joined 20:10 bluescreen left
Util whiteknight: The PIR program creates a C program and compiles it. I first mentioned my NQP version in #ps seconds before you queried, hence my confusion. 20:11
20:11 lucian left 20:12 mariano__ is now known as bluescreen
Util (correction, I pre-typed my own notes about a NQP version, and will ask about it during #ps). 20:13
whiteknight :) 20:14
dukeleto Util: git pull --rebase is your friend :) 20:19
Util: also, i like your merge announcement 20:20
Util dukeleto: thanks, I know about `git pull --rebase`, and haven been using it on non-branch work, but... 20:21
after I merged my branch into master on my laptop, rebasing failed, so regular pull/merge was my only option. 20:22
dukeleto Util: i saw a "merge master" commit from you recently, so just wanted to make sure you know about it
Util: no worries :)
Util: i added more explanation of rebasing to github.com/parrot/parrot/blob/mast...nology.pod as well
Util dukeleto: I appreciate your telling me. 20:25
dukeleto is running tests on a gsoc_nci merge
Util I read in some blog recently: `git rebase` should be called `git lie`.
dukeleto Util: meh, that is half-right, but gives no context. 20:26
Util Funny though
Tene dukeleto: --rebase is the default for pull these days, no?
tcurtis www.parrot.org/news/2010/Parrot-2.10.0
dukeleto Do you want the history of your VCS to record exactly what *did* happen, or a historical narrative, which is a logical progression of "snapshots" in history?
tcurtis++
dalek website: tcurtis++ | Parrot 2.10.0 "Pesquet's" Released! 20:28
website: www.parrot.org/news/2010/Parrot-2.10.0
Util tcurtis++
tcurtis Unfortunately, I don't have privileges to update the parrot.org/release/developer Anyone with that access around?
20:29 lucian joined
whiteknight I can take a look at it 20:30
nevermind, I can't remember how to do it 20:32
Coke tcurtis: you see adoughera's bug report? (release is borked)
(seems like that would have been caught during the release process testing...) 20:33
whiteknight: like 307 or so of the release manager guid. 20:34
*e
thought making tcurtis a drupal admin is better.
*though
mikehh the release WFM
Coke OH. perhaps doughera is using the initial tag.
mikehh ain't it #ps time?
Coke did that message ever go out?
allison mikehh: should be 20:35
tcurtis Not yet. I was just about to send the release announcement.
allison mikehh: the recent time-zone changes may still be confusing people
whiteknight ah, i figured it out. I was looking at URL aliases, not URL redirects 20:36
I got this
Coke replied to andy's ticket.
whiteknight tcurtis: what's the ftp link? 20:37
Util mikehh: Yes, it is #ps time.
dukeleto almost forgot about #ps.
tcurtis whiteknight: ftp://ftp.parrot.org/pub/parrot/releases/devel/2.10.0/parrot-2.10.0.tar.gz 20:38
Coke tcurtis: is that from the new tag? 20:39
whiteknight done.
dukeleto incoming!
dalek rrot: 4fee2b0 | dukeleto++ | / (19 files):
Merge branch 'gsoc_nci'

Conflicts:
  \tMANIFEST
  \tMANIFEST.SKIP
tcurtis Coke: Yes. 20:40
allison idly wonders if the unicorn craze started before or after she subtitled her blog "here be unicorns" ;) 20:42
dukeleto allison: much before.
allison I must have picked up on it subliminally
is it like ponies? 20:43
dukeleto allison: unicorns are quite big in the git and ruby communities. GitHub actually named a project "Unicorn"
allison heh :)
sorear github uses a giant unicorn picture for their 500 error page
dalek TT #1852 created by doughera++: Configure.pl errors in 2.10.0
TT #1852: trac.parrot.org/parrot/ticket/1852
20:44 PerlJam joined
allison it is a lovely metaphor for things we believe possible, even if we have no proof yet 20:44
Coke boingboing: unicorn chaser.
NotFound en.wikipedia.org/wiki/Invisible_Pink_Unicorn 20:45
dukeleto allison: github.com/blog/517-unicorn 20:46
moderator Parrot 2.10.0 Released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Long live Git! github.com/parrot/parrot | git clone git://github.com/parrot/parrot.git 20:46
mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#1129) fulltest) at 6d7ae9a - Ubuntu 10.10 i386 (g++-4.5 with --optimize) 20:48
Tene I've only heard the term "unicorn chaser" in a rather different setting.
allison dukeleto: nice! so it *is* like ponies :) 20:49
20:49 bacek_ is now known as bacek
dukeleto allison: yes, unicorns and ponies are very close in the phylogenetic tree of open source mythical creatures :) 20:50
atrodo don't ponies exist? 20:52
Tene atrodo: djangopony.com/ -- not like that
allison atrodo: there is such a thing as a pony, but a ponie is a mythical beast :) 20:53
atrodo I now understand. I think
allison atrodo: confusingly, the plural is spelled the same
20:57 donaldh joined 20:58 donaldh_ joined
NotFound Yesterday I've seen in youtube a extract of a TV program with photos of real fairies. Looks like photos of UFO are out of trend. 20:58
20:59 donaldh__ joined
dalek rrot: 27aa849 | jkeenan++ | t/codingstd/pmc_docs.t:
[codingstd] One more file passes the pmc_docs.t requirements.
21:03
21:03 donaldh left, donaldh__ is now known as donaldh 21:04 donaldh_ left
Coke release tarball is borked for me too. 21:08
trac.parrot.org/parrot/ticket/1852
that fairy thing is totally lifted from torchwood! 21:09
dukeleto sadface.
do we need another release tarball?
NotFound www.youtube.com/watch?v=l5WcpNd9K3s A bunch of fairy pictures, and a unicorn too 21:10
Coke I think having Configure.pl spit out nasty error messages is worth another tarball, yes.
dukeleto why don't we have a test that catches that? What is the actual bug?
Coke odd that it's working for mikehh.
dukeleto has to concentrate on $work, who can fix this? 21:11
Coke dukeleto: if the tarball is working for tcurtis, presumably the test would have worked too.
mikehh Coke - I was just testing the master branch, did not try the tarball
Coke tcurtis: did you test the tarball before releasing it to the wild? 21:12
tcurtis Coke: I did.
Coke or did you just test the master branch at that tag?
tcurtis: and you're not seeing those warnings in Configure.pl ?
21:13 seanstickle joined
tcurtis I didn't then, but I am now. It looks like I didn't see them then because I tested the tarball in a subdirectory of the parrot repo. 21:14
dukeleto tcurtis: ouch. That is a subtle bug. 21:18
tcurtis: git walked up your directory tree and then Configure.pl did something different
tcurtis: we should disable git stuff in a release tarball, i guess 21:23
who knows how to do that?
mikehh I tested the tarball it ran fine when I used perl Configure.pl --test but gave the errors when I ran it without --test 21:25
dukeleto how do we remove git checks in a release tarball? 21:27
cotto_work Presumably we had soemthing similar for svn 21:28
Coke other things check for -e "DEVELOPING", IIRC.
21:28 jan left
dalek tracwiki: v69 | cotto++ | ParrotQuotes 21:30
tracwiki: maybe we should do a thing
tracwiki: trac.parrot.org/parrot/wiki/ParrotQ...ction=diff
mikehh Yup, same story, works with perl Configure.pl --test but fails without the --test (I very rarely run without --test on the Configure so didn't pick it up 21:32
so by running the pre-config tests it works - the tests must pull in something that it needs, but doesen't have without the tests 21:37
21:51 spinclad joined
mikehh see smoke #1132 - smolder.parrot.org/app/projects/rep...tails/1132 that's from the tarball 21:51
21:58 whiteknight left
mikehh .parrot_current_git_describe and .parrot_current_sha1 just contain a newline (0x0a) 21:58
During configuration the following steps failed: 21:59
dalek rrot: 5604e92 | NotFound++ | t/pmc/string.t:
test String to_int method with upper case hex
mikehh 54: auto::sha1
55: auto::git_describe
21:59 gert left
mikehh the --test I get - During configuration the following steps failed: - 54: auto::sha1, 55: auto::git_describe 22:00
with --test it builds and PASSes all tests through to fulltest 22:02
dukeleto mikehh: i think that is correct. but maybe they shouldn't exist
mikehh: not sure.
mikehh the first entry should read: without the --test I get - During configuration the following steps failed: - 54: auto::sha1, 55: auto::git_describe 22:03
NotFound winxed -e 'var s = new "String"; say(s.is_integer("+"));' ==> 1 This is by design? 22:05
POD doc says: "Checks if the ascii STRING C<str> is just an integer." 22:06
Bare "+" or "-" aren't integers in my mind. 22:07
22:28 plobsing_ joined, fperrad left
plobsing_ dukeleto++ # gsoc_nci merge 22:28
GeJ seconded.
22:28 bacek left
GeJ dukeleto++ (karma accounting) 22:30
Tene (++)++ 22:32
22:32 mj41 left
dukeleto So is our 2.10.0 tarball still broke? 22:50
Do we need to put out a 2.10.1 ? What is the consensus ?
We already told people what 2.10.0 sha1's are. I think that ship has sailed. 22:51
NotFound I'm testing svn to github migration, can someone clone this github.com/NotFound/winxed ? 22:55
dukeleto NotFound: git clone? 22:58
NotFound: fatal: github.com/NotFound/winxed/info/refs not found: did you run git update-server-info on the server?
NotFound: you are missing a .git 22:59
NotFound dukeleto: ups, that was the web. 23:00
23:00 tcurtis left
NotFound git://github.com/NotFound/winxed.git 23:00
dukeleto NotFound: git clone works fine 23:01
NotFound Is the import from svn that github allows at repository creation time. 23:03
Looks fine.
dukeleto NotFound: cool! 23:06
NotFound Just a test for a now, I've not yet decided what to do. 23:08
23:08 plobsing_ left
jnthn Anyone know off hand what dynoplib the printerr op got shuffled off to? 23:19
cotto_work io.ops 23:24
(the dynops version)
jnthn Thanks, just found it myself too :)
23:47 lucian left
GeJ for those of us with the wrong timezones, what happened with the 2.10.0 tarball? 23:49
cotto_work apparently it doesn't know how to deal with not being a git repo 23:50
GeJ at config time I presume. 23:51
cotto_work yes 23:52
If you have the tuits to fix it, we need to do so and get a new tarball out as soon as we can.
23:53 donaldh left 23:55 dmalcolm left