Show enters and exits. Hide enters and exits.
| 00:00:09 | rubuildius_amd64 | Eric Hodel: 92cf26374; 1840 files, 6238 examples, 22073 expectations, 0 failures, 0 errors; http://rafb.net/p/KQPMjR57.html |
| 00:03:43 | hoopy enters the room. | |
| 00:04:11 | sofal enters the room. | |
| 00:06:27 | rubuildius_ppc | Eric Hodel: 92cf26374; 1840 files, 6241 examples, 22102 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/172279 |
| 00:20:22 | rue | Nice slides for both |
| 00:23:25 | bitbang enters the room. | |
| 00:25:13 | boyscout | 1 commit by Michael S. Klishin |
| 00:25:14 | boyscout | * Tag new spec for ensure as failing; f6e698f |
| 00:25:29 | antares | oops |
| 00:25:41 | antares | a missing commit applied with git am -s, hm |
| 00:26:35 | antares | ah no it's in |
| 00:29:27 | NoKarma leaves the room. | |
| 00:33:26 | antares | djwhitt: how often does rubildius check for new commits in master? |
| 00:33:33 | djwhitt | every 5 minutes |
| 00:34:14 | djwhitt | it's running the specs right now |
| 00:34:18 | antares | djwhitt: ok I am waiting for CI run results :) |
| 00:34:20 | antares | thanks |
| 00:34:23 | djwhitt | should be done in about a minute |
| 00:34:26 | antares | I am about to do another push |
| 00:34:41 | djwhitt | yeah, don't break anything now, you'll be shamed on the mailing list ;) |
| 00:34:43 | boyscout | 2 commits by Hongli Lai |
| 00:34:43 | boyscout | * Spec: Marshal raises EOFError on loading an empty file; 204d8ce |
| 00:34:45 | boyscout | * Fix for spec: Marshal.load raises EOFError on loading an empty file; f673321 |
| 00:35:07 | rubuildius_amd64 | Michael S. Klishin: f6e698f96; 1840 files, 6238 examples, 22073 expectations, 0 failures, 0 errors; http://rafb.net/p/R5nMGk18.html |
| 00:35:45 | rue | Hrm, has anyone noticed issues with mspec not recompiling? |
| 00:35:59 | antares | rue: I did not |
| 00:40:25 | antares | rue: what's the bonus field of CompiledMethod? |
| 00:42:16 | rue | Apart from the most obtuse field name in the history? |
| 00:42:33 | twbray leaves the room. | |
| 00:42:36 | rue | It contains the metadata, mainly |
| 00:45:07 | rubuildius_amd64 | Hongli Lai: 204d8ce1a; 1840 files, 6239 examples, 22074 expectations, 0 failures, 0 errors; http://rafb.net/p/63vM3s67.html |
| 00:47:22 | rubuildius_ppc | Hongli Lai: 204d8ce1a; 1840 files, 6242 examples, 22103 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/172297 |
| 00:47:23 | rubuildius_ppc | Michael S. Klishin: f6e698f96; 1840 files, 6241 examples, 22102 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/172296 |
| 00:50:52 | antares | rue: I don't quite get what you're saying :) |
| 00:51:06 | antares | rue: you mean you have no clue I guess? |
| 00:52:20 | dkubb leaves the room. | |
| 00:52:48 | wayneeseguin enters the room. | |
| 00:53:43 | wayneeseguin_ enters the room. | |
| 00:57:32 | rue | antares: Metadata, argument names at least |
| 00:57:51 | rue | I dunno if agardiner has added anything new |
| 00:57:56 | antares | rue: ok thanks |
| 00:58:06 | antares | rue: I am documenting stuff in compiled_method.rb |
| 00:59:55 | rue | My understanding is that the idea is to just have that field kind of like a pointer so metadata can be added without having to modify CM itself |
| 01:05:03 | cored enters the room. | |
| 01:05:57 | jartz leaves the room. | |
| 01:07:08 | antares | rue: rbx running as irb helps a lot ;) |
| 01:07:08 | GMFlash leaves the room. | |
| 01:08:41 | rue | I dun trust irb--but there is a bunch of reflection you can do definitely |
| 01:09:43 | wayneeseguin leaves the room. | |
| 01:14:34 | AndrewO leaves the room. | |
| 01:17:40 | GMFlash enters the room. | |
| 01:21:39 | sofal leaves the room. | |
| 01:25:57 | lopex enters the room. | |
| 01:26:50 | tmornini enters the room. | |
| 01:28:04 | Defiler | 'bonus' is meant to hold a tuple of local variable names, and was added to support eval |
| 01:28:25 | antares | Defiler: thanks |
| 01:28:26 | Defiler | eval has changed a lot since then, though, so I would need to check the code to see if it is really used |
| 01:28:46 | Defiler | nobody could think of a name for it, because it was meant to hold other kinds of metadata as needed |
| 01:28:53 | Defiler | So it got called 'bonus' |
| 01:29:17 | rue | What the f.. this fastri backtrace comes from a file that does not exist |
| 01:29:38 | rue | I am not sure why "metadata" was rejected :D |
| 01:30:13 | tmornini | Hey all. |
| 01:30:22 | d2dchat leaves the room. | |
| 01:32:02 | Defiler | rue: Nobody suggested it |
| 01:32:31 | Defiler | Kids these days.. always second-guessing our decisions :) |
| 01:34:50 | antares | tmornini: hi there |
| 01:35:19 | antares | Defiler: ho-ho :) |
| 01:35:37 | rue | Halo, tmornini |
| 01:35:54 | tmornini | Hey. |
| 01:36:23 | tmornini | Who knows how method dispatch caching works? |
| 01:37:15 | rue | How much detail do you need? I have not looked at the SendSite stuff (which replaced the original) |
| 01:38:09 | Defiler | tmornini: Every 'send' gets a SendSite instance, which by default has a NULL in the 'real compiled method object to invoke' field |
| 01:38:44 | Defiler | tmornini: When the VM runs into a sendsite that looks like that, it does the method lookup junk, and shoves it into the sendsite |
| 01:39:07 | kw leaves the room. | |
| 01:39:13 | tarcieri | /cl |
| 01:39:19 | tarcieri | geh :( |
| 01:39:33 | mark___ enters the room. | |
| 01:39:44 | Defiler | When a method is replaced/redefined/etc, it clears out the field from all the sendsites that need to be updated |
| 01:43:09 | Defiler | evan likes rewriting huge chunks of the code all the time, so some of that might be outdated.. but I believe it was correct as of a couple weeks ago |
| 01:43:41 | Defiler | The previous way did it in 'reverse'.. as in, there was a big method cache table that got cleared when things were redefined |
| 01:44:04 | Defiler | This way is a lot simpler, as far as I can tell.. though I can't say the sendsite 'specialization' methods are the most readable in the whole project |
| 01:45:02 | tmornini | Defiler: thanks! |
| 01:45:11 | Defiler | de nada |
| 01:45:47 | tmornini | Do you know where this code actually lives? |
| 01:46:02 | Defiler | Yeah |
| 01:46:04 | tmornini | I would appear to be in selector.c |
| 01:46:14 | tmornini | Line 26 |
| 01:46:16 | Defiler | cpu_instructions.c contains most of it |
| 01:46:23 | tmornini | sel = lookuptable_fetch(state, state->global->selectors, name); |
| 01:46:53 | antares | tmorini: basics are at http://betterruby.wordpress.com/2008/03/19/how-rubinius-sendsites-work-part-1/ |
| 01:47:07 | tmornini | antares: Read that last night. |
| 01:47:15 | tmornini | :-) |
| 01:47:24 | Defiler | ..but yeah, selector.c is the code that connects send sites and the results of lookups |
| 01:47:39 | antares | tmorini: write part 2 when you are familiar with it from the inside ;) |
| 01:48:21 | Defiler | selector_lookup is the function that is generally shoved into the lookup field of the sendsite |
| 01:48:24 | Defiler | As I recall |
| 01:48:47 | mark___ leaves the room. | |
| 01:49:20 | tmornini | cool. |
| 01:49:56 | antares | Defiler: is opcode of Instruction the actual integer? |
| 01:50:13 | antares | I can't dig to it from the iseq in irb (rbx) |
| 01:50:48 | Defiler | No, it's this crazy OpCode instnace |
| 01:51:00 | antares | Defiler, let me find it |
| 01:51:06 | Defiler | I don't know why it was added, but I can't say I'm much of a fan |
| 01:51:49 | antares | Defiler: where does it live? rak can't find OptCode in kernel/ |
| 01:53:14 | Defiler | kernel/core/iseq.rb |
| 01:53:19 | binary42 enters the room. | |
| 01:53:21 | Defiler | class OpCode etc etc |
| 01:53:33 | rue | The actual code is a big-endian 4-byte integer |
| 01:55:06 | rue | But the number it represents is just the index in the OpCodes array |
| 01:55:31 | mark__ leaves the room. | |
| 01:55:37 | rue | Or vice versa |
| 01:55:40 | mark__ enters the room. | |
| 01:55:56 | wycats enters the room. | |
| 01:57:35 | crafterm leaves the room. | |
| 01:59:30 | antares | Defiler, thanks |
| 02:00:17 | Defiler | no problem |
| 02:01:07 | binary42 leaves the room. | |
| 02:01:26 | binary42 enters the room. | |
| 02:01:37 | tmornini | How about lookuptable? Is there one giant lookup table per VM? |
| 02:01:46 | rue | Hum, I suppose segfaulting specs should be tagged |
| 02:01:54 | rue | LookupTable is a simplified Hash |
| 02:02:10 | tmornini | I see references to lookuptable_(fetch|store) |
| 02:02:13 | binary42 leaves the room. | |
| 02:02:29 | binary42 enters the room. | |
| 02:02:38 | tmornini | all over the place. How is the key space separated? |
| 02:04:32 | rue | They are handled as objects, second argument should be 'self' |
| 02:08:30 | Defiler | tmornini: LookupTable is basically just Hash, but without all the support for fancy arguments |
| 02:08:36 | Defiler | tmornini: ..and I believe the keys have to be symbols |
| 02:08:40 | nemerle enters the room. | |
| 02:08:44 | rue | Dunno if/how that is being used in the cache though |
| 02:08:53 | tmornini | Defiler: thanks! |
| 02:08:56 | Defiler | It is, yeah |
| 02:09:18 | Defiler | the selector_* functions fetch and store from the 'selectors' lookup table |
| 02:09:41 | Defiler | which is a: state->global->selectors = lookuptable_new(state); |
| 02:09:44 | srbaker leaves the room. | |
| 02:11:38 | cored leaves the room. | |
| 02:12:04 | tmornini | Defiler: Thanks! |
| 02:12:23 | tmornini | Do you know immediately what a "state" is? |
| 02:12:25 | tarcieri | *boggle* |
| 02:12:37 | antares | Defiler: we need you blogging about Rubinius internals :) |
| 02:12:44 | tarcieri | I thought Rubinius's Object.const_get allowed you to do like... |
| 02:12:46 | antares | Defiler: I mean *world* needs you :) |
| 02:12:49 | tarcieri | Object.const_get "::MyConstant" |
| 02:13:00 | tarcieri | no? |
| 02:13:15 | Defiler | tmornini: It is an object that is passed around on a per-VM basis |
| 02:13:30 | Defiler | tmornini: it's the first argument to every function that needs to 'look into' the VM state |
| 02:13:34 | drbrain | tarcieri: try const_lookup |
| 02:13:41 | drbrain | tarcieri: we made const_get match MRI |
| 02:13:49 | tmornini | Ok, that's what I was beginning to think. |
| 02:13:51 | rue | Interesting behaviour in FFI |
| 02:14:02 | tarcieri | drbrain: aah, ok |
| 02:14:16 | tarcieri | drbrain: so const_lookup will check the root namespace? |
| 02:14:17 | antares | tarcieri: MRI does not allow usage of ::Object instead of Object for const_get |
| 02:14:32 | tarcieri | antares: yeah |
| 02:14:43 | drbrain | tarcieri: I don't remember |
| 02:14:46 | Defiler | tmornini: see struct rubinius_state in shotgun/lib/state.h |
| 02:15:11 | Defiler | tmornini: Doesn't hold much, but a pointer to the current stack is one of those things |
| 02:16:37 | rue | tarcieri: const_lookup should allow all types of "Class::Blah" and so on |
| 02:16:46 | tarcieri | ok, awesome |
| 02:16:54 | tarcieri | is effectively trying to implement apply() :/ |
| 02:17:26 | tarcieri | all right, I made my spec fail instead of hang again |
| 02:17:27 | tarcieri | heh |
| 02:17:56 | antares | tarcieri: now the hardest part:) |
| 02:19:14 | tarcieri | heh |
| 02:20:02 | tmornini | Defiler: Does the code selector.c:26 i.e. selector_lookup look like a monomorphic cache to you? :-) |
| 02:20:54 | Defiler | It is, but it is called per-SendSite, so that is worth keeping in mind |
| 02:22:10 | tmornini | OK, so I'm not far off. Weird thing is that removing the cache doesn't slow things down much. :-) |
| 02:22:11 | Defiler | but I agree that the current implementation is a simple one |
| 02:22:14 | pate enters the room. | |
| 02:22:26 | pate | rue, you about? |
| 02:22:49 | Defiler | tmornini: check out cpu_instructions.c and search for the word 'specialization' |
| 02:22:59 | Defiler | tmornini: To see where the rubber meets the road |
| 02:23:02 | tmornini | Will do |
| 02:23:47 | jtoy enters the room. | |
| 02:24:44 | VVSiz_ enters the room. | |
| 02:25:05 | mark__ leaves the room. | |
| 02:25:09 | rue | pate: In and out, what is up? |
| 02:25:17 | rue | Conf going smoothly? |
| 02:25:32 | pate | very, thanks |
| 02:25:35 | tarcieri | urgh, I need Rubinius::VM.fork |
| 02:25:44 | pate | so, we've got a mod_rubinius proposal for GSoC |
| 02:26:02 | pate | I don't really feel like I can evaluate it though |
| 02:26:04 | nemerle_afk leaves the room. | |
| 02:26:46 | tarcieri | w00t! |
| 02:26:49 | tarcieri | spec passes! |
| 02:26:50 | pate | rue, have you talked w/ Chiyuan Zhang at all? |
| 02:27:06 | rue | pate: Yeah, he sent me a copy of his proposal |
| 02:27:14 | pate | ok. |
| 02:27:16 | tarcieri | may have found an MRI incompatibility too |
| 02:27:55 | pate | if you're interested in mentoring it/him, you'll need to sign up. If you're not, I'd still like to hear your feedback |
| 02:28:15 | tarcieri | nope |
| 02:28:17 | tarcieri | crazy |
| 02:28:19 | pate | feel free to email me about it if that's better |
| 02:28:32 | pate | (probably better than reviewing the proposal in public) |
| 02:29:15 | rue | pate: Yep, I will send a mail |
| 02:29:22 | pate | thanks |
| 02:30:28 | obvio171_ enters the room. | |
| 02:31:12 | srbaker enters the room. | |
| 02:31:16 | tmornini | Defiler: were you pointing out the SS_DISABLE stuff? |
| 02:31:26 | tmornini | Or just dispatch in general? |
| 02:31:41 | Defiler | Not exactly, just the way the dispatch code manipulates the sendsite |
| 02:31:45 | wmoxam enters the room. | |
| 02:32:03 | brixen | tmornini: hey, did you get my email re justin? |
| 02:32:44 | boyscout | 3 commits by Brian Ford |
| 02:32:45 | boyscout | * Added CType#isctrl, #toprint. Rework String#inspect, #dump.; 6774123 |
| 02:32:46 | boyscout | * Reworked String#each and #sum. Added String#modified? and specs.; 87ba991 |
| 02:32:47 | boyscout | * Replace bm_string and scale all benches to approx same magnitude.; 8a8c7ab |
| 02:33:44 | tmornini | brixen: Hello. No, I'm assiduously avoiding email this weekend. |
| 02:33:46 | tmornini | :-) |
| 02:33:51 | tarcieri | wow, I think I actually have a patch to submit now :) |
| 02:33:56 | brixen | tmornini: heh ok |
| 02:34:01 | tmornini | tarcieri: Congrats! |
| 02:34:46 | rue | brixen: Eew, #ctrl? ;) |
| 02:34:58 | tarcieri | I need to uhh, write comments and stuff |
| 02:35:05 | wayneeseguin leaves the room. | |
| 02:35:22 | Defiler | What, you don't write your comments first and then look surprised when the code doesn't do anything? |
| 02:35:30 | Defiler | You are not practicing CDD |
| 02:35:30 | tarcieri | heh |
| 02:35:41 | wycats | Conference-Driven-Development? |
| 02:35:48 | tarcieri | Hahahaha |
| 02:35:49 | Defiler | That too |
| 02:35:52 | wycats | lol |
| 02:35:56 | tarcieri | It most certainly is CDD in that regard :) |
| 02:36:11 | antares | Defiler: Instruction#agrs returns arguments or local variables? Specs of #decode methods name it "local variable names" :\ |
| 02:36:47 | Defiler | antares: There are a lot of things called 'args' these days, sadly |
| 02:37:14 | Defiler | One of which might refer to the arguments to an instruction |
| 02:37:21 | Defiler | e.g. send :foo, 1 |
| 02:37:41 | Defiler | In the compiler, args returns something relevant for the node type |
| 02:38:31 | Defiler | In the OpCodes thing, args contains the types (to be guarded for) for the various opcodes |
| 02:38:46 | fbuilesv enters the room. | |
| 02:38:47 | Defiler | e.g. push_int says it needs an int as a single argument |
| 02:38:53 | obiejuan leaves the room. | |
| 02:39:52 | Defiler | I assume you are talking about the Instruction class in kernel/core/compiled_method.rb, though? |
| 02:40:15 | rubuildius_amd64 | Brian Ford: 677412353; 1843 files, 6251 examples, 22308 expectations, 0 failures, 0 errors; http://rafb.net/p/4V1S6p55.html |
| 02:40:15 | antares | Defiler: right |
| 02:40:33 | antares | fbuilesv: hey ;) |
| 02:41:23 | Defiler | In that case, it is the argument list for that instruction |
| 02:41:32 | Defiler | (I believe.. I don't know who wrote this code or when) |
| 02:42:10 | Defiler | I don't think 'Instruction' is an implementation class |
| 02:42:40 | Defiler | I think it's just a helper for decode |
| 02:42:47 | VVSiz leaves the room. | |
| 02:43:12 | Defiler | The fact that this was necessary/wise shows me that our compiler isn't factored correctly, though |
| 02:43:53 | twbray enters the room. | |
| 02:45:44 | rubuildius_ppc | Brian Ford: 677412353; 1843 files, 6254 examples, 22337 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/172323 |
| 02:47:33 | obvio171 leaves the room. | |
| 02:47:41 | antares | Defiler: thanks for the help |
| 02:48:23 | antares | ok, gotta have some sleep now:) |
| 02:48:31 | antares leaves the room. | |
| 02:49:43 | sudoer enters the room. | |
| 02:49:50 | sudoer leaves the room. | |
| 02:52:13 | aotearoa enters the room. | |
| 02:54:44 | sofal enters the room. | |
| 02:56:15 | twbray leaves the room. | |
| 02:58:23 | obvio171 enters the room. | |
| 02:59:42 | obvio171_ leaves the room. | |
| 03:02:30 | fbuilesv leaves the room. | |
| 03:07:09 | sudoer enters the room. | |
| 03:08:53 | webmat leaves the room. | |
| 03:13:51 | rue | Defiler: Should probably come up with more distinctive names to simplify |
| 03:14:25 | rue | Defiler: Although I think the rationale for the current layout is the 'self-documenting' idea |
| 03:15:13 | binary42 leaves the room. | |
| 03:17:24 | pate leaves the room. | |
| 03:17:30 | wycats | evan: there's no way in MRI to hook into modification of an ivar, right? |
| 03:17:55 | obiejuan enters the room. | |
| 03:18:11 | rue | Damn, VMWare /really/ wants to keep me out |
| 03:18:31 | rue | wycats: Apart from set_trace no |
| 03:18:58 | wycats | set_trace from ruby-prof? |
| 03:19:38 | jtoy leaves the room. | |
| 03:20:38 | rue | set_trace_func |
| 03:21:14 | fbuilesv enters the room. | |
| 03:21:56 | rue | Argh |
| 03:22:11 | rue | Kernel.set_trace_func ,geez |
| 03:22:26 | rue | My typinator is being funky |
| 03:22:27 | wycats | too bad you can't do @obj.set_trace_fun |
| 03:22:29 | wycats | func(* |
| 03:23:15 | hassox leaves the room. | |
| 03:23:48 | hassox enters the room. | |
| 03:24:00 | twbray enters the room. | |
| 03:26:05 | wycats | too bad you can't do something like a taint bit that would turn off if the thing was mutated |
| 03:26:08 | wycats | like a soft freeze |
| 03:28:50 | rue | Something to check if it is mutated? |
| 03:33:21 | rue | wycats: You might as well just write an interface for it. Thing is that with Ruby, you just have to trust the user to do the right thing |
| 03:34:10 | rue | Even if there was such a method, a user could go around it (probably) |
| 03:37:41 | srbaker leaves the room. | |
| 03:43:18 | binary42 enters the room. | |
| 03:43:55 | binary42 leaves the room. | |
| 03:44:26 | binary42 enters the room. | |
| 03:46:22 | ezmobius enters the room. | |
| 03:50:49 | binary42 leaves the room. | |
| 03:51:15 | binary42 enters the room. | |
| 03:52:31 | obiejuan leaves the room. | |
| 03:54:36 | rue | Hey--did anyone talk to Kevin Tew at MWRC? |
| 03:59:07 | agile enters the room. | |
| 04:00:03 | binary42 leaves the room. | |
| 04:00:30 | binary42 enters the room. | |
| 04:01:48 | drbrain | hrm, I hit some magical button that threw my chat windows to the left |
| 04:01:54 | wmoxam_ enters the room. | |
| 04:03:24 | wmoxam leaves the room. | |
| 04:03:35 | wmoxam_ enters the room. | |
| 04:04:31 | binary42_ enters the room. | |
| 04:04:32 | rue | I make a point of purchasing 102-key typinators only |
| 04:04:33 | binary42 leaves the room. | |
| 04:05:10 | drbrain | I think I only have 80-something keys |
| 04:05:46 | binary42 enters the room. | |
| 04:06:06 | binary42_ leaves the room. | |
| 04:06:39 | binary42 leaves the room. | |
| 04:07:04 | binary42 enters the room. | |
| 04:09:14 | ezmobius leaves the room. | |
| 04:11:05 | binary42 leaves the room. | |
| 04:11:14 | binary42 enters the room. | |
| 04:13:04 | headius enters the room. | |
| 04:13:17 | binary42 leaves the room. | |
| 04:13:56 | binary42 enters the room. | |
| 04:15:18 | binary42 leaves the room. | |
| 04:15:47 | binary42 enters the room. | |
| 04:17:34 | dewd enters the room. | |
| 04:19:30 | wycats | is there a way to get the current method name from inside a method in rbx? |
| 04:20:48 | drbrain | caller(0).first |
| 04:24:41 | binary42 leaves the room. | |
| 04:24:54 | binary42 enters the room. | |
| 04:26:14 | rue | wycats: MethodContext.current # => :WIN |
| 04:27:41 | kw enters the room. | |
| 04:30:42 | agile leaves the room. | |
| 04:38:34 | tarcieri | yay |
| 04:38:38 | tarcieri | submits patch! |
| 04:38:44 | tarcieri | see, I'm not all talk and no code! :) |
| 04:41:44 | twbray leaves the room. | |
| 04:46:04 | rue | Yay patches! |
| 04:47:29 | obiejuan enters the room. | |
| 04:48:30 | srbaker enters the room. | |
| 04:55:28 | binary42 leaves the room. | |
| 04:56:12 | binary42 enters the room. | |
| 05:00:49 | twbray enters the room. | |
| 05:01:57 | lopex leaves the room. | |
| 05:07:52 | ezmobius enters the room. | |
| 05:08:23 | wmoxam_ leaves the room. | |
| 05:20:50 | binary42 leaves the room. | |
| 05:21:00 | wycats leaves the room. | |
| 05:22:10 | obiejuan leaves the room. | |
| 05:22:40 | binary42 enters the room. | |
| 05:23:21 | rue leaves the room. | |
| 05:25:52 | ezmobius leaves the room. | |
| 05:31:21 | headius_ enters the room. | |
| 05:31:21 | headius leaves the room. | |
| 05:32:38 | context leaves the room. | |
| 05:32:41 | context enters the room. | |
| 05:39:45 | binary42 leaves the room. | |
| 05:40:50 | binary42 enters the room. | |
| 05:44:17 | dkubb enters the room. | |
| 05:46:00 | bitbang enters the room. | |
| 05:46:18 | TheVoice leaves the room. | |
| 05:54:14 | binary42 leaves the room. | |
| 05:54:26 | binary42 enters the room. | |
| 06:02:27 | bitbang leaves the room. | |
| 06:02:46 | binary42 leaves the room. | |
| 06:03:15 | binary42 enters the room. | |
| 06:06:20 | fbuilesv | any idea of what's Arthur Schreiber's nick in here? |
| 06:11:16 | GMFlash leaves the room. | |
| 06:11:59 | rue enters the room. | |
| 06:14:52 | headius_ enters the room. | |
| 06:14:52 | headius leaves the room. | |
| 06:22:29 | headius_ leaves the room. | |
| 06:22:35 | headius enters the room. | |
| 06:23:35 | headius leaves the room. | |
| 06:24:06 | headius enters the room. | |
| 06:28:13 | yipstar leaves the room. | |
| 06:30:32 | headius leaves the room. | |
| 06:31:00 | headius enters the room. | |
| 06:31:06 | headius leaves the room. | |
| 06:31:24 | pluskid enters the room. | |
| 06:33:12 | GMFlash enters the room. | |
| 06:35:45 | pluskid leaves the room. | |
| 06:36:33 | pmcgee enters the room. | |
| 06:39:14 | pmcgee | i just tried running rubygem's 1.0.1 setup.rb file and rubinius threw an error: |
| 06:39:17 | pmcgee | http://pastie.caboo.se/172379 |
| 06:40:01 | pmcgee | the file itself is available here: |
| 06:40:03 | pmcgee | http://pastie.caboo.se/172380 |
| 06:41:02 | pmcgee | just figured i would let you guys know |
| 06:41:39 | drbrain | pmcgee: that doesn't have anything to do with setup.rb |
| 06:41:46 | drbrain | it's loading fileutils at that point |
| 06:41:53 | drbrain | and, RubyGems 1.0.1 is already in rubininus |
| 06:41:56 | drbrain | -n |
| 06:42:12 | pmcgee | right, but i just figured i would let people know that something went awry |
| 06:42:27 | pmcgee | i don't know enough about the project to know if this is a known bug or anything |
| 06:42:38 | drbrain | can you run that mkdir command? |
| 06:42:48 | drbrain | I bet you forgot to sudo |
| 06:43:54 | pmcgee | well, sudo shouldn't be required, should it? |
| 06:44:11 | pmcgee | im installing it to path local to my account |
| 06:44:20 | drbrain | to create a directory in /usr/local/lib? |
| 06:44:25 | drbrain | no you're not |
| 06:44:48 | drbrain | you need --prefix for that |
| 06:45:05 | drbrain | by default, rubygems installs system-wide |
| 06:47:39 | pmcgee | ohh |
| 06:47:44 | pmcgee | i didn't realize that |
| 06:47:59 | pmcgee | i thought it installed to whatever the ruby "lib" directory was |
| 06:48:04 | context leaves the room. | |
| 06:48:18 | context enters the room. | |
| 06:48:24 | drbrain | by default, that's in /usr/local/lib |
| 06:48:33 | pmcgee | oh |
| 07:07:05 | ezmobius enters the room. | |
| 07:07:37 | jartz enters the room. | |
| 07:09:01 | binary42 leaves the room. | |
| 07:15:55 | jartz leaves the room. | |
| 07:26:39 | rue | Hrm, this might be bad |
| 07:27:17 | ezmobius | whats that? |
| 07:30:12 | twbray leaves the room. | |
| 07:30:30 | jartz enters the room. | |
| 07:31:10 | rue | Contents of a string are accessed through byte_address which ends up being BYTES_OF |
| 07:31:19 | rue | But it does not check size |
| 07:31:34 | ezmobius | ahh |
| 07:33:07 | dkubb leaves the room. | |
| 07:34:46 | context | rue. direct access? being \0 terminated im guessing |
| 07:34:57 | context | but doesnt check writes? :x |
| 07:35:01 | context | talks randomly |
| 07:38:58 | rue | My problem seems to be that the actual ByteArray's \0 may be in the wrong place |
| 07:39:42 | rue | String only relies on the @length, I think |
| 07:39:58 | ezmobius | buffer overflow potential? |
| 07:41:48 | Defiler | We use bstring, which has length tags, I thought |
| 07:42:59 | Defiler | http://bstring.sourceforge.net/ |
| 07:43:11 | Defiler | Yeah. it has conversions for things that expect \0, but doesn't use it itself |
| 07:43:35 | Defiler | http://bstring.cvs.sourceforge.net/*checkout*/bstring/tree/security.txt?pathrev=HEAD |
| 07:43:35 | brixen | rue: for the bytearray backing string, we do some C string functions, notably strncmp in the symbol tables |
| 07:44:15 | brixen | rue: it was doing strcmp only, but I changed it to strcmp since any ByteArray can be modified from Ruby code and then passed to that function via #to_sym |
| 07:44:18 | brixen | bad news |
| 07:44:54 | Defiler | It should be fine to use strcmp on a bstring |
| 07:44:55 | brixen | anywhere we use C string functions on ByteArray contents, we must use the 'n' versions |
| 07:45:06 | brixen | bstring is not used by String |
| 07:45:10 | brixen | a bytearray is |
| 07:46:12 | rue | Ya, the @data in a String is just a ByteArray which in turn is just a sequence of bytes `fields * field_length` long |
| 07:46:53 | Defiler | Aah. strcmp bad, then |
| 07:47:06 | brixen | yeah, I realized the potential when working on #strip and friends |
| 07:47:16 | brixen | it's pointless to rely on the \0 to be there |
| 07:47:19 | Defiler | Why don't we back String with a bstring? |
| 07:47:22 | Defiler | That seems like a mistake |
| 07:47:22 | brixen | all Strings have an explicit length |
| 07:47:41 | Defiler | bstring has a superset of ByteArray's functionality |
| 07:48:18 | brixen | a ByteArray is an OBJECT. a bstring isn't |
| 07:48:20 | rue | More baggage I suppose |
| 07:48:44 | rue | Plus the boxing/unboxing any time it is accessed, no? |
| 07:49:01 | Defiler | We have to do that either way |
| 07:49:17 | Defiler | but having a 'real' string behind the scenes would make implementing RSTRING a lot easier, right? |
| 07:49:24 | brixen | no |
| 07:49:35 | Defiler | Why not? |
| 07:49:36 | rue | I will just write a string_to_bstring() or so and make sure string_byte_address() is not being used generally |
| 07:49:38 | brixen | the issue with RSTRING is that C cannot have access to the pointer |
| 07:49:49 | Defiler | Why not? |
| 07:49:56 | brixen | because it's a moving GC |
| 07:50:04 | brixen | s/it's/we have/ |
| 07:50:21 | brixen | that's the whole point of the ID's in subtend |
| 07:50:26 | Defiler | We could add a space that things that get accessed from C extensions go into |
| 07:50:28 | brixen | or handles rather |
| 07:50:38 | brixen | yep, that's the plan |
| 07:50:51 | Defiler | I guess I'm behind the times. Heh |
| 07:50:58 | Defiler | Wait now.. |
| 07:50:58 | brixen | but when you transition back from C-land in subtend, you have to update the real objects |
| 07:51:11 | Defiler | the GC wouldn't move the bstring, since it isn't an object, right? |
| 07:51:16 | Defiler | It would just move the String that wrapped it |
| 07:51:40 | brixen | are you talking in general for String, or for subtend C ext? |
| 07:51:49 | Defiler | subtend |
| 07:52:02 | Defiler | It's a non-issue from the ruby level, right? |
| 07:52:07 | Defiler | We can back it up with anything we want |
| 07:52:24 | brixen | afaik, we don't have finalizers, so how would you GC strings then? |
| 07:52:36 | brixen | how would you know the C ext was done with them? |
| 07:53:25 | brixen | a ByteArray is a real object. I cannot see how to back String with anything but a real object |
| 07:53:31 | Defiler | Well, we are writing all these macros |
| 07:53:35 | Defiler | So we can notify ourselves |
| 07:54:03 | brixen | as I understand it, there will be a table between subtend C ext and the VM |
| 07:54:31 | brixen | when you call RSTRING macro, it copies @data and @bytes into a C struct that C functions can manipulate |
| 07:54:53 | brixen | when you switch back to the VM, that table will need to be processed to update the Ruby objects |
| 07:55:02 | brixen | otherwise you are out of sync |
| 07:55:06 | Defiler | I don't see why it needs to copy it |
| 07:55:23 | Defiler | As long as the back-end (length and data) is something that C is OK with |
| 07:55:25 | brixen | because the GC can move it while you are in Ruby land |
| 07:55:39 | Defiler | Well we have to make it not do that. :) |
| 07:55:52 | brixen | ok, well you'll have to ask evan how to do that ;) |
| 07:56:07 | brixen | doing that would require *all* Strings to be that way |
| 07:56:11 | brixen | how would GC work then? |
| 07:57:09 | brixen | the GC does not look at the C stack for pointers |
| 07:57:39 | Defiler | What's stopping us from doing that? |
| 07:57:52 | brixen | the GC moves |
| 07:58:07 | brixen | heh, I'm probably not explaining it well. you should ask evan to explain it :) |
| 07:58:15 | Defiler | I understand how the GC works |
| 07:58:24 | Defiler | I'm just saying that we control what it does. |
| 07:58:51 | Defiler | We could move things accessed by C exts to their own section of memory, and then scan the C stack for just those pointers to determine when they could go back in the 'mortal' pile |
| 07:59:37 | brixen | I don't understand how that is any easier |
| 07:59:47 | brixen | the whole "move things to their own memory" |
| 07:59:53 | brixen | that's what I'm describing |
| 08:00:00 | brixen | except that it doesn't implicate the GC |
| 08:00:11 | brixen | just the transition back to the VM context from the subtend context |
| 08:00:25 | Defiler | The other way just seems to be a lot of copying |
| 08:00:39 | Defiler | They don't really have to 'move', they just need to get tagged as 'unmovable' |
| 08:00:47 | brixen | sounds like the same amount of copying either way |
| 08:00:55 | brixen | that sounds like a read barrier |
| 08:01:01 | Defiler | Zero copying in what I am describing |
| 08:01:19 | brixen | you have to know that you cannot move this pointer |
| 08:01:30 | brixen | or you have to insulate stuff from that pointer moving |
| 08:01:36 | brixen | that's the only two ways I know of |
| 08:01:51 | Defiler | We already walk a tree to find objects to move, right? |
| 08:01:58 | Defiler | Or am I out of date |
| 08:02:01 | rue | Tee hee, Google went dark again |
| 08:02:16 | brixen | only the GC knows about those |
| 08:02:26 | Defiler | Right |
| 08:02:42 | brixen | not C code in extensions |
| 08:02:42 | Defiler | The GC just needs to know to skip anything that it has been asked to freeze for C |
| 08:02:49 | brixen | sure |
| 08:02:55 | jacen | maybe totally old news to you or not necessary - but do you know: http://talloc.samba.org/ ? |
| 08:02:58 | brixen | where do you put that info? |
| 08:03:02 | Defiler | Which is what RSTRING (say) would do before returning a pointer |
| 08:03:07 | jacen | a hierarchical pool based memory allocator |
| 08:03:19 | jacen | release the root ptr to free everything |
| 08:03:40 | brixen | Defiler: the GC has to know that. what does RSTRING do before returning a pointer the C ext can use? |
| 08:04:46 | Defiler | GC.magic_thingy_activate!(some_object) |
| 08:06:03 | brixen | and then a GC cycle comes, what does it do? |
| 08:06:36 | Defiler | It keeps walking, looking for objects, but just retains an unmodified pointer to the original location of any marked 'freeze' |
| 08:07:14 | thehcdreamer enters the room. | |
| 08:07:34 | brixen | that's a read barrier, as I understand it, because object X will move from A spece to B space, but when you access object X, you have to look in the "other" space |
| 08:07:45 | brixen | the GC needs to be written to handle that uniformly |
| 08:08:39 | brixen | and you need that info on any object that may be so handled |
| 08:09:16 | brixen | how is that simpler than a table of only those objects explicitly access via RSTRING from subtend? |
| 08:10:10 | Defiler | I don't see how it needs a read barrier or a copy/move, but I'll leave it for another time |
| 08:10:23 | Defiler | Luckily I'm not working on RSTRING :) |
| 08:10:56 | Defiler | Time for some sleep, though.. I will work on that |
| 08:11:05 | brixen | heh, ok |
| 08:12:15 | w1rele55 leaves the room. | |
| 08:14:42 | w1rele55 enters the room. | |
| 08:19:02 | dewd leaves the room. | |
| 08:22:33 | jartz leaves the room. | |
| 08:28:56 | NoKarma enters the room. | |
| 08:29:20 | NoKarma | Good Morning |
| 08:35:16 | jartz enters the room. | |
| 08:38:39 | rue | Hey |
| 08:50:47 | kw leaves the room. | |
| 09:01:43 | jartz leaves the room. | |
| 09:06:48 | aotearoa leaves the room. | |
| 09:12:49 | ezmobius leaves the room. | |
| 09:14:15 | jinjing enters the room. | |
| 09:17:40 | jartz enters the room. | |
| 09:18:39 | jinjing leaves the room. | |
| 09:23:01 | jinjing enters the room. | |
| 09:26:25 | sudoer leaves the room. | |
| 09:28:38 | crafterm enters the room. | |
| 09:29:01 | jartz leaves the room. | |
| 09:31:22 | chris2 enters the room. | |
| 09:38:27 | naeu enters the room. | |
| 09:39:53 | joachimm enters the room. | |
| 09:44:22 | jartz enters the room. | |
| 09:50:21 | qwert666 enters the room. | |
| 10:01:53 | thehcdreamer leaves the room. | |
| 10:06:58 | thehcdreamer enters the room. | |
| 10:14:44 | jinjing leaves the room. | |
| 10:15:53 | jinjing enters the room. | |
| 10:36:43 | crafterm leaves the room. | |
| 10:40:24 | NoKarma leaves the room. | |
| 11:27:24 | webmat enters the room. | |
| 11:36:31 | wycats enters the room. | |
| 11:40:01 | GMFlash leaves the room. | |
| 11:54:56 | crafterm enters the room. | |
| 11:54:56 | tmornini leaves the room. | |
| 11:55:30 | tmornini enters the room. | |
| 12:02:33 | webmat | evan: ping |
| 12:04:14 | jinjing_ enters the room. | |
| 12:17:18 | jinjing leaves the room. | |
| 12:18:56 | NoKarma enters the room. | |
| 12:22:01 | ctennis enters the room. | |
| 12:23:20 | dbussink | webmat: he's either traveling or asleep afaik :) |
| 12:23:42 | webmat | ah, ok. thanks :-) |
| 12:27:39 | rue | Or both |
| 12:38:36 | antares enters the room. | |
| 12:40:50 | fbuilesv_ enters the room. | |
| 12:43:13 | dbussink | rue: still awake or already? |
| 12:46:53 | fbuilesv_ leaves the room. | |
| 12:47:45 | rue | Still |
| 12:48:13 | rue | I have had some issues with sleep recently |
| 12:50:01 | wycats leaves the room. | |
| 12:50:21 | crafterm leaves the room. | |
| 12:53:38 | wycats enters the room. | |
| 12:53:52 | fbuilesv_ enters the room. | |
| 12:54:05 | fbuilesv | morning |
| 12:54:11 | fbuilesv | NoKarma: ping |
| 12:56:28 | rue | dbussink: How is your new job/gig going? |
| 12:56:53 | dbussink | rue: just started some prototyping and experiments |
| 12:57:09 | dbussink | and thinking about a scalable architecture for the system |
| 12:57:26 | dbussink | because there is no easy cutting point, so that's always a challenge |
| 12:57:57 | NoKarma | fbuilesv_: Heya :) |
| 12:58:03 | wycats leaves the room. | |
| 12:58:09 | fbuilesv | NoKarma: hola |
| 12:58:30 | fbuilesv | NoKarma: wanna talk a bit about the proposals and see how we can split the work? |
| 12:58:41 | NoKarma | fbuilesv_: sure :) |
| 12:59:03 | fbuilesv | NoKarma: In your proposal, did you cover some specific libs? |
| 12:59:07 | NoKarma | nope |
| 12:59:08 | fbuilesv leaves the room. | |
| 12:59:26 | ctennis enters the room. | |
| 12:59:27 | NoKarma | fbuilesv_: I wrote it in a more general way |
| 13:00:11 | NoKarma | fbuilesv_: and you? |
| 13:00:20 | dbussink | rue: but i probably need an extra person on the project, also because i don't want it to be a one man design |
| 13:00:34 | fbuilesv | NoKarma: Cool. In mine I proposed to cover REXML, YAML, Socket and if time allows, IO. Another good idea provided by headius was to check out the existing tests for other Ruby implementations and try to port them to the current spec set |
| 13:02:28 | NoKarma | fbuilesv_: cool. The problem with existing tests is that they are often either pretty basic or are covering only small parts |
| 13:02:42 | antares | g'day |
| 13:02:44 | fbuilesv | NoKarma: yes, or even worse, old |
| 13:02:46 | fbuilesv | antares: hola |
| 13:02:55 | NoKarma | fbuilesv_: Exactly :) |
| 13:03:30 | fbuilesv | NoKarma: well, do you have any lib that you specially want/need spec'd out? |
| 13:03:37 | dbussink | rue: also started with merb for the prototype to see how that's holding up |
| 13:04:01 | VVSiz_ enters the room. | |
| 13:04:09 | antares | fbuilesv: I want readline and optparse speced out |
| 13:04:16 | NoKarma | fbuilesv_: Oh, I also send in an application to test gems in Rubinius. But I'm not sure whether anyone of the RubyCentral Guys has seen/reviewed that yet |
| 13:04:27 | antares | VVSiz_: hi there :) |
| 13:04:31 | NoKarma | fbuilesv_: CGI comes in my mind first |
| 13:05:07 | fbuilesv | antares: it optparse a wrapper from C's getopt or is it written in Ruby? |
| 13:05:10 | antares | NoKarma: good choice but original cgi could be done much better I think. It is very messy. |
| 13:05:19 | antares | fbuilesv: pure Ruby |
| 13:05:30 | antares | from MRI stdlib |
| 13:06:12 | antares | fbuilesv: I suggest you looking through all of it's code before you start. It has some tricky decisions. |
| 13:06:13 | NoKarma | antares: many parts of the stdlib could be rewritten to be much cleaner, smaller and faster, propably |
| 13:06:42 | fbuilesv | antares: Both NoKarma and I sent apps for GSoC to improve the specs, we're trying to see how can we split it to cover as much stuff as we can |
| 13:06:53 | antares | NoKarma: probably. But if you could focus on cgi and make it better for next version of MRI it would be double cool :) |
| 13:06:57 | rue | dbussink: Cool; merb is definitely nice |
| 13:07:16 | fbuilesv | as I see it right now we could be working on CGI, REXML (our personal needs), OptParse, Readline, IO, Socket and YAML |
| 13:07:22 | NoKarma | antares: heh, maybe outside of GSOC ;) |
| 13:07:41 | antares | fbuilesv_: REXML is screwed up in both 111 and 114... :( |
| 13:07:44 | NoKarma | fbuilesv_: I suggest we get a list of things that haven't been covered |
| 13:07:46 | drbrain | what's wrong with optparse? |
| 13:07:47 | fbuilesv | antares: and 1.9, it's painful |
| 13:08:07 | NoKarma | fbuilesv_: Then it'd be easy to split that up in to euql sized chunks |
| 13:08:29 | NoKarma | *equal |
| 13:08:41 | fbuilesv | NoKarma: That's true |
| 13:09:11 | antares | drbrain: everything is cool, we are talking about cgi.rb problems in MRI |
| 13:09:40 | NoKarma | I think we should create a page on the lighthouse wiki |
| 13:09:47 | antares | drbrain: optparse is the best command line arguments parse I've used so far in Ruby and Python |
| 13:10:03 | VVSiz leaves the room. | |
| 13:10:20 | fbuilesv | NoKarma: do you have permission to do this? I can't seem to be able to modify/create wiki pages |
| 13:10:37 | drbrain | I can think of some things I'd like done better in optparse, but they're minor |
| 13:10:47 | antares | fbuilesv_: I do, let me check whether I can share it :) |
| 13:11:09 | NoKarma | fbuilesv_: Yes, I do |
| 13:11:13 | fbuilesv | drbrain: if we can setup the wiki page you could add them up there |
| 13:11:42 | drbrain | why? I'd just write a patch, if I was really motivated, and ask to check it in |
| 13:12:25 | fbuilesv | drbrain: because you have two slaves here who would be willing to write that so you dont have to :P |
| 13:12:28 | NoKarma | antares: pages can't be shared, afaics |
| 13:12:33 | antares | drbrain: I am about to invite fbuilesv_ to rubinius so he can edit pages. Sounds good? |
| 13:12:39 | drbrain | heh |
| 13:12:44 | antares | NoKarma: not pages, rights to add them |
| 13:12:45 | drbrain | fine with me |
| 13:12:54 | NoKarma | hehe |
| 13:13:12 | fbuilesv | antares: I'm already in the project and I can play with all the the tickets opts, what I can't seem to be able to do is modify wiki pages |
| 13:13:24 | antares | NoKarma, fbuilesv_: may I have your emails guys? |
| 13:13:31 | NoKarma | http://rubinius.lighthouseapp.com/projects/5089/gsoc-08-extending-standard-library-specs |
| 13:13:47 | antares | NoKarma: even better |
| 13:13:51 | fbuilesv | antares: federico.builes@gmail.com |
| 13:14:11 | NoKarma | antares: I've been active in Rubinius' development before |
| 13:14:53 | rue | Interesting. This string is 36 bytes, header + 6 fields. However, the bytearray it contains has 39 characters. |
| 13:15:06 | fbuilesv | effectively, I don't get the tabs to modify the page |
| 13:16:16 | antares | fbuilesv_: and it seems I can't do something about it, you are already a member of the project. You may consider using a new LH project :) |
| 13:16:57 | fbuilesv | antares: I'll try to talk to evan or someone before that to see what can be done |
| 13:17:13 | antares | fbuilesv_: hold on, there's the page |
| 13:17:52 | fbuilesv | antares: I can see the page, but I should be able to see the tabs up there to modify it, right? |
| 13:18:25 | obvio171 leaves the room. | |
| 13:18:35 | antares | fbuilesv_: if you can see edit page next to new ticket at the top, you are fine |
| 13:19:07 | antares | fbuilesv_: I can see it :) |
| 13:19:21 | NoKarma | fbuilesv_: I added some libraries |
| 13:19:26 | fbuilesv | antares: hehe, didn't you have the same issues when you started working on the reading list? |
| 13:19:50 | antares | fbuilesv_: not exactly, but yeah, I had to ask evan |
| 13:20:04 | fbuilesv | evan: ping |
| 13:21:04 | fbuilesv | NoKarma: do you know who's Pat Eyler in here to make sure he sees where we're heading? |
| 13:21:18 | NoKarma | fbuilesv: Nope, no idea :) |
| 13:21:21 | antares | fbuilesv: I sent out an invite to all projects for rubinius account: should do the trick |
| 13:21:25 | rue | His nick is pate |
| 13:21:33 | antares | LightHouse is confusing |
| 13:21:34 | fbuilesv | rue: ty |
| 13:22:18 | antares | NoKarma: what is your name at LH again? |
| 13:22:24 | fbuilesv | antares: that did the trick, thanks |
| 13:22:33 | NoKarma | antares: Arthur Schreiber |
| 13:22:40 | antares | NoKarma: sec |
| 13:22:53 | NoKarma | antares: ok |
| 13:23:24 | antares | I get the following: No invites sent out. Check the email format and the number of allowed members for this account. |
| 13:23:31 | antares | and it seems we have 33/50 people |
| 13:23:54 | antares | lighthouse is confusing unless you are Rick Olson :) |
| 13:24:22 | antares | but anyway one of you guys now has rights to add and edit pages |
| 13:24:27 | antares | so you are cool for now |
| 13:24:36 | NoKarma | hehe |
| 13:24:50 | fbuilesv | antares: I'll actually like LH quite a lot, maybe it's because I've never really liked Trac or BugZilla |
| 13:25:10 | NoKarma | hehe, I favor Trac :) |
| 13:25:15 | antares | fbuilesv: I like it for working with tickets but administration interface is horrible |
| 13:26:57 | NoKarma | fbuilesv: There's actually a whole bunch of libraries that haven't been covered yet... Most of them are pretty small fish, tho, like Tmpdir |
| 13:28:30 | squeegy leaves the room. | |
| 13:28:32 | fbuilesv | NoKarma: first time I hear of Tmpdir :) |
| 13:28:42 | squeegy enters the room. | |
| 13:29:03 | NoKarma | fbuilesv: That's gonna be lower priority then :) |
| 13:29:21 | antares | fbuilesv: it has just a couple of methods ;) |
| 13:29:27 | antares | but very convenient sometimes |
| 13:29:44 | fbuilesv | NoKarma: I'd like to make sure we work based on the current needs on the projects. Take a look at what's currently needed for Rails or some big project and start there |
| 13:30:00 | NoKarma | fbuilesv: that's what I think, too |
| 13:30:27 | NoKarma | fbuilesv: we gather some condidates, sort them by priorities and split that up :) |
| 13:30:33 | NoKarma | *candidates |
| 13:30:36 | fbuilesv | NoKarma: sounds good |
| 13:31:10 | antares | CGI, OpenStruct, Set and YAML are used in Rails for sure |
| 13:31:55 | NoKarma | is there some way to make stuff colored in Lighthouse? |
| 13:32:25 | antares leaves the room. | |
| 13:32:28 | antares enters the room. | |
| 13:33:05 | fbuilesv | NoKarma: I _think_ you can use basic HTML on pages |
| 13:33:29 | fbuilesv | "Tickets for public projects go a step further and block any custom HTML from being added. Since Messages, Pages, and Milestones are created by members of your project, this extra protection is not needed" |
| 13:33:48 | antares | Use h2 — h4 |
| 13:33:54 | antares | LH uses Textile |
| 13:34:03 | antares | h2. Top priority |
| 13:34:09 | antares | h4. Low priority |
| 13:34:40 | antares | Remember there's only one h1 per page or Google won't respect that |
| 13:35:30 | NoKarma | well, it has no support for colorization :( |
| 13:35:43 | NoKarma | and it eats inline style tags |
| 13:35:57 | fbuilesv | NoKarma: h* will make the differentiation then :) |
| 13:36:06 | NoKarma | hehe, ok |
| 13:36:57 | NoKarma | http://rubinius.lighthouseapp.com/projects/5089/gsoc-08-extending-standard-library-specs |
| 13:37:03 | NoKarma | not really, kind of weird |
| 13:37:27 | fbuilesv | NoKarma: I think it reads the number of "#" before the word that turns that into H*, let me try |
| 13:37:42 | NoKarma | sure |
| 13:37:44 | fbuilesv | mmm nope |
| 13:38:27 | fbuilesv | I still have problems remembering Textilize vs. Markdown |
| 13:38:40 | NoKarma | good ol' font tag will do it, I think |
| 13:39:18 | NoKarma | nope |
| 13:39:26 | fbuilesv | there, it seems to be working now |
| 13:39:46 | fbuilesv | I hope no one goes to the overview page trying to see what's new :S |
| 13:42:36 | NoKarma | haha |
| 13:42:48 | NoKarma | ok, I used ** for now |
| 13:43:34 | NoKarma | fbuilesv: ok, I got to leave. |
| 13:43:43 | NoKarma | fbuilesv: I'll be back in a couple of hours |
| 13:44:06 | fbuilesv | NoKarma: I got an exam in a couple hours too but let's try to have this ready before monday, sounds fine? |
| 13:44:13 | NoKarma | sure :D |
| 13:47:38 | fbuilesv | antares: with REXML broken, should the specs be tagged as failing or do we wanna wait on an answer from ruby-core? |
| 13:48:13 | dbussink | fbuilesv: wait for ruby-core, we shouldn't model actual and obvious bugs |
| 13:49:11 | fbuilesv | dbussink: ok, last pull's giving me a ton of fails/errors there and some on pathname |
| 13:49:36 | antares | fbuilesv: tag as failing for now, I think it would take eternity for ruby-core, they have a lot of things to do other than caring about Ruby spec and quality of releases (IMO) |
| 13:49:42 | dbussink | fbuilesv: you mean the specs against mri? |
| 13:50:01 | fbuilesv | dbussink: nah, rubinius CI |
| 13:50:05 | antares | fbuilesv: and Matz and ko1 are at the conference in Prague these days so no answer in a few next days for sure |
| 13:50:42 | nicksieger leaves the room. | |
| 13:53:15 | brainopia enters the room. | |
| 13:53:29 | benburkert enters the room. | |
| 13:58:50 | Fullmoon enters the room. | |
| 14:09:35 | VVSiz | antares: morning to you too :) |
| 14:11:57 | binary42 enters the room. | |
| 14:12:27 | binary42 leaves the room. | |
| 14:12:47 | binary42 enters the room. | |
| 14:13:31 | binary42 leaves the room. | |
| 14:13:50 | binary42 enters the room. | |
| 14:14:08 | qwert666__ enters the room. | |
| 14:14:23 | binary42 leaves the room. | |
| 14:14:42 | binary42 enters the room. | |
| 14:15:16 | binary42 leaves the room. | |
| 14:15:34 | binary42 enters the room. | |
| 14:16:10 | pauldix enters the room. | |
| 14:16:21 | binary42 leaves the room. | |
| 14:16:29 | binary42 enters the room. | |
| 14:16:58 | binary42 leaves the room. | |
| 14:17:12 | Fullmoon leaves the room. | |
| 14:17:13 | binary42 enters the room. | |
| 14:17:39 | jtoy enters the room. | |
| 14:17:50 | binary42 leaves the room. | |
| 14:18:06 | binary42 enters the room. | |
| 14:18:34 | binary42 leaves the room. | |
| 14:18:38 | binary42 enters the room. | |
| 14:24:40 | benburkert leaves the room. | |
| 14:31:38 | binary42 leaves the room. | |
| 14:31:51 | binary42 enters the room. | |
| 14:32:18 | binary42 leaves the room. | |
| 14:32:27 | qwert666 leaves the room. | |
| 14:32:37 | binary42 enters the room. | |
| 14:33:04 | binary42 leaves the room. | |
| 14:33:21 | binary42 enters the room. | |
| 14:34:01 | binary42 leaves the room. | |
| 14:34:15 | binary42 enters the room. | |
| 14:34:43 | binary42 leaves the room. | |
| 14:34:59 | binary42 enters the room. | |
| 14:35:38 | binary42 leaves the room. | |
| 14:35:55 | binary42 enters the room. | |
| 14:36:23 | binary42 leaves the room. | |
| 14:36:40 | binary42 enters the room. | |
| 14:37:10 | binary42 leaves the room. | |
| 14:37:26 | binary42 enters the room. | |
| 14:38:02 | binary42 leaves the room. | |
| 14:38:18 | binary42 enters the room. | |
| 14:38:57 | binary42 leaves the room. | |
| 14:39:12 | binary42 enters the room. | |
| 14:39:48 | binary42 leaves the room. | |
| 14:40:05 | binary42 enters the room. | |
| 14:40:37 | chris2 | i bet the mwrc-network sucks :-P |
| 14:40:40 | binary42 leaves the room. | |
| 14:40:55 | binary42 enters the room. | |
| 14:41:31 | rue | It does seem slightly inconsistent |
| 14:41:35 | binary42 leaves the room. | |
| 14:41:48 | binary42 enters the room. | |
| 14:42:29 | binary42 leaves the room. | |
| 14:42:37 | fbuilesv | rue: Actually, it's pretty consistent, he connects he disconnects, connects, disconnects... |
| 14:42:42 | binary42 enters the room. | |
| 14:43:13 | antares | fbuilesv: yeah, indeed :) |
| 14:43:24 | binary42 leaves the room. | |
| 14:43:35 | binary42 enters the room. | |
| 14:43:50 | antares | rue: hey can you review my doc patch for compiled_method.rb stuff when you finally get some sleep? I am relatively new to Ruby side of things |
| 14:44:13 | binary42 leaves the room. | |
| 14:44:29 | binary42 enters the room. | |
| 14:45:04 | webmat | Damn I wish I could ignore these join/left messages with Colloquy :-) |
| 14:45:32 | antares | webmat: you can |
| 14:45:42 | antares | hit Cmd + , then go to alerts tab |
| 14:45:56 | webmat | yeah, I just checked the "ignore notifications" and it seems to do it |
| 14:46:36 | anony leaves the room. | |
| 14:47:24 | twbray enters the room. | |
| 14:48:23 | binary42 leaves the room. | |
| 14:48:37 | binary42 enters the room. | |
| 14:48:42 | antares | discovered nickname tab completion on colloquy |
| 14:48:56 | anonuser enters the room. | |
| 14:48:57 | fbuilesv | antares: Check http://rubinius.lighthouseapp.com/projects/5089/gsoc-08-extending-standard-library-specs and see if there's anything missing |
| 14:49:13 | binary42 leaves the room. | |
| 14:49:16 | antares | fbuilesv: ok |
| 14:49:31 | binary42 enters the room. | |
| 14:49:41 | fbuilesv | antares: how exactly do you use IRC without nick completion, isnt that on the RFC or something? "You _have_to use nick completion" :P |
| 14:50:18 | binary42 leaves the room. | |
| 14:50:34 | binary42 enters the room. | |
| 14:51:18 | binary42 leaves the room. | |
| 14:51:24 | webmat | antares: The alert tabs only allows me to configure the icon bouncing and sounds... What I mean is that I don't want to see the join/leave messages... Is there something I'm missing? |
| 14:51:26 | antares | fbuilesv: I used to just type :) |
| 14:51:30 | binary42 enters the room. | |
| 14:51:41 | fbuilesv | ouch |
| 14:52:10 | binary42 leaves the room. | |
| 14:52:14 | webmat | well, OTOH it builds up the typing-fu :-) |
| 14:52:21 | binary42 enters the room. | |
| 14:53:43 | antares | fbuilesv: I see no major libs missing. Though it would be cool to explore what rack, rspec, merb-more, mechanize and rails use |
| 14:53:53 | antares | fbuilesv: and eventmachine of course |
| 14:54:01 | binary42 leaves the room. | |
| 14:54:17 | binary42 enters the room. | |
| 14:54:28 | fbuilesv | antares: I'm grepping Rails right now to see what I'm missing what might be missing |
| 14:54:38 | Skip enters the room. | |
| 14:55:35 | antares | fbuilesv: good idea |
| 14:55:52 | binary42 leaves the room. | |
| 14:56:10 | binary42 enters the room. | |
| 14:57:35 | binary42 leaves the room. | |
| 14:58:28 | twbray leaves the room. | |
| 14:59:43 | VVSiz leaves the room. | |
| 15:00:04 | VVSiz enters the room. | |
| 15:01:08 | antares | ok guys I'll get back to you in a couple of hours |
| 15:01:14 | antares leaves the room. | |
| 15:13:19 | twbray enters the room. | |
| 15:15:29 | twbray leaves the room. | |
| 15:16:03 | GMFlash enters the room. | |
| 15:18:14 | jartz leaves the room. | |
| 15:23:57 | agile enters the room. | |
| 15:24:15 | binary42 enters the room. | |
| 15:24:29 | webmat | Question: does the task 'rake stats:collect' go back to the first commit in 2006 or what? :-) |
| 15:27:53 | rue | It might, I think we have history from June 2006 or so |
| 15:31:17 | webmat | rue: Do you know about the flog command it's trying to use? Is it the file log tool that can be found here http://oss.ezic.com/? |
| 15:32:14 | webmat | I compiled it w/o a problem, but when I put it in my path, as soon as the task got to try to use it, it just hung forever... |
| 15:34:36 | rue | I suspect that is zenspider's flog |
| 15:34:42 | rue | A complexity analyser |
| 15:35:03 | webmat | ah, makes sense. Thx :-) |
| 15:37:42 | benburkert enters the room. | |
| 15:48:56 | jtoy leaves the room. | |
| 15:57:14 | fbuilesv leaves the room. | |
| 15:59:09 | ariesroyaal enters the room. | |
| 15:59:55 | obiejuan enters the room. | |
| 16:12:40 | webmat leaves the room. | |
| 16:13:17 | gnufied enters the room. | |
| 16:21:21 | twbray enters the room. | |
| 16:26:45 | binary42 leaves the room. | |
| 16:34:11 | twbray leaves the room. | |
| 16:39:21 | FoobarWidget enters the room. | |
| 16:39:47 | FoobarWidget | hi |
| 16:40:22 | FoobarWidget | evan: some patches that I submitted have been applied, and I was told to send you my SSH key |
| 16:45:19 | dbussink | FoobarWidget: afaik he's not in atm |
| 16:45:42 | antares enters the room. | |
| 16:54:40 | rue | Think he is traveling to Denmark today |
| 16:57:18 | FoobarWidget | hm ok |
| 17:00:02 | rue | You could e-mail it to him or make a private pastie or something |
| 17:00:26 | FoobarWidget | sure, thanks |
| 17:00:28 | FoobarWidget leaves the room. | |
| 17:03:14 | mibbit enters the room. | |
| 17:09:08 | NoKarma | heya |
| 17:09:47 | boyscout | 1 commit by Eero |
| 17:09:48 | boyscout | * rbx_string_to_cstr() for obtaining a char* safely-ish.; 7e7e9ee |
| 17:10:11 | rue | Hellos. |
| 17:12:45 | rue | *sigh* One would think I would learn one of these days. |
| 17:14:26 | rue | Let me know if something breaks, I reworked FFI a bit |
| 17:15:55 | rubuildius_amd64 | Eero: 7e7e9eefc; build failed! http://rafb.net/p/RNe2QK34.html |
| 17:16:02 | djwhitt | oh dear |
| 17:16:32 | djwhitt | ooo... nice, it emailed the list too :) |
| 17:16:41 | mibbit leaves the room. | |
| 17:16:56 | djwhitt | oh, but it's missing the info |
| 17:16:59 | djwhitt | hmm... that's not good |
| 17:18:04 | dbussink | hmm, the defined? stuff is pretty broken |
| 17:18:20 | NoKarma | defined? is evil |
| 17:18:23 | naeu leaves the room. | |
| 17:19:01 | antares | NoKarma: go work with edge rails without it |
| 17:19:25 | NoKarma | well, yeah, Rails makes extensive use of it... |
| 17:19:29 | antares | NoKarma: to keep you app backwards compatible at least to the point it runs your tests on elder revisions |
| 17:19:34 | NoKarma | doesn't change the fact that it's evil :) |
| 17:19:57 | antares | NoKarma: see http://novemberain.com/2008/3/25/fix-markaby-haml-and-liquid-to-work-with-edge-rails-from-february -2008 |
| 17:20:16 | antares | NoKarma: dogmas and bold statements are evil; other things are of limited use |
| 17:20:45 | NoKarma | antares: There's a type |
| 17:20:54 | NoKarma | antares: "He is the pastie" |
| 17:21:04 | NoKarma | antares: sounds funny :) |
| 17:21:34 | rubuildius_ppc | Eero: 7e7e9eefc; 1843 files, 6254 examples, 22337 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/172466 |
| 17:21:35 | djwhitt | rue: you around? |
| 17:21:53 | antares | NoKarma: :) |
| 17:22:28 | NoKarma | antares: couldn't you use const_defined, btw? |
| 17:22:34 | NoKarma | *const_defined? |
| 17:22:59 | antares | NoKarma: I could. It does not make things any different. |
| 17:23:37 | NoKarma | well, yeah. The reason I said defined? is evil is because it's a pita to implement |
| 17:24:27 | wayneeseguin enters the room. | |
| 17:25:59 | dbussink | defined? currently even uses const_defined? directly, but that needs to be changed |
| 17:28:13 | rue | djwhitt: Sorta, 64 problem? |
| 17:28:32 | lopex enters the room. | |
| 17:29:17 | antares | NoKarma: too much stuff is evil then ;) |
| 17:29:26 | NoKarma | hehe |
| 17:29:26 | ariesroyaal leaves the room. | |
| 17:30:32 | rue | djwhitt: Can you see the failure on your side/ |
| 17:32:01 | djwhitt | rue: sorry, afk for a sec |
| 17:32:07 | djwhitt | rue: what details do you need? |
| 17:33:37 | dkubb enters the room. | |
| 17:34:31 | rue | Well, it looks like a runtime issue but any type of error message would be helpful |
| 17:34:41 | djwhitt | k, I'll see what I can come up with |
| 17:34:49 | djwhitt | doing a manual build now |
| 17:36:24 | djwhitt | http://pastie.org/172469 |
| 17:36:36 | djwhitt | that's slightly more info |
| 17:44:27 | rue | Hrm, probably the structs.. lemme see if I can find the 64-bit board |
| 17:48:19 | dbussink | djwhitt: you can run it in gdb, that would be even more informative |
| 17:49:45 | djwhitt | hmm... I don't suppose there's an easy way to get the build processes to fire up gdb when that happens is there? |
| 17:49:52 | wayneeseguin leaves the room. | |
| 17:51:10 | dbussink | djwhitt: of course there is :) |
| 17:51:39 | djwhitt | oh yeah? tell me, tell me! |
| 17:52:11 | dbussink | GDB=1 rake build |
| 17:52:34 | djwhitt | nice |
| 17:52:39 | djwhitt | do I need DEV=1 too? |
| 17:52:50 | dbussink | could be useful yeah |
| 17:53:00 | djwhitt | ok, running |
| 17:53:05 | dbussink | rake build:vm:clean build:vm:dev is what i usually use |
| 17:54:00 | dewd enters the room. | |
| 17:55:07 | rue | Ha, found one after all |
| 17:55:11 | djwhitt | ok, I am in gdb, but I'm not exactly a gdb expert |
| 17:55:50 | dbussink | djwhitt: type run :) |
| 17:55:50 | rue | Just type 'run' and when it crashes, 'bt' to get started |
| 17:56:08 | djwhitt | k |
| 17:57:05 | djwhitt | http://pastie.org/172475 |
| 17:57:31 | djwhitt | anything else I can do that would be useful? |
| 17:57:41 | dbussink | rbt |
| 17:58:37 | djwhitt | http://pastie.org/172477 |
| 17:58:40 | djwhitt | didn't seem to like that |
| 17:59:22 | djwhitt | backtrace for that SIGSEGV: http://pastie.org/172478 |
| 17:59:31 | dbussink | probably because something inside string is broken |
| 17:59:44 | rue | Oh, glimmer of hope this might be simple |
| 17:59:46 | dbussink | same error indeed |
| 18:03:19 | rue | <