Show enters and exits. Hide enters and exits.
| 00:02:02 | evan | brixen: http://bridgerbowl.com/snowreport/ |
| 00:02:06 | evan | looks chilly! |
| 00:02:12 | evan | thats where we're likely go skiing over the holidays |
| 00:03:07 | brixen | sweet |
| 00:03:44 | brixen | yeah, this weather in pdx is crazy... it's usually 18-24 deg F 6000+ ft up mt hood |
| 00:03:55 | brixen | I'm just glad we're not covered in snow |
| 00:04:31 | evan | yeah |
| 00:13:08 | slava | evan: so why did you change your name? :) |
| 00:13:28 | evan | got married |
| 00:13:34 | evan | abby and I wanted the same last name |
| 00:13:41 | evan | but neither wanted the other to take their name |
| 00:13:45 | slava | heh |
| 00:13:47 | evan | and no name combo worked |
| 00:13:52 | evan | so we just came up with a new one. |
| 12:55:31 | khaase | anybody came up with a fancy name for the vm, yet? |
| 15:15:23 | rue | vm |
| 15:16:21 | rue | Clever names are passé |
| 15:57:09 | jammi | you have to have serious naming especially, if you are doing serious business. |
| 17:13:45 | brixen | morning |
| 17:22:16 | evan | morning. |
| 17:23:15 | BrianRice-work | howdy |
| 17:27:33 | evan | hows everyone this morning? |
| 17:28:34 | BrianRice-work | recovering from the morning motorcycle ride while I optimize perl code ;) |
| 17:28:43 | evan | fun! |
| 17:28:44 | evan | :/ |
| 17:28:55 | evan | it's been so long since I wrote perl code |
| 17:28:57 | BrianRice-work | I must say, I'm suitably impressed by the simplicity of rbc |
| 17:29:04 | evan | i wonder what people write these days |
| 17:29:09 | evan | BrianRice-work: thanks1 |
| 17:29:10 | evan | ! |
| 17:29:34 | BrianRice-work | usually, "fasl"s are a bit more complicated, and not human-readable |
| 17:29:46 | evan | yeah |
| 17:29:56 | evan | an older rbc format was all binary-y |
| 17:30:06 | evan | but it didn't help anything |
| 17:30:12 | evan | so at one point, I just converted it over. |
| 17:30:14 | BrianRice-work | what I had previously considered was treating each file as an anonymous block, and then serializing the compiled object that represented that |
| 17:30:24 | evan | thats pretty much what ours are |
| 17:30:30 | evan | a file is a method |
| 17:30:44 | evan | and every code section is a method |
| 17:30:52 | BrianRice-work | oh, good. I had wondered about it, but couldn't see a real indicator one way or another |
| 17:31:00 | evan | and one method can refer to another method in it's literals |
| 17:31:08 | evan | so it's a tree of methods |
| 17:31:11 | BrianRice-work | hm, good |
| 17:31:24 | BrianRice-work | and they're real closures, of course |
| 17:31:31 | evan | not all of them are |
| 17:31:36 | evan | only the ones that are closures :D |
| 17:31:46 | BrianRice-work | ok. well, that's not a big deal to me |
| 17:31:55 | BrianRice-work | (our methods are "installed closures") |
| 17:31:57 | evan | they're actually the raw method |
| 17:32:05 | evan | the static part |
| 17:32:10 | BrianRice-work | ok |
| 17:32:13 | evan | so, for instance, when you want to run a class body |
| 17:32:16 | evan | you create the class |
| 17:32:22 | evan | then do something like |
| 17:32:33 | BrianRice-work | oh yeah, what about the context of a file? as in, maybe what namespace/object it gets loaded into? |
| 17:32:33 | evan | <class is on stack> |
| 17:32:35 | evan | push_literal 1 |
| 17:32:42 | evan | send :add_method, 1 |
| 17:32:48 | evan | send :__class_body__, 0 |
| 17:33:00 | evan | the push_literal pushes a CompiledMethod on the stack |
| 17:33:07 | BrianRice-work | ok |
| 17:33:34 | evan | and add_method adds takes it and puts it into the classes metaclass' methodtable as __class_body__ |
| 17:33:40 | evan | then we send __class_body__ to execute it. |
| 17:33:52 | evan | that eliminates class bodies as a special case. |
| 17:33:55 | BrianRice-work | hm |
| 17:34:29 | BrianRice-work | ruby's idea of the class body is something I've noticed but never quite grasped as a language idea |
| 17:34:44 | BrianRice-work | maybe because of the space I think in. |
| 17:34:47 | evan | it's just a method |
| 17:34:52 | evan | thats the truth |
| 17:35:06 | BrianRice-work | oh yeah, I understand how it works |
| 17:35:08 | evan | with some sugar for creating and sending it |
| 17:35:15 | BrianRice-work | k |
| 17:35:16 | evan | no, i mean idea wise too. |
| 17:35:24 | evan | self in a class body is the class itself |
| 17:35:33 | BrianRice-work | hmmm ok |
| 17:35:35 | evan | so it truely is like just having a class method and calling it |
| 17:36:04 | BrianRice-work | and that's considered maybe a setup/initialize method? |
| 17:36:20 | evan | yeah |
| 17:36:38 | evan | an anonymous setup method |
| 17:36:41 | BrianRice-work | I see. |
| 17:36:45 | evan | because of open classes |
| 17:36:48 | evan | you can have many of them though |
| 17:36:53 | evan | so they're not singular |
| 17:37:06 | evan | but thats why being anonymous matters |
| 17:37:16 | evan | because you don't need to figure out a good name |
| 17:37:17 | BrianRice-work | ok. I'll give that concept some thought. maybe Slate would be better with something like that. |
| 17:37:42 | evan | being a method means that class setup is dynamic |
| 17:37:49 | evan | so things like method addition can be conditional |
| 17:38:06 | evan | and it provides a feature that rails uses a lot |
| 17:38:19 | evan | namely the ability to call methods on the class in the class body without a reciever |
| 17:38:27 | evan | which makes them look like directives |
| 17:38:30 | evan | class Blah |
| 17:38:33 | evan | attr_accessor :name |
| 17:38:34 | evan | end |
| 17:38:34 | BrianRice-work | ok, I've noticed that rails idiom so it's interesting to see how it links down to the actual class model |
| 17:38:35 | evan | for instance |
| 17:38:44 | evan | attr_accessor is just a method on Class |
| 17:39:22 | evan | one of the nicest things about ruby is the unified model |
| 17:39:25 | evan | everything is an object |
| 17:39:27 | evan | and everywhere is a method. |
| 17:39:36 | BrianRice-work | yeah yeah ;) |
| 17:39:55 | BrianRice-work | "everywhere is a method" is the interesting bit |
| 17:40:01 | evan | yep |
| 17:40:18 | evan | without than effect |
| 17:40:21 | BrianRice-work | for us, we have namespaces-as-scopes, too |
| 17:40:25 | evan | you get things like python's class bodies |
| 17:40:30 | evan | which require a whole special set of rules |
| 17:40:33 | evan | to reason about |
| 17:40:35 | BrianRice-work | where namespaces are just objects, sometimes with non-generic features |
| 17:41:13 | BrianRice-work | the smalltalk/slate equivalent of this is that each class/type has a "definition source" |
| 17:41:23 | BrianRice-work | as well as a class-side initialize method |
| 17:41:40 | evan | sure |
| 17:41:48 | evan | smalltalk suffers a bit in this regard imho |
| 17:41:54 | BrianRice-work | I'm not pitching, just comparing |
| 17:41:57 | evan | but because you build everything in the image |
| 17:42:01 | evan | you don't hit it often. |
| 17:42:06 | BrianRice-work | right |
| 17:42:09 | evan | because you rarely are building a class more than once. |
| 17:44:27 | BrianRice-work | well, we'll see if I do something in this direction. I'm still starting with the rbc concept translation |
| 17:45:30 | BrianRice-work | my goal right now is to make slate really easy to work with. which often does not require heavy engineering work, just good usability decisions and solving performance problems the "lazy way" |
| 17:46:00 | BrianRice-work | anyway, time to focus heavily on work. thanks for the discussion. |
| 17:47:17 | evan | BrianRice-work: np |
| 17:47:22 | evan | have fun with the perl! |
| 18:17:22 | evan | brixen: thoughts on the failing spec? |
| 18:17:25 | evan | should I tag it? |
| 18:19:41 | evan | ok, tagging. |
| 18:21:47 | brixen | I tag first and ask questions later :) |
| 18:22:00 | evan | i thought i should give it 30 seconds of my time |
| 18:22:01 | brixen | which spec is it |
| 18:22:02 | evan | to try and fix it |
| 18:22:06 | evan | clock starts... NOW |
| 18:22:08 | brixen | sure |
| 18:22:09 | brixen | heh |
| 18:22:19 | brixen | 29..28..27.. |
| 18:23:22 | evan | it appears to actually be an unpack failure |
| 18:26:00 | evan | it's sad, but the unpack code makes me wanna punch myself in the head |
| 18:28:25 | brixen | yeah, that is some... fun code |
| 18:28:48 | evan | and it feels complicated just to be complicated. |
| 18:28:51 | evan | which kills me. |
| 18:28:56 | brixen | yeah |
| 19:33:17 | boyscout | Fixed Regexp#named_captures to return an empty hash when there are - f4fa1c3 - Joshua Peek |
| 19:33:17 | boyscout | Work around String#unpack bug - 4871531 - Evan Phoenix |
| 19:33:17 | boyscout | Add DISABLE_SEGV var so CrashReporter can be used - 315d289 - Evan Phoenix |
| 19:33:17 | boyscout | Add zsuper instruction to fix super bugs - 2f768b8 - Evan Phoenix |
| 19:33:17 | boyscout | Uncomment super-in-define_method - 625fa6a - Evan Phoenix |
| 19:33:17 | boyscout | Update tags on super - 76b8de3 - Evan Phoenix |
| 19:33:18 | evan | huzzah. |
| 19:33:19 | boyscout | Fix JIT zsuper scope bug - 91554cf - Evan Phoenix |
| 19:33:31 | rue | Well, on the upside you can use it to convince Big Serious people |
| 19:33:31 | evan | zsuper. |
| 19:33:53 | rue | ZSUPAAH! |
| 19:35:02 | evan | heh |
| 19:36:55 | brixen | heh |
| 19:40:07 | boyscout | CI: Build 91554cf failed. http://ci.rubini.us/rubinius/builds/91554cfb04fed85d33db5deffd8ae57bbda724b3 |
| 19:40:34 | evan | wtf. |
| 19:40:35 | evan | ack. |
| 19:40:39 | evan | need a kernel clean |
| 19:40:49 | evan | because CM's for blocks didn't have the right arg info. |
| 19:45:54 | boyscout | CI: 91554cf success. 3018 files, 11552 examples, 35628 expectations, 0 failures, 0 errors |
| 19:46:07 | evan | :-{D |
| 19:46:14 | evan | thats my smiling big with a mustache. |
| 19:46:14 | brixen | heh |
| 19:46:17 | brixen | yeah |
| 19:46:20 | evan | s/my/me/ |
| 19:46:44 | brixen | a big toothy grin with hair |
| 19:47:54 | evan | yep! |
| 19:48:02 | evan | so, i'm finally making our method_missing smarter |
| 19:48:16 | evan | ie, the ability to report what why it was missing |
| 19:48:25 | evan | no superclass method, private/protected, etc. |
| 19:48:32 | brixen | nice |
| 19:52:21 | evan | i'm also fixing the case where even method_missing is not available |
| 19:52:25 | evan | by raising an exception |
| 19:52:27 | brixen | full compiling CI run in 80sec is awesome |
| 19:52:35 | evan | very awesome |
| 19:52:41 | evan | i had a precompiled run at 41s today |
| 19:52:46 | brixen | wow |
| 19:52:46 | evan | lowest it's been in a while |
| 19:52:54 | brixen | that is very cool |
| 19:54:07 | brixen | I just got 44 but I have a few things running |
| 19:54:20 | brixen | that's down from a pretty consistent 50s before |
| 19:54:21 | brixen | sweet |
| 19:58:03 | evan | yep! |
| 19:58:06 | evan | we're hummin' along. |
| 20:00:13 | slava | what changed? |
| 20:01:20 | evan | fixes here and there |
| 20:11:10 | evan | ug. |
| 20:11:16 | evan | this stupid Time.now spec keeps failing |
| 20:11:40 | brixen | is it the one expecting a value within like 1 second? |
| 20:11:44 | evan | yeah |
| 20:11:51 | brixen | yeah, VVSiz changed that to 2 |
| 20:11:54 | evan | and the values it reports ARE off by 1 |
| 20:11:55 | brixen | but after I synced |
| 20:11:57 | brixen | yeah |
| 20:12:00 | evan | so it should pass. |
| 20:12:26 | brixen | I'm syncing again as soon as I finish these dir specs fixups |
| 20:12:30 | brixen | I'll check it |
| 20:12:43 | evan | k |
| 20:29:30 | boyscout | Add Rubinius.method_missing_reason, improve method_missing exception - 8745b10 - Evan Phoenix |
| 20:29:30 | boyscout | Update language tags - f1b9827 - Evan Phoenix |
| 20:33:22 | evan | method_missing_reason isn't cleared |
| 20:33:32 | evan | so it's only really valid to check it inside method_missing itself |
| 20:33:37 | evan | which is fine |
| 20:37:01 | boyscout | CI: f1b9827 success. 3018 files, 11557 examples, 35634 expectations, 0 failures, 0 errors |
| 22:28:36 | rue | Hah, the latest -core e-mail is priceless. |
| 22:30:28 | rue | I was *this* close to sending a kind note letting him know he forgot to attach his patch but Matz said we have to be nice... |
| 22:45:05 | dwaite | rue: that doesn't look like a GC problem to me |
| 22:45:20 | dwaite | and whats the point of working on open source projects if you have to be nice? |
| 22:55:49 | evan | I ask myself that same question sometimes. |
| 22:55:54 | evan | KIDDING |
| 23:04:44 | evan | oooh |
| 23:04:47 | evan | ubuntu has gdb 7.0 |
| 23:04:56 | evan | i wonder if i can debug in reverse with it by default |
| 23:19:44 | seydar | i spell w3rd with a 3; name's MC |
| 23:21:15 | brixen | sup seydar?! |
| 23:25:41 | seydar | not much |
| 23:25:49 | seydar | but you haven't been helping me out so much with math |
| 23:26:03 | seydar | i've been putting your name on my math hw and rue's name on my math projects |
| 23:26:14 | seydar | and my math hws are kinda hurting my grade |
| 23:26:28 | seydar | but my math projects are doing really well |
| 23:26:56 | seydar | also, rumor has it it's your birthday soon, brixen! |
| 23:27:51 | brixen | seydar: that's a nasty rumor |
| 23:28:01 | brixen | don't believe everything you read on Facebook :$ |
| 23:29:03 | evan | brixen: does your MBP screen flash ever? |
| 23:29:04 | seydar | who said i got this from facebook? i called your gf herself |
| 23:29:11 | rue | s/believe everything you read on/read/ |
| 23:30:00 | seydar | i'd like my last statement to be rescinded from the record for excessive creepiness |
| 23:30:05 | brixen | seydar: heh, I don't have a gf, so she was lying to you |
| 23:30:11 | brixen | evan: not typically, no |
| 23:30:18 | evan | mine started |
| 23:30:19 | brixen | can't think of a time it did |
| 23:30:22 | brixen | hmm |
| 23:30:40 | evan | ok, i was curious. |
| 23:32:05 | rue | evan: No, you should see a doctor |
| 23:32:18 | evan | um oh. |
| 23:32:44 | evan | maybe i've got screenflashyits |
| 23:32:54 | brixen | heh, or a loose connection |
| 23:57:41 | dwaite | when is rc2 due? |