Index

Show enters and exits. Hide enters and exits.

00:39:41morris1there seems to be alot of different doc types in the docs... markdown, rdoc, anything else?
00:51:18brixenmorris1: it's been a migration of sorts
00:51:32brixenit should be converted to all markdown
00:51:56morris1okay i have some spare time, will try to do that
00:52:03brixensweet thanks!
00:52:20brixenideally, converted to markdown that would run through jekyll
00:52:42brixenso we could easily put it up on a github doc site
00:53:35brixencurrently, rubini.us is hosted there, but I've been toying with a single-page replacement that would just link to a doc site
00:53:51brixenI think it would clean it up a lot and keep the Rubinius message short and sweet
00:55:21morris1alright... so jekyll would also be the preferred way to build the docs locally?
00:55:55brixenyou mean to gen a local .html set?
00:56:07morris1yeah
00:56:14brixenyep, that'd be perfect
01:13:02morris1brixen: so how is that supposed to work; every doc file should become a "post" in jekyll?
01:15:22brixenhmm
01:15:26brixenI think so
01:15:33brixenI just started playing with jekyll
01:15:40brixenmostly checking out the jekyll sites
01:15:59morris1can you give me an example of what you'd expect it to look like?
01:16:22brixenwell, #1 concern is easy to read
01:16:39brixenless decoration the better, but a good font is absolutely the most important
01:16:43brixenseen these? http://wiki.github.com/mojombo/jekyll/sites
01:18:11brixenbasically, an index sidebar and one page per file would be ideal I think
01:18:24brixenif we want to make fancier nav, that's an option
01:19:21morris1i feel jekyll is a lot to "bloggish" for that
01:19:57brixenhow so?
01:22:59morris1just most of the sites i looked at were blogs or organized through posts... but i'll dig further and see
01:23:28brixenwell, http://pages.github.com/ or http://defunkt.github.com/ambition/
01:23:45brixenthere are a lot of blog examples, but nothing requires it to be "bloggy"
01:26:07brixencia! what did I say
01:26:37evanwhy is there a CIA bot in here..
01:26:48brixeneavesdropping without a warrant
01:26:55brixenin a public channel no less
01:26:58brixensilly CIA
01:27:37evanheh
01:31:41imajeswell
01:31:47imajesthe CIA are after former wall street traders to join them
01:32:00imajesand they were anything but covert
01:32:59brixennothing like in-your-face greed is good parties, huh
01:45:55morris1hm... current jekyll implementation requires the destination dir not to be a sub dir of the source dir, i.e. doc/ and doc/generated/ won't work
01:46:13brixenthat's ok
01:46:18morris1or, more precisely, the second generation will duplicate the destination
01:46:24brixenput it wherever and gitignore it
01:46:38brixenput it at /documentation
01:46:41morris1doc_html ?
01:47:13brixenhow about rbx_root/documentation
01:47:26brixendoc_html isn't that user friendly
01:47:41brixenunless you think doc and documentation will be seriously confusing
01:48:02morris1no you're right, good point
01:48:15morris1another thing: everything has to be base.markdown then :/
01:48:20morris1no more .txt
01:48:22brixenok
01:48:24brixenthat's fine
01:48:34brixenI did .txt not knowing better
01:49:12morris1.txt is better imho, since it is then clear that you can easily read it with a simple text editor
01:49:42brixenyeah
01:50:07brixenbut we'll make an easy rake task to gen the html and open a browser window :)
01:51:48morris1i have a bad feeling about this, had to install a zillion gems to get this running
01:52:14brixento get jekyll to run?
01:52:35brixenactually, there's no reason we can't commit the html as well
01:52:55brixenso generally the user will not need jekyll
02:08:22morris1too late now, going to check back tomorrow
02:08:37morris1good night
02:28:34ddubhi hi
02:30:00brixendub dub, wassup
07:42:28boyscoutUse float_mod primitive instead of divmod - 8286cac - Dirkjan Bussink
07:44:37boyscoutCI: 8286cac success. 2723 files, 10827 examples, 33840 expectations, 0 failures, 0 errors
15:13:11sbryant_workMorning
17:23:16brixenmorning sbryant_work
17:28:11sbryant_workHow are you this day?
17:30:20brixenI'm trying to figure out what I broke last night that is giving me thousands of spec failures
17:31:03brixenon the plus side, rbx can peg 2 cores outputting spec failures to the terminal
18:22:57evanmorning
18:23:05brixenmorning
18:39:18evanbrixen: hows that weird spec failure going?
18:40:05brixenwell, working on it
18:40:16brixenwriting a bunch more specs for Array::IdentityMap
18:40:29brixenfinally got the Iterator working well
18:41:19brixensomething triggers an avalanche of failures though
18:42:07evanbrixen: strange
18:42:31brixenyeah
18:43:24brixenthe primitive structure is so nice and coherent now
18:43:36brixensuper easy to port in either direction
18:44:27evannice
18:44:44evanwell crap
18:45:04evanlooks like i'm going to have to untangle the jit compiler code to get generic method inlining working
18:45:08evanoh well.
19:48:40sbryant_workbrixen: on the spec failures and pegging cpu cores. Does that mean rbx is pegging cpus through terminal output?
19:55:15sbryant_workThe reason I ask is because once I thought I had got an operation to peg a cpu and it turned out to be lock contention :(
19:56:03brixensbryant_work: hmm
19:57:43brixenit appears to me that IO is working well is what I meant
19:58:05brixenI'm not sure how this situation is the same as your lock contention
20:01:45sbryant_workI'd assume it wasn't
20:01:53sbryant_workI was just asking to see if that was unusual
20:01:58brixenahh I see
20:05:47sbryant_workYeah it was a pretty sketchy situation, I was doing crazy things with live transcoding from a firewire camera
20:06:08sbryant_workAnd sending the resulting feed over the network
20:06:29sbryant_workSO I expected high cpu but it wasn't from where I expected it
20:30:41clevererevery time I run 'rake install', it recompiles everything and then dies with "Unable to find a script 'compile'' in kernel/loader.rb
20:32:32clevererI think it's looking for compile.rb in /usr/local/lib but it isn't there because I haven't installed yet
20:35:25evancleverer: rake install is busted
20:35:27evandon't use it.
20:35:41evanwe need to just remove it
20:35:43evanuntil it's fixed.
20:36:48sbryant_workLong weekend!
20:37:12brixencleverer: there is no need to install rbx to test it either
20:37:23brixencleverer: just ln bin/rbx or vm/vm wherever you want
20:37:46brixenor run it from the directory
21:00:38evanthis is easier
21:00:55evanthan me asking brixen why wycats said he said what he didn't say
21:00:56evan:D
21:01:06brixenheh
21:02:36evananyway, so the rails -h graph isn't right?
21:02:47brixenI don't believe so, no
21:02:54brixenbut I can check
21:02:57brixensec..
21:02:57evank
21:04:19brixennope, not right http://gist.github.com/139680
21:05:26evanDOH
21:05:30evani forgot about that.
21:05:32evanshit.
21:05:52evanbrixen: we should probably figure out how to make the graphs fail more violently
21:06:16brixensure
21:08:13clevererso how do I install then?
21:09:29evanyou don't
21:09:36evanor, if you munt
21:09:37evanmust
21:09:46evanln -s ~/git/rbx/bin/rbx ~/bin
21:10:10clevererokie
21:10:41brixenevan: grabbing some food, bbiab..
21:10:42clevereralso, one of the ci specs fails.. BigDecimal.new.. is this news?
21:10:46evanbrixen: k
21:11:00evancleverer: um. must be
21:11:09evancleverer: how are you running the specs?
21:11:21clevererthe one checking for the segfault
21:11:29wycatsevan: brixen said the graphs were for obsessors and they can be safely ignored ;)
21:11:42wycats"those benchmark graphs are mostly useful for people to obsess over; ie, not at all"
21:11:46evanhe send me what you guys talked about
21:11:50clevererit doesn't segfault, but it doesn't get the exact tiny value it wants so it fails
21:11:54wycatsevan: sure
21:12:02wycatsevan: I didn't think I said anything controversial ;)
21:12:13wycatsdrama party!
21:12:19evani said they were useluss
21:12:22evanwhich isn't what he said.
21:12:24evaner.
21:12:25evanyou said.
21:12:27evananyway
21:14:03evanwycats: it's not drama, i was confused.
21:16:18wycats"and I should stop looking at the graphs
21:16:18wycatsthey are useless
21:16:18wycatshe says"
21:16:27wycatspretty sure that's a fair representation of what he said
21:16:30wycatsis so confused now
21:17:00brixenwycats: my point is that the graphs can be misleading without additional info
21:17:07brixenand people obsess over them
21:17:18brixenthey are a single data point, period
21:19:25brixenwhat I said somehow got to evan as "the graphs are totally broken"
21:19:41brixenwhat I don't need is to have two disconnected convos at the same time
21:19:56brixenwycats: so, if you have question, could you ask it here?
21:22:19wycatsbrixen: whatever
21:22:26wycatsyou guys are kinda insane
21:22:34brixenit's a reasonable request
21:22:41wycats"if you want to talk to me, please discuss things in the public channel"
21:22:45wycatswhatever it's fine
21:22:51brixenjust ask us here if it's about an issue with rbx
21:22:55wycatsTHERE WASN'T
21:22:56brixenwhy is that a problem?
21:22:57wycatsCHRIST
21:23:00wycatsThere wasn't an issue
21:23:03wycatsI was having an amiable chat
21:23:11wycats"oh... nice to see that you made a big improvement"
21:23:14wycats"yay!"
21:23:22wycats"Look... I posted something nice about rbx on stack overflow"
21:23:36wycatsyou may as well just say "please stop IMing me... I don't like you and don't want to talk to you"
21:23:39wycatsthat's fine
21:23:40brixenit's not that big a deal wycats
21:23:51wycatsbrixen: you're right
21:23:56brixenI just don't want to waste time sorting out telephone
21:24:12wycatsbut saying "if you want to talk to me you have to do it in public" is whatever
21:24:20wycatsI'll oblige your request
21:24:26wycatsthanks for letting me know
21:24:29brixenwell, ok
21:24:39brixenI'm not saying don't talk to me
21:24:54brixenyou should probably listen to me and not assume I'm saying something I'm not
21:26:00wycatsI wasn't actually discussing a bug in rbx
21:26:13wycatsI was having a random conversation in which I was congratulating evan on a speed improvement
21:26:23wycatsapparently I am not allowed to have such a conversation
21:26:28wycatsI will remember that for the future
21:26:32brixenI never said that
21:26:59brixenI said I didn't want to have two disconnected convos and sort out why msgs are getting crossed
21:27:07brixenit's a reasonable request
21:27:11wycatsyep
21:27:15wycatsfor a specific thing yes
21:27:20wycatswhich is why I came in here!
21:27:21brixenall the extraneous drama you are starting, not us
21:27:56sbryant_worklols.
21:28:36brixenanyway, I'm going to go finish my sandwich
21:28:40sbryant_workhaha.
21:28:43sbryant_workSo everyone okay now?
21:30:33wycatssbryant_work: :P
21:30:37sbryant_work:D
21:31:05sbryant_workThat might take the cake for the most useless conversation of the day.
21:31:33sbryant_work"There's no problem, but here's what the problem would have been..." is what that conversation looked like to me from the outside
21:32:39sbryant_workBut what the hell do I know?
21:41:45sbryant_workhave a nice weekend, hopefully I'll pop in this weekend.
21:58:54evanok, back to generic method inlining...
21:58:58evanlets see..
22:02:35wycatshave you guys tried to run the Rails test suite against rbx?
22:03:45evanwe did a while back
22:03:49evanyou should give it a shot
22:03:52wycatsI should
22:03:55wycatsdid they pass back then?
22:04:05wycatsthere are a lot of little details (esp. in time/date) that gave jruby ulcers
22:04:06evani think there ones that didn't
22:04:07evanoh
22:04:15evanand we got some segfaults running the AR specs under sqlite
22:04:16evani believe
22:04:20wycatsnice
22:04:39evanwe need to figure out how to resolve the BlankSlate issue
22:04:39wycatsI'm very interested in getting the test suite passing
22:04:44evanso it will actually load :/
22:04:48wycatsyou don't want a private BasicObject?
22:05:01evanBlankSlate doesn't use BasicObject
22:05:11evanat least not in current rails
22:05:17evanand we don't have a BasicObject
22:05:38wycatsI think it checks for the existence of BasicObject
22:05:39wycatslemme check
22:05:47evank
22:06:48wycatsAS::BasicObject checks for the existence of ::BasicObject
22:06:50slavahi evan
22:07:08wycatswhat about the 1.8.6 BasicObject strategy fails on rbx?
22:07:10evanwycats: not in 2.3
22:07:18evanor whatever is the latest rails in gems
22:08:40evanwycats: well 1)
22:08:44evanwe don't have BasicObject
22:08:47evanso that fails off the bat
22:08:56wycatsevan: I know
22:08:59evanthen there is a bug related to us defining Object#metaclass in the kernel
22:09:02wycatsI was asking about the undef strategy
22:09:07evanbasically, there is a bug in BlankSlate
22:09:14evanif a method it already undef reappears
22:09:16evanit blows up
22:09:18wycatswe can probably get it fixed
22:09:21wycatshmmm
22:09:27wycatsand why is it reappearing?
22:09:38evanour kernel defines Object#metaclass
22:09:42wycatsis #metaclass non-removable?
22:09:42evanthen AS defines it again
22:09:45wycatsah
22:09:55evanBlankSlate removes the kernel version when it's required
22:10:01evanthen when the AS version shows up, it tries again
22:10:03evanand blows up
22:10:07wycatsyeah
22:10:11wycatsthat sounds like a bug in BlankSlate
22:10:14wycatsI'll open a ticket
22:10:25wycatswe can try to get the fix into 2.3.4
22:10:36wycatswhat's the simplest way to reproduce
22:10:52evandefine a method
22:10:54evanrequire BS
22:10:57evandefine the method again
22:10:58evanBOOM
22:11:34wycatscan't reproduce
22:11:35wycatsI'll gist
22:11:45evank
22:12:30wycatshttp://gist.github.com/139720
22:12:55evanhm.
22:13:22evanoh
22:13:28evanput the first one on Kernel
22:13:32evanand the 2nd on Object
22:13:35evantry that
22:15:19wycatsno explode
22:15:52evanhrm.
22:15:54evantry it under rbx
22:16:01evanyou should see it
22:16:17evanif not, maybe i'm mistaken
22:16:27evanit might be an rbx bug
22:16:38evanbut i worked through it, seemed like rbx was doing the right thing
22:17:54clevereris there a way to stop rbx from loading my .irbrc?
22:18:20evanthere might be an irb option to do that
22:22:12wycatsevan: I'll take a look after work today :)
22:22:17wycatsin the meantime I'll get rbx compiling
22:22:20wycatsI'm a bit behind ;)
22:22:48evanno prob
22:29:54wycatsI'm getting an error that's apparently related to g++ 4.2.1
22:29:55wycatsIn file included from vm/primitives.cpp:9:
22:29:55wycatsvm/instruments/profiler.hpp:26: error: redefinition of ‘struct std::tr1::hash<long long unsigned int>’
22:29:55wycats/usr/include/c++/4.2.1/tr1/functional_hash.h:72: error: previous definition of ‘struct std::tr1::hash<long long unsigned int>’
22:30:00wycatsjust bringing it in here :)
22:30:10evanyep.
22:30:14evango into profiler.hpp
22:30:35evanadd
22:31:02evanhm
22:31:07evanthat must have been added in 4.2.1
22:31:09evanbut not in 4.2
22:31:11slavatr1::hash? what's that
22:31:13evanthanks g++!
22:31:21evanwycats: run
22:31:30evancpp -dM < /dev/null
22:31:34evanand pastie the results
22:31:46evanslava: a hash table
22:32:02evanwell, that specific thing is how you create hash values for the tr1::hash_table
22:32:03slavabut the right name is tr1::unordered_map
22:32:05slavaah
22:32:18slavagitcha
22:32:23evanyou define a specialization for your type
22:32:37wycatshttp://gist.github.com/139727
22:34:08evanwycats: ok
22:34:23evanso it's __GNUC_PATCHLEVEL__
22:34:32evanso change the condition on line 22
22:35:18evanto also run that block only if MINOR <= 2 and PATCHLEVEL < 1
22:39:37wycatsline 22 of what?
22:39:48wycatsprofiler.hpp?
22:40:09morris1wow rubinius runs mongrel :)
22:41:21wycats#if (__GNUC__ <= 4 && __GNUC_MINOR__ <= 2 && __GNUC_PATCHLEVEL__ < 1)
22:41:21wycats?
22:41:32evanno
22:41:33evaner
22:41:36evanyeah
22:41:38evanthat should work
23:09:54wycatsld: symbol(s) not found
23:09:54wycatscollect2: ld returned 1 exit status
23:09:54wycatsrake aborted!
23:10:00wycatsafter quite a bit of output
23:10:19evanstrange.
23:10:26diegoviolahello
23:10:32diegoviolahow does rubinius compares to yarv
23:10:34diegoviolais it any faster?
23:10:37diegoviolais it written in c?
23:10:56evanthey both use bytecode VMs
23:11:09evanrubinius's VM is written in C++
23:11:13slavarbx has the potential to be much faster
23:11:13diegoviolawhats the point of rubinius then if there is yarv already
23:11:16wycatsevan: is it possible to compare just the VM?
23:11:18slavabecause the overall design is more sound
23:11:19evanwith most of the core classes being written in ruby
23:11:33evandiegoviola: i started rubinius before yarv was very far along
23:11:48diegoviolaoh
23:11:50evandiegoviola: and they take completely different architecture decisions
23:11:51diegoviolai see
23:12:02evanyarv has a much lower ceiling than rubinius
23:12:10evanbecause 100% of it's functionality is in C
23:12:56diegoviolai see, but c is good for performance
23:13:45evandiegoviola: for running programs written in C
23:13:49evanbut these are programs in ruby
23:14:22diegoviolaoh
23:15:28boyscoutFixing File.join, all specs now passing. - a400264 - Cezar Sa Espinola
23:15:45brixendiegoviola: are you a ruby or rails developer?
23:16:13diegoviolabrixen: both
23:16:19wycatsevan: to be fair, Ruby programs run faster in YARV than rbx NOW, but the potential is greater
23:16:20brixencool
23:16:26diegoviolabrixen: i'm doing telephony application with ruby also
23:16:29wycatsevan: thoughts on the exception
23:16:32wycats?
23:16:37evanwycats: right, mainly because the YARV core classes are in C
23:16:54slavahaving core classes in C is a disadvantage as soon as you start doing type feedback and inlining
23:16:56evanwycats: exception?
23:17:00evanyou got a link error I thought
23:17:06diegoviolabrixen: http://pastie.org/503951
23:17:07wycatsyeah sorry
23:17:11wycatsbad terminology
23:17:13evanwycats: gist the whole thing
23:17:14evanlet me see
23:17:16wycatsk
23:17:45boyscoutCI: a400264 success. 2723 files, 10829 examples, 33851 expectations, 0 failures, 0 errors
23:17:47diegoviolayarv is my current favorite vm but rubinius looks interesting also
23:17:58diegoviolai like yarv because of it's speed
23:18:23wycatshttp://gist.github.com/139754
23:18:26brixendiegoviola: have you looked at adhearsion?
23:18:47diegoviolabrixen: yep but it doesn't support freeswitch
23:18:51brixenI see
23:18:51yakischlobawhat type of work needs to be done to bring rubinius up to speed and how can us normal people help push it that direction?
23:18:51diegoviolabrixen: not completely
23:19:07evanwycats: you need to do a 'rake distclean'
23:19:13diegoviolabrixen: i use this for freeswitch: http://github.com/bougyman/freeswitcher/tree/master
23:19:14evanwycats: you've got stuff left over from pre 10.6
23:19:47brixenyakischloba: there's bugs to fix, you can do: bin/mspec tag --list fails core
23:19:53wycatsevan: ah
23:19:53brixenyakischloba: and poke at those if you want
23:19:56wycatsI did rake clean
23:20:08wycatstrying again
23:21:01yakischlobabrixen: right. i guess i was more interested in the first half of that question. i have been planning on poking at the bugs for a while, though
23:21:23brixenyakischloba: well, bugs are a big one
23:21:34brixenyakischloba: what areas are you interested in?
23:21:53brixenalgos, jit, GC?
23:22:13brixenyakischloba: you can also run your own ruby code and write specs or report bugs
23:22:18slavaevan: I've got a couple of peeps contributing to my compiler now
23:22:21yakischlobabrixen: im curious as to what type of things are holding back rbx from fulfilling it's potential to be fast
23:22:30evanslava: rad!
23:22:37yakischlobabrixen: sorry i am getting used to a new keyboard. very slow here
23:23:10brixenyakischloba: well, perf and compatibility go hand in hand
23:23:26brixenbugs need to be fixed to make code run correctly, so it can be optimized
23:23:33yakischlobaI see.
23:23:37brixenoptimizing code helps you fix bugs faster
23:23:45slavaheh
23:23:49brixenor, at least helps the specs run faster :)
23:25:26yakischlobaright :p
23:36:22yakischlobabrixen: never fixed __WORDSIZE?
23:37:18brixenyakischloba: I'm not sure what the correct fix is
23:37:28yakischlobaheh
23:37:31brixenwasn't that on PPC?
23:37:38yakischlobatiger
23:37:41brixentiger or something
23:37:42brixenyeah
23:37:50brixenyou could try finding the correct fix
23:38:01yakischlobai386 tho
23:38:06brixenok
23:38:10brixenso, basically tiger
23:38:11yakischlobaWORD_BIT was the equiv that i found
23:38:16brixenwhat version of gcc?
23:38:36yakischlobai686-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 (Apple Computer, Inc. build 5370)
23:38:42brixenok
23:40:04brixenwhy are you still on tiger btw?
23:40:31yakischlobalong story. summarized, i am too lazy to upgrade
23:41:27brixenheh, ok
23:41:30brixenjust curious
23:41:41yakischlobayeah theres no real reason.
23:42:02wycatsevan: still gettin' it
23:42:02wycatsld: symbol(s) not found
23:42:02wycatscollect2: ld returned 1 exit status
23:42:02wycatsrake aborted!
23:42:12evanhm
23:42:46evanwycats: you might consider a fresh clone
23:42:52evanjust to remove all doubt about the building
23:42:58wycatsk
23:43:27ezmobiusdoes the jit get built in automaticlaly now? or do i still need to pass an ENV var qhwn i run rake to build?
23:43:38brixenRBX_LLVM=1 rake build
23:43:59wycatscloning
23:44:54yakischlobabrixen: i assume it should just be defined somewhere if it does not exist. what file ought that go in
23:45:48brixenum..
23:46:14brixenis WORD_BIT the same as __WORDSIZE?
23:48:26rue_XIVNot necessarily is the best answer
23:48:40yakischlobayeah
23:48:48yakischlobahrm :/
23:49:01wycatsbuilding :)
23:49:03rue_XIV__WORDSIZE is ours, I think
23:49:55brixenyakischloba: I think rue_XIV is volunteering to help you figure it out
23:50:05yakischlobasweet.
23:50:16brixenI'm not sure the best way
23:50:26brixenprobably upgrade to leopard :)
23:50:28rueNaw, the king does not work
23:53:42yakischlobaok
23:54:01rueyakischloba: Are you seeing the problem, or just querying?
23:54:16yakischlobawhat do you mean
23:54:56brixenyakischloba is using tiger, so it's a problem for him
23:55:08yakischlobayes. we have discussed this before
23:55:48rueyakischloba: Yes, I recall, though not the specifics. The problem still exists, then? Do you remember if there is a ticket on LH or GH for it?
23:56:12yakischlobathe problem still exists. i will see if there is a ticket.
23:57:12wycatsIn file included from vm/primitives.cpp:9:
23:57:12wycatsvm/instruments/profiler.hpp:26: error: redefinition of ‘struct std::tr1::hash<long long unsigned int>’
23:57:12wycats/usr/include/c++/4.2.1/tr1/functional_hash.h:72: error: previous definition of ‘struct std::tr1::hash<long long unsigned int>’
23:57:19yakischlobathere does not seem to be one, no
23:58:42brixenyakischloba: one issue is that we don't have something like config.h atm
23:58:54yakischlobayeah noticed
23:58:54rueYeah, that probably needs a better guard
23:59:35brixenyakischloba: you could add this to vm/oop.h: #ifndef __WORDSIZE \n #define __WORDSIZE (sizeof(void*) * 8) \n #endif