Show enters and exits. Hide enters and exits.
| 00:15:52 | evan | heh |
| 00:15:53 | evan | i did |
| 00:15:55 | evan | ary = [] |
| 00:16:08 | evan | ObjectSpace.find_object([:kind_of, Object], ary) |
| 00:16:09 | evan | p ary. |
| 00:16:13 | evan | er |
| 00:16:14 | evan | p ary |
| 00:16:21 | evan | ie, print every object in the system |
| 00:16:33 | brixen | and it did? |
| 00:16:39 | evan | it's still trying. |
| 00:16:42 | brixen | heh |
| 00:21:52 | jvoorhis | evan: is it printing arrays recursively? and wouldn't ary contain itself? :) |
| 00:23:08 | evan | Array#inspect has a recursion guard, yes. |
| 00:23:46 | jvoorhis | ah, so it does |
| 00:25:04 | jvoorhis | what prompted the new ObjectSpace feature? it looks neat |
| 00:26:08 | evan | well, brixen brought up the idea for how to implement each_object |
| 00:26:18 | evan | and we've needed to do something for it |
| 00:26:35 | evan | i've had in my head bouncing around the idea for an object graph query |
| 00:26:52 | evan | so those 2 things, plus needing to get _id2ref implemented came together |
| 00:28:11 | jvoorhis | does rbx work with any gui library yet? it would be neat to try making a smalltalk-like browser |
| 00:28:36 | brixen | we could probably get fxruby working pretty easily |
| 00:28:38 | brixen | maybe |
| 00:28:39 | brixen | heh |
| 00:28:51 | BrianRice-work | someone said smalltalk... :) |
| 00:29:04 | brixen | BrianRice-work: smalltalk-like :) |
| 00:29:14 | BrianRice-work | yeah, I just get pinged on the keyword |
| 00:29:35 | brixen | BrianRice-work: you need a fuzzy filter on that |
| 00:30:01 | brixen | considers randomly mentioning smalltalk on occasion |
| 00:38:34 | evan | huh |
| 00:38:44 | evan | you'd think that all finalizers should be called when a process exits |
| 00:38:58 | evan | since all objects are about to no longer exist |
| 00:39:25 | BrianRice-work | only the objects which are strongly isolated from outside that process |
| 00:39:50 | BrianRice-work | those you haven't aliased in an external interaction, basically |
| 00:40:41 | evan | well, but if the process is about to exit |
| 00:40:44 | evan | they're all garbage |
| 00:40:51 | evan | regardless if they reference something external or not. |
| 00:42:03 | evan | ok, well, I got the logic I wanted |
| 00:42:14 | evan | so I guess i'll just shake my head and go on. |
| 00:43:15 | evan | kendall :: git/rbx ยป bin/mspec spec/ruby/core/objectspace |
| 00:43:21 | evan | 9 files, 13 examples, 22 expectations, 0 failures, 0 errors |
| 00:43:22 | evan | woop! |
| 00:43:25 | BrianRice-work | I meant inbound references |
| 00:43:40 | evan | BrianRice-work: inbound? |
| 00:44:00 | BrianRice-work | yeah, any object outside the process referring to one of the process's objects |
| 00:44:19 | evan | well |
| 00:44:23 | BrianRice-work | (I'm forgetting any details of your design for concurrency) |
| 00:44:31 | evan | lacking at present |
| 00:44:33 | evan | would be the design. |
| 00:44:45 | BrianRice-work | heh |
| 00:45:02 | BrianRice-work | it's okay, I'm going through that too. ttyl |
| 00:45:08 | evan | the design of external, stronge GC references is pretty an foreign notion to ruby |
| 00:45:14 | evan | later. |
| 00:49:42 | BrianRice-work | oh! process. I thought you meant green-thread instead of OS process. right :) |
| 00:49:51 | BrianRice-work | yeah, finalize the shit out of them :) |
| 00:50:01 | evan | HAHAH |
| 00:50:02 | evan | yes, |
| 00:50:09 | evan | finalize with the space laser! |
| 00:50:15 | BrianRice-work | it's the only way to be sure |
| 01:01:39 | evan | I wonder how values types in a dynamic language would work... |
| 01:01:55 | boyscout | Fix finalizer spec to use captureless proc - c51a65e - Evan Phoenix |
| 01:01:55 | boyscout | Add ObjectSpace.find_object, implement other OS methods - 4477824 - Evan Phoenix |
| 01:01:59 | evan | BOOM |
| 01:02:10 | evan | ObjectSpace.each_object and _id2ref have finally landed |
| 01:02:16 | evan | it only took us 3 years. |
| 01:05:02 | brixen | heh |
| 01:05:24 | brixen | look how much you can do without ObjectSpace#each |
| 01:05:27 | brixen | _object |
| 01:05:32 | brixen | :) |
| 01:05:33 | evan | brixen: you're right, the pragmatism of saying "well, the GC has to be stopped while we do this, so be good!" |
| 01:05:39 | evan | is itself a good idea. |
| 01:05:43 | brixen | cool |
| 01:06:10 | evan | I'm going to go look around at what people use each_object for |
| 01:06:21 | brixen | mm good idea |
| 01:06:22 | evan | and maybe put together an object query gem |
| 01:06:24 | evan | that people can use |
| 01:06:33 | evan | that would return arrays |
| 01:06:45 | evan | on MRI, it can be implemented with each_object |
| 01:06:51 | evan | and on rbx, i'll use find_object |
| 01:10:31 | boyscout | CI: rubinius: 4477824 successful: 3024 files, 11841 examples, 36183 expectations, 0 failures, 0 errors |
| 01:10:37 | evan | wooo! |
| 01:11:02 | brixen | success |
| 01:11:40 | evan | i'm also moving object_id to the header |
| 01:11:46 | evan | since on 64bit |
| 01:11:52 | evan | we've been wasting 32bits in the header anyway |
| 01:12:44 | brixen | what about 32bit? |
| 01:12:55 | evan | well, i'm conditionalizing putting it in the header |
| 01:13:02 | evan | so we can leave it in the ivar table |
| 01:13:04 | brixen | ahh ok |
| 01:13:08 | evan | and decide at compile time |
| 01:13:25 | evan | might make sense to do so on 32bit as well |
| 01:13:53 | brixen | could always overflow into an ivar |
| 01:14:12 | brixen | if some code uses object_id on too many objects |
| 01:14:21 | evan | too many being 4G+ |
| 01:14:27 | evan | er. 4B+ |
| 01:14:38 | brixen | well, I mean for 32bit |
| 01:14:44 | brixen | do we have any spare bits? |
| 01:14:44 | evan | yeah, the same |
| 01:14:55 | evan | well hm |
| 01:15:07 | evan | there is about 10 bits spare in the flags region |
| 01:15:27 | evan | i pretty often seen object_id's greater than 1024 |
| 01:15:39 | evan | so it's not a very rare thing. |
| 01:15:46 | brixen | ok |
| 01:18:50 | evan | all the object_id code is very isolated |
| 01:18:52 | evan | which makes this easy. |
| 01:44:00 | ezmobius | you guys are kicking soo much ass with rbx these days. just want to say rock on dudes |
| 01:44:10 | brixen | woot! |
| 01:44:13 | brixen | thanks ezmobius! |
| 01:44:27 | brixen | running into any issues using it daily? |
| 01:45:58 | rxw | VERSION GNAA > j00 |
| 01:45:58 | rxw | VERSION GNAA > j00 |
| 01:45:58 | rxw | VERSION GNAA > j00 |
| 01:45:59 | rxw | VERSION GNAA > j00 |
| 01:46:01 | rxw | VERSION GNAA > j00 |
| 01:46:03 | rxw | VERSION GNAA > j00 |
| 01:46:05 | rxw | VERSION GNAA > j00 |
| 01:46:07 | rxw | VERSION GNAA > j00 |
| 01:46:09 | rxw | VERSION GNAA > j00 |
| 01:46:11 | rxw | VERSION GNAA > j00 |
| 01:46:13 | rxw | VERSION GNAA > j00 |
| 01:46:15 | rxw | VERSION GNAA > j00 |
| 01:46:17 | rxw | VERSION GNAA > j00 |
| 01:46:19 | rxw | VERSION GNAA > j00 |
| 01:46:21 | rxw | VERSION GNAA > j00 |
| 01:46:23 | rxw | VERSION GNAA > j00 |
| 01:46:25 | rxw | VERSION GNAA > j00 |
| 01:46:27 | rxw | VERSION GNAA > j00 |
| 01:46:29 | rxw | VERSION GNAA > j00 |
| 01:46:31 | rxw | VERSION GNAA > j00 |
| 04:18:32 | xfbrwowoht | VERSION GNAA > j00 |
| 04:18:32 | xfbrwowoht | VERSION GNAA > j00 |
| 04:18:32 | xfbrwowoht | VERSION GNAA > j00 |
| 04:18:33 | xfbrwowoht | VERSION GNAA > j00 |
| 04:18:35 | xfbrwowoht | VERSION GNAA > j00 |
| 04:18:37 | xfbrwowoht | VERSION GNAA > j00 |
| 04:18:39 | xfbrwowoht | VERSION GNAA > j00 |
| 04:18:41 | xfbrwowoht | VERSION GNAA > j00 |
| 04:18:43 | xfbrwowoht | VERSION GNAA > j00 |
| 04:18:45 | xfbrwowoht | VERSION GNAA > j00 |
| 04:18:47 | xfbrwowoht | VERSION GNAA > j00 |
| 04:18:49 | xfbrwowoht | VERSION GNAA > j00 |
| 04:18:51 | xfbrwowoht | VERSION GNAA > j00 |
| 04:18:53 | xfbrwowoht | VERSION GNAA > j00 |
| 04:18:55 | xfbrwowoht | VERSION GNAA > j00 |
| 04:18:57 | xfbrwowoht | VERSION GNAA > j00 |
| 04:18:59 | xfbrwowoht | VERSION GNAA > j00 |
| 04:19:01 | xfbrwowoht | VERSION GNAA > j00 |
| 04:19:03 | xfbrwowoht | VERSION GNAA > j00 |
| 04:19:05 | xfbrwowoht | VERSION GNAA > j00 |
| 04:19:07 | xfbrwowoht | VERSION GNAA > j00 |
| 04:19:09 | xfbrwowoht | VERSION GNAA > j00 |
| 04:19:11 | xfbrwowoht | VERSION GNAA > j00 |
| 04:19:13 | xfbrwowoht | VERSION GNAA > j00 |
| 04:19:15 | xfbrwowoht | VERSION GNAA > j00 |
| 04:19:17 | xfbrwowoht | VERSION GNAA > j00 |
| 04:19:19 | xfbrwowoht | VERSION GNAA > j00 |
| 04:19:21 | xfbrwowoht | VERSION GNAA > j00 |
| 04:19:23 | xfbrwowoht | VERSION GNAA > j00 |
| 04:19:25 | xfbrwowoht | VERSION GNAA > j00 |
| 04:19:27 | xfbrwowoht | VERSION GNAA > j00 |
| 04:19:29 | xfbrwowoht | VERSION GNAA > j00 |
| 04:19:31 | xfbrwowoht | VERSION GNAA > j00 |
| 04:19:33 | xfbrwowoht | VERSION GNAA > j00 |
| 04:19:35 | xfbrwowoht | VERSION GNAA > j00 |
| 04:19:37 | xfbrwowoht | VERSION GNAA > j00 |
| 04:19:39 | xfbrwowoht | VERSION GNAA > j00 |
| 04:19:41 | xfbrwowoht | VERSION GNAA > j00 |
| 04:19:43 | xfbrwowoht | VERSION GNAA > j00 |
| 04:19:45 | xfbrwowoht | VERSION GNAA > j00 |
| 04:19:47 | xfbrwowoht | VERSION GNAA > j00 |
| 04:19:49 | xfbrwowoht | VERSION GNAA > j00 |
| 04:19:51 | xfbrwowoht | VERSION GNAA > j00 |
| 04:19:53 | xfbrwowoht | VERSION GNAA > j00 |
| 04:19:55 | xfbrwowoht | VERSION GNAA > j00 |
| 04:19:57 | xfbrwowoht | VERSION GNAA > j00 |
| 04:19:59 | xfbrwowoht | VERSION GNAA > j00 |
| 04:20:01 | xfbrwowoht | VERSION GNAA > j00 |
| 04:20:03 | xfbrwowoht | VERSION GNAA > j00 |
| 04:20:05 | xfbrwowoht | VERSION GNAA > j00 |
| 04:20:07 | xfbrwowoht | VERSION GNAA > j00 |
| 04:20:09 | xfbrwowoht | VERSION GNAA > j00 |
| 04:20:11 | xfbrwowoht | VERSION GNAA > j00 |
| 04:20:13 | xfbrwowoht | VERSION GNAA > j00 |
| 04:20:15 | xfbrwowoht | VERSION GNAA > j00 |
| 04:20:17 | xfbrwowoht | VERSION GNAA > j00 |
| 04:20:19 | xfbrwowoht | VERSION GNAA > j00 |
| 04:20:21 | xfbrwowoht | VERSION GNAA > j00 |
| 04:20:23 | xfbrwowoht | VERSION GNAA > j00 |
| 04:20:25 | xfbrwowoht | VERSION GNAA > j00 |
| 04:20:27 | xfbrwowoht | VERSION GNAA > j00 |
| 04:20:29 | xfbrwowoht | VERSION GNAA > j00 |
| 04:20:31 | xfbrwowoht | VERSION GNAA > j00 |
| 04:20:33 | xfbrwowoht | VERSION GNAA > j00 |
| 04:20:35 | xfbrwowoht | VERSION GNAA > j00 |
| 04:20:37 | xfbrwowoht | VERSION GNAA > j00 |
| 04:20:39 | xfbrwowoht | VERSION GNAA > j00 |
| 04:20:41 | xfbrwowoht | VERSION GNAA > j00 |
| 04:20:43 | xfbrwowoht | VERSION GNAA > j00 |
| 04:20:45 | xfbrwowoht | VERSION GNAA > j00 |
| 04:20:47 | xfbrwowoht | VERSION GNAA > j00 |
| 04:20:49 | xfbrwowoht | VERSION GNAA > j00 |
| 04:20:51 | xfbrwowoht | VERSION GNAA > j00 |
| 04:20:53 | xfbrwowoht | VERSION GNAA > j00 |
| 04:20:55 | xfbrwowoht | VERSION GNAA > j00 |
| 04:20:57 | xfbrwowoht | VERSION GNAA > j00 |
| 04:20:59 | xfbrwowoht | VERSION GNAA > j00 |
| 04:21:01 | xfbrwowoht | VERSION GNAA > j00 |
| 04:21:03 | xfbrwowoht | VERSION GNAA > j00 |
| 04:21:05 | xfbrwowoht | VERSION GNAA > j00 |
| 04:21:07 | xfbrwowoht | VERSION GNAA > j00 |
| 04:21:09 | xfbrwowoht | VERSION GNAA > j00 |
| 04:21:11 | xfbrwowoht | VERSION GNAA > j00 |
| 04:21:13 | xfbrwowoht | VERSION GNAA > j00 |
| 04:21:15 | xfbrwowoht | VERSION GNAA > j00 |
| 04:21:17 | xfbrwowoht | VERSION GNAA > j00 |
| 04:21:19 | xfbrwowoht | VERSION GNAA > j00 |
| 04:21:21 | xfbrwowoht | VERSION GNAA > j00 |
| 04:21:23 | xfbrwowoht | VERSION GNAA > j00 |
| 04:21:25 | xfbrwowoht | VERSION GNAA > j00 |
| 04:21:27 | xfbrwowoht | VERSION GNAA > j00 |
| 04:21:29 | xfbrwowoht | VERSION GNAA > j00 |
| 04:21:31 | xfbrwowoht | VERSION GNAA > j00 |
| 04:21:33 | xfbrwowoht | VERSION GNAA > j00 |
| 04:21:35 | xfbrwowoht | VERSION GNAA > j00 |
| 04:21:37 | xfbrwowoht | VERSION GNAA > j00 |
| 04:21:39 | xfbrwowoht | VERSION GNAA > j00 |
| 04:21:41 | xfbrwowoht | VERSION GNAA > j00 |
| 04:55:09 | rue | Time to turn off CTCP I guess |
| 07:29:22 | boyscout | Add ability to store object_id in the header (64bit only) - 06a8328 - Evan Phoenix |
| 07:37:57 | boyscout | CI: rubinius: 06a8328 successful: 3024 files, 11841 examples, 36183 expectations, 0 failures, 0 errors |
| 07:52:46 | boyscout | Refactor System::vm_find_object into it's own file. - bb7a0b6 - Evan Phoenix |
| 07:56:59 | boyscout | CI: rubinius: bb7a0b6 successful: 3024 files, 11841 examples, 36183 expectations, 0 failures, 0 errors |
| 08:22:46 | dbussink | evan: any reason for not using the IS_X8664 define that's available? |
| 08:23:04 | evan | probably should have |
| 08:23:09 | evan | just wasn't thinking |
| 08:23:12 | evan | go ahead and change it. |
| 08:34:41 | dbussink | evan: ok, btw, did you get anything out of investigating the issue with running datamapper specs? |
| 08:34:49 | evan | yeah |
| 08:34:57 | evan | got that indirect literals were buggy |
| 08:35:00 | evan | i've removed them. |
| 08:35:03 | evan | if you wanna try again. |
| 08:35:26 | dbussink | evan: ok, will try again to see if stuff still fails |
| 08:36:10 | evan | k |
| 08:37:41 | evan | i'm about to head to bed |
| 08:37:54 | dbussink | evan: ok, will update the ticket with information i find |
| 08:38:02 | evan | k |
| 08:40:39 | boyscout | Use the already available 64 bit platform flag - 80242a0 - Dirkjan Bussink |
| 08:49:15 | boyscout | CI: rubinius: 80242a0 successful: 3024 files, 11841 examples, 36183 expectations, 0 failures, 0 errors |
| 08:53:12 | boyscout | Correct a Mutex#lock spec (Mutex is not recursive) - 9f6b192 - Evan Phoenix |
| 08:53:12 | boyscout | MemoryPointer#address should report signed pointers - 6111e7a - Evan Phoenix |
| 08:53:12 | boyscout | Update spec tags - 2ff4e13 - Evan Phoenix |
| 09:02:51 | evan | probably going to have a CI failure |
| 09:02:54 | evan | i'll deal with it in the morning. |
| 09:09:21 | boyscout | CI: Commit 2ff4e13 failed. http://github.com/evanphx/rubinius/commit/2ff4e13545dcfe1ce783a865a95c676cb4d4498e |
| 11:41:28 | ghcup | VERSION GNAA > j00 |
| 11:41:28 | ghcup | VERSION GNAA > j00 |
| 11:41:28 | ghcup | VERSION GNAA > j00 |
| 11:41:29 | ghcup | VERSION GNAA > j00 |
| 11:41:31 | ghcup | VERSION GNAA > j00 |
| 11:41:33 | ghcup | VERSION GNAA > j00 |
| 11:41:35 | ghcup | VERSION GNAA > j00 |
| 11:41:37 | ghcup | VERSION GNAA > j00 |
| 11:41:39 | ghcup | VERSION GNAA > j00 |
| 11:41:41 | ghcup | VERSION GNAA > j00 |
| 11:41:43 | ghcup | VERSION GNAA > j00 |
| 11:41:45 | ghcup | VERSION GNAA > j00 |
| 11:41:47 | ghcup | VERSION GNAA > j00 |
| 11:41:49 | ghcup | VERSION GNAA > j00 |
| 11:41:51 | ghcup | VERSION GNAA > j00 |
| 11:41:53 | ghcup | VERSION GNAA > j00 |
| 11:41:55 | ghcup | VERSION GNAA > j00 |
| 11:41:57 | ghcup | VERSION GNAA > j00 |
| 11:41:59 | ghcup | VERSION GNAA > j00 |
| 11:42:01 | ghcup | VERSION GNAA > j00 |
| 11:42:03 | ghcup | VERSION GNAA > j00 |
| 11:42:05 | ghcup | VERSION GNAA > j00 |
| 11:42:07 | ghcup | VERSION GNAA > j00 |
| 11:42:09 | ghcup | VERSION GNAA > j00 |
| 11:42:11 | ghcup | VERSION GNAA > j00 |
| 11:42:13 | ghcup | VERSION GNAA > j00 |
| 11:42:15 | ghcup | VERSION GNAA > j00 |
| 11:42:17 | ghcup | VERSION GNAA > j00 |
| 11:42:19 | ghcup | VERSION GNAA > j00 |
| 11:42:21 | ghcup | VERSION GNAA > j00 |
| 11:42:23 | ghcup | VERSION GNAA > j00 |
| 11:42:25 | ghcup | VERSION GNAA > j00 |
| 11:42:27 | ghcup | VERSION GNAA > j00 |
| 11:42:29 | ghcup | VERSION GNAA > j00 |
| 11:42:31 | ghcup | VERSION GNAA > j00 |
| 12:31:39 | dqscmvzai | VERSION GNAA > j00 |
| 12:31:39 | dqscmvzai | VERSION GNAA > j00 |
| 12:31:39 | dqscmvzai | VERSION GNAA > j00 |
| 12:31:40 | dqscmvzai | VERSION GNAA > j00 |
| 12:31:42 | dqscmvzai | VERSION GNAA > j00 |
| 12:31:44 | dqscmvzai | VERSION GNAA > j00 |
| 12:31:46 | dqscmvzai | VERSION GNAA > j00 |
| 12:31:48 | dqscmvzai | VERSION GNAA > j00 |
| 12:31:50 | dqscmvzai | VERSION GNAA > j00 |
| 12:31:52 | dqscmvzai | VERSION GNAA > j00 |
| 12:31:54 | dqscmvzai | VERSION GNAA > j00 |
| 12:57:46 | rvdt | VERSION GNAA > j00 |
| 12:57:46 | rvdt | VERSION GNAA > j00 |
| 12:57:46 | rvdt | VERSION GNAA > j00 |
| 12:57:47 | rvdt | VERSION GNAA > j00 |
| 12:57:49 | rvdt | VERSION GNAA > j00 |
| 12:57:51 | rvdt | VERSION GNAA > j00 |
| 12:57:53 | rvdt | VERSION GNAA > j00 |
| 12:57:55 | rvdt | VERSION GNAA > j00 |
| 12:57:57 | rvdt | VERSION GNAA > j00 |
| 12:57:59 | rvdt | VERSION GNAA > j00 |
| 12:58:01 | rvdt | VERSION GNAA > j00 |
| 12:58:03 | rvdt | VERSION GNAA > j00 |
| 12:58:05 | rvdt | VERSION GNAA > j00 |
| 12:58:07 | rvdt | VERSION GNAA > j00 |
| 14:23:18 | bhdsgw | VERSION GNAA > j00 |
| 14:23:18 | bhdsgw | VERSION GNAA > j00 |
| 14:23:18 | bhdsgw | VERSION GNAA > j00 |
| 14:23:19 | bhdsgw | VERSION GNAA > j00 |
| 14:44:51 | enrkwoq | VERSION GNAA > j00 |
| 14:44:51 | enrkwoq | VERSION GNAA > j00 |
| 14:44:51 | enrkwoq | VERSION GNAA > j00 |
| 14:44:52 | enrkwoq | VERSION GNAA > j00 |
| 14:44:54 | enrkwoq | VERSION GNAA > j00 |
| 14:44:56 | enrkwoq | VERSION GNAA > j00 |
| 14:44:58 | enrkwoq | VERSION GNAA > j00 |
| 14:45:00 | enrkwoq | VERSION GNAA > j00 |
| 14:45:02 | enrkwoq | VERSION GNAA > j00 |
| 14:45:04 | enrkwoq | VERSION GNAA > j00 |
| 14:45:06 | enrkwoq | VERSION GNAA > j00 |
| 14:45:08 | enrkwoq | VERSION GNAA > j00 |
| 14:45:10 | enrkwoq | VERSION GNAA > j00 |
| 15:50:16 | cva | VERSION GNAA > j00 |
| 15:50:16 | cva | VERSION GNAA > j00 |
| 15:50:16 | cva | VERSION GNAA > j00 |
| 15:50:17 | cva | VERSION GNAA > j00 |
| 15:50:19 | cva | VERSION GNAA > j00 |
| 15:50:21 | cva | VERSION GNAA > j00 |
| 17:17:34 | boyscout | Remove redundent fails tag - eaed6e7 - Evan Phoenix |
| 17:22:31 | boyscout | CI: rubinius: eaed6e7 successful: 3024 files, 11899 examples, 36299 expectations, 0 failures, 0 errors |
| 17:23:23 | evan | weird, ok. |
| 17:24:19 | scoopr | double-fail? :P |
| 17:29:02 | tcckvwsqxv | VERSION GNAA > j00 |
| 17:29:02 | tcckvwsqxv | VERSION GNAA > j00 |
| 17:29:02 | tcckvwsqxv | VERSION GNAA > j00 |
| 17:29:03 | tcckvwsqxv | VERSION GNAA > j00 |
| 17:29:05 | tcckvwsqxv | VERSION GNAA > j00 |
| 17:29:07 | tcckvwsqxv | VERSION GNAA > j00 |
| 17:29:09 | tcckvwsqxv | VERSION GNAA > j00 |
| 17:41:39 | brixen | sees ~20 commits to rubyspec overnight, *shudders* |
| 17:41:41 | brixen | le'see |
| 17:43:07 | evan | jeez wtf |
| 17:43:31 | brixen | evan: ? |
| 17:43:41 | evan | the rubyspec commit flood |
| 17:43:45 | brixen | oh heh |
| 17:43:53 | brixen | dunno, just gave mame a bit yesterday |
| 17:44:03 | brixen | looks like he's attacking 1.9 stdlib failures |
| 17:44:09 | brixen | I'm just reviewing now |
| 17:47:22 | evan | huzzah! |
| 17:47:29 | evan | he removed the CGI::TagMaker specs |
| 17:47:34 | evan | good riddence |
| 17:50:55 | brixen | heh |
| 17:51:06 | evan | and a bunch of the other tag based CGI specs |
| 17:51:19 | evan | which were exhaustively unnecessary. |
| 17:53:00 | evan | hm, i have to figure out what to do with the socket code |
| 17:53:10 | evan | since it uses FFI, and thusly blocks all threads easily. |
| 18:01:21 | brixen | hmm yeah, this clarification on the CGI api is most appreciated |
| 18:14:07 | yvggenziux | VERSION GNAA > j00 |
| 18:14:07 | yvggenziux | VERSION GNAA > j00 |
| 18:14:07 | yvggenziux | VERSION GNAA > j00 |
| 18:14:08 | yvggenziux | VERSION GNAA > j00 |
| 18:14:10 | yvggenziux | VERSION GNAA > j00 |
| 18:14:12 | yvggenziux | VERSION GNAA > j00 |
| 20:56:29 | brixen | hrm, well that blew up |
| 20:56:38 | brixen | shared specs are hard, let's get lunch :) |
| 20:59:51 | choffstein | Hey all. Quick question -- I am trying out rubinius for the first time and was really keen on the sandboxing feature with multi-vm but I keep getting an error: "AssertionError: Called unbound or invalid primitive from method name: spawn_prim". Any ideas? I am just dropping into rbx and typing "vm = Rubinius::VM.spawn "test", "-e", "puts 'hello\n'"" |
| 21:00:21 | brixen | choffstein: the MVM stuff needs work |
| 21:00:35 | brixen | should get it fixed up soon, but I would not expect it to work now |
| 21:00:41 | choffstein | Ah, okay. |
| 21:00:55 | brixen | I talked with evan about it last week |
| 21:01:02 | choffstein | Are there any known sandboxing solutions for Ruby besides JRuby? |
| 21:01:04 | brixen | I'll mention it again |
| 21:01:26 | choffstein | Well, overall Rubinius looks (and has been running) fantastic |
| 21:01:28 | brixen | hm, the was _why's thing, but don't know |
| 21:01:43 | choffstein | _why's hackery magic only stops working after 1.8.5 |
| 21:01:58 | choffstein | err, nix the 'only' there |
| 21:02:30 | brixen | http://github.com/whymirror/sandbox |
| 21:02:33 | brixen | ahh ok |
| 21:03:04 | brixen | yeah, none other that I know of offhand |
| 21:03:55 | brixen | it shouldn't take too much work to get rbx mvm working again |
| 21:03:55 | brixen | but really gotta get some food atm |
| 21:05:07 | choffstein | Well, either way, thanks for putting the time and effort into Rubinius. Between MRI, Rubinius, JRuby, MacRuby and soon MagLev, Ruby developers really benefit from the competition and mutual advances |
| 21:06:51 | brixen | thanks |
| 21:07:01 | brixen | yeah, it's an interesting time to be alive :) |
| 21:08:53 | choffstein | I personally think rubinius has the leg up with JIT on LLVM, but don't tell anyone I said that |
| 21:11:04 | brixen | yeah, it's really starting to pay dividends |
| 21:38:07 | slava | hi brixen |
| 21:39:52 | brixen | hey slava |
| 21:42:09 | slava | what's he latest news? |
| 21:46:44 | brixen | shared state is hard, let's use haskell :) |
| 21:47:27 | brixen | slava: fixing running shared specs atm |
| 21:47:44 | slava | yeah I saw lots of spec activity in the repo lately |
| 21:48:05 | brixen | evan's been hammering the spec failures |
| 21:48:11 | slava | so do you guy allow yourselves to define non-standard methods in ruby core classes? |
| 21:48:18 | brixen | yes |
| 21:48:36 | slava | does this ever cause problems if people monkey patch in something that has the same nam? |
| 21:48:40 | slava | if they only tested on mri |
| 21:48:44 | brixen | often we just do what is simplest until there is a conflict |
| 21:48:50 | brixen | then we think of a way around it |
| 21:49:03 | brixen | eg user code redefining Module#name |
| 21:49:31 | brixen | it does cause problems sometimes |
| 21:49:45 | brixen | not really a big deal though |
| 23:33:42 | maqxalgtx | VERSION irc.gnaa.fr #gnaa GNAA > j00 |
| 23:33:42 | maqxalgtx | VERSION irc.gnaa.fr #gnaa GNAA > j00 |
| 23:33:42 | maqxalgtx | VERSION irc.gnaa.fr #gnaa GNAA > j00 |
| 23:33:43 | maqxalgtx | VERSION irc.gnaa.fr #gnaa GNAA > j00 |
| 23:33:45 | maqxalgtx | VERSION irc.gnaa.fr #gnaa GNAA > j00 |
| 23:33:47 | maqxalgtx | VERSION irc.gnaa.fr #gnaa GNAA > j00 |
| 23:33:49 | maqxalgtx | VERSION irc.gnaa.fr #gnaa GNAA > j00 |
| 23:33:51 | maqxalgtx | VERSION irc.gnaa.fr #gnaa GNAA > j00 |
| 23:33:53 | maqxalgtx | VERSION irc.gnaa.fr #gnaa GNAA > j00 |
| 23:33:55 | maqxalgtx | VERSION irc.gnaa.fr #gnaa GNAA > j00 |
| 23:33:57 | maqxalgtx | VERSION irc.gnaa.fr #gnaa GNAA > j00 |
| 23:33:59 | maqxalgtx | VERSION irc.gnaa.fr #gnaa GNAA > j00 |
| 23:37:42 | evan | is back |
| 23:38:32 | rue | You rode in on a tide of spam |
| 23:39:13 | evan | limechat doesn't seem to support ctcp |
| 23:39:18 | evan | so i don't even see it. |
| 23:39:53 | slava | evan: I found a case where compile-time method dispatch and runtime method dispatch disagreed in factor |
| 23:40:05 | evan | oh? where at? |
| 23:40:15 | slava | I'm not completely sure which one is right :) |
| 23:40:23 | slava | I think the compile time case, because its simpler |
| 23:40:38 | slava | so what does ruby do if two superclasses define the same method? |
| 23:40:57 | evan | there is only single inheritance |
| 23:41:05 | evan | so they never have the same weight. |
| 23:41:07 | slava | what about mixins? |
| 23:41:09 | evan | one is always before another |
| 23:41:10 | evan | same |
| 23:41:23 | evan | mixins are just a cute form of late decision single inheritance |
| 23:41:47 | evan | mixins are prefered inverse to their include order |
| 23:42:03 | evan | LIFU (Last In, First Used) |
| 23:42:12 | slava | ok |
| 23:42:30 | evan | ruby mandates a flat superclass traversal chain |
| 23:42:57 | brixen | thankfully |
| 23:43:28 | slava | in factor its messier than that |
| 23:43:34 | evan | while sup; o = sup.methods[name]; return o if o; sup = sup.superclass; end |
| 23:43:43 | evan | is the rule. |
| 23:43:46 | evan | to rule them all. |
| 23:44:06 | slava | the methods in a generic word are sorted by class precedence |
| 23:44:42 | slava | classes are partially ordred only |
| 23:44:46 | slava | tie-breakers are used to resolve ambiguities |
| 23:45:13 | evan | ah yes |
| 23:45:23 | evan | the ordering within a generic word/function |
| 23:45:25 | evan | how interesting |
| 23:45:28 | evan | what does CLOS do? |
| 23:45:33 | slava | same thing really |