Show enters and exits. Hide enters and exits.
| 00:00:04 | khaase | I get different numbers every time |
| 00:01:24 | brixen | are you trying to say your numbers are flip flopping? |
| 00:01:29 | brixen | cus that would just be insane |
| 00:02:23 | khaase | we bumped the number up to 1 mil, then times stabilze, and jruby is fast |
| 00:03:23 | khaase | brixen: https://gist.github.com/d8ef1ec1738f07ab01a4 |
| 00:04:01 | brixen | that's interesting |
| 00:04:13 | brixen | put the work into a separate method, and call that |
| 00:07:28 | khaase | phlebas: https://gist.github.com/ab055e70ef871f8cc2d4 |
| 00:12:51 | phlebas | hey, what are you doing wrong when you compare benchmark numbers from different machines? |
| 00:13:00 | phlebas | ... this might be too obvious :D |
| 00:13:21 | phlebas | but sometimes khaase and I don't think straight |
| 00:18:16 | subwindow | so what's all this flip flop business? i don't get it |
| 00:21:19 | khaase | subwindow: flip flops are the shit |
| 00:23:07 | subwindow | this is something that MRI doesn't support, correct? |
| 00:23:40 | andrewvos | I've been reading this: http://www.codelord.net/2011/10/11/submitting-your-first-patch-to-rubinius/ |
| 00:23:48 | andrewvos | And have chosen something I want to fix... |
| 00:24:11 | khaase | subwindow: no, MRI supports it, but RBX didn't: http://stackoverflow.com/questions/63998/hidden-features-of-ruby/3054688#3054688 |
| 00:24:11 | andrewvos | Kernel#puts should output newline when nil is passed... |
| 00:24:42 | andrewvos | I've noticed the puts method in io18.rb. How should I got about making the change? |
| 00:24:55 | subwindow | ok, best explanation i've read so far is that flip flop == "stateful if" |
| 00:25:20 | brixen | andrewvos: that behavior of #puts is 1.8 or 1.9? |
| 00:25:43 | andrewvos | brixen: 1.9 should put a "\n". 1.8 puts a "nil\n" |
| 00:26:01 | phlebas | khaase: https://gist.github.com/ee81ca32dea47e6b59ce |
| 00:26:13 | brixen | andrewvos: if you're fixing it for 1.9, you fix it in io19.rb |
| 00:26:13 | subwindow | haha, no wonder it wasn't working, i hadn't pulled today =P |
| 00:26:39 | andrewvos | brixen: Ok, so I'm wondering if I copy and paste the entire method in from io.rb or just alias the method? |
| 00:26:55 | brixen | andrewvos: you *move* it |
| 00:27:08 | brixen | foo18.rb is for 1.8 specific code |
| 00:27:14 | brixen | foo19.rb is for 1.9 specific code |
| 00:27:21 | brixen | foo.rb is for version-independent code |
| 00:27:48 | andrewvos | Yeah I get that. So does that mean that it gets removed from io.rb and copied into both 1.8 and 1.9... then the change gets made in 1.9? |
| 00:28:48 | subwindow | yeah exactly |
| 00:28:56 | andrewvos | Great thanks : |
| 00:28:57 | andrewvos | ) |
| 00:29:30 | andrewvos | Also, should I be writing tests first or is mspec doing everything? |
| 00:29:43 | brixen | andrewvos: you should have a failing spec |
| 00:29:50 | brixen | otherwise, what are you fixing? |
| 00:30:03 | brixen | bin/mspec -tx19 core/kernel/puts |
| 00:31:21 | subwindow | delete the tag for the failing spec first, under spec/tags/, run the test, make sure it fails, and fix it so it passes |
| 00:31:28 | brixen | no |
| 00:31:33 | brixen | do not delete the tag first |
| 00:31:38 | subwindow | oh that's what i always do |
| 00:31:39 | brixen | run the command I just gave |
| 00:31:41 | khaase | IGNORE ME |
| 00:31:57 | andrewvos | brixen: Ok it does appear to be failing... I just followed this command to find it bin/mspec tag --list fails -tx19 :ci_files |
| 00:32:07 | brixen | folks, read the docs under commands http://rubyspec.org/ |
| 00:32:22 | brixen | andrewvos: yep, I see it failing here, too |
| 00:32:27 | khaase | http://www.youtube.com/watch?v=6y2gdLDzjt0 |
| 00:32:34 | brixen | andrewvos: so, write the code, run rake build; and rerun that command |
| 00:32:40 | subwindow | ok ill remove myself from the conversation. sorry. |
| 00:32:43 | andrewvos | The uploader has not made this video available in your country. |
| 00:32:50 | brixen | andrewvos: if it all passes, run bin/mspec tag --del fails -tx19 core/kernel/puts |
| 00:32:52 | andrewvos | Regarding that video :( |
| 00:33:14 | andrewvos | brixen: Do you mean after I get it passing? |
| 00:33:23 | brixen | andrewvos: yes |
| 00:33:28 | andrewvos | brixen: Thanks |
| 00:33:34 | brixen | do the stuff in the order I just wrote it :) |
| 00:33:52 | andrewvos | : |
| 00:33:53 | andrewvos | ) |
| 00:34:06 | brixen | andrewvos: when done, run rake again to run all the 1.8 and 1.9 CI specs |
| 00:34:14 | brixen | if everything passes, you're golden! :) |
| 00:34:19 | andrewvos | rake default? |
| 00:34:36 | brixen | rake defaults to running all the CI specs in 1.8 and 1.9 |
| 00:34:49 | brixen | run 'rake build' after making your changes |
| 00:35:01 | brixen | then run bin/mspec -tx19 core/kernel/puts |
| 00:35:21 | brixen | if there are no failures, run bin/mspec tag --del fails -tx19 core/kernel/puts |
| 00:35:25 | brixen | then run 'rake' |
| 00:36:26 | andrewvos | That last command unmarks it as failing? |
| 00:37:53 | brixen | it deletes the fails tags for passing specs |
| 00:38:16 | brixen | andrewvos: did you read this? http://rubyspec.org/mspec-tag/ |
| 00:38:48 | andrewvos | brixen: Nope I was directed to that link I mentioned and just started from there. |
| 00:38:54 | andrewvos | Will do though, thanks. |
| 00:38:59 | brixen | ok |
| 01:06:52 | boyscout | Updated CI specs to RubySpec 6ea9ed4b. - 418abd3 - Brian Ford |
| 01:06:52 | boyscout | Fixed Array#pack and String#unpack 'p'. - 94041fc - Brian Ford |
| 01:06:52 | boyscout | Updated CI tags for merged specs. - 10ecdc9 - Brian Ford |
| 01:15:30 | ashleyw | Hey, I'm just playing with rbi, but I can't figure out how to run a compiled file? |
| 01:15:36 | ashleyw | *rbx |
| 01:15:41 | brixen | you don't |
| 01:15:44 | brixen | you run a ruby file |
| 01:18:04 | ashleyw | So even in production, the intention is rbx compiles at launch? |
| 01:18:18 | brixen | it caches the compiled code |
| 01:18:29 | brixen | not something you need to worry about |
| 01:18:40 | brixen | the details of the cache are implementation-specific |
| 01:19:33 | ashleyw | okay |
| 01:19:40 | pkondzior1 | brixen: this is probably implementation specific too but is it somewhole or will be possible to profile application hot code and preserve it ? |
| 01:19:51 | pkondzior1 | s/somewhole/somehow |
| 01:19:54 | phlebas | :D |
| 01:19:56 | brixen | pkondzior1: possibly |
| 01:20:05 | brixen | still not something you should worry about |
| 01:20:18 | brixen | you should worry about writing good, idiomatic Ruby code :) |
| 01:20:34 | andrewvos | Wow that was fun |
| 01:20:42 | brixen | andrewvos: did you get it? |
| 01:20:48 | andrewvos | brixen: Yup :) |
| 01:20:52 | pkondzior1 | andrewvos: this is the way how he handles trolls ? :P |
| 01:20:54 | brixen | nice! |
| 01:21:13 | andrewvos | pkondzior1: ? |
| 01:21:14 | brixen | andrewvos: got a pull request for me? |
| 01:21:24 | andrewvos | brixen: Umm not yet just doing a 'rake' |
| 01:21:27 | pkondzior1 | andrewvos: nvm :) |
| 01:21:30 | andrewvos | But soon :) |
| 01:21:31 | brixen | andrewvos: ah ok |
| 01:21:33 | brixen | sweet |
| 01:21:48 | ashleyw | I was just wondering, because from my basic tests, rbx is like 10x slower than MRI 1.9.3, so I was trying to figure out how much was being lost to compilation |
| 01:24:48 | ashleyw | (i.e. if it's like jruby, where boot up is slow, but once it's up and running it's fast, fast, fast :) |
| 01:26:06 | brixen | ashleyw: that likely has 0 to do with compilation |
| 01:26:31 | brixen | unless you are testing startup, which is pretty close to 1.9 |
| 01:26:59 | brixen | ashleyw: push your benchmark code to a repo and link us so we can easily run it |
| 01:27:12 | brixen | or run it with -Xprofile and see where the time is being spent |
| 01:27:42 | andrewvos | Is rbx meant to be faster than mri? |
| 01:28:40 | brixen | it is faster on some things, slower on others |
| 01:28:47 | brixen | yes, we intend it to ultimately be faster |
| 01:29:29 | brixen | do you really expect the answer to be, "no, we don't intend it to be faster" ? :P |
| 01:30:34 | ashleyw | running with -Xprofile, it seems like 90% is spent on Thread.detect_recursion |
| 01:31:05 | andrewvos | brixen: No I was wondering if it was a feature. |
| 01:31:16 | ashleyw | wait, derp, 14.17% |
| 01:31:25 | robgleeson | andrewvos: Check out one of the presentations by Evan, he covers all that really well. |
| 01:31:30 | brixen | ashleyw: you can run with -Xprofile -Xprofiler.graph to see what's calling that |
| 01:31:31 | robgleeson | They're on confreaks |
| 01:31:35 | robgleeson | One is on vimeo |
| 01:31:44 | andrewvos | robgleeson: Thanks |
| 01:33:14 | robgleeson | http://vimeo.com/27293093 |
| 01:40:51 | andrewvos | robgleeson: Will keep that for tomorrow as it's 3am :) |
| 01:41:39 | robgleeson | Yep, I thought the best bit was at 26mins when he started talking about the GC, but you can't seek on that video for some reason |
| 01:41:53 | robgleeson | Ah you can now :) |
| 01:41:57 | robgleeson | Long time ago I looked at it |
| 01:47:02 | andrewvos | brixen: Done. |
| 01:47:23 | andrewvos | robgleeson: Yeah I will just download it anyway. I get slow speeds from that site. |
| 01:47:30 | andrewvos | Oh wait it's vimeo. |
| 01:47:38 | andrewvos | I get slow speeds from confreaks. |
| 01:47:46 | robgleeson | confreaks never works for me :D |
| 01:47:57 | andrewvos | :/ |
| 01:48:31 | brixen | andrewvos: I see it, le'me take a loot |
| 01:48:34 | brixen | er look |
| 01:48:42 | brixen | I'm going to loot your pull request :) |
| 01:48:49 | andrewvos | hehe go ahead |
| 01:48:49 | brixen | what a hoot |
| 01:49:22 | brixen | I think there's a problem with it |
| 01:49:51 | brixen | which is a consequence of not having good enough specs |
| 01:49:57 | brixen | puts can take multiple args |
| 01:50:08 | andrewvos | Yup |
| 01:50:10 | brixen | andrewvos: in irb, run 'puts nil, nil, nil' |
| 01:50:14 | brixen | with your change |
| 01:50:22 | brixen | and compare that to MRI 1.9 |
| 01:50:28 | andrewvos | Hmmm. |
| 01:50:36 | andrewvos | I thought it was only for one argument? |
| 01:50:47 | brixen | well, try it |
| 01:50:54 | brixen | and then perhaps write a spec |
| 01:51:04 | brixen | if you're wondering, you don't have good enough specs |
| 01:51:17 | brixen | specs should make you confident you got it right |
| 01:51:37 | brixen | andrewvos: I can just leave a comment on the pull if you want to do it tomorrow |
| 01:51:38 | andrewvos | In 1.9 I do get three blank lines :( |
| 01:51:50 | andrewvos | brixen: Yup that would be cool thanks |
| 01:51:51 | brixen | andrewvos: I don't want to have rbx cause you sleep deprivation :P |
| 01:51:59 | andrewvos | hahaha |
| 01:52:45 | steveklabnik | I DO |
| 01:52:48 | steveklabnik | GET THOS PATCHES IN |
| 01:52:55 | steveklabnik | cracks his whip |
| 01:53:00 | steveklabnik | <3 |
| 01:53:14 | brixen | andrewvos: ok, left ya a comment on the diff |
| 01:53:50 | andrewvos | steveklabnik: http://files.sharenator.com/okay_face_Highest_Rated_Post_Ever_RE_Forever_alone_problem_solved-s251 x239-156794.jpg |
| 01:54:00 | andrewvos | brixen: Cool thanks :) |
| 01:54:18 | brixen | andrewvos: no prob, thanks for working on it |
| 01:54:31 | andrewvos | This was fun. Definitely going to be doing this more. |
| 01:54:36 | andrewvos | Anyway, night. |
| 01:54:39 | brixen | awesome |
| 01:54:40 | brixen | night! |
| 01:54:45 | steveklabnik | andrewvos: <3 goodnight! |
| 02:41:00 | xrl | ahh, nokogiri, a constant source of errors when using rubinius :) |
| 02:41:19 | xrl | it's looking for st.h to build its extension and it's not going so well |
| 02:41:46 | xrl | I found st.h in $HOME/.rvm/rubies/rbx-master/19/include/ so now I just need to get nokogiri's build process to find it |
| 02:41:49 | xrl | any tips? |
| 02:49:18 | brixen | nokogiri should install fine |
| 02:49:21 | xrl | require 'mkmf'; raise RuntimeError unless Dir.exist? Config::CONFIG['includedir'] |
| 02:49:30 | xrl | that raises an error in a plain IRB session |
| 02:49:46 | xrl | I'm working off nokogiri's extconf.rb: https://github.com/tenderlove/nokogiri/blob/master/ext/nokogiri/extconf.rb |
| 02:50:02 | brixen | what language mode are you in? |
| 02:50:24 | xrl | echo $RBXOPT => -X19 |
| 02:50:39 | brixen | is this a recent change? |
| 02:50:47 | brixen | I've installed nokogiri fine in 1.9 mode |
| 02:51:02 | xrl | I installed rbx from rvm last night |
| 02:51:15 | xrl | err, I installed rbx /with/ rvm |
| 02:51:38 | brixen | installs fine here |
| 02:51:55 | xrl | uh hmm |
| 02:51:58 | brixen | https://gist.github.com/1290445 |
| 02:52:11 | brixen | I suggest not using rvm |
| 02:52:24 | brixen | if you insist on using rvm, I suggest getting 1.8.5 |
| 02:52:26 | xrl | what does require 'mkmf'; Config::CONFIG['includedir'] say? |
| 02:52:43 | brixen | are you running gem install nokogiri or not? |
| 02:52:53 | xrl | yes, I'm running gem install nokogiri |
| 02:53:04 | xrl | but now I'm trying to figure out why it's goofing |
| 02:53:06 | brixen | run exactly that command you see in the gist |
| 02:53:14 | brixen | and gist me your terminal |
| 02:54:03 | xrl | I just replied to your gist |
| 02:56:42 | brixen | I'll install from rvm and look at it |
| 02:56:52 | brixen | but I'm getting some dinner now |
| 02:56:59 | xrl | hehe, ok |
| 03:04:54 | xrl | if you look at https://github.com/tenderlove/nokogiri/blob/master/ext/nokogiri/nokogiri.h you'll see that it does a #include for either ruby/st.h or or st.h |
| 03:05:34 | xrl | ad if you look at the response to the gist you'll see what includes paths are being used |
| 03:07:14 | xrl | my rvm install has: .rvm/rubies/rbx-master/19/include/ruby/st.h AND .rvm/rubies/rbx-master/19/include/st.h . The only excuse is that my rbconfig is goofed up and does not reference 19 |
| 03:09:06 | xrl | ok, set up a symlink and it still fails... maybe it's not that :-) |
| 03:26:31 | xrl | https://github.com/xrl/nokogiri/commit/2931047413dfaed410cb3090c9b7174ac2e73604 |
| 03:26:45 | xrl | it now builds when I do the hoe task's "rake compile" |
| 03:34:32 | brixen | I just installed rbx with rvm and it installs nokogiri fine |
| 03:34:42 | brixen | xrl: what platform are you on? |
| 03:34:53 | brixen | xrl: and what version of rubygems are you using? |
| 03:35:47 | xrl | sure thing: https://gist.github.com/1290445#comments |
| 03:35:51 | xrl | just added those for ya |
| 03:37:54 | xrl | just did a "rvm remove rbx" and going to reinstall from scratch |
| 03:37:59 | xrl | cloning repo as we speak |
| 03:40:01 | brixen | hm, I have exactly the same uname -a |
| 03:40:31 | brixen | xrl: you could try cloning rbx directly, run './configure; rake' to build |
| 03:40:53 | xrl | yup |
| 03:41:14 | xrl | I do enjoy the handiness of rvm... so let's see if I can stick with it... next up is build from source |
| 03:43:50 | brixen | xrl: what version of rvm? |
| 03:44:35 | xrl | 1.6.32 |
| 03:44:43 | brixen | oh gad |
| 03:44:49 | xrl | oh no |
| 03:44:49 | brixen | update it, pls |
| 03:45:02 | brixen | 1.6.anything is totally fucked |
| 03:45:04 | xrl | I had done a rvm update |
| 03:45:09 | xrl | and it had the most up to date defs |
| 03:45:14 | xrl | but ya, ok, rvm update here we go |
| 03:45:32 | brixen | rm anything rbx under ~/.rvm too |
| 03:45:38 | xrl | rvm implode here we go |
| 03:47:15 | brixen | hm, now I got it to fail |
| 03:47:35 | brixen | 'ruby -X19 -v -S gem install nokogiri' is fine |
| 03:47:45 | brixen | 'RBXOPT=-X19 ruby -v -S gem install nokogiri' fails |
| 03:53:44 | steveklabnik | brixen: it works for me, but the docs dont gen |
| 03:54:04 | brixen | steveklabnik: ah, I have --no-ri and --no-rdoc |
| 03:54:20 | steveklabnik | https://gist.github.com/57995812a41f2955a24d |
| 03:54:52 | steveklabnik | that rbx is like two or three days old |
| 03:55:32 | brixen | I'm guessing the doc stuff has nothing to do with nokogiri |
| 03:55:37 | steveklabnik | nods |
| 03:57:18 | brixen | wtf, why does this fail with RBXOPT |
| 04:07:45 | xrl | brixen: ya, rbconfig is goofed |
| 04:07:55 | xrl | looked at it from inside of an irb session |
| 04:10:15 | brixen | I'm pretty sure it's not rbconfig |
| 04:10:21 | brixen | gist me your terminal |
| 04:11:12 | brixen | I'm betting it's when RBXOPT is actually processed by the vm |
| 04:11:20 | brixen | I've fixed this before |
| 04:13:22 | xrl | I'm trying this: require 'mkmf'; raise RuntimeError unless Dir.exist? Config::CONFIG['includedir'] |
| 04:14:07 | xrl | one second... that code doesn't work |
| 04:14:50 | brixen | ok, figured it out |
| 04:15:03 | brixen | now to figure out why |
| 04:15:30 | xrl | so what did you figure out? |
| 04:15:47 | brixen | it's loading the wrong mkmf.rb with -X19 |
| 04:15:57 | brixen | which makes the gem install correctly :P |
| 04:16:13 | brixen | it's loading the correct mkmf.rb with RBXOPT=-X19 |
| 04:16:23 | brixen | and that causes nokogiri to fail |
| 04:16:59 | brixen | so there are 2 problems, loading the correct mkmf.rb and fixing build when using 1.9 mkmf.rb |
| 04:20:17 | xrl | I forked nokogiri to fix the build: https://github.com/xrl/nokogiri |
| 04:20:31 | xrl | just added a "#include <st.h>" |
| 04:20:34 | brixen | xrl: nokogiri is not broken |
| 04:20:38 | brixen | wrong |
| 04:21:17 | xrl | oh? I got nokogiri's "rake compile" to work |
| 04:21:52 | brixen | does nokogiri install on MRI 1.9.2? |
| 04:22:04 | brixen | that's a rhetorical question, yes it does |
| 04:22:10 | brixen | nokogiri is not broken |
| 04:22:18 | brixen | I just explained above what the issue is |
| 04:23:20 | xrl | got'cha |
| 04:43:45 | xrl | brixen: want me to file an issue? |
| 04:44:03 | brixen | xrl: hm, I'm working on it right now |
| 04:44:07 | brixen | you can if you want though |
| 04:44:28 | xrl | naw, not necessary then |
| 04:51:25 | brixen | man, wtf |
| 04:52:20 | brixen | now it fails both ways |
| 04:52:59 | brixen | ah, no it doesn't, debugging fail |
| 04:56:37 | steveklabnik | khaase: http://i.imgur.com/ZSA4B.jpg |
| 04:57:07 | Cro_Crx | hi all |
| 04:57:08 | brixen | hah |
| 04:57:08 | Cro_Crx | waves |
| 04:57:14 | brixen | sup Cro_Crx |
| 04:57:33 | brixen | steveklabnik: I thought someone snapped a pic of assange at the beach :) |
| 04:57:35 | Cro_Crx | brixen, bit of a lazy sunday at the moment :P |
| 04:57:51 | brixen | Cro_Crx: cool, whereabouts are you? |
| 04:58:00 | Cro_Crx | brixen: australia |
| 04:58:37 | brixen | Cro_Crx: ah cool |
| 04:58:53 | brixen | is the spring starting there? |
| 04:59:43 | Cro_Crx | yeah i suppose so, it's usually quite warm here anyways, even in winter |
| 04:59:51 | Cro_Crx | but I think it's getting a bit hotter right now, getting into the low 30's |
| 05:00:12 | xrl | sounds cold to me ;) |
| 05:00:22 | Cro_Crx | xrl: :P |
| 05:00:43 | Cro_Crx | so i've got a few spare hours today, was poking around the rubinius codebase |
| 05:01:13 | Cro_Crx | hopefully I can be useful and actually contribute something |
| 05:01:20 | Cro_Crx | there anything in particular that might be easy to start on |
| 05:01:30 | Cro_Crx | i've got the codebase and tests running at the moment |
| 05:02:16 | brixen | Cro_Crx: got any personal Ruby projects? you could run those on rbx and let us know how they work |
| 05:03:23 | Cro_Crx | brixen: yes I do, that actually sounds like a good idea |
| 05:03:29 | Cro_Crx | I work locomotiveCMS, could check to see if it works nicely on rbx |
| 05:03:48 | brixen | Cro_Crx: sounds great! |
| 05:05:31 | khaase | steveklabnik, brixen: ha ha |
| 05:06:04 | steveklabnik | :) |
| 05:06:20 | steveklabnik | Cro_Crx: do it! |
| 05:06:36 | steveklabnik | Cro_Crx: http://www.codelord.net/2011/10/11/submitting-your-first-patch-to-rubinius/ ;) |
| 05:06:54 | Cro_Crx | steveklabnik: oh yeah, i read through that article :P |
| 05:07:05 | steveklabnik | :) |
| 05:07:06 | Cro_Crx | steveklabnik: the test suite seems to pause on certain tests for me though |
| 05:07:27 | brixen | Cro_Crx: running what command? |
| 05:07:35 | Cro_Crx | brixen: the one that you put in your comment |
| 05:07:42 | Cro_Crx | `bin/mspec tag –list-all -tx19 :ci_files` |
| 05:07:51 | brixen | yeah, fuckin formatting |
| 05:07:54 | brixen | it --list-all |
| 05:08:14 | brixen | if you actually paste that into a terminal and echo it to a file and look at the bytes |
| 05:08:21 | brixen | it's a multibyte character |
| 05:08:30 | brixen | tag isn't running --list-all |
| 05:09:23 | Cro_Crx | ok, that gives me a the list of tagged specs |
| 05:09:26 | brixen | its running bin/mspec tag \342\200\223list-all -tx19 :ci_files |
| 05:09:35 | brixen | and that just looks like another file to run |
| 05:09:41 | brixen | yep |
| 05:10:38 | brixen | I'm amazed that no one questions that command |
| 05:14:43 | brixen | multi-mode in a single exe is such a pain in the ass |
| 05:22:46 | Cro_Crx | yay, running the tests now :P |
| 05:28:55 | Cro_Crx | cool, got a few errors |
| 05:28:57 | Cro_Crx | also a segfault |
| 06:03:13 | Cro_Crx | ok, ran into a problem |
| 06:03:39 | Cro_Crx | in 1.8.7 File.new('path').size returns the file size |
| 06:03:46 | Cro_Crx | but not in rbx in 1.8 mode |
| 06:03:57 | Cro_Crx | bbl, formula one is starting :P |
| 06:04:19 | Cro_Crx | although the rubydoc only shows the #size method in 1.9.2 and not 1.8.7 :S |
| 06:05:22 | Cro_Crx | oh wait, i'm an idiot; had the wrong ruby version running IRB |
| 06:39:12 | rue | Ut-oh |
| 12:20:52 | boyscout | Making the file.size error message the same as in 1.9. - 07d1c83 - Josh Lubaway |
| 12:20:52 | boyscout | Using consistent exception syntax. - dfd143c - Josh Lubaway |
| 12:20:52 | boyscout | Merge branch 'jish-fix_file_size_spec' - e6d97a8 - Carlos Galdino |
| 12:50:40 | andrewvos | Is there any way I can get rvm to point to my local clone of rbx? |
| 12:50:56 | andrewvos | I'm writing a patch and want to test it out vs mri. |
| 12:51:13 | steveklabnik | andrewvos: you can do the opposite |
| 12:51:20 | steveklabnik | rvm just checks out rbx and builds it |
| 12:51:37 | steveklabnik | so you could have the RVM repo pull in from your dev repo |
| 12:52:23 | steveklabnik | why do you need rvm to do it though? |
| 12:52:40 | andrewvos | steveklabnik: Fair point. I could just bin/irb couldn't I? |
| 12:52:44 | steveklabnik | yep |
| 12:52:49 | andrewvos | Sweet |
| 12:52:51 | steveklabnik | :) |
| 12:52:54 | andrewvos | Do you never sleep? |
| 12:53:00 | steveklabnik | i just woke up half an houra go |
| 12:53:05 | andrewvos | heh |
| 12:53:10 | steveklabnik | drinking my coffee |
| 12:53:26 | andrewvos | Oh right you're cali right? |
| 12:53:32 | steveklabnik | nope |
| 12:53:34 | steveklabnik | east coast |
| 12:53:37 | steveklabnik | it's 9am |
| 12:53:43 | steveklabnik | pittsburgh |
| 12:53:44 | andrewvos | oh ok |
| 12:53:52 | steveklabnik | i was in cali a few weeks ago |
| 12:53:59 | steveklabnik | but i havent moved out there yet. |
| 12:54:14 | andrewvos | My sister lives in cali, but just moved out to Santa Barbera |
| 12:54:23 | steveklabnik | :) |
| 12:54:43 | andrewvos | Nooooo my `rake` failed. |
| 12:55:50 | andrewvos | It's amazing how much work the puts method does. |
| 12:56:23 | steveklabnik | heh |
| 12:56:27 | andrewvos | Well, I suppose it's not that bad. Could be worse. |
| 12:58:09 | dbussink | andrewvos: are you running mspec against mri? |
| 12:58:20 | dbussink | andrewvos: because you don't need rvm for anything like that |
| 12:58:53 | andrewvos | dbussink: Nope. |
| 12:59:05 | andrewvos | dbussink: Weird thing is, my code doesn't seem to work in irb. |
| 12:59:15 | dbussink | in general i've found mucking with rbx dev and rvm to be very error prone |
| 12:59:17 | andrewvos | dbussink: And I'm running ./bin/irb |
| 12:59:41 | dbussink | andrewvos: how do you mean 'doesn't seem to work'? |
| 13:00:06 | dbussink | i have lost my crystal ball to immediately know what that means : |
| 13:00:07 | dbussink | :P |
| 13:00:07 | andrewvos | Well, I'm seeing entirely different behaviour. |
| 13:00:37 | andrewvos | Do I have to do a rake build to see changes in ruby code? |
| 13:00:42 | andrewvos | ( I am anyway) |
| 13:00:45 | andrewvos | But just wondering. |
| 13:00:54 | steveklabnik | andrewvos: yes |
| 13:00:58 | steveklabnik | anything in kernel |
| 13:00:59 | steveklabnik | at elast |
| 13:01:00 | steveklabnik | least |
| 13:01:04 | andrewvos | Ok |
| 13:01:11 | dbussink | andrewvos: if you change anything in vm/ or kernel/ you need rake build first |
| 13:03:09 | andrewvos | This is blowing my mind. |
| 13:04:07 | andrewvos | mspec could be more helpful when a method is called with a different parameter. |
| 13:04:33 | andrewvos | For example if I expect puts("bleh") but I get puts("jebus") it doesn't highlight the difference. |
| 13:05:11 | dbussink | andrewvos: not really sure what you mean |
| 13:05:44 | steveklabnik | andrewvos: well, mspec tries to be super bare-bones, so that you need a very minimal ruby implementation to run it |
| 13:06:50 | andrewvos | dbussink: If you set up an expectation on a method call, and that method gets called but with a different parameter then you don't get a diff like in rspec. |
| 13:08:13 | dbussink | ah ok, well, like steveklabnik, it needs to be pretty bare bones |
| 13:08:27 | dbussink | so you can start using it early on, dunno if this would be a lot harder to achieve |
| 13:10:08 | andrewvos | you're saying steveklabnik is pretty bare bones? :) |
| 13:10:19 | steveklabnik | heh. |
| 13:10:23 | steveklabnik | I"VE GOTA LL YOU NEED |
| 13:10:25 | dbussink | andrewvos: haha, it misses a 'said' :P |
| 13:10:27 | andrewvos | hah |
| 13:11:16 | dbussink | andrewvos: but if you're still not sure why you're seeing what you're seeing, you should show what you're doing |
| 13:11:17 | andrewvos | Ok I can't see my changes in irb at all :| |
| 13:11:27 | andrewvos | Gisting... |
| 13:11:46 | andrewvos | https://gist.github.com/1290862 |
| 13:12:10 | andrewvos | Ok check this.. In 19 Kernel#puts should output "\n" when calling puts(nil) |
| 13:12:18 | andrewvos | In 18 we get "nil\n" |
| 13:12:32 | andrewvos | When running IRB I'm still seeing "nil\n" |
| 13:12:49 | dbussink | andrewvos: how do you start irb? |
| 13:12:55 | andrewvos | ./bin/irb |
| 13:12:58 | dbussink | andrewvos: in 1.8 or 1.9 mode? |
| 13:13:04 | andrewvos | dbussink: Oh. |
| 13:13:11 | dbussink | ah ok, you're probably starting it in 1.8 mode (that's the default) |
| 13:13:14 | andrewvos | Oh man |
| 13:13:15 | dbussink | ./bin/rbx -X19 |
| 13:13:30 | andrewvos | Oh wow. |
| 13:13:34 | steveklabnik | hahah |
| 13:13:39 | steveklabnik | oh man |
| 13:13:43 | steveklabnik | PEBKAC |
| 13:13:46 | steveklabnik | <3 |
| 13:13:54 | andrewvos | hahaha |
| 13:14:01 | andrewvos | Wow feeling pretty stupid right now |
| 13:14:21 | dbussink | solutions often aren't that hard ;) |
| 13:14:36 | andrewvos | Ok just removing all my 'throw "why the hell isn't this working"' type code :) |
| 13:16:03 | rue | Best code |
| 13:16:10 | andrewvos | Ok question: Why in the original code was it arg.equal? nil instead of arg == nil ? Can you see any reason why it would be like that? |
| 13:16:46 | dbussink | andrewvos: people overriding == perhaps |
| 13:16:56 | steveklabnik | well |
| 13:17:08 | dbussink | equal? != == |
| 13:17:13 | steveklabnik | arg == nil checks if they're equal, but equal? checks if they're the same object. |
| 13:17:15 | dbussink | equal? checks object identity |
| 13:17:17 | steveklabnik | and nil should be a singleton |
| 13:17:30 | steveklabnik | dbussink: high five! |
| 13:17:31 | dbussink | might very well be because someone was doing some weird shit |
| 13:17:42 | dbussink | outside rbx i mean |
| 13:18:29 | dbussink | andrewvos: check git blame :) |
| 13:19:32 | dbussink | andrewvos: you will find the exact reason if you do that and follow the trail :) |
| 13:19:40 | andrewvos | Interesting. So equal? is more like === |
| 13:20:00 | andrewvos | dbussink: No I don't really care about the reason :) |
| 13:20:15 | dbussink | andrewvos: well, you asked why it's there :) |
| 13:20:45 | andrewvos | Was more wondering why one might use the different versions. |
| 13:20:54 | dbussink | andrewvos: no, === is totally different |
| 13:21:07 | dbussink | andrewvos: .equal? checks object identity |
| 13:21:16 | andrewvos | As in Object.id == Object.id? |
| 13:21:30 | dbussink | andrewvos: "a".equal?("a") => false |
| 13:21:32 | andrewvos | More like object1.id == object2.id ? |
| 13:21:44 | dbussink | as in obj.object_id == obj2.object_id |
| 13:21:52 | andrewvos | dbussink: Whoa. |
| 13:21:56 | dbussink | using .id is deprecated for like a decade now already |
| 13:22:04 | andrewvos | __id__ ? |
| 13:22:16 | dbussink | andrewvos: object_id is the proper method |
| 13:22:33 | dbussink | andrewvos: it checks object identity, so whether it is the exact same object |
| 13:23:11 | dbussink | and it needs to be used here because people do really nasty things like this: https://github.com/rubinius/rubinius/issues/550 |
| 13:23:15 | andrewvos | dbussink: Ok got it |
| 13:23:20 | steveklabnik | yeah |
| 13:23:23 | Cro_Crx | was .id depricated because rails uses it to return the primary key? |
| 13:23:26 | steveklabnik | yep |
| 13:23:27 | Cro_Crx | or was it before then? |
| 13:23:37 | dbussink | Cro_Crx: way before actually |
| 13:23:50 | dbussink | it has been as long as i can remember :p |
| 13:23:54 | steveklabnik | orly? |
| 13:25:07 | andrewvos | Does this second spec look ok? https://gist.github.com/1290872 |
| 13:25:52 | andrewvos | It's failing because expected to receive 'write' exactly 1 times |
| 13:25:53 | andrewvos | but received it 2 times |
| 13:26:39 | andrewvos | Oh and also, I added that spec in code and I cant seem to run it.. |
| 13:27:52 | dbussink | steveklabnik: just checked, it was deprecated in 2002 |
| 13:27:58 | dbussink | steveklabnik: afaik no rails back then |
| 13:27:58 | steveklabnik | fair enough! |
| 13:28:11 | steveklabnik | i have been told the wrong thing. |
| 13:28:29 | dbussink | andrewvos: you can mock it twice like that, that's why you get that error |
| 13:28:33 | Cro_Crx | andrewvos: @io.should_receive(:write).with("\n").exactly(2).times <---- |
| 13:28:46 | andrewvos | dbussink: So how do I check that it's in order? |
| 13:29:37 | Cro_Crx | andrewvos: can you get the output of the write and check the contents, rather than mocking ? |
| 13:30:55 | dbussink | andrewvos: i'd try Cro_Crx's solution then, see if that's possible |
| 13:31:07 | dbussink | i don't know all the details of how mspec's mocking works |
| 13:31:41 | andrewvos | Cro_Crx: Not sure but will take a look. |
| 13:32:23 | andrewvos | Not sure why the test isn't running when I do this though :./bin/mspec -tx19 core/kernel/puts |
| 13:32:34 | andrewvos | Do I need to add it to a list somewhere or something? |
| 13:34:14 | dbussink | i normally just tab complete it to something like this: ./bin/mspec -tx19 spec/ruby/core/kernel/puts_spec.rb |
| 13:36:02 | andrewvos | dbussink: Ok interesting. |
| 13:36:18 | dbussink | andrewvos: does that do anything different for you? |
| 13:36:49 | rue | andrewvos: spec/ruby is regular stuff, spec/{core,lib} is for rbx-only |
| 13:37:22 | andrewvos | dbussink: It's not running my new spec at all :( |
| 13:37:32 | andrewvos | dbussink: Only when I do a full 'rake' is it running. |
| 13:37:49 | dbussink | andrewvos: what does git diff show you then? |
| 13:38:05 | dbussink | can you gist that here? |
| 13:38:13 | andrewvos | dbussink: My changes? |
| 13:38:27 | dbussink | yeah, what you have / are doing locally there now |
| 13:38:39 | andrewvos | https://gist.github.com/1290881 |
| 13:39:38 | dbussink | andrewvos: huh?? did you add the spec to kernel/common/io19.rb |
| 13:39:39 | dbussink | ? |
| 13:39:44 | andrewvos | The spec I added is the second one: https://gist.github.com/1290882 |
| 13:39:47 | dbussink | then it's not weird it's not running it |
| 13:39:48 | andrewvos | dbussink: Nope |
| 13:40:06 | dbussink | could you then please show git diff without cutting anything out? |
| 13:40:10 | rue | Is the test in kerne/common/io19.rb? |
| 13:40:16 | andrewvos | rue: No |
| 13:40:20 | dbussink | because this is exactly missing the information i'd like to see |
| 13:40:29 | dbussink | please, don't try to help us by leaving stuff out :) |
| 13:40:51 | dbussink | my experience is that that only results in more confusion and less clarity in 99% of the time |
| 13:41:06 | andrewvos | Ok thats better https://gist.github.com/1290883 |
| 13:41:21 | andrewvos | dbussink: Sorry I missed a part there ) |
| 13:41:23 | andrewvos | :) |
| 13:41:59 | dbussink | andrewvos: well, you're running core/kernel/puts_spec with the specs |
| 13:42:09 | andrewvos | dbussink: Yeah |
| 13:42:15 | dbussink | and you're changing in kernel/common/io.rb |
| 13:42:28 | dbussink | Kernel has it's own puts methid |
| 13:42:30 | dbussink | method |
| 13:43:03 | rue | (Also, again the difference between spec/ruby/core/ and spec/core/) |
| 13:43:23 | dbussink | andrewvos: and you added your spec to spec/ruby/core/io/puts_spec.rb |
| 13:43:39 | dbussink | so it's not weird you don't see anything if you run spec/ruby/core/kernel/puts_spec.rb |
| 13:43:50 | dbussink | andrewvos: you should run the file you're adding your specs to :) |
| 13:44:00 | andrewvos | dbussink: Ohhhh ok weird. |
| 13:44:08 | dbussink | andrewvos: nah, not weird :) |
| 13:44:11 | andrewvos | Wow really obvious. |
| 13:44:14 | dbussink | just running the wrong file :) |
| 13:44:35 | dbussink | andrewvos: this is why i wanted to see the complete gist :) |
| 13:44:51 | dbussink | because now it was immediately obvious what the problem is |
| 13:45:04 | dbussink | which wasn't when i just saw the code, not where it was changed |
| 13:46:38 | dbussink | andrewvos: you see your spec running now? |
| 13:47:30 | andrewvos | dbussink: Yup I do thanks :) |
| 13:47:44 | andrewvos | So I'm not seeing any documentation for should_receive in mspec? |
| 13:48:34 | Cro_Crx | i'm assuming it mimics rspec mocks ? |
| 13:48:42 | Cro_Crx | http://rspec.info/documentation/mocks/message_expectations.html <=== this ? |
| 13:48:50 | Cro_Crx | rspec expectations sorry |
| 13:49:56 | andrewvos | Cro_Crx: Yeah it does a little. |
| 13:50:06 | steveklabnik | dont use rspec.info |
| 13:50:10 | steveklabnik | it's waaaay out of date. |
| 13:50:24 | rue | Yeah, I mean, why would you even go to the main site? |
| 13:50:32 | steveklabnik | https://www.relishapp.com/rspec |
| 13:51:42 | andrewvos | Yeah relish is the way forward |
| 13:51:54 | Cro_Crx | oh wow relishapp seems neat, the VCR doco sends you there, I didn't realise it was documentation for other projects also |
| 13:51:56 | steveklabnik | rue: becuase it's not kept up to date? |
| 13:52:02 | steveklabnik | Cro_Crx: yep, it's in closed beeta |
| 13:52:04 | steveklabnik | beta |
| 13:52:28 | rue | I always go to semi-/unrelated sites for my documentation needs |
| 13:55:00 | Cro_Crx | rue: but how can you resist when they are all green and cucumber like |
| 13:55:18 | rue | I know! |
| 13:55:35 | andrewvos | Can't telling if joking or just being full of shit |
| 13:55:55 | Cro_Crx | andrewvos: no, it's actually really good |
| 13:56:06 | rue | It is, it's just in the wrong place |
| 13:56:49 | andrewvos | What, in the same way that every single open source project in the world is on github? |
| 13:58:03 | steveklabnik | lol |
| 13:58:22 | steveklabnik | https://github.com/rspec <- see 'website/blog' link |
| 13:58:31 | steveklabnik | rspec.info is the official site for 1.x |
| 13:59:11 | rue | Because that makes sense |
| 13:59:42 | andrewvos | I don't get what you're hating about this? |
| 14:01:21 | mrb_bk | OH HAI |
| 14:02:30 | rue | “Relish allows you to browse, search, and organize your Cucumber features on the web.” |
| 14:02:35 | rue | That's relishapp. |
| 14:02:52 | steveklabnik | yep. |
| 14:03:08 | steveklabnik | and also arbitrary markdown files |
| 14:03:12 | andrewvos | Is it cucumber you're hating? |
| 14:03:38 | rue | It's got nothing to do with rspec, as such, but rspec people are just too lazy to maintain their own docs so they've offloaded it |
| 14:03:51 | rue | And that's all I'll say. |
| 14:03:57 | steveklabnik | hahaha |
| 14:03:57 | andrewvos | rue: Cucumber features are better than docs. |
| 14:04:12 | steveklabnik | no, they've decided that relish is a much better way to present their own docs. |
| 14:04:17 | andrewvos | Probably not the place for this though. |
| 14:04:24 | steveklabnik | they do write and maintain what relish uses to show them..... |
| 14:06:56 | mrb_bk | Cucumber features are NOT better than docs |
| 14:07:30 | steveklabnik | they're together |
| 14:07:35 | steveklabnik | cucumber features are part of docs. |
| 14:07:38 | andrewvos | In mspec when I expect a call with should_receive twice with two different parameters am I ever sure that it's in the correct order? |
| 14:07:48 | steveklabnik | andrewvos: mocks dont assert order |
| 14:07:54 | steveklabnik | they just assert that a message is sent. |
| 14:07:58 | steveklabnik | stubs, rather. |
| 14:07:58 | andrewvos | Oh ok |
| 14:07:59 | steveklabnik | whatever. |
| 14:09:03 | andrewvos | I had a BDD class the other day and we were changing some code and I got everyone to use the real class implementation instead of a mock and it was great how the code changed. |
| 14:09:22 | andrewvos | Became less code instantly. |
| 14:09:32 | andrewvos | And more readable than tests above it using mocks. |
| 14:09:45 | rue | Using mocks in the wrong place, then. |
| 14:09:49 | steveklabnik | yep |
| 14:09:52 | steveklabnik | you're mocking wrong. |
| 14:09:57 | rue | Or they were |
| 14:10:01 | andrewvos | rue: Yeah which is very popular around London from what I've seen. |
| 14:11:06 | andrewvos | I think it's from people working in a lot of banks, where the code is really bad and people just get used to mocking because the dependencies normally have way to many dependencies... If you get what I mean. |
| 14:11:21 | steveklabnik | mocking is a design activity |
| 14:13:00 | rue | Stubbing is typically quite useful in cases like cordoning off the I/O layer |
| 14:16:43 | andrewvos | Also the problem is when you over mock you end up writing code that only proves the interaction between object. This doesn't work too well in dynamic languages because method calls aren't verified during any sort of compile time. |
| 14:18:38 | andrewvos | Ok my pull request is done. Wow that took longer than expected, but I've learned a lot. |
| 14:19:55 | steveklabnik | mocks are supposed to prove the interaction between objects. |
| 14:19:57 | steveklabnik | that's the idea. |
| 14:20:17 | steveklabnik | http://confreaks.net/videos/659-rubyconf2011-why-you-don-t-get-mock-objects |
| 14:20:19 | steveklabnik | ;) |
| 14:20:37 | mrb_bk | such a good talk |
| 14:26:18 | andrewvos | Yeah I wish confreaks worked for me |
| 14:26:47 | mrb_bk | andrewvos: download it |
| 14:26:53 | Cro_Crx | andrewvos: how does it not work? switch to the flash player ? |
| 14:27:08 | andrewvos | It's really really slow. |
| 14:28:51 | andrewvos | 1 hour to download 300mb? |
| 14:28:58 | andrewvos | WTH |
| 14:29:07 | Cro_Crx | it streams for me OK |
| 14:29:17 | steveklabnik | wow, weird |
| 14:29:20 | andrewvos | Cro_Crx: Not fo rme |
| 14:29:34 | andrewvos | We need like, a mirror. |
| 14:29:40 | mrb_bk | yeah it's slow :/ |
| 14:29:47 | Cro_Crx | i'm on a completely different continent as well |
| 14:30:09 | andrewvos | Cro_Crx: Continent? |
| 14:30:21 | andrewvos | 2hrs left now |
| 14:30:32 | Cro_Crx | andrewvos: as in, not in the US |
| 14:30:47 | andrewvos | Cro_Crx: Yes. Which continent? |
| 14:30:56 | Cro_Crx | andrewvos: australia |
| 14:31:02 | andrewvos | I know what continent means :) |
| 14:34:11 | steveklabnik | uh oh |
| 14:34:14 | steveklabnik | my rbx doesnt build :( |
| 14:34:21 | steveklabnik | Superclass mismatch: Rubinius::AST::Node != Rubinius::AST::Flip2 |
| 14:34:23 | steveklabnik | :/ |
| 14:35:03 | andrewvos | flipflop detected |
| 14:35:43 | andrewvos | So who does pull requests? |
| 14:36:15 | steveklabnik | i do, often |
| 14:36:42 | steveklabnik | i was doing another one |
| 14:36:47 | steveklabnik | but ill do yours first. <3 |
| 14:36:59 | steveklabnik | i'm rake clean-ing |
| 14:37:03 | steveklabnik | to see if i can fix my build |
| 14:40:33 | steveklabnik | ffffuuuuu |
| 14:40:38 | steveklabnik | still broken. wtf. |
| 14:44:05 | andrewvos | You rock |
| 14:45:22 | dbussink | steveklabnik: any stale .rbc files perhaps? |
| 14:45:26 | dbussink | steveklabnik: since the build is clean atm |
| 14:45:27 | steveklabnik | dbussink: i ran a rake clean |
| 14:45:44 | steveklabnik | does that not kill them? |
| 14:45:48 | dbussink | steveklabnik: can you nuke .rbx and ~/.rbx? |
| 14:45:51 | dbussink | steveklabnik: no, not afaik |
| 14:46:52 | steveklabnik | i can try in a second |
| 14:47:06 | steveklabnik | i'm updating my installed rbx, let's see if THAT one builds |
| 14:47:07 | steveklabnik | heh |
| 14:50:57 | steveklabnik | okay, well THAT worked |
| 14:51:03 | steveklabnik | so... lemme try nuking those dirs |
| 14:51:40 | dbussink | steveklabnik: .rbx in the rubinius dir and ~/.rbx |
| 14:51:55 | dbussink | steveklabnik: hopefully that helps |
| 14:52:08 | steveklabnik | yeah, let's see, just nuked both |
| 14:53:27 | boyscout | Rolled back changes because code was wrong. - c8e483a - Andrew Vos |
| 14:53:27 | boyscout | In 1.9 Kernel#puts now outputs an empty string and a newline when given nil as - 0fbed68 - Andrew Vos |
| 14:53:27 | boyscout | Merge pull request #1263 from AndrewVos/master - d9497b0 - Dirkjan Bussink |
| 14:53:31 | dbussink | andrewvos: merged it for you :) |
| 14:53:38 | dbussink | steveklabnik: you can take your time ;) |
| 14:53:40 | steveklabnik | haha, aww, i was just trying |
| 14:53:53 | dbussink | steveklabnik: i thought you said you were also looking at another one? |
| 14:53:58 | steveklabnik | i am |
| 14:54:11 | dbussink | steveklabnik: which one? |
| 14:54:12 | steveklabnik | ill switch to it, #1266 |
| 14:55:35 | steveklabnik | looks like it's working now, thanks dbussink |
| 14:55:39 | steveklabnik | must have been the .rbc |
| 14:56:01 | dbussink | steveklabnik: ah, i see he added a commit for removing the tag |
| 14:56:38 | steveklabnik | yep |
| 14:57:23 | andrewvos | WOOHOO :) |
| 14:57:26 | andrewvos | dbussink: Thanks :) |
| 14:57:38 | andrewvos | First rbx patch |
| 14:58:15 | Cro_Crx | andrewvos: well done |
| 14:58:20 | mrb_bk | damn, this agent stuff is so cool |
| 14:58:35 | andrewvos | Agent stuff? |
| 14:59:18 | mrb_bk | andrewvos: yeah it's mentioned a bit here: http://rubini.us/doc/en/tools/memory-analysis/ and brian has been talking about it |
| 14:59:22 | dbussink | mrb_bk: ah, playing with the rubinius agent? |
| 14:59:34 | mrb_bk | dbussink: yeah! trying to document it |
| 14:59:41 | mrb_bk | writing up a little article about how it works |
| 14:59:41 | dbussink | mrb_bk: ah, awesome! |
| 14:59:58 | mrb_bk | dbussink: are you pretty familiar with the implementation? |
| 15:00:12 | dbussink | mrb_bk: i've poked around in it a bit |
| 15:00:41 | steveklabnik | andrewvos: dont forget to bug evan about a commit bit |
| 15:00:42 | mrb_bk | dbussink: cool. it seems like it's pretty transparent to start your app with it running |
| 15:01:02 | andrewvos | steveklabnik: A commit bit? |
| 15:01:15 | mrb_bk | it just spawns a thread |
| 15:01:31 | steveklabnik | andrewvos: yeah, you get added as a collaborator after your first commit |
| 15:01:36 | steveklabnik | it's not really a bit anymore |
| 15:01:45 | boyscout | Merge branch 'master' of https://github.com/jtdowney/rubinius - d38bc21 - Steve Klabnik |
| 15:02:15 | andrewvos | Oh ok. Where can I see collaborators? |
| 15:02:38 | Cro_Crx | andrewvos: under the graphs and stats |
| 15:03:03 | andrewvos | Oh right you mean like a collaborator on the project. |
| 15:03:05 | steveklabnik | yeah |
| 15:04:10 | dbussink | guess that list is ordered by nr of commits or something |
| 15:05:28 | Cro_Crx | dbussink: perhaps its KLOC's ?? |
| 15:05:29 | steveklabnik | yeah |
| 15:06:36 | dbussink | passing the nr 1&2 is probably pretty much impossible i guess :P |
| 15:08:08 | rue | It is by LOC |
| 15:08:19 | rue | I think I'm still #4 by commit count |
| 15:09:53 | dbussink | rue: found this: http://it.isagit.com/rubinius/rubinius |
| 15:10:54 | rue | Ooh, Ohloh is probably out of date, then. I think that's where I ended up last |
| 15:16:47 | dbussink | rue: time to make a change ;) |
| 15:16:50 | Cro_Crx | night all |
| 15:17:02 | rue | You're right, I'll try briefs |
| 15:17:08 | rue | Niteynite |
| 16:58:10 | andrewvos | OK going in for my second patch. |
| 16:58:47 | boyscout | Merge branch 'master' of git://github.com/rubinius/rubinius - 221e6fe - Mateusz Lenik |
| 16:58:47 | boyscout | Adds fdiv method to Complex - 9b31dbd - Mateusz Lenik |
| 16:58:47 | boyscout | Merge pull request #1267 from mlen/fixing_complex - f055fc1 - Eero Saynatkari |
| 17:11:29 | andrewvos | Wow there's a lot of encoding stuff. |
| 17:18:55 | guilleiguaran | http://status.rubini.us/ |
| 17:36:05 | rue | That's not an actual metric ;) |
| 17:37:31 | andrewvos | I want to change Kernel.String and can't seem to find the spec for it... |
| 17:40:01 | andrewvos | Oh wait foudn it |
| 17:40:04 | andrewvos | Man |
| 17:40:10 | andrewvos | ack pisses me off some times. |
| 17:53:27 | rue | Don't change it |
| 18:01:31 | guilleiguaran | irb(main):028:0> Rational(0.0, 2) == Rational(0.0, 1) |
| 18:01:31 | guilleiguaran | => false |
| 18:01:51 | guilleiguaran | I should add a spec for it, right? |
| 18:05:12 | rue | Hm, probably |
| 18:05:57 | rue | It goes through coercion? |
| 18:06:43 | guilleiguaran | actually I found it after of fix another bug: |
| 18:07:08 | guilleiguaran | irb(main):003:0> Rational(0.0, 1) |
| 18:07:08 | guilleiguaran | NoMethodError: undefined method `gcd' on an instance of Float. |
| 18:07:49 | guilleiguaran | I will send a pull request to fix it |
| 18:15:34 | andrewvos | Could I ask someone to take alook at my commit before I try a pull request? |
| 18:15:41 | andrewvos | Or should I just do the pull request? |
| 18:16:46 | rue | Pull request is for looks |
| 18:16:56 | rue | It even has comments and stuff :E |
| 18:17:11 | steveklabnik | andrewvos: just do it |
| 18:17:17 | steveklabnik | the comments are nice for the future |
| 18:17:17 | andrewvos | Okie. |
| 18:17:33 | andrewvos | Also, I've fixed four specs in one commit... Should I list them all in the commit? |
| 18:17:57 | steveklabnik | if you want to be super nice. break them up into four. |
| 18:18:02 | steveklabnik | but you dont have to. |
| 18:18:08 | andrewvos | steveklabnik: I don't think I can. |
| 18:18:11 | steveklabnik | if you dont, list them all |
| 18:18:16 | andrewvos | Cool |
| 18:18:20 | steveklabnik | you can ALWAYS do it with git. |
| 18:18:20 | steveklabnik | heh |
| 18:18:52 | andrewvos | They're all fixes for Kernel#String so it shouldn't be too much of an issue having them all as one. |
| 18:18:52 | rue | Easiest way would be to separate them into branches |
| 18:18:57 | rue | Yeah |
| 18:21:22 | andrewvos | How do I find where the tags are that Iwant to delete? |
| 18:24:50 | andrewvos | Got them don't worry. |
| 18:29:41 | andrewvos | Hmm I got some tcp errors when running rake. |
| 18:29:49 | andrewvos | Don't think they are relateed to what I changed. |
| 18:29:56 | steveklabnik | localhost stuff? |
| 18:29:59 | andrewvos | Anyone seen this? |
| 18:30:00 | steveklabnik | happens every one in a while |
| 18:30:16 | andrewvos | TCPSocket.open refuses the connection when there is no server to connect to FAILEDExpected Errno::ECONNREFUSED |
| 18:30:19 | andrewvos | Oh ok good |
| 18:30:33 | andrewvos | Well, not good actually. |
| 18:33:02 | andrewvos | Cmon rake, you can do it. |
| 18:33:09 | andrewvos | YES |
| 18:35:29 | carlosgaldino | andrewvos: how are you deleting the tags? |
| 18:36:00 | andrewvos | carlosgaldino: Like ./bin/mspec tag --del fails -tx19 core/kernel/puts |
| 18:36:46 | andrewvos | Problem? |
| 18:36:49 | carlosgaldino | andrewvos: ah, ok. I thought you were doing it manually because you said you couldn't find the tags you wanted to delete |
| 18:37:44 | andrewvos | :) |
| 18:59:45 | andrewvos | Thoughts: https://github.com/rubinius/rubinius/pull/1268 |
| 19:45:38 | rue | andrewvos: I'm not sure it's correct; so far as I can tell, it's #to_str and #to_s, plus #respond_to? should probably be called |
| 19:49:25 | andrewvos | Thanks rue |
| 19:50:31 | andrewvos | rue: Eero Saynatkari? |
| 19:53:02 | brixen | andrewvos: the best thing to do is go look at what MRI 1.9 actually does |
| 19:53:10 | brixen | 1.9.2p290 is the current stable release |
| 19:53:34 | brixen | those specs are a bit confusing anyway |
| 19:56:57 | andrewvos | brixen: Thnks taking a look. Source is a bit tricky to navigate... |
| 19:57:08 | brixen | andrewvos: yes indeed it is |
| 19:57:31 | andrewvos | Ok cloning the entire thing down :/ |
| 19:58:07 | brixen | everyone working on implementing ruby should have a copy of MRI source under their pillow |
| 19:58:15 | brixen | that's just the sad state of affairs right now |
| 19:58:30 | brixen | hopefully in the not too distant future, they'll just need a copy of RubySpec |
| 19:58:43 | steveklabnik | hahah |
| 19:58:50 | steveklabnik | but it's got so many sharp edges! |
| 19:58:54 | steveklabnik | itll hurt my head when i try to sleep |
| 19:58:58 | brixen | hah |
| 19:59:08 | andrewvos | It will *rape* you when you try to sleep. |
| 20:00:35 | rue | andrewvos: C'est moi |
| 20:01:18 | andrewvos | = it's me? |
| 20:04:03 | dbussink | andrewvos: you need to be a polyglot in here, not only computer language wise ;) |
| 20:04:30 | dbussink | brixen: i go to sleep by reading a few lines of mri each night |
| 20:04:34 | andrewvos | learns french. |
| 20:04:44 | dbussink | brixen: so i have the worst nightmare before actually sleeping ;) |
| 20:04:51 | dbussink | andrewvos: ah, tres bien! |
| 20:04:59 | andrewvos | dbussink: Wake up in cold sweats? |
| 20:05:14 | dbussink | andrewvos: no, this is so i experience the horror before sleeping ;) |
| 20:07:26 | andrewvos | Ok so I'm starting to see what I got myself into :) |
| 20:07:35 | andrewvos | The code isn't too horrble though. |
| 20:08:13 | brixen | dbussink: heh |
| 20:08:49 | brixen | I think the C++ shouldn't test all the stuff in primitives that is tested in RubySpec |
| 20:08:57 | brixen | C++ tests* |
| 20:09:31 | brixen | it is possible that a primitive could get fucked up and then the vm wouldn't boot, but I think that's pretty rare |
| 20:09:37 | brixen | and should be immediately obvious |
| 20:10:11 | dbussink | brixen: i remember the c++ tests to be most useful initially when we were bootstrapping the vm |
| 20:10:12 | andrewvos | I TAKE MY FORMER STATEMENT BACK |
| 20:10:26 | dbussink | to see where stuff was not working (yet) |
| 20:10:31 | brixen | dbussink: well, there are aspects that are useful |
| 20:10:38 | brixen | spec'ing primitives is not one of those |
| 20:11:01 | brixen | they are useful for complex behavior whose contours are not seen in the aggregate behavior visible to Ruby |
| 20:11:24 | dbussink | brixen: we should check though if everything they test is covered in rubyspec too then (if it is something that should be in rubyspec that is) |
| 20:11:34 | brixen | of course |
| 20:11:54 | dbussink | brixen: but fighting with the c++ tests then? |
| 20:11:58 | brixen | in this case, MRI's stupid ass decisions to exclude Float form stuff like Bignum#& makes tests fail |
| 20:12:18 | dbussink | ah ok, when running in 1.9 mode right? |
| 20:12:19 | brixen | and it takes a ton of shit to conditionalize that |
| 20:12:24 | brixen | yeah |
| 20:12:35 | brixen | and that is tested already in rubyspec |
| 20:12:41 | dbussink | true yeah |
| 20:12:48 | dbussink | we should cut out those tests then i guess |
| 20:12:50 | brixen | I'm removing them for now |
| 20:12:57 | brixen | I'll talk to evan tomorrow |
| 20:13:10 | brixen | also, I'm making the tests run in 1.8 and 1.9 mode |
| 20:13:42 | dbussink | yeah, that's also a good idea so stuff like this is picked up early on |
| 20:20:19 | andrewvos | brixen, rue: It seems like the changes I made are right. I think... |
| 20:20:52 | brixen | andrewvos: ok, I'll take a look after I finish this test stuff |
| 20:21:08 | andrewvos | brixen: Thanks, I can point you at the files I'm looking through. |
| 20:21:35 | rue | As far as I can tell, you need to try #to_str, then #to_s |
| 20:21:45 | rue | But I just tried it in pry |
| 20:21:48 | andrewvos | rue: Not sure what you mean? |
| 20:23:30 | brixen | andrewvos: does String() first try calling #to_str, and if that fails, then tries #to_s, and if that fails raises? |
| 20:24:45 | andrewvos | brixen: In C? |
| 20:24:55 | rue | Strictly speaking it #respond_to? them rather than tries first |
| 20:25:44 | andrewvos | rue: But the 192 behaviour is to just try call to_s in case of someone adding to_s and not doing a proper respond_to?(:to_s) |
| 20:25:47 | andrewvos | I'm assuming |
| 20:27:06 | andrewvos | Oh wait hang on... |
| 20:27:28 | andrewvos | Oh nevermind |
| 20:32:24 | cookrn | would 'Invalid char `\317' in expression' be a sign of weird file encoding when trying to run a gem's test suite on rubinius via `rake`? full out: https://gist.github.com/4363351bde96bee719d5 |
| 20:32:47 | brixen | are you running in 1.9 mode? |
| 20:32:52 | cookrn | no |
| 20:33:01 | cookrn | rubinius 2.0.0dev (1.8.7 f055fc18 yyyy-mm-dd JI) [x86_64-apple-darwin11.1.0] |
| 20:33:18 | dbussink | cookrn: using rbenv? |
| 20:33:23 | cookrn | yessir |
| 20:33:31 | brixen | I think your rbenv is fucked up |
| 20:33:41 | dbussink | cookrn: it's doing something in such a way that it tries to load rake as a script |
| 20:33:42 | brixen | it looks like it's trying to exec a link |
| 20:33:48 | dbussink | and it's a symlink in rbx |
| 20:33:59 | dbussink | brixen: someone else who reported this was also using rbenv |
| 20:34:07 | brixen | cookrn: ls -l /Users/ryan/.rbenv/versions/rbx-2.0.0-dev/bin/rake |
| 20:34:29 | andrewvos | Is there a list of changes from ruby 187 to 192? |
| 20:34:34 | steveklabnik | heh |
| 20:34:36 | steveklabnik | diff |
| 20:34:53 | cookrn | lrwxr-xr-x 1 ryan staff 3 Oct 16 13:56 /Users/ryan/.rbenv/versions/rbx-2.0.0-dev/bin/rake -> rbx |
| 20:35:19 | brixen | cookrn: so, rbx is trying to read that link *as* a script to run |
| 20:35:26 | brixen | you'll need to track down that |
| 20:35:45 | guilleiguaran | % ls -la ~/.rbenv/versions/rbx-2.0.0-dev/bin/rake |
| 20:35:45 | guilleiguaran | lrwxr-xr-x 1 guille staff 3 Oct 15 17:50 /Users/guille/.rbenv/versions/rbx-2.0.0-dev/bin/rake -> rbx |
| 20:36:13 | brixen | sure, and if you run that file, it should work fine |
| 20:36:31 | brixen | test it |
| 20:37:03 | guilleiguaran | Invalid char `\317' in expression |
| 20:38:43 | andrewvos | in 187 convert_type is called with true instead of false. |
| 20:38:56 | andrewvos | Sorry don't know why I wrote that in here. |
| 20:40:06 | andrewvos | Ok so it does NOT raise an exception if object does not respond_to? to_s |
| 20:40:47 | rue | Check the other specs/fail tags to see if the behaviour's there? |
| 20:41:14 | andrewvos | I'm manually diffing the two and the behaviour is there. |
| 20:41:36 | andrewvos | v = convert_type(val, tname, method, Qtrue); |
| 20:41:52 | andrewvos | #in 187: v = convert_type(val, tname, method, Qtrue); |
| 20:42:23 | andrewvos | In 1.9.2 it's v = convert_type(val, tname, method, FALSE); |
| 20:42:34 | brixen | guilleiguaran: gist me your terminal running: '/Users/guille/.rbenv/versions/rbx-2.0.0-dev/bin/rake --version' |
| 20:42:37 | andrewvos | convert_type throws if respond_to returns false. |
| 20:43:21 | cookrn | brixen: in rbx, is `rake` bin supposed to be symlinked to the `rbx` bin? or is that an artifact of my rbenv setup? |
| 20:44:07 | brixen | it's supposed to be symlinked |
| 20:44:22 | brixen | invoking rbx as 'rake' tells rbx to run as if you did 'rbx -S rake' |
| 20:44:49 | brixen | and it should do that by looking at its internal gem bin wrappers before looking at PATH |
| 20:46:28 | andrewvos | I've copied out the relevant c methods into a file if anyone wants to take a look? |
| 20:47:34 | brixen | andrewvos: this is one of the most fucked up areas in MRI |
| 20:47:40 | brixen | how it handles coercion |
| 20:47:49 | dbussink | brixen: i found a fun one today too |
| 20:47:59 | brixen | andrewvos: you could list the flow you see and check that the specs cover it |
| 20:48:07 | dbussink | where i think they meant different behavior than it actually is |
| 20:48:12 | brixen | andrewvos: I need to discuss this with evan again about checking respond_to? |
| 20:48:22 | brixen | dbussink: wouldn't surprise me |
| 20:49:42 | andrewvos | I suppose I could just test it in ruby 192 |
| 20:49:56 | guilleiguaran | brixen: ok |
| 20:51:18 | guilleiguaran | brixen: https://gist.github.com/1291404 |
| 20:51:18 | dbussink | brixen: looks like they fixed it in ruby trunk |
| 20:51:31 | dbussink | brixen: i wonder, how should we spec behavior like that then? |
| 20:52:04 | brixen | dbussink: so it was one way in 1.8.7, they changed it in 1.9.2, and now they changed it back in 1.9.3? |
| 20:52:13 | steveklabnik | heh |
| 20:52:19 | steveklabnik | OF COURSE |
| 20:52:30 | dbussink | brixen: ah, wait, no, it's still broken |
| 20:52:37 | dbussink | https://github.com/ruby/ruby/blob/trunk/rational.c#L438 |
| 20:53:00 | brixen | what is broken? |
| 20:53:23 | dbussink | well, from what i think they want is to test if the value gives true for integer? |
| 20:53:38 | dbussink | brixen: which is what that f_integer_p thing does |
| 20:53:45 | brixen | I fucking love that rational.c uses entirely different predicates from the rest of MRI |
| 20:53:52 | brixen | fucking. love. it. |
| 20:53:56 | andrewvos | In mspec is there any way I can check if the error raised has the right message? |
| 20:54:05 | scooter-dangle | I have what is likely another naive question: I wanted to tinker with the array iterators and tested redefining each. Tried a number of different things and looked around online/stackoverflow/ github.com/rubinius but can't figure out why I'm able to redefine Array#each in 1.8.7 and 1.9.2 but not Rubinius |
| 20:54:11 | brixen | andrewvos: no |
| 20:54:16 | brixen | andrewvos: you don't check that |
| 20:54:16 | scooter-dangle | Simple test: http://pastie.org/2707502 |
| 20:54:30 | andrewvos | brixen: Ok is it not something we care about? |
| 20:54:30 | dbussink | brixen: but this way they check whether it's a Numeric and if not they do a !f_integer_p, but that last returns a VALUE |
| 20:54:49 | brixen | andrewvos: it's not a behavior, you don't spec it |
| 20:54:55 | andrewvos | Ok fair enough |
| 20:55:18 | brixen | dbussink: dunno, file a ticket |
| 20:55:37 | brixen | dbussink: in general, you handle the specs like always, with ruby_version_is or ruby_bug |
| 20:56:02 | cookrn | dbussink: so the problem might be in how rbenv is setting up its shims? |
| 20:56:43 | rue | scooter-dangle: Reassigning @index could be an issue? |
| 20:56:53 | brixen | scooter-dangle: why are you redefining Array#each ? |
| 20:57:17 | cookrn | is it breaking the rbx ability to find the `rake` binary in the gem as opposed to the rake binary that is a symlink? |
| 20:57:18 | brixen | cookrn: rbenv should do nothing but put rbx/bin in your path |
| 20:57:21 | scooter-dangle | rue: even if @index didn't already exist in Array? |
| 20:57:38 | brixen | cookrn: if it's doing anything else, it's just being stupid |
| 20:58:00 | brixen | scooter-dangle: go read the rbx code |
| 20:58:20 | rue | scooter-dangle: If it doesn't (I'm not sure offhand), no, but you don't need an ivar there anyway and therefore shouldn't use one |
| 20:58:27 | brixen | dbussink: there's not an easy way to run the C++ tests in the language modes |
| 20:58:47 | brixen | dbussink: another reason to keep version-specific Ruby behavior out of them |
| 20:59:09 | brixen | dbussink: I think I'm going to insist that the C++ test only test rbx implementations details not visible to Ruby |
| 20:59:38 | scooter-dangle | brixen: i wanted to experiment with defining behavior of modifying an array while it's being iterated through... each was the basic test, and i figured in rubinius that it would make the rest of the iterators easier since many of em use each |
| 21:00:45 | dbussink | scooter-dangle: you mean defining behavior for rbx? |
| 21:01:44 | scooter-dangle | dbussink: i guess... i thought it would be easier in rbx |
| 21:02:04 | brixen | scooter-dangle: modifying an array while iterating is explicitly undefined behavior according to Matz |
| 21:02:15 | brixen | https://github.com/rubinius/rubinius/blob/master/kernel/bootstrap/array.rb#L58-71 |
| 21:02:19 | brixen | there's the Array#each code |
| 21:02:27 | brixen | I'm sure you can figure out what is happening |
| 21:02:38 | brixen | but understand that such behavior will not be supported |
| 21:02:42 | rue | Well, this one's not modifying it yet anyway |
| 21:02:45 | scooter-dangle | brixen: i read through that before writing this |
| 21:02:45 | brixen | if your app doing it breaks on rbx, too bad |
| 21:02:48 | andrewvos | Ok updated the pull request with some information. |
| 21:05:43 | scooter-dangle | is there at least any other place you could point me to? i wasn't sure where to look beyond bootstrap/array.rb and common/array.rb to find how rbx is implementing arrays... could you point me to where the bootstrap array instance vars are first defined? |
| 21:05:59 | rue | I must be missing something obvious here. |
| 21:06:13 | rue | https://github.com/AndrewVos/rubinius/blob/4f3bf650bf339de4ab5cb712897362a9842c88af/kernel/common/ke rnel19.rb#L99 |
| 21:06:13 | scooter-dangle | i'll keep looking... just wanted to save some time... thanks for the responses |
| 21:06:32 | rue | andrewvos: You're not checking/calling #to_str |
| 21:07:08 | rue | str = rb_check_convert_type(str, T_STRING, "String", "to_str"); |
| 21:07:26 | brixen | scooter-dangle: I just want to be super duper crystal clear, rbx will not support modifying collections while iterating |
| 21:07:45 | andrewvos | rue: Interesting, though the original source doesn't either. |
| 21:08:04 | brixen | scooter-dangle: why not spend time on something valuable like a lock-free concurrent queue instead of a behavior that is undefinable in any meaningful way |
| 21:08:23 | scooter-dangle | brixen: that's ok... if i ever did anything, i'd keep it as a gem |
| 21:08:33 | brixen | scooter-dangle: no, it's not ok |
| 21:08:48 | brixen | because if someone uses it, and their code breaks on rbx, you've just created a big mess |
| 21:08:51 | brixen | for no good reason |
| 21:09:33 | rue | scooter-dangle: One thing to keep in mind is that other kernel code is using Array#each |
| 21:09:35 | steveklabnik | yeah |
| 21:09:38 | steveklabnik | that silly |
| 21:09:48 | robgleeson | It wouldn't just break on rbx |
| 21:09:52 | robgleeson | It'd break everywhere |
| 21:10:33 | scooter-dangle | a personal gem |
| 21:10:35 | rue | It *might* break |
| 21:10:37 | scooter-dangle | like an heirloom |
| 21:10:49 | rue | But, again, this problem isn't even at the point of modifying yet ;) |
| 21:11:02 | andrewvos | rue: String(meh) never calls to_str. |
| 21:11:15 | andrewvos | In mri 192 at least. |
| 21:12:30 | robgleeson | rue: modifying a collection while you iterate over it is a terrible idea. |
| 21:12:42 | rue | Sure |
| 21:13:05 | andrewvos | TIL about "undef" |
| 21:13:07 | scooter-dangle | there are cases in the real world that make sense. like a batting order while someone is at bat |
| 21:13:10 | brixen | scooter-dangle: you need to understand that rbx *uses* Array#each, while MRI just calls a C function |
| 21:13:27 | scooter-dangle | brixen: that's what i thought |
| 21:13:37 | brixen | scooter-dangle: you can't expect to redefine core Ruby methods and get predictable and reasonable behavior |
| 21:13:39 | steveklabnik | modfiying collections while iterating is always terrible. |
| 21:13:46 | brixen | it's stupid |
| 21:13:50 | steveklabnik | that too |
| 21:14:09 | rue | (Which is why I argued it shouldn't be undefined, but disallowed, but that's sorta beside the point) |
| 21:14:26 | rue | andrewvos: OK |
| 21:14:26 | andrewvos | rue: https://gist.github.com/1291430 |
| 21:14:29 | steveklabnik | rescue FuckYouException => e |
| 21:14:31 | steveklabnik | :) |
| 21:14:48 | brixen | well, core behavior can be redefined in a compatible way |
| 21:14:51 | brixen | and that is fine |
| 21:14:58 | brixen | that's the great power of Ruby |
| 21:15:20 | brixen | but thinking you can redefine shit any old way is stupid, and only possible because of how MRI is implemented |
| 21:15:30 | brixen | it's why we can't have nice things |
| 21:16:47 | scooter-dangle | i'm just playing and learning... the most compsci training i've had part of a course in C and a math independent study in crypto... i've been poking around/reading but can't stop thinking about this... no plans on sending it out with my family christmas cards or anything if i get it to work... |
| 21:16:48 | boyscout | Propagate language mode to subprocesses. - 58b53a8 - Brian Ford |
| 21:16:49 | boyscout | Moved C-API headers under 1.9 to match MRI. - b7f4846 - Brian Ford |
| 21:16:49 | boyscout | Require intern.h from correct location on 1.9. - 10d4535 - Brian Ford |
| 21:16:49 | boyscout | Force clean build for header file change. - f20cf56 - Brian Ford |
| 21:16:49 | boyscout | Removed C++ tests for primitives tested in RubySpec. - 519beac - Brian Ford |
| 21:17:19 | scooter-dangle | if it's impossible then oh wells |
| 21:17:25 | scooter-dangle | anyway |
| 21:17:26 | scooter-dangle | thanks |
| 21:18:07 | brixen | scooter-dangle: it's not impossible |
| 21:18:22 | brixen | but I'm trying to convince you of the problems in your entire approach |
| 21:18:38 | brixen | xrl: I think those commits should fix your nokogiri install, please test |
| 21:26:58 | dreinull | is load_order ordered by any means? I had to add rational to the list and put it to the end. |
| 21:40:50 | boyscout | Display the proper error message. - dc9f7f4 - Andrew Vos |
| 21:40:50 | boyscout | Merge pull request #1268 from AndrewVos/master - c72a912 - Eero Saynatkari (Säynätkari) |
| 21:42:02 | andrewvos | <3 <3 <3 |
| 21:42:29 | boyscout | fix failing spec for 1.9 Rational#% - c63d832 - burningTyger |
| 21:42:29 | boyscout | remove Rational#modulo tag file - d6ad361 - burningTyger |
| 21:43:02 | dreinull | working at that speed we will see 1.9 support by the end of the month |
| 21:43:26 | andrewvos | That would be great. |
| 21:43:58 | andrewvos | So is that status page I saw earlier basically all the specs tagged "fails"? |
| 21:44:03 | andrewvos | Or is there more to it? |
| 21:44:55 | dreinull | cant tell |
| 21:45:15 | boyscout | Merge pull request #1264 from guilleiguaran/gcd-raise-typeerror - c9f8d4c - Eero Saynatkari (Säynätkari) |
| 21:45:42 | rue | Blah, wtf Github changing names |
| 21:47:11 | Defiler | wtf? |
| 21:47:12 | brixen | dreinull: yes, load_order is ordered |
| 21:47:17 | brixen | just like the name :P |
| 21:47:25 | brixen | dreinull: where did you need to add rational? |
| 21:47:38 | dreinull | I added both 18 and 19 |
| 21:47:54 | brixen | no, there is no rational in 18 |
| 21:48:09 | brixen | and it should have been in 19 already |
| 21:48:44 | dreinull | :S actually it was just 18 |
| 21:48:53 | brixen | do not add it to 18 |
| 21:49:02 | brixen | there is no Ration in core lib in 1.8 |
| 21:49:09 | brixen | Rational* |
| 21:49:54 | dreinull | ok, sorry for the mess. |
| 21:50:54 | rue | guilleiguaran: Were there tags for the #== and .reduce fixes? |
| 21:51:13 | SJD | dbussink: ping |
| 21:53:43 | boyscout | remove Rational from load_order18 to fix c63d832a1a - fb331ab - burningTyger |
| 21:54:03 | guilleiguaran | rue: I'm adding the specs to rubyspec now |
| 21:54:12 | guilleiguaran | rue: or I should add the specs to rubinius? |
| 21:54:43 | steveklabnik | guilleiguaran: add them to rbx |
| 21:54:50 | steveklabnik | brixen moves them to rubyspec every once in a while |
| 21:54:59 | guilleiguaran | ok |
| 21:56:00 | rue | guilleiguaran: Yeh, and just update the pull request & note here |
| 21:56:12 | guilleiguaran | rue: ok |
| 21:58:47 | brixen | dreinull: you need to fix the rest of the mess :P |
| 21:59:03 | brixen | dreinull: get rid of rational18 and rational19 and put it back in rational.rb |
| 21:59:28 | dreinull | brixen: rational19 was there before |
| 21:59:40 | brixen | because someone else fucked it up |
| 21:59:49 | brixen | do you want to fix it or do you want me to? |
| 21:59:50 | dreinull | glad that wasnt me :) |
| 21:59:55 | dreinull | I can do it |
| 21:59:58 | brixen | ok, thanks |
| 22:01:09 | rue | I find the rule a bit confusing, but I suppose that's because I think 1.8 as the default state of things, from which we diverge into 1.9 support as necessary |
| 22:01:13 | dreinull | brixen: so it all goes into rational and I remove all of it from load_order? |
| 22:01:28 | brixen | there should be one file, rational.rb |
| 22:01:44 | brixen | there should be rational.rbc in load_order19.txt and load_order20.txt |
| 22:02:45 | dreinull | ok, will fix that |
| 22:03:13 | brixen | dreinull: thanks! |
| 22:11:18 | boyscout | yet another fix for c63d832a1a - 74f2e6d - burningTyger |
| 22:12:47 | andrewvos | I thought the bot was getting clever |
| 22:18:58 | boyscout | Fixed mkmf.rb so bson_ext installs. - 3192063 - Brian Ford |
| 22:21:34 | brixen | guilleiguaran: could you run 'bin/mspec tag --del fails -tx19 core/rational' and update your pull request |
| 22:25:20 | guilleiguaran | brixen: ok |
| 22:45:44 | boyscout | Added RUBY_VM define for 1.9 C-API. - c3a7bef - Brian Ford |
| 23:05:35 | boyscout | Rational.reduce should use gcd only for Integer - c604b7d - Guillermo Iguaran |
| 23:05:36 | boyscout | Rational#==(other) returns true if self and other have as numerator zero - 06caa66 - Guillermo Iguaran |
| 23:05:36 | boyscout | Rational#zero? now returns true if the numerator is 0.0 - 2b28d14 - Guillermo Iguaran |
| 23:05:36 | boyscout | Merge branch 'Rational#zero_patch' - f4f76f1 - burningTyger |