Show enters and exits. Hide enters and exits.
| 00:01:07 | brixen | SetFunc or something |
| 00:01:10 | brixen | try building it |
| 00:02:27 | brixen | we should rename loader.rb to main.rb |
| 01:18:11 | dgtized | slava: it's not an issue of a block returning twice, it's just that it's not properly searching the scope to realize it doesn't have a scope that is return capable |
| 01:51:38 | brixen | man I hate thread specs |
| 01:52:01 | brixen | or rather, specs that use threads |
| 06:20:09 | brixen | rescue Ar::Error; end |
| 06:20:13 | brixen | goddammit |
| 08:39:14 | boyscout | Make load order explicit. See doc/bootstrapping.txt. - 3f6d963 - Brian Ford |
| 08:39:14 | boyscout | Rubinius.warn was a duplicate of Kernel#warn. - ec9eef2 - Brian Ford |
| 08:39:14 | boyscout | Fixed specs passing until a thread is asleep. - 2cc688d - Brian Ford |
| 08:39:14 | boyscout | bin/mspec ci -B full passes on OS X. - bb46889 - Brian Ford |
| 08:39:14 | boyscout | TODO: rewrite Kernel#require. - a969622 - Brian Ford |
| 14:04:51 | ieok | rake failed. Tried to use non-reference value 0x1a as type Fixnum (19) (TypeError) |
| 17:29:29 | brixen | evan: does boyscout CI just run 'rake'? |
| 17:30:29 | evan | i believe so, yes. |
| 17:30:36 | brixen | k |
| 17:30:47 | brixen | I'm going to make rake run mspec ci -B full |
| 17:31:00 | brixen | I'm fixing a couple issues I see on elle atm |
| 17:31:19 | evan | sounds good |
| 17:31:20 | brixen | bin/mspec ci will still run the default set, mostly core and rbx specs |
| 17:31:23 | evan | whats -B full do? |
| 17:31:30 | brixen | runs library |
| 17:31:33 | evan | ok |
| 17:32:03 | brixen | also, doesn't seem like boyscout is getting pinged |
| 17:32:11 | brixen | last 2 commits CI didn't run |
| 17:33:41 | evan | hrm. |
| 17:33:48 | evan | maybe the github queue is behind |
| 17:33:58 | brixen | could be |
| 17:34:34 | evan | that's what it usually is |
| 17:38:41 | boyscout | Default rake task runs full CI set. - a557206 - Brian Ford |
| 17:38:41 | therealadam | evan, brixen: ya'll going to RailsConf? |
| 17:38:49 | evan | I am! |
| 17:38:52 | evan | are you...? |
| 17:38:55 | evan | if so, bring a suit |
| 17:38:57 | therealadam | I yam |
| 17:39:04 | evan | we're gonig to hit the craps tables at Caesers Palace |
| 17:39:18 | therealadam | does Caesars have a dress code? |
| 17:39:32 | evan | nah, but you don't wanna look like a chump do ya? |
| 17:39:32 | evan | :D |
| 17:39:43 | evan | we might get a free high roller suite if things go well |
| 17:39:48 | evan | which we can promptly trash |
| 17:40:12 | therealadam | I don't need a suit to not look like a chump, bro |
| 17:40:29 | therealadam | also, I would look like a chump in a wrinkled up suit, which is what would happen anyway :) |
| 17:41:10 | sbryant_work | therealadam: so get a suit, take it to the cleaners pick up a freshly pressed suit! |
| 17:41:53 | evan | therealadam: ok, you go in a swim suit and flipflops |
| 17:41:56 | evan | and i'll be in a suit |
| 17:42:01 | evan | it will be like a buddy comedy! |
| 17:42:09 | therealadam | score. |
| 17:43:53 | therealadam | http://ia.media-imdb.com/images/M/MV5BMTc0OTA0MzM4NF5BMl5BanBnXkFtZTYwMTAwODk4._V1._SX289_SY400_.j pg |
| 17:44:51 | evan | hah |
| 17:44:59 | sbryant_work | evan: I hope by suit you mean this: http://img5.allocine.fr/acmedia/rsz/434/x/x/x/medias/nmedia/18/64/88/83/18816592.jpg |
| 17:45:09 | evan | or would you prefer more of a lethal weapon feel... |
| 17:45:34 | brixen | evan: what's the verdict on rb-readline? |
| 17:45:51 | evan | brixen: lets defer til next week |
| 17:46:09 | brixen | k |
| 17:46:39 | evan | i'm going to poke at those constant failures now. |
| 17:48:53 | evan | contrary to popular opinion, block chaining does not make your penis bigger. |
| 17:49:25 | evan | ack |
| 17:49:33 | boyscout | We now no longer raise LocalJumpError ourselves in Struct#each_pair. - b207fe2 - Tilman Sauerbeck |
| 17:50:04 | therealadam | make { her(lambda { go }); wow.with { |you| you.wang } } |
| 17:50:17 | boyscout | Use --background guard to prevent Readline hangs. - 9d0460b - Brian Ford |
| 17:50:52 | brixen | fucking Readline specs hang when run from rake on os x but not elle or my jaunty jackass |
| 17:51:21 | brixen | evan: where are you seeing block chaining? |
| 17:51:33 | evan | :) |
| 17:51:37 | evan | that was a mischan |
| 17:51:42 | brixen | ahh |
| 17:51:43 | evan | I meant to say that in #caboose |
| 17:51:51 | brixen | I was hoping it wasn't in the specs |
| 17:52:06 | brixen | some people have requested such nonsense |
| 17:52:45 | brixen | in matchers |
| 17:54:35 | evan | yeah |
| 18:07:51 | brixen | evan: http://gist.github.com/103268 |
| 18:08:01 | brixen | that's a profile of a full CI run |
| 18:08:08 | brixen | recursion guard has to go |
| 18:08:12 | brixen | let 'em hang |
| 18:08:14 | brixen | :) |
| 18:08:24 | brixen | but seriously, I have an idea |
| 18:08:49 | brixen | what if we check when assigning to array whether we are making a recursive array and set a flag |
| 18:09:16 | evan | zoinks. |
| 18:11:20 | evan | clear_associations has to go to |
| 18:11:27 | evan | i'm going to back out that change soon |
| 18:15:01 | brixen | btw, the command was bin/mspec ci -B full --profile |
| 18:15:16 | brixen | use --profile to run the profiler during specs |
| 18:16:24 | evan | rad |
| 18:16:32 | evan | i'm so happy the profiler is working solid |
| 18:16:39 | sbryant_work | nice |
| 18:17:37 | evan | double rad |
| 18:17:48 | evan | all the constant specs run |
| 18:17:57 | evan | now on to module's constant specs |
| 18:26:46 | evan | brixen: btw, feel free to adjust that capi thread sleep spec |
| 18:26:53 | evan | it doesn't need to be 2 seconds |
| 18:29:32 | brixen | evan: yep, was just doing that actually |
| 18:31:07 | brixen | evan: I just hit the reraise assertion (state->thread_state()->raise_reason() != cNone) running the sqlite3-ruby gem tests |
| 18:31:16 | brixen | I haven't looked at it yet |
| 18:31:22 | evan | ok |
| 18:31:26 | evan | well, i'm happy you hit that |
| 18:31:30 | brixen | yeah |
| 18:31:33 | evan | since that means the error is caught nice and early |
| 18:31:35 | brixen | glad you left it in |
| 18:31:38 | brixen | yep |
| 18:32:56 | evan | it's ok to check in tag changes with the code that fixes the tag's reason, yes? |
| 18:33:02 | evan | or should I do them in 2 diffrent commits |
| 18:33:08 | brixen | nah, same commit is fine |
| 18:41:17 | evan | stupid MRI |
| 18:41:28 | evan | why the fuck is Module.constants a special case?! |
| 19:24:15 | evan | brixen: i'm getting a bunch of failures in socket |
| 19:24:50 | brixen | hrm |
| 19:25:09 | evan | i'm almost certain they're not related to stuff I just did |
| 19:25:16 | brixen | got a pastie? |
| 19:25:38 | evan | one sec |
| 19:25:41 | brixen | I've run it on elle, ubuntu here, and os x |
| 19:25:44 | evan | i wonder if it using some generated info |
| 19:25:48 | brixen | but the socket specs suck |
| 19:25:50 | brixen | so... |
| 19:26:20 | evan | oh wait |
| 19:26:22 | evan | it IS me. |
| 19:26:23 | evan | one sec. |
| 19:26:31 | evan | because socket.rb uses const_defined? to create some things.. |
| 19:26:37 | evan | please hold |
| 19:26:37 | evan | :D |
| 19:26:37 | brixen | ahh |
| 19:26:48 | brixen | yay for specs :) |
| 19:27:23 | evan | totally |
| 19:27:24 | evan | man |
| 19:28:34 | evan | FUCKING A |
| 19:28:37 | evan | i hate this style |
| 19:28:43 | evan | this class def has a post if |
| 19:28:56 | evan | talk about impossible to notice |
| 19:30:14 | brixen | hah, a class def has a post if? wth |
| 19:30:21 | evan | yeah, fuck that shit. |
| 19:30:27 | evan | it's soo easy to not see it |
| 19:32:46 | evan | say it with me now |
| 19:32:50 | evan | fuck you socket.c |
| 19:33:03 | evan | it defines constants on BOTH Socket and Socket::Constants |
| 19:33:22 | evan | and it does not mix Socket::Constants in |
| 19:34:54 | brixen | yeah, MRI is about 10 years over do for a rewrite |
| 19:35:34 | brixen | probably wouldn't happen in another 10 if we weren't :) |
| 19:35:49 | evan | he |
| 19:35:50 | evan | ok |
| 19:35:56 | evan | still getting a few errors... |
| 19:36:40 | evan | wtf |
| 19:36:50 | evan | why do the getaddrinfo specs have hardcoded expections... |
| 19:36:59 | evan | like they REQUIRE there to be a ipv6 host... |
| 19:38:16 | evan | gr. |
| 19:38:16 | brixen | poor specs |
| 19:38:47 | brixen | you can tag them 'fails(the problem)' if you want |
| 19:38:53 | brixen | I'll fix em |
| 19:38:55 | evan | ok, i'm not going to fix these others |
| 19:39:05 | evan | i've fixed the ones that broke because of constants I think |
| 19:39:13 | evan | i'm double checking them now |
| 19:44:59 | brixen | sweet, just ran the RedCloth tests |
| 19:45:06 | brixen | rbyaml so has to go though |
| 19:45:42 | brixen | now, which tests were depending on redcloth... |
| 19:45:50 | brixen | I need a list |
| 19:46:53 | tilman | brixen: just pushed a fix for the wonky profile numbers i was seeing |
| 19:47:07 | brixen | tilman: sweet, what was it? |
| 19:47:32 | evan | I just pushed the fixes for constants |
| 19:47:47 | tilman | brixen: bad math in get_current_time |
| 19:48:15 | brixen | bad math?! :O |
| 19:48:15 | evan | ah |
| 19:48:17 | evan | on linux |
| 19:48:23 | evan | well, not bad |
| 19:48:25 | evan | just truncated |
| 19:48:28 | evan | because of integer widths |
| 19:48:33 | brixen | ahh |
| 19:48:38 | rue | "There is no need to uninstall the Intel® Chipset Software Installation Utility; therefore, there is no uninstall utility included with the software." |
| 19:48:47 | brixen | damn linux |
| 19:48:47 | rue | BRB, going to go kill people. |
| 19:48:47 | evan | hah |
| 19:54:31 | boyscout | Promote the locals to uint64_t's in get_current_time(). - 5ee2fd6 - Tilman Sauerbeck |
| 19:56:21 | evan | yep, queue is backed up. |
| 19:57:13 | brixen | they're not running chirpy or whatever that twitter queue is, are they? :P |
| 19:57:20 | evan | no |
| 19:58:21 | brixen | evan: this is what you were seeing? http://gist.github.com/103313 |
| 19:58:41 | evan | yes. |
| 19:58:45 | brixen | wtf |
| 19:58:51 | brixen | why wasn't this failing? |
| 19:59:05 | evan | did it just start failing? |
| 19:59:11 | evan | maybe it did introduce it with the constants stuff... |
| 19:59:26 | boyscout | Fix a number of constants specs - 3772d40 - Evan Phoenix |
| 20:00:33 | brixen | yeah, it wasn't failing before |
| 20:01:18 | evan | crap. |
| 20:04:54 | brixen | something is fucking something else up |
| 20:05:04 | brixen | I can run the socket specs by themselves |
| 20:05:39 | brixen | those are hard to figure out |
| 20:05:50 | evan | if you check out my change |
| 20:06:08 | evan | it's likely because I had to change some constants code to NOT lookup recursively |
| 20:06:28 | brixen | hm |
| 20:06:35 | evan | so before, you'd do |
| 20:06:40 | evan | Socket.const_defined? :AF_UNIX |
| 20:06:43 | evan | # => ture |
| 20:06:47 | evan | and now |
| 20:06:49 | evan | # => false |
| 20:06:55 | evan | we need to fix this in socket.rb |
| 20:07:07 | evan | basically, everything in Constants needs to ALSO be directly on Socket |
| 20:07:14 | evan | and Constants isn't included into Socket |
| 20:07:40 | evan | or define Socket.const_defined? to search itself and Constants |
| 20:07:46 | brixen | well, one of these is getting a type error assigning to a FFI::Struct |
| 20:07:54 | brixen | see socket.rb 259 |
| 20:08:00 | evan | well, i think that the constant change is causes different code paths to run |
| 20:08:05 | evan | causing |
| 20:08:06 | brixen | could be |
| 20:16:41 | brixen | well, it is somehow related to constants because Socket::AF_INET6 is the value passed |
| 20:17:35 | evan | ok |
| 20:17:35 | evan | thats it then. |
| 20:17:38 | evan | i'm betting thats not being found |
| 20:17:40 | evan | and it was before |
| 20:17:58 | brixen | it's returning an object |
| 20:18:16 | brixen | but it's not an int |
| 20:18:24 | brixen | must be assigned somewhere |
| 20:18:24 | evan | whats it returning? |
| 20:18:28 | evan | weird |
| 20:18:35 | brixen | p gives #<Object:0x121ee> |
| 20:18:42 | evan | wtf. |
| 20:18:43 | brixen | most of the time it's an it |
| 20:18:47 | brixen | int |
| 20:19:11 | brixen | I sure love that the vm has typeerrors |
| 20:19:23 | brixen | that you can rescue |
| 20:19:28 | evan | :D |
| 20:19:29 | evan | me too |
| 20:21:40 | brixen | hrm, I don't see that assigned to anywhere in the specs |
| 20:22:15 | evan | i've got a handle on the long return exception |
| 20:22:18 | evan | i'm working on it now. |
| 20:22:38 | evan | it's that the reraise concept is busted. |
| 20:23:23 | evan | actually, no, not true. |
| 20:23:30 | evan | i've just broken a different part. |
| 20:23:32 | evan | yay for me. |
| 20:23:39 | brixen | heh |
| 20:23:49 | evan | no biggy. |
| 20:23:55 | evan | i've got a simple fix for it. |
| 20:24:22 | brixen | I'm going to tag these as unstable |
| 20:24:31 | evan | k. |
| 20:24:35 | brixen | they work in isolation, it's a long process to figure out the interaction |
| 20:25:42 | evan | ok |
| 20:25:47 | evan | sound unstable |
| 20:25:50 | evan | wow, it's 12:30 |
| 20:25:50 | evan | geez. |
| 20:25:55 | brixen | yeah |
| 20:26:14 | evan | ok, i'm going to finish this fix, get some lunch, then do a bit more unpacking |
| 20:26:14 | brixen | there's specs that pass before and after this spec |
| 20:26:24 | brixen | and the spec isn't extraordinary |
| 20:26:28 | brixen | frustrating |
| 20:26:33 | brixen | ok |
| 20:26:37 | brixen | lunch for me too |
| 20:45:14 | boyscout | Fix up capi thread specs. - 33187b2 - Brian Ford |
| 20:45:14 | boyscout | Some capi additions to run RedCloth 4.1.9 tests. - 2f3fcd1 - Brian Ford |
| 20:45:14 | boyscout | Tag some specs that fail only during full CI run. - a5cde80 - Brian Ford |
| 20:45:14 | boyscout | Constrain length of filename in backtrace. - 278bfdf - Brian Ford |
| 20:46:10 | evan | brixen: i don't like that last one |
| 20:46:17 | brixen | heh ok |
| 20:46:27 | evan | because you loose info that there is no way to get back |
| 20:46:39 | evan | and it's those super long paths you typically need the most info for |
| 20:46:44 | evan | better would be to, if the path is big |
| 20:46:47 | evan | break it into 2 lines |
| 20:46:52 | brixen | k |
| 20:47:05 | evan | A#foo at \ |
| 20:47:11 | evan | wow_soo_long.rb |
| 20:47:38 | brixen | I'll let ya do it how you like |
| 20:47:51 | evan | ok |
| 20:47:54 | brixen | I just am tired of reading line numbers split |
| 20:47:58 | brixen | 45\n0 |
| 20:48:04 | evan | ah |
| 20:48:05 | evan | heh |
| 20:48:06 | evan | ok |
| 20:48:19 | evan | ie, the 0 is in the 81st column :) |
| 20:48:23 | brixen | right |
| 20:48:33 | evan | i played with trucating a long time ago |
| 20:48:42 | evan | problem is that because it's on all the time |
| 20:48:47 | evan | you always end up taking it out again |
| 20:48:53 | brixen | most of them are spec files because jredville change it to expand all the paths |
| 20:49:04 | brixen | which is probably fine, but the file names are really long |
| 20:49:09 | evan | if we want to get really fance |
| 20:49:12 | brixen | and all still relative to my cwd |
| 20:49:13 | evan | we could unexpand them |
| 20:49:31 | evan | and present them relative to cwd |
| 20:49:40 | evan | that would be pretty rad |
| 20:49:43 | brixen | could |
| 20:49:56 | brixen | it's the path sent to load though |
| 20:50:02 | brixen | so it's in __FILE__ |
| 20:50:15 | evan | right |
| 20:50:26 | evan | we'd do it in the code that displays the backtrace |
| 20:50:33 | evan | so we wouldn't do it until you really need it |
| 20:50:52 | evan | I believe Pathname has an algorithm to do this |
| 20:50:57 | evan | it might be icky though |
| 20:51:21 | brixen | would be easy with a regexp |
| 20:51:22 | evan | maybe a simple 2 pass |
| 20:51:29 | evan | pass 1) remove all /.. |
| 20:51:39 | evan | by removing the previous directory |
| 20:51:56 | evan | 2) if it's absolute, change it to be relative |
| 20:52:10 | evan | hm. |
| 20:52:18 | evan | sometimes absolutes are good.. |
| 20:52:21 | evan | i dunno |
| 20:52:47 | brixen | well, it would be absolute if it were not relative to cwd |
| 20:52:56 | brixen | ./blah doesn't lose any info |
| 20:53:32 | evan | ah ok. |
| 20:53:35 | brixen | either way |
| 20:53:45 | brixen | lunch |
| 20:53:51 | evan | so if cwd is in the absolute path, make it relative |
| 20:53:55 | evan | otherwise live it absolute |
| 20:53:59 | evan | i'll play with it later. |
| 21:13:27 | rue | There is Pathname#relative_path_from |
| 21:21:39 | evan | ok, fixed the long return problem |
| 21:21:55 | evan | ThreadState in the VM can now 'box' itself |
| 21:22:00 | evan | which it does for this case |
| 21:26:39 | rue | You should also shadow |
| 21:26:56 | rue | Should provide chuckles for years to come. |
| 21:42:59 | slava | hi evan |
| 21:55:46 | tarcieri | ugh |
| 21:56:02 | tarcieri | stab people who try to be "clever" |
| 21:56:13 | sbryant | tarcieri: ? |
| 21:56:53 | tarcieri | rack is trying to automatically pull in the ruby-openid gem when you frob one of its constants for openid auth |
| 21:57:13 | tarcieri | and freaks out if it isn't installed |
| 21:57:29 | headius | ahh I was wondering that...so you guys center the trace on 80 columns eh? |
| 21:57:39 | headius | I should add that mode to jruby's backtrace |
| 21:58:02 | tarcieri | heh, wrt the awesome stack traces? |
| 21:58:05 | headius | I thought you guys were getting terminal width or something |
| 21:58:09 | headius | so I had not implemented it |
| 21:58:52 | evan | nope |
| 21:58:54 | evan | it's hardcoded. |
| 21:59:17 | headius | cool, that's easy then |
| 22:12:15 | slava | evan: my bad-ass PIC implementation is almost done ;) |
| 22:15:21 | tarcieri | polymorphic inline cache? |
| 22:16:33 | slava | yes |
| 22:16:51 | tarcieri | cool |
| 22:17:00 | tarcieri | Erlang needs more of those :/ |
| 22:17:11 | slava | mine are pretty optimal |
| 22:17:32 | tarcieri | sweet |
| 22:18:30 | slava | I might do runtime type feedback eventually :) |
| 22:19:15 | headius | hmm, your backtrace stuff seems to not work with a custom backtrace method eh? |
| 22:19:33 | headius | like class MyException < Exception; def backtrace; .... ; end; |
| 22:19:54 | evan | course not |
| 22:20:11 | headius | so you're not calling backtrace at all, ok |
| 22:20:35 | slava | evan: do you card-mark parts of arrays yet? I was wondering if you had thoughts on this |
| 22:20:56 | headius | we and MRI do, so I'd probably have to not do it if I wanted to support rbx traces |
| 22:21:44 | evan | headius: it's easy enough to see that calling backtrace would call Exception#backtrace |
| 22:21:58 | evan | and if so, then use a fancier one when you know you're about to print it out |
| 22:22:23 | headius | but MRI calls backtrace when dumping out the trace of a raised exception |
| 22:22:26 | boyscout | Properly handle long returns that are interrupted - ccb5a11 - Evan Phoenix |
| 22:22:27 | boyscout | Show files relative if possible in backtraces, break lines - 8ad5b2d - Evan Phoenix |
| 22:22:34 | headius | I'm not sure I understand what you're saying |
| 22:22:50 | evan | you're about to print a backtrace for a usure |
| 22:22:52 | evan | a user |
| 22:23:03 | evan | you do |
| 22:23:19 | evan | if exc.method(:backtrace).module == Exception |
| 22:23:24 | evan | print_nice_backtrace(exc) |
| 22:23:25 | evan | else |
| 22:23:27 | evan | puts exc.backtrace |
| 22:23:28 | evan | end |
| 22:23:58 | evan | brixen: i made the backtraces a little nicer |
| 22:24:01 | headius | ahh |
| 22:24:07 | evan | they present relative paths where possible now |
| 22:24:10 | headius | but this is when the exception bubbles all the way out |
| 22:24:19 | evan | and attempt to break up the path to keep stuff from spilling to long lines |
| 22:24:19 | headius | you don't see my custom backtrace method |
| 22:24:31 | evan | i still haven't had lunch |
| 22:24:34 | evan | so i don't follow :/ |
| 22:24:35 | brixen | evan: awesome |
| 22:24:37 | evan | i really need to go now |
| 22:24:41 | brixen | evan: go eat! |
| 22:24:55 | evan | i'm off |
| 22:25:01 | evan | check it out, it's pretty simple |
| 22:25:09 | evan | the code that breaks up the path into multiple lines SUCKS |
| 22:26:31 | headius | evan: when you dump out the nice rubinius stack trace you don't call the backtrace method on the exception being dumped |
| 22:26:42 | brixen | headius: how do you implement checking for recursive arrays in eg Array#<=> ? |
| 22:27:13 | rue | headius: The backtrace is generated at the raise |
| 22:27:31 | headius | brixen: a map |
| 22:27:42 | headius | identity map |
| 22:27:48 | brixen | headius: where does it live? |
| 22:27:52 | rue | Or maybe you asked the wrong question to my response |
| 22:28:01 | headius | globally right now |
| 22:28:04 | headius | probably should be thread-local |
| 22:28:11 | brixen | hm ok |
| 22:28:11 | headius | hasn't ever been a problem |
| 22:28:15 | brixen | we have a thread local map |
| 22:28:20 | brixen | is sucks balls |
| 22:28:20 | headius | runtime.registerInspecting(this) |
| 22:28:24 | headius | unregister when done |
| 22:28:27 | headius | basically |
| 22:28:28 | brixen | yeah |
| 22:28:30 | brixen | we have that |
| 22:28:32 | rue | Stack |
| 22:28:49 | brixen | same diff |
| 22:28:55 | brixen | it sucks for perf right now |
| 22:29:43 | headius | it hasn't shown up as an issue for us, but it's a builtin Java type IdentityHashMap |
| 22:30:13 | headius | oh, and it is threadlocal I see now |
| 22:30:57 | rue | brixen: Are you working on a specific example app? |
| 22:31:10 | brixen | yeah |
| 22:31:45 | brixen | hm, does MRI not shortcut Array#<=> based on size? |
| 22:36:44 | brixen | if a, b are arrays, why would you need to compare any elts if their sizes are not equal? |
| 22:37:21 | slava | headius: if it was global you'd get problems if two threads compared arrays at the same time |
| 22:37:37 | headius | yes |
| 22:37:43 | headius | that's why I said it should be thread local |
| 22:37:46 | headius | and it is, so yay |
| 22:37:53 | brixen | headius: can you think of a reason? |
| 22:37:57 | slava | I'm just saying you would've noticed by now if it wasn't thread local :) |
| 22:38:39 | headius | brixen: why would size have anything to do with it? |
| 22:39:00 | brixen | for Array#<=> |
| 22:39:00 | brixen | how could you ever get to 0 if the sizes are different? |
| 22:39:10 | rue | No, MRI does not shortcut it |
| 22:39:18 | brixen | rue: I know, I just looked |
| 22:39:23 | brixen | I want to know why |
| 22:39:33 | headius | it couldn't, but you still need to inspect all the elements to get -1 or 1 |
| 22:39:38 | brixen | sure |
| 22:39:40 | rue | Because the shorter Array might be "bigger" |
| 22:39:46 | brixen | rue: how? |
| 22:39:48 | brixen | example |
| 22:39:58 | headius | ➔ ruby -e "p [1,2,3] <=> [4,5]" |
| 22:39:58 | headius | -1 |
| 22:40:07 | brixen | ok |
| 22:40:08 | headius | maybe I'm not understanding |
| 22:40:14 | brixen | nope, that's it |
| 22:40:16 | headius | ok |
| 22:40:21 | brixen | I had the example reversed |
| 22:51:22 | headius | http://gist.github.com/103417 |
| 22:51:42 | tarcieri | http://twitter.com/_why/status/1640180235 |
| 22:51:43 | tarcieri | rofl |
| 22:52:50 | headius | dhh and _why represent two sides of the ruby community |
| 22:53:11 | slava | the two extremes |
| 22:53:14 | slava | and headius is the voice of reason |
| 22:53:16 | slava | :) |
| 22:53:18 | headius | hah |
| 22:53:20 | tarcieri | heh |
| 22:53:31 | headius | nobody listens to me anyway |
| 22:53:40 | slava | you're not controversial enough |
| 22:53:48 | headius | it's not for lack of trying |
| 22:54:04 | headius | maybe I need to post more penises and breasts on my blog |
| 22:54:09 | tarcieri | lol |
| 22:54:16 | slava | definitely |
| 22:54:53 | tarcieri | plastering your crap with nekked chicks is certainly an effective way to get attention |
| 22:54:57 | tarcieri | heh |
| 22:55:34 | brixen | headius: you gotta add colors! |
| 22:55:43 | brixen | to to your breasts but to the bt :) |
| 22:55:47 | brixen | ur not to* |
| 22:56:11 | headius | colorful breasts |
| 23:10:40 | headius | brixen: yeah I need to look at what you guys have |
| 23:10:55 | headius | but at present it would all be white except the top line |
| 23:11:02 | headius | since we don't show any jruby internals |
| 23:11:24 | headius | this would be a cleaner syntax if we start showing jruby's parts of the trace though |
| 23:12:07 | brixen | yeah, we do red top line, blue kernel/** and white rest |
| 23:12:10 | brixen | iirc |
| 23:12:15 | brixen | very patriotic |
| 23:16:41 | brixen | hm, Array#== does double dispatch, it does not call #to_ary to coerce |
| 23:16:49 | brixen | afaics |
| 23:17:47 | brixen | yes, that's in the specs |
| 23:17:55 | brixen | wth rubinius |
| 23:18:43 | brixen | ah good, we fail them |
| 23:18:51 | brixen | talk about low hanging fruit |
| 23:24:46 | rue | Man, even _why is not as funny as _why anymore. |
| 23:25:54 | bitsweat | surprised he picked out a pitchfork |
| 23:25:57 | bitsweat | out of character |
| 23:48:13 | dgtized | brixen: you switched it so library is included in the ci run for just a call to rake? |
| 23:51:40 | brixen | dgtized: if you mean, does 'rake' run bin/mspec ci -B full, then yes |
| 23:51:48 | brixen | if not, please rephrase |