Show enters and exits. Hide enters and exits.
| 00:28:22 | evan | muhaha |
| 00:28:40 | evan | a method created with a standalone lambda passed to define_method is being inlined by the JIT |
| 00:28:55 | evan | MMM DYNAMIC COMPILATION |
| 00:29:26 | ezmobius | sweet |
| 00:29:36 | slava | is this new? |
| 00:30:01 | evan | specificly methods from define_method being inlined is |
| 00:30:10 | evan | because i'm doing some form detection of the code passed to it |
| 00:30:19 | evan | define_method :foo { |a| a + 1 } |
| 00:30:23 | evan | def bar |
| 00:30:27 | evan | foo(1) |
| 00:30:28 | evan | end |
| 00:30:41 | evan | it's this subset |
| 00:30:52 | evan | there is a subset of forms of lambda passed to define_method that are standalone |
| 00:31:09 | evan | that don't need special invocation as methods |
| 00:31:14 | evan | because they don't access the outer scope |
| 00:31:17 | slava | cool |
| 00:31:38 | evan | if they do access outer scope |
| 00:31:43 | evan | then they're slower to invoke |
| 00:31:44 | evan | and can't be inlined. |
| 00:31:50 | slava | why can't they be inlined? |
| 00:31:57 | slava | you just haven't implemented it yet? |
| 00:31:58 | evan | they could be |
| 00:32:05 | Zoxc | what about returns in them? |
| 00:32:06 | evan | just haven't taught the JIT that trick yet. |
| 00:32:15 | slava | ah |
| 00:32:17 | evan | Zoxc: ah ha. returns in them are like a method return. |
| 00:32:30 | evan | like a lambda |
| 00:32:36 | evan | it doesn't cause the creating context to return |
| 00:38:23 | slava | what are inflated headers? |
| 00:39:10 | brixen | slava: the first word points to an inflated header that is bigger (has more info) when an obj has an inflated header |
| 00:39:29 | brixen | slava: we use it to stash the C-API handle atm |
| 00:39:33 | slava | ah |
| 00:39:38 | brixen | but it could stash an inflated lock |
| 00:39:43 | brixen | a la jvm |
| 00:40:31 | evan | think of it like variable length headers |
| 01:07:02 | evan | huh. |
| 01:07:14 | evan | my little playtime hack has made it so you can pass a block to a method created with define_method |
| 01:07:25 | evan | how... interesting. |
| 01:07:42 | brixen | hm |
| 01:11:14 | evan | i wonder what happens if you yield in a proc connected to define_method that was created in method with a block |
| 01:11:17 | evan | thats a mouthfull. |
| 01:11:34 | ddub | ouch, my brain |
| 01:12:46 | Zoxc | can you even yield in "regular" blocks? |
| 01:13:12 | evan | ah bugger. |
| 01:13:14 | evan | it yields it. |
| 01:13:17 | evan | poop! |
| 01:13:37 | evan | that means that accessing the block counts toward closing over scope |
| 01:14:37 | evan | what a strange, strange scope leak. |
| 01:14:46 | evan | oh ruby, i still love you. |
| 01:14:51 | evan | but you're twisted sometimes. |
| 01:15:21 | slava | heh |
| 01:15:27 | slava | does it work in MRI? |
| 01:15:42 | ddub | makes idle comparisons between characteristics of ruby and various ex-girlfriends |
| 01:15:47 | evan | http://gist.github.com/233490 |
| 01:15:51 | evan | that prints |
| 01:15:52 | evan | :here |
| 01:15:54 | evan | setup block |
| 01:16:46 | slava | so 'yield' is lexically scoped |
| 01:16:50 | slava | that makes sense |
| 01:16:57 | evan | yeah, it does |
| 01:17:09 | evan | but define_method doesn't really respect the lexical scope normally |
| 01:17:12 | evan | for instance |
| 01:17:25 | evan | self inside the block passed to define method is different when it's called as foo |
| 01:17:34 | evan | it's not B |
| 01:17:36 | evan | it's an instance of B |
| 01:17:43 | slava | that's because self is dynamically scoped |
| 01:17:55 | evan | in this case, yes |
| 01:18:00 | evan | but normally it's lexically scoped. |
| 01:18:02 | ddub | gets up the courage to look at the gist |
| 01:18:36 | slava | the semantics of yield, self, super and a few other things seems really complex |
| 01:18:52 | ddub | do people use my gist SL service? I've considered announcing it in more places than this channel, but it seems a little feature-thin :) |
| 01:18:58 | evan | slava: they are. |
| 01:19:09 | evan | ddub: announce! |
| 01:20:00 | ddub | can you think of anything else I can do to make it more useful? |
| 01:20:47 | brixen | ddub: toast? |
| 01:21:18 | ddub | brixen: its a right click "Create new Public Gist" on any text |
| 01:21:36 | brixen | ddub: sure, but sometimes it would be nice to have toast with that :) |
| 01:21:56 | evan | perhaps some jam on my toast |
| 01:22:00 | evan | while you're up. |
| 01:22:15 | brixen | ddub: I prefer marmalade |
| 01:22:21 | brixen | most days |
| 01:22:22 | ddub | maybe I'll add in authentication to the script, then its probably the minimal featureset |
| 01:22:28 | brixen | but sometimes jam in nice |
| 01:22:38 | ddub | heh |
| 01:22:42 | brixen | could I have a calendar to configure when I want jam? |
| 01:22:48 | ddub | so cloudforce is also happening in SF next week |
| 01:23:01 | Zoxc | likes how he can debug his JIT with OllyDbg |
| 01:23:01 | ddub | I might crash parties cross-conference |
| 01:23:02 | brixen | may the cloudforce be with you |
| 01:23:52 | ddub | I told our marketing folk that if I show up, it won't be as an employee but as a mooch |
| 01:24:12 | slava | what's OllyDbg? |
| 01:24:59 | brixen | wow, ollydbg has been around for nearly a decade |
| 01:25:06 | brixen | and I'd never heard of it |
| 01:25:19 | slava | oh, itneresting |
| 01:25:20 | brixen | wishes the same were true of windows |
| 01:25:41 | ddub | that it had only been around since 2000? |
| 01:25:47 | brixen | heh |
| 01:25:54 | brixen | that I'd never heard of it |
| 01:25:55 | ddub | I'd probably have a lot more respect for microsoft if they had started with win2k |
| 01:26:00 | ddub | skip windows 1, 2, ME... |
| 01:26:23 | ddub | a world without windows |
| 01:26:25 | ddub | would be very dark |
| 01:26:37 | brixen | I'd have more respect for windows if they sent every customer a refund for the billions stolen |
| 01:26:39 | ddub | and possibly improperly ventilated |
| 01:27:00 | brixen | er respect for microsoft |
| 01:27:04 | evan | ddub: nah, we'd just have a lot of doors |
| 01:27:14 | evan | small doors, big doors, skinny doors, fat doors |
| 01:27:28 | brixen | trapdoors! |
| 01:27:32 | evan | trapdoors! |
| 01:27:36 | evan | yes! |
| 01:38:08 | Zoxc | hm..how do you search a repo on github? |
| 01:45:21 | slava | Zoxc: how's your jit coming along |
| 02:00:20 | evan | i really dislike that block_given? is a method. |
| 02:04:39 | brixen | yeah, that doesn't make much sense |
| 02:04:59 | brixen | like, how would you really implement it? |
| 02:05:08 | evan | i'm teaching the compiler to recognize Kernel.block_given? |
| 02:05:29 | evan | and treat it the same as block_given? |
| 02:08:10 | brixen | why's that? |
| 02:08:50 | evan | because it should be :) |
| 02:08:59 | evan | block_given? is basically a special form. |
| 02:09:10 | evan | that reflects on the current scope |
| 02:11:31 | evan | brixen: so, question. |
| 02:11:41 | evan | these specs test that block_given? returns false |
| 02:11:46 | evan | but we're actually returning nil |
| 02:11:56 | evan | beacuse push_block just pushes nil if there is no block. |
| 02:12:06 | evan | should I coerce it to be a false? |
| 02:12:09 | evan | any thoughts? |
| 02:12:13 | evan | i'd have to do it in bytecode |
| 02:12:15 | evan | which sucks. |
| 02:12:20 | evan | since nil and false are so close. |
| 02:12:27 | evan | otherwise, i can invert the spec |
| 02:12:28 | evan | to do |
| 02:12:30 | evan | should_not be_true |
| 02:12:51 | evan | thoughts |
| 02:12:53 | evan | ? |
| 02:45:20 | rue | ddub: The correct question to ask is "how much can I pare down the functionality" |
| 02:46:27 | rue | evan: trueish and falseish |
| 02:50:44 | brixen | evan: hum... |
| 02:50:55 | brixen | should_not be_true kinda sucks |
| 02:52:15 | rue | `should_be falseish` :) |
| 02:52:15 | brixen | evan: what's the issue with having push_block push Qfalse if there is no block? |
| 02:52:34 | rue | be_falseish rather... |
| 02:52:43 | rue | Extra instruction! |
| 02:58:58 | Zoxc | evan: how does yield and block_given? works for blocks that does or does not take block arguments? |
| 02:59:20 | brixen | hm, yeah, be_untrue maybe? where false or nil would succeed |
| 02:59:36 | brixen | you.should_not be_untrue(:to_me) :) |
| 04:07:00 | ddub | I totally think conditionals should support coercion via to_bool |
| 06:00:42 | scoopr | rue, theres a rubybrigade.fi meeting today, coming? |
| 08:06:54 | rue | scoopr: Seriously? I will be there, where? |
| 08:07:14 | scoopr | rue, http://www.facebook.com/event.php?eid=183862063573&index=1 |
| 08:07:43 | rue | http://rubybrigade.fi sanoo 13.02.2009 |
| 08:08:19 | scoopr | wanhaa tietoo |
| 08:08:35 | rue | Figures...yeah, I will get my butt over there |
| 08:08:44 | scoopr | excellent |
| 08:11:27 | scoopr | I was supposed to ask earlier, kinda forgot =) |
| 08:14:30 | rue | Heh |
| 08:14:40 | rue | Good you caught me now...been asleep at that hour recently |
| 16:54:52 | evan | morning. |
| 17:03:15 | brianmario | 'morning |
| 17:03:34 | brianmario | you guys have been killin it man |
| 17:03:54 | brianmario | next release is gonna be rad |
| 17:04:04 | evan | thanks! |
| 17:04:09 | evan | actually, it being friday the 13th |
| 17:04:15 | evan | we're going to release 0.13 today! |
| 17:04:48 | brianmario | NICE |
| 17:06:52 | brixen | yay! freaky friday release! |
| 17:08:49 | evan | hehe |
| 17:09:00 | evan | so, anything not checked in that we should put in the release? |
| 17:09:30 | brixen | well, rake install is not done, but we should release anyway |
| 17:09:43 | evan | is it working at least? |
| 17:09:50 | brixen | not yet |
| 17:09:51 | evan | for some definition of working |
| 17:09:58 | brixen | nope |
| 17:10:11 | brixen | I can see if I can wrap it up this morning |
| 17:10:32 | evan | ok, you have the morning! |
| 17:10:33 | evan | go! |
| 17:10:40 | brixen | heh, ok! |
| 17:10:58 | brixen | can I have the morning in hawaii? :) |
| 17:11:44 | brixen | that'd give me 2 extra hrs |
| 17:12:01 | evan | we'll see. :) |
| 17:12:08 | brixen | I love google's "what time is it in" search |
| 17:12:11 | evan | so, a browsed through the go compiler briefly |
| 17:12:27 | evan | it's a classic unix program |
| 17:12:30 | evan | no comments |
| 17:12:33 | brixen | heh |
| 17:12:35 | evan | no encaplusation |
| 17:12:55 | evan | C with as few characters as possible |
| 17:12:55 | brixen | the amount of buzz it's getting seems... disproportional |
| 17:13:10 | brixen | I suppose I should try writing something in it |
| 17:13:47 | evan | so anyway, yeah, the go compiler is not a learning tool. |
| 17:13:48 | evan | at all. |
| 17:14:07 | brixen | bummer |
| 17:46:08 | evan | brixen: so, here's a thought |
| 17:46:35 | brixen | ok |
| 17:46:41 | evan | so, right now |
| 17:46:51 | evan | we rbc marshal a CompiledMethod |
| 17:46:57 | evan | and to add methods, etc |
| 17:47:00 | evan | we pull it out of literals |
| 17:47:07 | evan | and pass it to add_defn(..) |
| 17:47:31 | brixen | nods |
| 17:47:37 | evan | so, what if instead, we marshaled Code objects |
| 17:47:49 | evan | and things associated with a method, like arg info, etc. |
| 17:47:58 | evan | were emitted as arguments to add_defn |
| 17:48:03 | evan | so you'd do |
| 17:48:17 | evan | add_defn code, 0, 0 |
| 17:48:20 | evan | for a method that takes no arguments |
| 17:48:26 | evan | add_defn would create a CompiledMethod |
| 17:48:32 | evan | from the info |
| 17:49:06 | evan | that would effectively give us the ability to any metadata on a CompiledMethod |
| 17:49:18 | evan | because the metadata would actually be in the execution stream |
| 17:49:24 | brixen | hmm |
| 17:49:31 | brixen | seems reasonable |
| 17:49:46 | brixen | it's the same amount of info, but organized differently |
| 17:49:51 | brixen | and more flexible |
| 17:49:52 | evan | add_defn code, 0, 0, [:local_names, [...], :wycats_magic, true] |
| 17:49:53 | evan | etc. |
| 17:50:09 | evan | right |
| 17:50:15 | brixen | sure, extensible with arbitrary metadata |
| 17:50:17 | evan | it's organized more around an immutable Code object |
| 17:50:18 | brixen | makes sense |
| 17:50:23 | brixen | gotcha |
| 17:50:52 | evan | a CompiledMethod is very much a runtime effect |
| 17:51:01 | evan | of some code in some context |
| 17:52:32 | dgtized | I just got a "can't modify frozen string" during a distclean from the latest revision |
| 17:52:42 | brixen | seems like it would give us a nice pivot for constructing a duck-typed interface to creating any execution context then |
| 17:52:45 | brixen | evan: ^^^ |
| 17:52:50 | dgtized | and I did the distclean in response to melbourne missing a symbol |
| 17:53:12 | evan | brixen: sure |
| 17:53:26 | brixen | dgtized: file a ticket |
| 17:53:27 | dgtized | http://gist.github.com/234023 |
| 17:54:06 | dgtized | but yea I'll file a ticket |
| 17:54:22 | dgtized | but I can't file the second ticket about the missing symbol because I can't get that far in the compiling process because of this error |
| 17:54:40 | evan | dgtized: the missing symbol is gone after a clean |
| 17:54:45 | evan | i've seen it myself. |
| 17:54:50 | evan | no need to fill that. |
| 17:54:51 | dgtized | k |
| 17:55:06 | evan | also, feel free to fix the ticket. |
| 17:55:07 | brixen | dgtized: run with -t |
| 17:55:16 | brixen | that gist has no useful info |
| 17:55:30 | brixen | except a line no :) |
| 17:55:45 | brixen | dgtized: also, what ruby version exactly |
| 17:56:22 | brixen | why the eff would $CFLAGS be frozen |
| 17:57:05 | brixen | stupid stupid stupid frozen, taint, and trust |
| 17:57:26 | brixen | ohh, should have made that an masgn |
| 17:57:41 | brixen | dgtized: ?? |
| 17:58:57 | dgtized | brixen: http://github.com/evanphx/rubinius/issues/#issue/73 |
| 17:59:02 | dgtized | sorry was creating the issue |
| 17:59:17 | dgtized | sorry about the format problem, I guess something in the first paste broke my close </pre> |
| 18:00:15 | brixen | dgtized: I don't see the ruby version other than 1.8 |
| 18:00:21 | dgtized | I just added that |
| 18:00:33 | dgtized | it's 1.8.7 patchlevel 174 |
| 18:00:35 | brixen | k |
| 18:01:00 | brixen | can you instrument ext_helper and try to track down how $CFLAGS gets frozen? |
| 18:01:25 | brixen | is it acquiring the from a string that is being appended to it? |
| 18:01:29 | dgtized | instrument? -- just add some prints you mean? |
| 18:01:34 | brixen | yeah |
| 18:01:45 | dgtized | sure give me a minute |
| 18:02:02 | brixen | if so, we can just dup the strings being appended |
| 18:02:15 | brixen | but I really want to know how it's getting frozen first |
| 18:02:48 | evan | yeah, thats weird. |
| 18:03:09 | dgtized | ENV["HOME"].frozen? => true in irb on my system? |
| 18:03:20 | evan | huh. |
| 18:03:29 | evan | is ENV freezing values? |
| 18:03:50 | evan | let me check. |
| 18:03:56 | evan | yes |
| 18:03:56 | evan | it is. |
| 18:04:28 | dgtized | that kind of makes sense, I mean as stupid as frozen is, that does seem like a logical use for it |
| 18:04:44 | brixen | why is that getting to $CFLAGS |
| 18:04:45 | evan | true, it is. |
| 18:04:45 | brixen | ? |
| 18:05:09 | brixen | are you setting CFLAGS? |
| 18:05:29 | dgtized | yea I have CFLAGS set |
| 18:05:36 | evan | aah |
| 18:05:36 | evan | to what? |
| 18:05:37 | brixen | because I don't see that in your ticket |
| 18:05:43 | brixen | ugh |
| 18:05:54 | brixen | anyway, dup the ENV valuse |
| 18:05:55 | dgtized | CFLAGS=-I/home/clgc/usr/include |
| 18:06:05 | dgtized | k, I'll try duping them all and see if that fixes it |
| 18:06:11 | brixen | it will ;) |
| 18:06:14 | evan | them all? |
| 18:06:18 | evan | shouldn't it be one thing? |
| 18:06:33 | brixen | dup ever ENV["bla"] in ext_helper |
| 18:06:52 | brixen | it does $CFLAGS = ENV[] || something |
| 18:07:02 | evan | ah ha. |
| 18:07:02 | brixen | for various env vars |
| 18:07:10 | evan | put a wrapper around it instead |
| 18:07:13 | evan | please. |
| 18:07:23 | dgtized | ok |
| 18:07:25 | brixen | wrapper around what? |
| 18:07:26 | evan | rather than having to put dup i zillion places. |
| 18:07:32 | brixen | erg |
| 18:07:44 | evan | unless you're not duping everytime you pull something out of ENV |
| 18:07:45 | brixen | def env(name) ENV[name].dup end |
| 18:07:50 | evan | right. |
| 18:07:56 | dgtized | env_or_default function? |
| 18:08:08 | dgtized | def env_or_default(name, default) |
| 18:08:09 | brixen | dgtized: sure |
| 18:11:15 | evan | brixen: so, here's my other rub. |
| 18:11:27 | evan | which I think I have solved |
| 18:11:44 | evan | we specialize the code to interpret |
| 18:11:48 | evan | based on the type |
| 18:11:56 | evan | so that, say, in a String method |
| 18:12:01 | evan | @data can be accessed very quickly. |
| 18:12:19 | evan | using push_my_field |
| 18:12:49 | evan | normally, a method is hooked up on a class/type and can't move |
| 18:12:53 | evan | so thats a safe thing to do |
| 18:13:09 | brixen | right |
| 18:13:17 | evan | but i also do it inside blocks. |
| 18:13:23 | evan | so that things like |
| 18:13:29 | evan | 100.times { @data.at(1) } |
| 18:13:33 | evan | or whatever are fast too. |
| 18:13:51 | evan | the issue is the escape of the code in the block |
| 18:13:56 | brixen | yeah |
| 18:14:03 | evan | primarily, the usage of *_eval and a block |
| 18:14:12 | evan | where the receiver is reapplied |
| 18:14:39 | evan | i think I can get around this by, when *_eval is used, duping the Code object |
| 18:14:46 | evan | so that the dup looses any specialized effects |
| 18:14:54 | evan | the downside is that *_eval are a bit slower |
| 18:15:01 | evan | because they have to be recomputed everytime they're used |
| 18:15:09 | brixen | hmm |
| 18:15:14 | evan | an optimization here would be a query on a Code object |
| 18:15:17 | evan | #specialized? |
| 18:15:26 | evan | and you only dup when it's been specialized |
| 18:15:31 | brixen | sure |
| 18:15:31 | evan | which is actually the minority case. |
| 18:15:36 | evan | but could happen a lot more |
| 18:15:40 | evan | when we add auto-packed ivars. |
| 18:15:52 | brixen | right |
| 18:16:30 | evan | hm |
| 18:16:42 | evan | i'm getting an idea. |
| 18:16:43 | brixen | but specialized? attr would let us spy on how much it's happening |
| 18:16:46 | boyscout | dup frozen ENV values using env_or_default helper - 9032cd2 - Charles Comstock |
| 18:17:10 | evan | perhaps what I do is add guards to the specalized instructions |
| 18:17:17 | evan | they should be guarded really anyway |
| 18:17:36 | evan | and if the guards fail at runtime, they run the slow/safe version |
| 18:17:42 | evan | the guard should be a type id comparison |
| 18:17:45 | evan | just like the JIT does. |
| 18:18:12 | evan | that should allow all Code objects to be used in all contexts |
| 18:18:19 | brixen | dgtized: what's with all the ()? |
| 18:18:20 | evan | and in some contexts, they perform better. |
| 18:18:37 | boyscout | CI: 9032cd2 success. 3002 files, 11423 examples, 35491 expectations, 0 failures, 0 errors |
| 18:18:47 | brixen | evan: that seems much better |
| 18:18:57 | brixen | guard + slow / uncommon path |
| 18:19:08 | evan | they really should be guarded anyway |
| 18:19:15 | evan | because otherwise they'll crash things. |
| 18:19:20 | evan | which can happen. |
| 18:19:28 | brixen | yeah, surprised we haven't hit that yet |
| 18:19:33 | brixen | given the block example |
| 18:19:37 | evan | we haven't because of a work-around I put in |
| 18:19:40 | brixen | I guess we don't use blocks much in kernel |
| 18:19:43 | evan | that I want to remove. |
| 18:19:47 | brixen | ah ok |
| 18:19:47 | evan | basically |
| 18:19:50 | evan | when you create a block |
| 18:19:52 | dgtized | brixen: sorry, I keep forgetting you guys are so strong on that style |
| 18:20:03 | evan | the code peeks into the caller's VMMethod |
| 18:20:08 | brixen | dgtized: well, they're gross :P |
| 18:20:19 | evan | and graps a specialized VMMethod |
| 18:20:26 | evan | but it's wierd |
| 18:20:28 | evan | and takes extra memory. |
| 18:20:35 | brixen | heh, that is weird |
| 18:20:41 | evan | dgtized: and that should be |
| 18:20:43 | evan | default="" |
| 18:20:55 | dgtized | ok, I'll fix that then |
| 18:21:05 | evan | so you don't have to keep putting "" at the call site |
| 18:21:11 | brixen | def env(name, default="") ... end |
| 18:21:19 | evan | yeah, thats nicer. |
| 18:21:44 | brixen | $CFLAGS = env "CFLAGS", "--my-yummy-awesome" |
| 18:21:51 | brixen | see, how pretty? :) |
| 18:22:07 | evan | heh |
| 18:25:56 | boyscout | style fix / rename env_or_default to env - e836010 - Charles Comstock |
| 18:27:43 | evan | MUCH better. |
| 18:27:44 | evan | thanks! |
| 18:27:44 | boyscout | CI: e836010 success. 3002 files, 11423 examples, 35491 expectations, 0 failures, 0 errors |
| 18:30:41 | dgtized | np |
| 19:49:00 | evan | sweet |
| 19:49:12 | evan | fast type equivence of all builtin types |
| 19:49:29 | evan | using a static array |
| 20:17:01 | brixen | I HATE you rake |
| 20:17:18 | brixen | reason #259 why rake sucks: the dependency graph is GLOBAL |
| 20:17:23 | brixen | you can't compose shit |
| 20:17:27 | brixen | nothing has context |
| 20:17:47 | brixen | circularity sucks because circularity |
| 20:18:53 | Zoxc | what's the other 258 reasons? |
| 20:20:04 | brixen | don't get me started :P |
| 20:30:29 | evan | woop |
| 20:30:47 | evan | kind_of<> and therefore try_as<> and as<> are now O(1) |
| 20:31:17 | evan | probably won't make a difference because most of the specializations were O(1) already. |
| 20:36:05 | brixen | every little bit helps |
| 20:36:20 | brixen | 10 is 1 + 1 ... :) |
| 20:37:14 | evan | heh |
| 20:40:58 | brixen | finally got kernel.rake working again |
| 20:41:42 | brixen | sans any arbitrary tasks that do things that should be done as file or directory tasks |
| 20:41:54 | brixen | evan: I think we should just release 0.13 |
| 20:42:08 | evan | ok |
| 20:42:08 | brixen | I still have to sort out the mess that is rbconfig.rb |
| 20:42:11 | evan | is rake install busted? |
| 20:42:14 | brixen | yes |
| 20:42:27 | brixen | or we can release later today |
| 20:42:34 | brixen | is anybody waiting on it? |
| 20:42:44 | evan | not that I know of. |
| 20:42:44 | brixen | expects to see hands raised |
| 20:42:50 | brixen | c'mon people! |
| 20:42:52 | brixen | heh |
| 20:42:52 | Zoxc | does it build on windows? |
| 20:42:58 | brixen | Zoxc: not yet |
| 20:43:00 | brixen | but it will |
| 20:43:13 | Zoxc | takes hand down |
| 20:43:16 | brixen | heh |
| 20:43:19 | brixen | meanie |
| 20:43:24 | dbussink | helps out brixen by raising his hand so at least someone does ;) |
| 20:43:41 | brixen | awards dbussink medal for the good sport of the day |
| 20:43:48 | evan | hehe |
| 20:43:54 | evan | we don't have to release today |
| 20:44:00 | brixen | yes, we do! |
| 20:44:08 | evan | releasing with rake install busted seems not good. |
| 20:44:15 | evan | and it's only a week until rubyconf. |
| 20:44:15 | brixen | there will never be another chance like this in the history of Rubinius |
| 20:44:24 | evan | *eyeroll* |
| 20:44:24 | brixen | um, rake install was busted for 0.12 |
| 20:44:30 | evan | ok |
| 20:44:32 | brixen | and pretty much every release we've ever dane |
| 20:44:35 | evan | well, lets go ahead and do it then. |
| 20:44:35 | brixen | done |
| 20:45:04 | brixen | Release Notes: Do NOT use rake install. Have fun! |
| 20:45:05 | brixen | :) |
| 20:45:17 | evan | heh |
| 20:45:37 | Zoxc | turns on DoS vs. http://rubini.us/download.html |
| 20:45:52 | brixen | we should write up a gist of the main points since 0.12 |
| 20:45:55 | brixen | there's a ton |
| 20:46:17 | evan | ok, why don't you get started on that. |
| 20:46:30 | evan | you've done a large part of the changes |
| 20:46:33 | brixen | I suppose just a git log |
| 20:46:46 | brixen | git log with the long format |
| 20:46:46 | evan | i can certainly do that. |
| 20:46:50 | evan | werr |
| 20:46:54 | evan | git shortlog with a since |
| 20:46:57 | evan | gives you who's done what |
| 20:47:08 | brixen | sure |
| 20:47:17 | brixen | I think the msg is the most important |
| 20:47:22 | brixen | * Fixed boo |
| 20:47:26 | brixen | * Added foo |
| 20:47:48 | brixen | isn't there a changelog format output? |
| 20:48:58 | evan | i believe so. |
| 20:49:55 | evan | brianmario: poke |
| 20:50:01 | evan | where is that llvm prebuilt again? |
| 20:50:10 | evan | I wanna have it be available for 0.13 |
| 20:50:30 | brixen | there's http://snipplr.com/view.php?codeview&id=6261 |
| 20:51:22 | evan | what should we do with the change log? |
| 20:54:55 | brixen | http://gist.github.com/234149 |
| 20:55:05 | brixen | I was just going to link to that in the tweet about 0.13 |
| 20:55:36 | evan | k |
| 20:55:58 | brixen | I can push this kernel.rake stuff if you want |
| 20:56:11 | brixen | take me a sec to check a clean build again |
| 20:56:25 | evan | you used the 0.12 tag to calcluate the since? |
| 20:57:12 | brixen | yes |
| 20:57:18 | brixen | the hash of the tagged commit |
| 20:57:27 | brixen | http://github.com/evanphx/rubinius/tree/release-0.12 |
| 20:58:21 | evan | k |
| 20:58:23 | evan | alright |
| 20:58:27 | evan | i'm going to grab some lunch |
| 20:58:30 | brixen | ok |
| 20:58:32 | evan | and we'll release first thing when I get back |
| 20:58:33 | brixen | me too |
| 20:58:35 | brixen | ok |
| 21:05:44 | brixen | did I just get a full CI run in 83 sec from a clean build?! |
| 21:05:48 | brixen | getting faster... |
| 21:10:30 | boyscout | Removed obsolete kernel rake task. - dd617bc - Brian Ford |
| 21:10:30 | boyscout | Fixed creating SyntaxError in melbourne on both rbx and mri. - 21cfc13 - Brian Ford |
| 21:10:30 | boyscout | Added sha1 hash of all parser+compiler files and cleaned up kernel.rake. - cde6705 - Brian Ford |
| 21:12:23 | boyscout | CI: cde6705 success. 3002 files, 11423 examples, 35491 expectations, 0 failures, 0 errors |
| 21:14:24 | Defiler | rbx is awesome now |
| 21:14:59 | Defiler | I've got a sorting benchmark extracted from our app |
| 21:16:29 | brixen | we prefer the phrase "rbx is the awesome now" |
| 21:16:35 | brixen | but might take a bit to catch on |
| 21:16:36 | brixen | :D |
| 21:16:44 | Defiler | running it 5000 times, rbx takes 0.023, jruby trunk 0.07 (0.013 after lots of warmup), ruby 1.9 0.023 |
| 21:16:58 | brixen | neat |
| 21:17:31 | Defiler | http://gist.github.com/234170 |
| 21:17:33 | Defiler | if you want to play with it |
| 21:17:45 | brixen | sweet |
| 21:17:50 | brixen | I know evan will :) |
| 21:19:35 | Defiler | Oh, actually, rbx is faster than I was saying |
| 21:19:41 | Defiler | Because I forgot -XJ |
| 21:19:52 | brixen | heh, who needs that |
| 21:20:06 | Defiler | ruby 1.8.7, 0.236 after warmup. rbx, 0.059 after warmup |
| 21:20:40 | Defiler | jruby is extremely impressively fast at the terrible 'append' algorithm though |
| 21:20:43 | brixen | you should bump up the work till it's above 1 sec for the fastest |
| 21:21:21 | Defiler | Yeah, this was a 'show person interviewing how wrong they are about how they propose to do this' snippet. Heh |
| 21:21:31 | Defiler | Rather than an impl comparison, but I'll strip out the slow one and see |
| 21:23:58 | Defiler | http://gist.github.com/234176 |
| 21:24:01 | brixen | foods |
| 21:24:26 | brixen | interesting |
| 21:24:34 | brixen | I bet it's core class perf |
| 21:24:41 | brixen | probably pure java array or something? |
| 21:25:29 | brixen | hm, actually rbx warmup times are a lot, but not the run |
| 21:25:38 | brixen | nocopy is the same as jruby |
| 21:25:45 | brixen | faster even |
| 21:26:55 | Defiler | Yeah |
| 21:27:16 | Defiler | rbx was definitely slower at the crappy algo that I disabled, which also spends time creating a new array and copying crap into it |
| 21:28:06 | brixen | ahh |
| 21:28:16 | Defiler | It's interesting that the two methods take almost the same amount of time on jruby |
| 21:28:29 | Defiler | whereas you can see the overhead of duping two arrays every time in all the other implementations |
| 21:28:32 | brixen | yeah it is |
| 21:29:04 | brixen | well, merge is faster on 1.8.7 |
| 21:29:10 | brixen | how's that work |
| 21:31:18 | Defiler | My guess would be that 1.8 suffers more from the additional math in nocopy? |
| 21:31:28 | Defiler | whereas incrementing a fixnum is pretty much free in jruby or rbx |
| 21:32:18 | Defiler | Just a WAG though, because it's pretty hard to see how the nocopy version could be slower |
| 21:40:23 | evan | Defiler: -XJ does nothing now |
| 21:40:26 | evan | it's on by default |
| 21:40:31 | evan | if you wanna turn the JIT off |
| 21:40:33 | evan | use -Xint |
| 21:42:00 | evan | this sort of illustrates how opaque MRI tuning is |
| 21:42:15 | evan | with rbx, profiling will show you time in Array ops |
| 21:42:19 | evan | in MRI, you're on your own. |
| 21:43:12 | Defiler | Yeah, I would have to dive deep to figure out why nocopy is slower (or even equal) in MRI |
| 21:43:52 | evan | Defiler: i'd be curious to see what times you get with -Xint |
| 21:44:23 | Defiler | I'd tell you, but I just did a distclean and then I realized I'm in this situation.. |
| 21:44:32 | Defiler | ERROR. No llvm-x86_64-apple-darwin10.2.0.tar.bz2 available on server. (just updated to 10.6.2) |
| 21:46:05 | Defiler | (but working around that) |
| 21:47:09 | brixen | http://sharpercoding.com/projects/rubinius/llvm-x86_64-apple-darwin10.2.0.tar.bz2 |
| 21:47:19 | brixen | evan: ^^ that's the link from brianmario |
| 21:47:25 | brixen | Defiler: you can try that file |
| 21:47:28 | Defiler | Is it actually different, or is it just renamed from 10.0.0? |
| 21:47:33 | evan | danku |
| 21:47:38 | evan | dunno. |
| 21:47:44 | evan | he built it on 10.6.2 |
| 21:47:44 | dbussink | evan: what's with the danku? :P |
| 21:47:46 | brixen | Defiler: built on 10.6.2 |
| 21:47:55 | brixen | danke |
| 21:47:57 | Defiler | For now, I just copied the 10.0.0 to the file name it was looking for. We'll see. Heh |
| 21:48:24 | dbussink | brixen: danke is more german, danku more dutch :) |
| 21:48:36 | evan | i like to mix it up. |
| 21:48:37 | brixen | I guess I'm more german :) |
| 21:48:43 | brixen | i've never studied dutch |
| 21:48:48 | brixen | I have studied german |
| 21:49:31 | evan | Defiler: :) thats probably fine too |
| 21:49:46 | evan | there are no ABI changes between 10.0.0 and 10.2.0 |
| 21:50:07 | dbussink | brixen: german is for wussies ;) |
| 21:50:12 | Defiler | I don't understand why 10.6.1 didn't bump the darwin version but 10.6.2 did |
| 21:50:18 | Defiler | What happened to 10.1.0, for example |
| 21:51:06 | Defiler | Oh, looks like enough kernel changes to justify it, I guess |
| 21:51:13 | evan | they can do it whenever they want |
| 21:51:17 | evan | right |
| 21:51:31 | evan | it's the 10th darwin version |
| 21:51:33 | evan | is all. |
| 21:54:46 | evan | man, Boise State has won the last 54 games at home. |
| 21:54:53 | evan | (college football) |
| 22:01:10 | evan | ok, i put the 10.6.2 prebuilt in place. |
| 22:09:09 | evan | I wish that |
| 22:09:17 | evan | Time#strftime was valid syntax |
| 22:09:20 | evan | for getting a method object. |
| 22:09:21 | evan | that would rock. |
| 22:09:48 | Defiler | That would be awesome |
| 22:10:14 | Defiler | and that would finally give an excuse to change/deprecate what :: does |
| 22:10:37 | evan | yeah |
| 22:11:03 | Defiler | Time@strftime would probably be unambiguous, but is fugly |
| 22:11:07 | evan | yeah |
| 22:11:08 | evan | i was just thinking |
| 22:11:09 | evan | maybe |
| 22:11:12 | evan | Time::#strftime |
| 22:11:37 | Defiler | That suggests Time::.now for class methods though, which is kinda jacked |
| 22:11:49 | evan | i kinda like it. |
| 22:11:50 | evan | :) |
| 22:11:53 | evan | Time.#strftime |
| 22:11:55 | evan | Time..new |
| 22:12:04 | evan | oh nopes, we've got a .. operator. |
| 22:12:04 | brixen | eww |
| 22:12:07 | Defiler | Yeah |
| 22:12:10 | evan | heh |
| 22:12:12 | Defiler | 1..to_s would be hard too :) |
| 22:12:21 | evan | hehe |
| 22:12:26 | evan | it's like a story! |
| 22:12:33 | evan | what are you doing to 1? |
| 22:12:40 | evan | you're pausing for suspense |
| 22:12:43 | Defiler | Don't leave us hanging! |
| 22:12:52 | evan | 1...to_s! |
| 22:13:30 | brixen | 1.::.to_s |
| 22:13:45 | brixen | there lies the path to perl 6 |
| 22:14:04 | brixen | or scala I suppose |
| 22:14:36 | Defiler | Hey, :.: isn't taken |
| 22:14:48 | Defiler | The Galaga operator |
| 22:16:09 | evan | hah |
| 22:16:24 | evan | i do like perl 6's <== and ==> operator |
| 22:16:50 | evan | it takes the return value on one side and puts it into the argument on the other side |
| 22:17:20 | evan | since we've got methods on objects, we'd need that less |
| 22:17:21 | evan | and |
| 22:17:24 | evan | ary.sort.uniq |
| 22:17:30 | evan | is a lot easier to read |
| 22:21:06 | evan | oh man. |
| 22:21:17 | evan | we've been doing no interpreter specialization. |
| 22:21:55 | evan | oh wait, here it is. |
| 22:25:59 | Defiler | evan: http://gist.github.com/234222 |
| 22:26:06 | Defiler | -Xint makes a big difference. Heh |
| 22:26:37 | evan | I suspected it would |
| 22:26:40 | evan | thats good news though |
| 22:26:51 | evan | the bigger the difference |
| 22:26:53 | evan | the better. |
| 22:27:05 | Defiler | I just updated it with jruby results in interpreter mode |
| 22:28:27 | evan | thats a confusing option |
| 22:28:34 | evan | I guess the -C means "minus compiler" |
| 22:28:38 | Defiler | Yeah |
| 22:28:59 | Defiler | You get + and - options for O and C |
| 22:29:02 | Defiler | (objectspace and compiler) |
| 22:29:08 | evan | word. |
| 22:29:15 | evan | you using jruby much? |
| 22:29:34 | Defiler | No, because I rely heavily on something that uses a native extension at the moment |
| 22:29:39 | Defiler | (typhoeus) |
| 22:29:52 | Defiler | but I'm going to fix it up to use ffi instead and then I suspect I will be using it in production |
| 22:30:19 | evan | Defiler: you're going to be at rubyconf right? |
| 22:30:26 | Defiler | Sadly no; I didn't score a ticket |
| 22:30:32 | evan | oh man. |
| 22:30:35 | Defiler | Yeah :( |
| 22:30:36 | evan | now i'm depressed. |
| 22:30:38 | brixen | :( |
| 22:30:51 | Defiler | I wonder how hard it would be to get one |
| 22:32:06 | Defiler | We're doing things like KNN in our Rails app (ha ha), so raw Ruby performance matters more than usual |
| 22:32:15 | evan | KNN? |
| 22:32:22 | Defiler | k-nearest neighbors |
| 22:32:46 | evan | i guess i don't know what that is |
| 22:32:50 | Defiler | http://en.wikipedia.org/wiki/K-nearest_neighbor_algorithm |
| 22:33:10 | Defiler | Given a document, it lets you find the ones that are most similar, for example |
| 22:34:22 | evan | ah yes |
| 22:34:36 | evan | so you can have Kirk from Gilmore Girls tell people how to make drinks |
| 22:34:40 | Defiler | Word. |
| 22:35:37 | Defiler | The process is basically "make a ton of parallel HTTP requests" => "merge sort" => calculate kNN fun to figure out which ones to keep |
| 22:35:43 | Defiler | Which is an interesting optimization task |
| 22:37:14 | evan | interesting. |
| 22:37:54 | Defiler | rabbitmq has really changed the difficulty level of doing some large-scale shit |
| 22:37:59 | Defiler | Very impressive piece of software |
| 22:38:36 | evan | i've heard that! |
| 22:38:38 | evan | i wanna play with it. |
| 22:38:44 | evan | i recommended it to a friend |
| 22:38:52 | Defiler | If you do, I recommend the 'bunny' library. It is dead easy |
| 22:38:57 | evan | because i guess there is a comet plugin thing |
| 22:39:07 | evan | so you can talk javascript straight to rabbitmq |
| 22:39:13 | Defiler | Sick |
| 22:39:35 | evan | ezmobius got his amqp project running under rbx |
| 22:39:40 | Defiler | I just love it.. we have this convention where you put the names of the fields you are updating in the message key |
| 22:39:46 | evan | i wanna right so amqp stuff. |
| 22:39:56 | Defiler | e.g. 'user.email' |
| 22:40:08 | evan | cool |
| 22:40:08 | Defiler | So systems that care about particular parts of a thing can just subscribe to those |
| 22:40:15 | evan | aah |
| 22:40:17 | evan | nice! |
| 22:40:28 | Defiler | Yeah, things just snap into place like LEGOs |
| 22:40:33 | evan | i wish rabbitmq and such had been around 4 years ago |
| 22:40:39 | Defiler | Yes. Oh yes. |
| 22:40:40 | evan | we'd probably have used it instead of dbus |
| 22:40:46 | evan | in a product |
| 22:40:50 | evan | which failed. |
| 22:40:51 | Defiler | It's painful to think back on things I did as daemons that would have been 10x easier with rabbit |
| 22:40:55 | evan | not because of dbus |
| 22:40:58 | evan | but it didn't help. |
| 22:41:18 | Defiler | Oh, fun. I just ran that sorting benchmark under zsh's 'time' built-in |
| 22:41:26 | evan | i made up these adhoc comm mechanisms for talking soap and such between machines |
| 22:41:29 | evan | and dbus internally. |
| 22:41:33 | Defiler | and not only does rbx beat 1.8.7 with a stick, the total run-time, including startup, is way shorter |
| 22:41:41 | evan | nice! |
| 22:41:43 | Defiler | 5.6 total seconds vs. 9.6 |
| 22:42:00 | Zoxc | what's rbx? :D |
| 22:42:09 | Defiler | rubinius binary |
| 22:42:18 | Defiler | (and that is true even if it has to build and save the .rbc) |
| 22:42:23 | boyscout | Remove -dev from version number - 6ada49f - Evan Phoenix |
| 22:44:00 | evan | Defiler: noice! |
| 22:44:13 | boyscout | CI: 6ada49f success. 3002 files, 11423 examples, 35491 expectations, 0 failures, 0 errors |
| 22:44:23 | Defiler | You have been running with this ball for 3 years now non-stop. Bad ass, sir. |
| 22:44:30 | rue | Which sorting? |
| 22:44:44 | Defiler | http://gist.github.com/234170 |
| 22:46:25 | boyscout | Update download page with 0.13 - ca5617a - Evan Phoenix (gh-pages) |
| 22:46:28 | rue | Aha |
| 22:46:43 | brixen | woot! |
| 22:47:00 | brixen | listens for a little birdy... |
| 22:47:04 | brixen | chirp chirp |
| 22:47:18 | boyscout | Add rake tasks for doing releases - 196dc19 - Evan Phoenix |
| 22:47:20 | evan | i'll tweet now |
| 22:47:21 | Zoxc | tries to build on Windows |
| 22:47:42 | Defiler | I can tell you how that's going to go :) |
| 22:48:06 | Defiler | but don't let that stop you; has to happen someday |
| 22:49:07 | boyscout | CI: 196dc19 success. 3002 files, 11423 examples, 35491 expectations, 0 failures, 0 errors |
| 22:51:23 | boyscout | Update release date - 1d6a59c - Evan Phoenix (gh-pages) |
| 22:54:33 | evan | oh oops! |
| 22:54:43 | evan | I should have included the link to the changelog gist |
| 22:55:10 | evan | we should probably write up a brief summary |
| 22:55:16 | evan | in addition to the changelog |
| 22:55:23 | evan | i'll go through mine and summarize them now. |
| 22:57:25 | brixen | suppose we should |
| 22:59:06 | brixen | I wonder if I can just put the whole commit msg in that changelog |
| 22:59:15 | brixen | I try to explain stuff in the commits |
| 23:00:16 | Defiler | Yes. Yes you do. :) |
| 23:00:48 | brixen | heh |
| 23:01:00 | brixen | Defiler: now what'dya mean by that... |
| 23:01:02 | evan | mine are typically short |
| 23:01:06 | evan | i'm going to summarize the work |
| 23:01:32 | Defiler | brixen: I mean that you have really informative commit messages that I make sure to read carefully. |
| 23:01:41 | Defiler | That or you try to have them and fail. Take it whichever way you prefer |
| 23:02:28 | brixen | heh |
| 23:02:37 | brixen | Defiler: just kidding ya |
| 23:02:43 | Defiler | :) |
| 23:03:25 | brixen | I was actually going to embed a "If you send me a tweet with this message, I'll give you a $1" to see if anyone was paying attention |
| 23:03:46 | brixen | well, first person |
| 23:03:52 | brixen | as recorded by twitter |
| 23:05:13 | brianmario | congrats on the release guys, great work on this one |
| 23:05:25 | brixen | brianmario: thank you! |
| 23:12:38 | evan | wow |
| 23:12:41 | evan | we DID to a lot in 0.13 |
| 23:12:42 | evan | geez. |
| 23:12:53 | brixen | yeah |
| 23:13:06 | brixen | hence my reluctance to try to summarize it :P |
| 23:13:23 | brixen | I'm trying to though |
| 23:13:39 | evan | you don't have to |
| 23:13:41 | evan | i wanted to mine |
| 23:13:46 | evan | you write better commit message than I do. |
| 23:13:56 | brixen | heh, dunno about that |
| 23:14:07 | brixen | but I think it is valuable docs for you to summarize your stuff |
| 23:14:17 | brixen | I can always explain mine, and so could you ;) |
| 23:15:10 | evan | hm, so where should I put this... |
| 23:15:14 | evan | on the website maybe? |
| 23:15:18 | brixen | yeah |
| 23:15:57 | brixen | I'll go ahead and summarize this stuff too |
| 23:16:05 | brixen | like the build system changes |
| 23:16:19 | brixen | what is melbourne/c-ng in simple terms |
| 23:20:06 | evan | ok |
| 23:20:10 | evan | i've got my summarized |
| 23:20:15 | evan | and i've put the changelog you created into a page |
| 23:20:21 | brixen | k |
| 23:20:22 | evan | i'll add a link and push |
| 23:20:28 | brixen | cool |
| 23:25:33 | boyscout | Add release summary page - facee80 - Evan Phoenix (gh-pages) |
| 23:29:38 | context | wether i use llvm or not i keep getting this error when i run rake: library not found for class Digest::SHA1 -- digest/sha1 |
| 23:32:29 | evan | context: please open a ticket with all the info |
| 23:34:18 | brixen | context: what platform, ruby version? |
| 23:35:04 | context | brixen: SL, 1.9.1 |
| 23:35:09 | context | trying with 1.8.7 now |
| 23:35:34 | brixen | context: ok, let me know how it goes |
| 23:35:44 | brixen | 1.9.1 is not officially supported yet |
| 23:36:11 | brixen | context: can you figure out if 'require "digest/sha1"' is needed or something? |
| 23:36:35 | context | well yeah thats required in 1.8 as well |
| 23:36:43 | context | eyah gimme a few minutes |
| 23:36:57 | brixen | um, no it's not otherwise no one would be able to build |
| 23:37:08 | brixen | assuming it's in kernel.rake |
| 23:37:37 | brixen | it does 'require "digest"' |
| 23:38:04 | context | VM Assertion: set RBX_RUNTIME to runtime (or equiv) |
| 23:38:05 | context | 2 rbx 0x00000001000457f5 rubinius::VMException::VMException(char const*, bool) + 101 |
| 23:38:08 | context | <-- not my day |
| 23:38:39 | brixen | how are you running this? |
| 23:39:08 | context | heh. ./configure --prefix ./_INSTALL ; rake |
| 23:39:28 | brixen | don't use --prefix |
| 23:39:32 | context | kk |
| 23:39:38 | brixen | it's broken |
| 23:39:43 | brixen | you don't need it either |
| 23:39:48 | brixen | just run rbx in the build dir |
| 23:40:37 | evan | damn |
| 23:40:38 | brixen | thank you unix, the "configure; make; make install" mantra is broken and unnecessary |
| 23:40:41 | evan | we should have just disabled prefix. |
| 23:40:54 | evan | people are going to stumble over that. |
| 23:41:13 | context | heh |
| 23:41:17 | brixen | you could still disable it and re-release |
| 23:41:25 | context | gonna try without llvm then llvm |
| 23:41:25 | evan | yeah |
| 23:41:28 | evan | could. |
| 23:41:36 | evan | context: on SL |
| 23:41:39 | evan | using LLVM is free |
| 23:41:42 | evan | and you should use it. |
| 23:41:49 | evan | ./configure --enable-llv |
| 23:41:51 | evan | ./configure --enable-llvm |
| 23:41:57 | evan | it will download a prebuilt LLVM for you to use |
| 23:43:01 | context | yeah did that already |
| 23:43:07 | context | kk, ill stop and try with llvm |
| 23:43:51 | context | well screw it ill let it go |
| 23:43:54 | context | id rather use llvm |
| 23:43:57 | context | but ill let this run |
| 23:44:01 | evan | why? |
| 23:44:05 | evan | just ^C |
| 23:44:09 | evan | and do it again. |
| 23:44:47 | context | heh kk |
| 23:46:29 | context | kk compiling we go |
| 23:46:35 | boyscout | Add gotchas section - 5f2ecde - Evan Phoenix (gh-pages) |
| 23:48:12 | evan | ok, i think thats fine. |
| 23:48:19 | evan | it's now documented that --prefix is broken. |
| 23:48:23 | evan | we'll fix it for next week anyway |
| 23:49:09 | boyscout | A few more 0.13 summaries. - 21d1afc - Brian Ford (gh-pages) |
| 23:49:28 | context | rubinius 0.13.0-dev (1.8.7 cde67054 2009-11-06) [x86_64-apple-darwin10.2.0] |
| 23:49:34 | context | appears to be going fine with 1.8.7 |
| 23:50:26 | brixen | context: did you co the 0.13 tag or just clone rbx? |
| 23:50:33 | context | this is master |
| 23:50:37 | brixen | ok |
| 23:50:53 | context | brixen: i like to cut myself |
| 23:51:00 | brixen | sure :) |
| 23:51:05 | brixen | well, we keep master sane |
| 23:51:09 | evan | ack! |
| 23:51:11 | brixen | and boyscout backs us up |
| 23:51:14 | evan | did the -dev leak out? |
| 23:51:16 | brixen | no |
| 23:51:26 | evan | ok, he's on master |
| 23:51:27 | evan | few. |
| 23:51:29 | context | yey! iconv errors |
| 23:51:43 | evan | s/few/good/ |
| 23:52:11 | context | http://pastie.org/698113 |
| 23:52:34 | context | that just the tests? |
| 23:52:38 | evan | huh. |
| 23:52:40 | evan | yeah, thats the tests |
| 23:52:50 | evan | i didn't think we were running them by default right now. |
| 23:53:36 | evan | context: mm. i'll bet you don't have macports installed |
| 23:53:41 | evan | and thusly probably don't have libiconv |
| 23:58:49 | context | evan: nope |
| 23:58:57 | context | ive been using homebrew |
| 23:59:02 | context | but im prolly gonna go back to macports |
| 23:59:49 | context | kk. dont use rbx with ruby1.9 CHECK! |