Parrot 3.3.0 released | parrot.org | Log: irclog.perlgeek.de/parrot/today” | Accepted GSoC Students announced! | GSoC student information emails coming out soon
Set by moderator on 26 April 2011.
00:01 cosimo joined 00:08 theory left 00:18 theory joined 00:19 benabik left 00:27 theory left 00:44 bubaflub joined 00:49 benabik joined, Coke left
cotto_work dukeleto++ 00:50
I never realized how much more readable single-line Perl 5 comments are with a space between the # and the comment
00:53 Coke joined 00:54 preflex left 00:55 Coke left
dalek rrot/m0-prototype: 32b13d5 | cotto++ | src/m0/m0_interp.pl:
stub out more M0 interp code, parse the m0b header
00:56
00:59 Coke joined, preflex joined
cotto_work If someone's bored and wants to hack on something M0-related, the m0b (M0 bytecode) disassembler is unclaimed and both dukeleto++'s M0 assembler and my interp could use a higher bus number. 00:59
just sayin'
whiteknight emotibot.net/index.php?content=viewer&id=59 01:01
dalek rrot/m0-prototype: 8255ff1 | cotto++ | t/m0/test_file.m0b:
add a possibly-valid m0b file to git

This is the result of running t/m0/m0bgen.t with the unlink line commented out. I can't guarantee that it's valid, but it at least seems to have a good header.
01:02
cotto_work decommuting time
01:06 Coke left 01:09 theory joined 01:17 Coke joined
plobsing msg kid51 I wonder if a change in the number of objects allocated at startup is changing the timings of GC and exposing GC-invariant-violations elsewhere. If this were the case, you might be able to duplicate the failures by configuring --without-core-nci-thunks and/or --without-extra-nci-thunks on master. It might also cause --without-extra-nci-thunks to move the failure points around on tt1931. Note however, that configuring without thunks does insert some 01:17
aloha OK. I'll deliver the message.
01:19 woosley joined
whiteknight failures that happen only on darwin/ppc are such a pain in the butt 01:19
plobsing: Whereabouts do you live? 01:20
plobsing whiteknight: heh, I just read that part of the backscroll. I currently reside in Waterloo Ontario. The Whitehorse gig was short-term (but worthwhile, beautiful city). 01:21
whiteknight oh, okay. That's actually not so bad
if we were to hold some kind of meetup or hackathon in the east coast area, what are the odds you could attend? 01:22
plobsing I can't promise anything, but I'll try. 01:23
01:23 estrabd left
atrodo whiteknight: today i learned that phily is only 10 hours away 01:24
01:24 estrabd joined
whiteknight atrodo: fun. Where are you located? 01:24
atrodo whiteknight: Cincinnati
whiteknight plobsing: depending on who would be available/willing, we would try to find a suitable location
atrodo whiteknight: really easy drive too
whiteknight atrodo: My sister lives out by Indianapolis, so I 01:25
ve made the drive through there severalt times
atrodo whiteknight: Through cinci? That's kind of out of the way, isn't it? 01:26
whiteknight atrodo: She used to live down in Evansville, and we went through cinci
now she lives near indianapolis, so we stay further north
plobsing argh. US geography is so hard! why can't you put all of your cities in a line so I can remember what is where?
atrodo whiteknight: that makes a lot more sense 01:27
plobsing: we do, it's called interstates
whiteknight plobsing: Yeah, I know. I had to pull up Google maps to remind myself where things were
There are some things in this world I am good at, and other things I am very very bad at. Geography is something I am bad at 01:28
along with soccer, anagrams, and listening to my wife 01:29
atrodo s/soccer/sports/, but you'll never get me to admitting that last one in public 01:31
plobsing atrodo: the interstate system seems like more of a mesh than a line to me. 01:32
atrodo plobsing: well, on the map it is, but in my head, they're all nice and straight connecting major cities 01:33
whiteknight plobsing: another fine example of a system which received far too little prior planning
there is an "interstate" highway in hawaii, which I've always found hilarious
plobsing en.wikipedia.org/wiki/File:Puerto_R...states.svg 01:36
ENOTASTATE
whiteknight okay, that's even funnier
no inter- and no -state
atrodo That is now my favorite interstate 01:37
cotto ~~ 01:39
tcurtis ~~
01:40 jrt4__ joined
whiteknight goodnight 01:41
01:42 whiteknight left 01:47 rurban_ joined 01:50 rurban left 01:51 rurban_ is now known as rurban 02:01 mtk0 left 02:07 mtk0 joined 02:12 davidfetter left 02:17 jevin left 02:18 jevin joined
Coke grumbles. can't ssh in to my box at home from the outside world. 02:30
02:35 dafrito_ joined 02:39 dafrito left 02:43 Andy joined 03:10 jevin left 03:19 Andy left
cotto The next release announcement needs to come with a big musical number. 03:52
benabik cotto: I may regret asking, but why? 03:56
cotto no reason 03:57
we just don't do enough of those
benabik Fair enough. Well, you have most of a month to write lyrics. :-D 03:58
cotto That's not going to be the hard part. 03:59
04:07 hudnix left 04:22 particle1 left 04:51 apt415 joined 05:06 bubaflub left
cotto dukeleto, you around? 05:20
05:34 fperrad joined 05:56 theory left
cotto incoming! 07:06
dalek rrot/m0-prototype: 49f2db0 | cotto++ | t/m0/m0bgen.t:
fix bug in M0 bytecode tests
rrot/m0-prototype: e847905 | cotto++ | t/m0/test_file.m0b:
fix example test m0b file
rrot/m0-prototype: 465f941 | cotto++ | src/m0/m0_interp.pl:
finish implementing m0b loading for prototype M0 interp
rrot/m0-prototype: e4842a8 | cotto++ | src/m0/m0_interp.pl:
actually store parsed data in the interp
rrot/m0-prototype: 9b72488 | cotto++ | src/m0/m0_interp.pl:
add a bunch of constants for the M0 interp
rrot/m0-prototype: 9c552f6 | cotto++ | src/m0/m0_interp.pl:
implement context initialization
rrot/m0-prototype: dcb5eb7 | cotto++ | src/m0/m0_interp.pl:
implement run_ops - It's alive!!!

The M0 interp now has the ability to either run noop or say_i from M0 bytecode. It's nowhere near complete, but being able to run ops is shiny.
07:07 ShaneC2 joined 07:08 elmex_ joined 07:11 elmex left, elmex_ is now known as elmex, utsl left 07:12 utsl joined 07:16 mj41 joined 08:06 lateau joined 08:46 jrt4__ left 08:51 ShaneC2 left 09:02 contingencyplan left 09:45 woosley left 09:47 rurban_ joined 09:49 mtk0 left 09:50 rurban left, rurban_ is now known as rurban 09:55 mtk0 joined 10:03 woosley joined, ShaneC1 joined
bacek ~~ 10:07
10:08 ShaneC1 left 11:07 bubaflub joined
bacek msg pmichaud Looks like gms behave much better on loaded systems (comparing to ms2). In the "perfect world" ms2 is slightly better (without is_pmc.patch for gms). 11:16
aloha OK. I'll deliver the message.
tadzik bacek: anything new about the amd64 regression? 11:17
bacek tadzik, it's not "regression"
afaiu
tadzik I was just quoting you from parrot-tev 11:18
bacek If you are on amd64 you can try to compare parrot 3.3 with "is_pmc.patch" vs 3.0 11:19
tadzik how about comparing patched vs non-patched?
bacek big difference on my box
tadzik I'll try it out 11:20
bacek like 130s vs 180s on somehow loaded box
or 80s vs 110s on totally free box
tadzik what takes 80s? 11:23
bacek gms
tadzik no no, fulltest of parrot?
nopaste "bacek" at 192.168.1.3 pasted "gms vs ms2 "bench"" (18 lines) at nopaste.snit.ch/43565 11:25
bacek tadzik, see nopaste :)
tadzik oh, the building 11:26
bacek "core.pm" test
tadzik I'll give it a try
11:26 lucian joined 11:33 darbelo joined
tadzik heh, I patched Parrot with patch --dry-run and wonder why make doesn't want to rebuild anything :) 11:41
bacek :) 11:44
tadzik whoa, parse phase is 80 secs instead of 150 11:45
post is 30 instead of 110 11:46
nopaste "tadzik" at 192.168.1.3 pasted "building rakudo core.pm, with wonderpatch and without" (19 lines) at nopaste.snit.ch/43566
tadzik so it's roughly 3 times faster 11:47
jnthn__ whoa! 11:48
That patch. I want it!
bacek tadzik, it depends on current load. But yes. Patched version should be faster on "loaded box"
tadzik well, I'm doing the usual desktop stuff. gtkabber, mutt, chromium, mpd 11:49
bacek jnthn__, groups.google.com/group/parrot-dev/...amp;view=1 11:50
I sent it to parrot-dev this morning. It will not help you anyway (afaiu). 11:51
11:51 lucian left
bacek jnthn__, just because it restores "expected behavior" of gms on "loaded systems" 11:51
11:52 lucian joined 11:56 darbelo left, particle joined, darbelo joined 11:58 lucian_ joined, lucian_ left
bacek tadzik, "chromium" is the "answer" :) Basically memory is highly fragmented during running of such apps. Patch is kind of "workaround" to avoid expensive checks in this case. 12:00
tadzik I see
12:02 lucian left
bacek tadzik, you did send your last mail to me only. Is it intentional? 12:02
tadzik bah, no 12:03
mutt--
there's a different keybinding for replying to a mailing lists, not really DWIM 12:04
bacek :) 12:05
12:15 bluescreen joined 12:16 woosley left
bacek Yay! 12:22
just read pmichaud++ mail about performance of GMS with "is_ptr.patch" 12:23
jnthn__ yeah! 12:25
bacek++
tadzik awesome :)
bacek jnthn__, you will not have this improvements anyway :) GMS is already works fine on you box :) 12:27
12:32 Patterner left, Psyche^ joined, Psyche^ is now known as Patterner 13:11 hudnix joined 13:20 whiteknight joined 13:23 bubaflub left 13:25 woosley joined
whiteknight good morning, #parrot 13:25
13:33 UltraDM joined, particle1 joined 13:37 particle left 13:39 coke_ joined
coke_ seen rohit? 13:39
aloha Sorry, I haven't seen rohit.
coke_ seen rohit_nsit08? 13:40
aloha rohit_nsit08 was last seen in #parrot 19 hours 29 mins ago joining the channel.
coke_ Coke: I can't believe you haven't figured out your network problem yet. hoser.
msg rohit_nsit08 Arg. sorry if I screwed up the time zones. 13:42
aloha OK. I'll deliver the message.
coke_ Hey, who is my backup mentor with rohit? 13:50
whiteknight coke_: good question. 13:51
we don't have them assigned for most projects yet
coke_: I will probably play backup for his project
That reminds me that I need to send out an email to parrot-dev asking for the remaining slots to be filled 13:54
and if my student never comes back, I could play backup for a lot of projects
coke_ this is just a busy week for both rohit and me, I think. should settle down soon. 13:56
whiteknight it's okay, it's still early in the bonding period. What really matters is the time when coding starts
coke_ oh good. dodged that bullet.
whiteknight during that time, he should be much more available, at least
coke_: Speaking of which, do you two have a meeting time figured out yet? I'd like to be available as best I can 13:59
14:04 bluescreen_ joined, bluescreen__ joined 14:05 bubaflub joined 14:16 hudnix left 14:21 hudnix joined 14:28 lateau left 14:30 theory joined
whiteknight msg cotto I've got mothers-day and house-hunting things to do this weekend. I'll be available Saturday and Sunday afternoon to chat. Is this still fine for you? 14:31
aloha OK. I'll deliver the message.
coke_ whiteknight: Apparently not - was trying for 930AM eastern today. 14:34
I'll cc you on the next email.
... if I remember. ;)
whiteknight coke_: okay, thanks. It's no big deal, I'll try to follow along as best I can 14:36
definitely let me know if you need anything. I'm really excited to see this project succeed
14:47 ambs joined 14:52 ambs left 14:56 hercynium joined 14:58 davidfetter joined 15:24 dmalcolm joined 15:25 rohit_nsit08 joined 15:26 UltraDM left
rohit_nsit08 Coke: ping 15:29
coke_: ping 15:30
coke_ Pong. 15:32
Actually in th emiddle of a phone conference at work right now, but can devote some cycles here. ;) 15:33
How's it going? 15:34
15:42 woosley left 15:51 mj41 left
rohit_nsit08 coke_: oh , hi! sorry went away for dinner 15:55
coke_: work is going fine, ( some interruptions from practical exams though) 15:56
dukeleto ~~ 15:59
dukeleto makes breakfast
coke_ Ok - if you need any help with PIR, most folks in this channel can help or point at docs. 16:05
coke_ is about to head out for gym and lunch, just so all meals are represented.
16:06 contingencyplan joined
cotto hio dukeleto 16:10
whiteknight, I have little idea what I'll be doing this weekend. I'll keep Sunday afternoon free if at all possible.
whiteknight ok 16:11
cotto I'm certain that Saturday won't work.
whiteknight that's fine
my wife is under the weird impression that we need to see our mothers on mothers day
I'm not sure that's how it works 16:12
dukeleto lulz 16:14
16:15 rohit_nsit08 left, rohit_nsit08 joined
cotto dukeleto, I made some changes to some parts of the M0 spec that affect the binary representation. Sanity check requested. 16:18
In the M0 interp I ended up ignoring the number of bytes in a segment and just used a count of the elements. 16:19
16:20 bluescreen left, bluescreen_ left, bluescreen__ left 16:23 mj41 joined 16:26 rohit_nsit08 left 16:29 dodathome joined 16:32 bluescreen__ joined 16:37 ambs joined 16:47 bluescreen__ left 16:53 plobsing left 16:55 mj41 left 16:58 theory left 17:07 theory joined 17:11 darbelo_ joined 17:12 darbelo_ left
cotto_work ~~ 17:15
17:15 darbelo left
dalek rrot: 04f0b74 | NotFound++ | src/call/ (2 files):
replace 'const static' with 'static const' to avoid unhelpful warnings
17:19
17:37 plobsing joined
dukeleto cotto_work: ok, will take a look at recent spec changes 17:38
cotto_work dukeleto: thanks. There's not too much to them. 17:41
plobsing dukeleto: you have access to a PPC machine through the gcc farm, correct? can you confirm that the tt1931-nci-parameters-deprecation works there? 17:43
dukeleto plobsing: possibly 17:46
dukeleto looks at gcc.gnu.org/wiki/CompileFarm 17:47
plobsing: gcc40 seems to be what we want 17:48
17:48 benabik_ joined
dukeleto benabik: top of the mornin' 17:48
benabik_ Greetings!
17:49 rurban_ joined 17:50 rurban left, rurban_ is now known as rurban
benabik_ Got my paperwork into Google. :-) Now I'm trying to secure work for next year. 17:51
17:51 mj41 joined
dukeleto benabik_: when is your planned graduation date? 17:54
17:54 preflex left
benabik_ dukeleto: Spring next year, although that's higly dependent on thesis. 17:54
(Which I don't even have a topic for yet.) 17:55
bubaflub benabik_: what is your field of study? (just curious) 17:56
benabik_ bubaflub: Computer Science, looking into language/compiler based thesis.
dukeleto benabik_: well, just as a thought, you could be part of GSoC next year too if you haven't graduated yet... 17:57
bubaflub benabik_: very cool. my undergrad was math & computer science.
benabik_ dukeleto: Hopefully I'll be in transition to a PhD program and still eligible. :-D 17:58
dukeleto plobsing: i am cloning a fresh parrot.git onto the gcc40 ppc machine
benabik_: sounds good to me
benabik_ dukeleto: (Assuming everyone still likes me in three months.)
17:59 mj41 left
mikehh bubaflub: I have been penciled in as backup mentor on your GSoC project, need any help there just yell :-} 18:02
18:02 theory left
bubaflub mikehh: great! once my finals are over i'll post an introduction and rough outline of what i plan to do for the project. 18:02
mikehh bubaflub: just been REFM on GMP, been a while since I worked on it :-} 18:03
18:04 plobsing left
mikehh RTFM I should say 18:04
bubaflub mikehh: great. i'm reading and working with GMP 5 and change but i believe it's backwards compatible back to two or three or so. 18:06
mikehh bubaflub: hot 4,3 installed in my system, but just downloaded the 5.0.1 tarball 18:07
got
dukeleto hasn't played with GMP 5 yet 18:17
18:17 darbelo joined
dukeleto bubaflub: part of your gsoc proposal should specify which versions of GMP will be supported by the bindings 18:17
bubaflub: not sure we know yet, but that is something we need to figure out 18:18
bubaflub dukeleto: yessir. i need to research which versions are default on what systems.
dukeleto: then match that up with our supported and popular systems.
dukeleto bubaflub: also, it may be a good idea to introduce yourself on the GMP developer list and tell them about your gsoc project
bubaflub dukeleto: ah, good idea.
dukeleto bubaflub: we should support 4.x-5.y, just not sure what x and y are 18:19
bubaflub: GMP 3 is from last century, iirc. Let them have it
bubaflub dukeleto: ok.
18:19 mj41 joined
dukeleto bubaflub: do you have a github repo for the gmp stuff already? 18:20
bubaflub: we are going to use github issues to keep track of stuff
bubaflub dukeleto: github.com/bubaflub/parrot-gmp
i haven't added much of anything yet
dalek nxed: r973 | NotFound++ | trunk/t/basic/05new.t:
some basic tests for operator new
dukeleto bubaflub: github.com/bubaflub/parrot-gmp/issues
bubaflub dukeleto++
dukeleto bubaflub: gh issues really help me focus 18:22
bubaflub dukeleto: same. ticketing systems in general - just breaking stuff down. always have a "what's next" so i never get lost
dukeleto bubaflub: github.com/GMOD/mimosa/issues?labe...milestone=
bubaflub: that is an example the issues for one of my $work-related projects
bubaflub: the colored labels really help 18:23
bubaflub: you should create some labels for parrot-gmp
bubaflub: when the time is right
bubaflub: i also find that having a cache of easy tasks is good for when tuits are low. Fixing little things gives you the motivation to do bigger things 18:24
bubaflub dukeleto: absolutetly. 18:25
dukeleto: i find my motivation drops when i get stymied by a big problem. tackling the small stuff is a great way to regain momentum
dukeleto bubaflub: github.com/bubaflub/parrot-gmp/issues/4 18:26
dukeleto now has a place to put all his parrot-gmp ideas 18:27
bubaflub: i used that same idea when writing Math::GSL
bubaflub: i stole tests from the actual GSL test suite and dressed them up as Perl tests :)
bubaflub dukeleto: re issue 4: yes, but remember he (the author of Math::GMPz) has a crazy test suite and i tried to convince him to use Test::More he said no. 18:28
dukeleto bubaflub: sure. but we are using his tests as input and tranforming them into our own, so we can do what we want 18:30
bubaflub: Test::More actually has horrible memory issues when you have more than a few thousand tests
bubaflub dukeleto: yep. i'll take a look at it. the more i can automate, the better
dukeleto bubaflub: because it keeps track of metadata about every test
benabik_ bubaflub: Laziness is a virtue for programmers. 18:31
dukeleto bubaflub: so it allocated many perl variables for every tests => huge memory use for > 10,000 tests or so
bubaflub benabik_: i keep trying to tell my wife that...
benabik_ bubaflub: Sadly, it doesnt seem to be a virtue for husbands. :,( 18:32
dukeleto benabik_: are you needing any guidance for gsoc-stuff, or are you still waiting on school to stop sucking up all of your time? 18:33
benabik_ dukeleto: Schhol, school, school, regrettably. Have a paper and a project I'm still buried in. 18:34
dukeleto benabik_: no worries. when is school all done for you?
18:34 theory joined
benabik_ dukeleto: My last final is on the 20th, but most projects are due 16th. 18:35
GTG 18:40
18:40 benabik_ left 18:43 mj41 left 19:05 preflex joined
dalek nxed: r974 | NotFound++ | trunk/winxedst1.winxed:
cosmetic changes
19:09
19:09 Andy joined 19:13 theory_ joined, theory left, theory_ is now known as theory, mj41 joined 19:20 mj41 left
dukeleto www.mirah.org : Subset of Ruby + static typing, on the JVM 19:23
cotto_work There's some interesting innovation happening using Ruby as a base. 19:24
or "work" if "innovation" sounds too buzzwordy
19:25 theory left
PerlJam nice rotational symmetry 19:28
davidfetter ETOOCLEVER 19:30
PerlJam maybe it's meant to be a metaphor for their approach :)
benabik ~~ 19:31
dukeleto is really loving new.leto.net:3000/project/parrot 19:33
cotto_work dukeleto: howcome I get two different user pics? 19:35
look at 5/4 19:36
but yes, it's very shiny.
dukeleto++
NotFound cotto_work: since my office was given the name "Modernization and Innovation" I hate buzzwords even more. 19:37
mikehh hey I'm getting - HTTP CODE: 502 (Bad Gateway) - trying to send to smolder:
Could not upload report to Smolder at smolder.parrot.org 19:38
HTTP CODE: 502 (Bad Gateway)
cotto_work NotFound: innovate a new name
NotFound Our greatest innovation is: receiving things by email and sending it by fax to people that has email accounts.
mikehh I'm not getting this with any other link on the web, so I think smolder needs to be restarted
cotto_work dukeleto: is that site good for long-term hosting or should we stick it on x.parrot.org once the code is "ready" 19:39
?
NotFound Of course, we send the faxes by printing them in a multifunction machine, and sending them using that same machine.
dukeleto cotto_work: you committed with different email addresses 19:40
cotto_work: it uses the gravatar for the email of the author in each commit
cotto_work oic
dukeleto cotto_work: that server is stable, but the name is temporary. jitterbug.leto.net:3000/ is a better name 19:41
mikehh and I don't have a problem connecting to parrot.org
dukeleto cotto_work: that is my new linode that I am transitioning to
i would like jitterbug.parrot.org to redirect to that site, tho
who can make jitterbug.parrot.org:80 -> jitterbug.leto.net:3000 ? 19:42
mikehh dukeleto: have you had any problems with smolder recently?
I can't upload smoke reports
dukeleto mikehh: i haven't been doing much smoldering lately. I set up the gcc compile farm smokers and forgot about them 19:43
mikehh: smolder is very unstable. It has memory leaks, and the faster we submit smoke reports, the faster the memory leaks make it freak out
mikehh needs to be restarted 19:44
dukeleto mikehh: yeah
whiteknight: parrot-instrument is on jitterbug: jitterbug.leto.net:3000/project/par...instrument 19:45
mikehh was going to have a look at it, but had some problems setting up a smolder server on my system, so gave up, but need to try again
dukeleto whiteknight: let the FAIL flow
mikehh: i gave up on smolder a long time ago
i like the UI, and I like it's functionality, but the implementation is unsalveagable 19:46
cotto_work dukeleto: that bad? It's a shame.
dukeleto cotto_work: i think it is more complicated than it needs to be. Also, it is written as a dynamic site, which makes it slow and memory-heavy. 19:47
cotto_work dukeleto: any idea when you'll have tuits to get the M0 assembler in working order?
dukeleto cotto_work: it could easily be a staticly-generated site with ajaxy-js for nice effects
cotto_work: my development team does not give time estimates ;) 19:48
cotto_work: i have been dealing with various meatspace things, and haven't had much time to hack since being home
cotto_work meatspace can be like that
dukeleto cotto_work: i have a design for the assembler written on paper
cotto_work: so it is a Simple Matter of Programming to implement that 19:49
cotto_work dukeleto: great!
dukeleto had vague plans to use "dia" to make a spiffy digital representation of the design
cotto_work I found the interp to be much easier after taking a few minutes to think through the design away from a computer.
dukeleto cotto_work: seeing your progress is answering many questions I had 19:50
cotto_work dukeleto: awesome.
dukeleto cotto_work: yep. I actually sat by the water in Bellingham in the sun and wrote out 80% of the assembler design.
19:51 Andy left, SHODAN joined
davidfetter got a SHODAN long ago, but lazed out for nidan 19:52
SHODAN pfft
dukeleto goes to get his brand-spanking shiny new bicycle 19:59
20:00 Andy joined 20:01 theory joined 20:02 theory left 20:03 ambs_ joined, ambs left, ambs_ is now known as ambs, Andy left, whiteknight left
mikehh if I try to connect to smolder.parrot.org/ I get an Internal Server Error 20:03
20:04 Andy joined
mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (failed to upload) fulltest) at 3_3_0-87-g04f0b74 20:07
Kubuntu 11.04 amd64 (g++ --optimize)
20:13 Coke left, Coke joined 20:19 ShaneC joined, theory joined 20:21 mj41 joined, particle joined 20:22 dodathome left 20:24 particle1 left, darbelo left, darbelo joined 20:27 fperrad left 20:34 SHODAN left
moritz rakudo's rand() seems to be always seeded with the same sequence 20:45
rakudo: say rand, ' ', rand
p6eval rakudo 6ae3c9: OUTPUT«3.90798504668055e-14 0.000985394674650308␤»
moritz rakudo: say rand, ' ', rand
p6eval rakudo 6ae3c9: OUTPUT«3.90798504668055e-14 0.000985394674650308␤»
moritz rakudo: say rand, ' ', rand
p6eval rakudo 6ae3c9: OUTPUT«3.90798504668055e-14 0.000985394674650308␤»
20:46 plobsing joined
moritz is that by design? (I kinda assume it uses parrot's PRNG under the hood) 20:46
20:47 ShaneC left
moritz nqp: say(pir::rand) 20:49
p6eval nqp: OUTPUT«error:imcc:syntax error, unexpected '\\n', expecting '('␤ in file '(file unknown)' line 31516452␤error:imcc:syntax error ... somewhere␤ in file '(file unknown)' line 31516546␤syntax error ... somewhere␤»
cotto_work moritz: "design" is such a strong word.
KaeseEs is there an srand equivalent that needs to be called with some seed with entropy? or are those batteries supposed to be included 20:50
cotto_work It's an easy change to initialize a random seed from the system clock.
KaeseEs: the rule of least surprise says that it should be included 20:51
If predictable randomness is wanted, the seed can be re-initialized to a fixed value later. 20:52
KaeseEs 'predictable randomness' heh
i see what you mean, though.
KaeseEs runs off to github to see what algo parrot's rand uses under the hood 20:53
benabik Rakudo appears to use parrot's rand__NN and srand__0I ops. 20:55
Which in turn, uses Parrot_util_float_rand(), which uses _drand48(), which uses last_rand as a seed, which is never initialized. 20:59
dalek rrot/m0-spec: cbccffb | cotto++ | docs/pdds/draft/pdd32_m0.pod:
define the global interp, make it accessible from a context
21:01
rrot/m0-prototype: 2faec3b | cotto++ | t/m0/m0bgen.t:
M0 bytecode test bugfix, make it runnable
rrot/m0-prototype: e65af83 | cotto++ | src/m0/m0_interp.pl:
make prototype M0 interp consistent with new M0 spec changes
cotto_work We have passing tests!
plobsing Expecting the defaults to be appropriate to your application in a field as wide and varied as random numbers is not reasonable. 21:02
21:12 mj41 left
PerlJam plobsing: I don't know ... all HLLs seem to be the same "application" to me. (they all have the same requirements for a random-number generator op) 21:15
21:16 ybit left
plobsing PerlJam: there are different levels or randomness acceptability and computational acceptability. these are frequently directly opposed. 21:22
NotFound Maybe the appropiate solution is to pick a default at random ;) 21:26
21:31 mikehh left 21:34 ambs left
cotto_work plobsing: do you think it's more reasonable to have a fixed random seed or to initialize it from the system clock? 21:41
plobsing repeatability has its merits 21:42
benabik Repeatability is generally not what you're looking for from a call to a RNG.
plobsing if you care enough to think that is wrong, you probably have a good idea of what your requirements are and to choose a solution that meets those
21:42 darbelo left 21:43 darbelo joined, darbelo_ joined, darbelo left
NotFound Initializing rng from system clock may be a lot worse in this times of clouds and multicores than some years ago. 21:48
benabik NotFound: I'm not sure how that follows. System clock is just to approximate "random starting seed". 21:52
dukeleto i created a ticket long ago called "parrot needs a source of entropy"
NotFound benabik: not so approximate when you can have lots of instances starting at the same time.
benabik NotFound: It's never been a _good_ starting seed. Just good enough for basic usage. 21:53
cotto_work exactly
NotFound benabik: I didn't said that it was good at any time, just that it gets worse.
cotto_work I'm not sure if there's a reason we don't have proper entropy for any reason other than nobody having implemented it. 21:54
plobsing providing entropy for a general purpose VM is hard. again, it comes down to if you know enough to be worried about it, you know enough to do something about it. 21:56
NotFound Also, what to do if the underlying system doesn't have one. 21:57
plobsing NotFound: download some entropy from hotbits ;)
NotFound Pick a source of entropy at random. 21:58
cotto_work based on the system time?
;)
plobsing I'm sure some entroprising individual will solve the problem
NotFound Choose a clock randomly.
cotto_work What about a VM running outside of space/time?
NotFound No problem, black holes have entropy. 21:59
cotto_work dukeleto: if you're feeling lazy, you're welcome to steal code for the M0 assembler from t/m0/m0bgen.t. It implements half of an assembler already. 22:00
actually, factoring that code out into a separate reusable module would be even better.
benabik plobsing: OTOH, I could argue "if you want a repeatable PRNG, you know enough to do something about it."
cotto_work Though part of the point is that it's a completely independent self-contained m0b generator. 22:01
benabik If we're trying to make writing a dynamic language easy, why make using rand complicated? 22:02
22:02 Andy left, hercynium left
NotFound benabik: What's the complication? 22:03
plobsing benabik: random numbers are inheretently complex
dukeleto plobsing: no, they can be integers or floats too ;)
cotto_work groan 22:04
22:04 Coke left, Coke joined
NotFound benabik: even in the Sinclair ZX-81 basic, the simpler language with popular use I ever knew, you should random initialize the rng if you need to. 22:04
plobsing benabik: any default is either wrong for 99% of applications, or you don't care 22:05
cotto_work To be fair, I did change the behavior did change just after the 3.3 release. I should have brought up the issue before pushing that commit.
moritz: the answer seems to be that if Rakudo wants varying randomness, it should call srand with the system time (or something similar) itself. 22:07
benabik I'd think most people just blindly calling random want a random number, and not the same random number every time.
But I don't really have time to argue this, I should have left 20m ago. 22:08
And I appear to be outvoted.
cotto_work It strikes me as the less surprising behavior, but I don't mind either as long as it's documented and known.
NotFound Mandatory xkcd: xkcd.com/221/ 22:09
cotto_work xkcd is less fun now that it's been made mandatory. 22:10
plobsing I see repeatable PRNG as desirable for debugging and helping noobs (who are more likely to stick with the PRNG defaults in the first place)
NotFound I'm tempted to write a table with the ten mandatories xkcds. 22:11
plobsing cotto_work: xkcd appreciation is also mandatory. your violation has been reported.
cotto_work crud
at least the arrest will be interesting 22:12
plobsing cotto_work: they may have height and width on you, but you can probably use depth to your advantage
NotFound May the depth be with you! 22:14
22:18 bubaflub left 22:52 bubaflub joined 22:56 bubaflub left, dafrito_ left 22:57 athomaso1 left, dafrito joined 23:00 bubaflub joined 23:01 dmalcolm left, whiteknight joined
whiteknight Tene++, kid51++ 23:02
cotto_work hio whiteknight 23:05
whiteknight hello cotto_work
23:14 bubaflub left
dalek rrot/pdds_restart: a68d096 | Whiteknight++ | docs/pdds/ (40 files):
bump all pdds back to draft for now, so we can sort through them one at a time
23:19
23:19 bubaflub joined
cotto_work whiteknight++ 23:20
whiteknight it's a small, symbolic step
cotto_work and a non-null step
pdd 0 would be a great place to start
23:21 mikehh joined
whiteknight cotto_work: I'm already working on it : 23:21
23:21 bubaflub left
whiteknight :) 23:21
23:22 bubaflub joined
plobsing we're going to draft new Perpetually Dated Documents? sweet! 23:23
cotto_work PDD 32 isn't dated ;) 23:24
it's not complete either, though :(
whiteknight ideally, they can be sufficientl hand-wavey and vague that they are never technically "dated"
:)
bacek_at_work ~~ 23:26
cotto_work aloha: clock? 23:27
aloha cotto_work: LAX: Thu, 16:27 PDT / CHI: Thu, 18:27 CDT / NYC: Thu, 19:27 EDT / UTC: Thu, 23:27 UTC / LON: Fri, 00:27 BST / BER: Fri, 01:27 CEST / TOK: Fri, 08:27 JST / SYD: Fri, 09:27 EST
cotto_work good moring, bacek_at_work
*morning 23:28
bacek_at_work aloha, cotto_work
23:28 bubaflub left