Show enters and exits. Hide enters and exits.
| 00:00:01 | evan | bingo. |
| 00:00:17 | mernen enters the room. | |
| 00:00:40 | naeu enters the room. | |
| 00:00:41 | anonuser | And another trivial problem is solved. |
| 00:03:28 | anonuser | evan, does that warrant a commit bit? |
| 00:03:43 | evan | sure |
| 00:03:46 | evan | whats your ssh key? |
| 00:04:39 | naeu leaves the room. | |
| 00:06:10 | anonuser | http://rafb.net/p/wwFpJc78.html |
| 00:06:15 | Yurik leaves the room. | |
| 00:06:49 | evan | added! |
| 00:07:15 | anonuser | Awesome :) |
| 00:08:00 | brixen | anonuser: what's your github username? |
| 00:08:11 | naeu enters the room. | |
| 00:08:43 | anonuser | sbryant |
| 00:09:17 | brixen | anonuser: cool, added to rubyspec |
| 00:09:34 | anonuser | Thanks |
| 00:09:46 | brixen | np, thanks for helping :) |
| 00:09:59 | brixen | evan: git-lh is slick |
| 00:10:05 | anonuser | I plan on helping out a lot if possible :) |
| 00:10:20 | brixen | heh, there's lots to do |
| 00:10:21 | anonuser | This keeps me motivated to keep working, especially considered how burnt out I've been |
| 00:10:30 | naeu leaves the room. | |
| 00:10:53 | naeu enters the room. | |
| 00:11:03 | brixen | anonuser: yeah, nothing like a little bit of interesting ruby code to refresh oneself |
| 00:11:49 | blakewatters enters the room. | |
| 00:11:50 | anonuser | brixen, yeah. Especially when I came from writing a distributed video authoring system in C++ with turn a rounds in as little as 2 hours. |
| 00:12:00 | anonuser | 100+ hour weeks are the worst things ever. |
| 00:12:07 | brixen | ugh |
| 00:12:51 | rubuildius_ppc | Sean Bryant: ec6bf683f; 2189 files, 7320 examples, 26112 expectations, 0 failures, 0 errors |
| 00:13:10 | anonuser | It was a neat project, tried to leverage opensource technologies even wrote a few libs but the environment was the hellish. |
| 00:13:16 | anonuser | And the pay was laughable. |
| 00:13:25 | rubuildius_amd64 | Sean Bryant: ec6bf683f; 2189 files, 7261 examples, 25964 expectations, 0 failures, 0 errors |
| 00:13:25 | naeu leaves the room. | |
| 00:15:17 | anonuser | rake git:committer does what I think it does? |
| 00:15:36 | evan | yep |
| 00:16:59 | brixen | anonuser: and rake spec:committer also |
| 00:17:07 | anonuser | yep saw that |
| 00:17:12 | brixen | evan: only thing git-lh doesn't seem to do is close the ticket for you ;) |
| 00:17:48 | evan | ha! |
| 00:17:52 | evan | i was just thinking about adding that |
| 00:18:15 | brixen | this is just too cool, I might have to hadd git-rm for redmine |
| 00:18:25 | brixen | oh wait, bad choice :P |
| 00:18:36 | brixen | git-red |
| 00:18:39 | anonuser | redmine is really cool by the way. |
| 00:19:05 | brixen | yeah, seems to be working ok so far |
| 00:19:15 | lopex leaves the room. | |
| 00:20:03 | anonuser | I might use it as a replacement for trac. |
| 00:20:13 | anonuser | Since I've switched to git and well trac is abysmal. |
| 00:20:33 | brixen | ahh, it's a no-brainer as a replacement for trac |
| 00:20:48 | brixen | I'm still not sure rubyspec wouldn't be better in LH, though |
| 00:21:06 | NoKarma enters the room. | |
| 00:22:45 | anonuser | what's with the github flakiness :( |
| 00:23:21 | jbarnette | anonuser: it's being overwhelmed by the proliferation of forks of dr-nic-magic-awesome |
| 00:23:22 | anonuser | brixen, redmine seems to have a lot of features you don't use |
| 00:23:35 | anonuser | jbarnette, oh. Well that clears that up |
| 00:23:51 | brixen | anonuser: any in particular you think we should use? |
| 00:24:22 | anonuser | Let me find a conversation I had with a friend. |
| 00:24:37 | anonuser | We were looking for a project management thing. |
| 00:24:40 | ch0wda leaves the room. | |
| 00:24:52 | anonuser | brixen, on the otherhand LH is something people are already used to. |
| 00:24:56 | evan | if it's useful for anyone, if you do |
| 00:24:58 | anonuser | Especially the rubspec people |
| 00:25:02 | evan | http://rubini.us/t/<number> |
| 00:25:08 | evan | you'll be redirected to the LH ticket of that number |
| 00:25:20 | evan | i can never remember the LH urls, so I added that. |
| 00:25:30 | brixen | ah nice |
| 00:26:23 | anonuser | Let's hope Rick Olsen doesn't go changing the URLs |
| 00:26:28 | brixen | anonuser: the thing I don't like about LH is having to have 2 sites. I want to just send people to rubyspec.org and everything is there |
| 00:26:35 | brixen | LH should allow transparent proxying |
| 00:26:37 | atmos leaves the room. | |
| 00:26:38 | brixen | or something |
| 00:27:08 | anonuser | With enough proxying and mod_rewrite you can fake it? |
| 00:27:58 | eventualbuddha enters the room. | |
| 00:28:56 | evan | ooh |
| 00:29:02 | evan | command of the day "git whatchanged" |
| 00:29:20 | anonuser | that's different from git diff? |
| 00:29:25 | evan | check it out. |
| 00:29:45 | anonuser | am doing |
| 00:29:53 | anonuser | oh that is awesome |
| 00:34:21 | jp_tix | git log --stat? |
| 00:34:54 | brixen | this is useful: |
| 00:34:56 | brixen | [alias] lc = log ORIG_HEAD.. --stat --no-merges |
| 00:43:05 | anteaya enters the room. | |
| 00:43:37 | imajes enters the room. | |
| 00:43:57 | stepheneb enters the room. | |
| 00:59:26 | anteaya leaves the room. | |
| 01:04:01 | eventualbuddha leaves the room. | |
| 01:06:35 | Fullmoon enters the room. | |
| 01:13:03 | yipstar leaves the room. | |
| 01:13:03 | edwardam leaves the room. | |
| 01:17:45 | felipemesquita enters the room. | |
| 01:19:06 | MenTaLguY enters the room. | |
| 01:21:23 | hemulen leaves the room. | |
| 01:22:34 | twbray leaves the room. | |
| 01:23:14 | jbarnette leaves the room. | |
| 01:27:53 | wycats leaves the room. | |
| 01:28:19 | ezmobius_ enters the room. | |
| 01:47:03 | blakewatters leaves the room. | |
| 01:47:04 | jennyw leaves the room. | |
| 01:54:47 | blakewatters enters the room. | |
| 01:56:23 | michalw leaves the room. | |
| 02:03:35 | obvio171 leaves the room. | |
| 02:04:41 | twbray enters the room. | |
| 02:05:09 | headius leaves the room. | |
| 02:05:11 | twbray leaves the room. | |
| 02:06:06 | jtoy enters the room. | |
| 02:10:02 | edwardam enters the room. | |
| 02:13:19 | wmorgan leaves the room. | |
| 02:13:39 | wmorgan enters the room. | |
| 02:15:59 | ezmobius_ leaves the room. | |
| 02:15:59 | ezmobius leaves the room. | |
| 02:17:03 | twbray enters the room. | |
| 02:17:54 | obvio171 enters the room. | |
| 02:17:58 | yugui enters the room. | |
| 02:21:43 | atmos enters the room. | |
| 02:23:49 | ShayArnett enters the room. | |
| 02:25:58 | iamclovin enters the room. | |
| 02:28:22 | twbray leaves the room. | |
| 02:28:31 | stepheneb leaves the room. | |
| 02:33:33 | VVSiz leaves the room. | |
| 02:34:45 | jennyw enters the room. | |
| 02:36:06 | pauldix enters the room. | |
| 02:37:14 | VVSiz enters the room. | |
| 02:37:25 | edwardam leaves the room. | |
| 02:45:17 | oliver_s enters the room. | |
| 02:46:47 | oliver_s leaves the room. | |
| 02:49:52 | boyscout | 1 commit by Evan Phoenix |
| 02:49:53 | boyscout | * Fix rbconfig and rubygems paths; c03b8e5 |
| 02:52:03 | loincloth leaves the room. | |
| 02:52:08 | obvio171 leaves the room. | |
| 02:55:01 | oliver_s enters the room. | |
| 02:57:38 | wycats enters the room. | |
| 02:59:40 | anteaya enters the room. | |
| 03:00:01 | cremes enters the room. | |
| 03:03:18 | rubuildius_amd64 | Evan Phoenix: c03b8e5b4; 2189 files, 7261 examples, 25964 expectations, 0 failures, 0 errors |
| 03:03:22 | rubuildius_ppc | Evan Phoenix: c03b8e5b4; 2189 files, 7320 examples, 26112 expectations, 0 failures, 0 errors |
| 03:03:57 | oliver_s leaves the room. | |
| 03:10:36 | sambo82 enters the room. | |
| 03:16:09 | evan | Defiler: yeah, one sucky thing about MRI bt's is the way they show if you're in a block |
| 03:16:16 | evan | it can be pretty confusing |
| 03:16:32 | Defiler | I'm at a point where I'm just trying to understand the 'correct' behavior. Heh. |
| 03:16:40 | Defiler | So that I can make it match |
| 03:16:53 | Defiler | but it seems like it just picks random files from $: and sorts them |
| 03:18:20 | headius enters the room. | |
| 03:23:02 | evan | so, the problem is that shotgun/rubinius can't be used in a #! with bash, right? |
| 03:23:26 | Defiler | I've been dreading it, but I guess it is time for real deal caller specs =( |
| 03:24:10 | sambo82 leaves the room. | |
| 03:24:17 | sambo82 enters the room. | |
| 03:24:47 | pauldix leaves the room. | |
| 03:26:19 | anteaya leaves the room. | |
| 03:28:32 | anteaya enters the room. | |
| 03:29:20 | sambo82 leaves the room. | |
| 03:29:21 | sambo82_ enters the room. | |
| 03:29:56 | atmos leaves the room. | |
| 03:30:07 | Defiler | http://pastie.org/209959 |
| 03:30:16 | Defiler | Could someone run that on the latest rubinius and paste the output? |
| 03:30:28 | Defiler | I want to make sure I don't have any leftover changes affecting it.. feeling paranoid. Heh |
| 03:31:01 | brixen | sure, sec.. |
| 03:31:02 | anonuser | Defiler, sure |
| 03:31:51 | yipstar enters the room. | |
| 03:31:55 | vertiginous enters the room. | |
| 03:32:07 | djwhitt | clear |
| 03:32:20 | djwhitt | oops, sorry about that |
| 03:32:24 | TheVoice leaves the room. | |
| 03:32:57 | anonuser | Defiler, I'll let brixen handle it because require 'file2' is failing horribly for me and I know the problem just lazy right now :) |
| 03:33:59 | brixen | something went horribly wrong with rbconfig. I have a toplevel "$(prefix)" dir now |
| 03:34:06 | brixen | anyway, back on track... |
| 03:35:18 | iamclovin leaves the room. | |
| 03:35:48 | brixen | Defiler: minus the fancy arrows: http://pastie.org/209961 |
| 03:36:03 | brixen | Defiler: do you want me to pp that? |
| 03:39:45 | Defiler | No, it's cool. Thanks. |
| 03:40:04 | brixen | np |
| 03:40:08 | Defiler | I have the output matching MRI now, at least the first frame |
| 03:40:16 | anteaya leaves the room. | |
| 03:40:17 | Defiler | but spec_parser_spec still fails, so it must not be right yet |
| 03:40:23 | Defiler | urhg |
| 03:40:39 | Defiler | Oh well. Tomorrow. |
| 03:41:23 | brixen | rbconfig is a treasure trove of goodness: http://pastie.org/209954 |
| 03:41:35 | brixen | observe --ruby= in that paste |
| 03:44:01 | Defiler | Eye of terror |
| 03:44:43 | anonuser | he |
| 03:48:26 | twbray enters the room. | |
| 03:50:13 | brixen | hah! just installed treetop in rbx, generated the example ArithmeticParser from the .treetop file, and parsed "1+1" |
| 03:50:23 | brixen | where's nathan? heh |
| 03:50:45 | anonuser | brixen, that is awesome |
| 03:50:57 | anonuser | i <3 treetop |
| 03:54:04 | evan | brixen: woooo! |
| 03:54:08 | evan | treetop in the HOUSE. |
| 03:54:26 | jennyw leaves the room. | |
| 03:54:33 | binary42 enters the room. | |
| 03:54:51 | brixen | the example arithmetic tests run without error, but all the lambda calculus ones error |
| 03:55:09 | brixen | evan: where will the gem bin stubs be? they're still going to lib/bin ? |
| 03:55:56 | binary42_ enters the room. | |
| 03:56:01 | evan | they go in lib/bin, yeah |
| 03:56:03 | evan | so you can do |
| 03:56:06 | evan | rbx treetop .... |
| 03:56:14 | brixen | ah right |
| 03:56:14 | binary42 leaves the room. | |
| 03:56:37 | sambo82_ leaves the room. | |
| 03:57:12 | brixen | hmm, probably looking for <file>.rb though |
| 03:57:20 | brixen | treetop includes a tt script |
| 03:57:37 | evan | yeah |
| 03:57:40 | evan | i just realized that. |
| 03:57:57 | evan | i need to have gems put them somewhere special |
| 03:58:01 | evan | and have loader look there |
| 04:00:57 | twbray leaves the room. | |
| 04:05:00 | anonuser | hpricot fails to install because it really wants rbx in a particular place |
| 04:06:09 | anonuser | any idea of where I should start? |
| 04:10:54 | binary42 enters the room. | |
| 04:11:00 | binary42_ leaves the room. | |
| 04:12:50 | twbray enters the room. | |
| 04:15:19 | twbray leaves the room. | |
| 04:25:58 | ezmobius_ enters the room. | |
| 04:32:53 | Yurik enters the room. | |
| 04:34:30 | yipstar leaves the room. | |
| 04:36:36 | mernen leaves the room. | |
| 04:43:05 | Guest18944 leaves the room. | |
| 04:49:23 | RyanTM leaves the room. | |
| 04:50:56 | atmos enters the room. | |
| 04:55:29 | michaellatta_ enters the room. | |
| 05:00:29 | headius | anyone around? |
| 05:01:12 | michaellatta leaves the room. | |
| 05:02:37 | rue | Just us dustbunnies |
| 05:03:21 | anonuser | I'm around, not sure helpful that is. |
| 05:04:33 | headius | where would I find out how rubinius sizes the generations? |
| 05:04:52 | anonuser | look at baker.rb and marksweep.rb |
| 05:05:00 | anonuser | I'm guessing |
| 05:05:07 | headius | ok |
| 05:05:35 | anonuser | err |
| 05:05:39 | anonuser | i'm sorry it's baker.c |
| 05:06:08 | anonuser | and marksweep.c |
| 05:06:47 | anonuser | looking into the generational garbage collector? |
| 05:07:24 | stepheneb enters the room. | |
| 05:07:45 | twbray enters the room. | |
| 05:09:16 | jtoy leaves the room. | |
| 05:14:51 | atduskgreg leaves the room. | |
| 05:18:26 | anonuser | evan, are there any requirements for the instrumenting profiler? I'm looking at Zen Profile. It'll add requirements of ruby inline as the profiling crap is inlined C. |
| 05:20:55 | fbuilesv leaves the room. | |
| 05:23:46 | benny leaves the room. | |
| 05:23:52 | headius leaves the room. | |
| 05:26:18 | atmos leaves the room. | |
| 05:31:05 | atmos enters the room. | |
| 05:44:24 | jtoy enters the room. | |
| 05:50:23 | headius enters the room. | |
| 05:53:26 | thehcdreamer enters the room. | |
| 05:54:44 | jtoy leaves the room. | |
| 05:59:34 | iamclovin enters the room. | |
| 06:02:18 | benburkert enters the room. | |
| 06:02:32 | jtoy enters the room. | |
| 06:04:11 | stepheneb leaves the room. | |
| 06:19:00 | mass | does a lil jig |
| 06:19:32 | benburkert_ leaves the room. | |
| 06:20:27 | yipstar enters the room. | |
| 06:21:54 | headius leaves the room. | |
| 06:23:43 | tizianobis enters the room. | |
| 06:24:27 | cezarsa leaves the room. | |
| 06:28:06 | headius enters the room. | |
| 06:30:39 | qwert666 enters the room. | |
| 06:46:42 | edwardam enters the room. | |
| 06:49:14 | JonathanT enters the room. | |
| 06:49:43 | thehcdreamer leaves the room. | |
| 06:55:34 | atduskgreg enters the room. | |
| 06:55:40 | michaellatta_ leaves the room. | |
| 06:56:12 | michaellatta enters the room. | |
| 06:57:14 | JonathanT leaves the room. | |
| 07:02:14 | twbray leaves the room. | |
| 07:09:25 | sholden leaves the room. | |
| 07:09:31 | sholden enters the room. | |
| 07:11:57 | mitchellvriley enters the room. | |
| 07:26:24 | nemerle_afk leaves the room. | |
| 07:45:31 | tizianobis_ enters the room. | |
| 07:58:29 | tizianobis_ leaves the room. | |
| 07:59:36 | naeu enters the room. | |
| 08:02:16 | tizianobis leaves the room. | |
| 08:08:23 | Maledictus enters the room. | |
| 08:15:33 | Skip enters the room. | |
| 08:16:47 | thehcdreamer enters the room. | |
| 08:16:51 | krisps enters the room. | |
| 08:17:05 | yipstar leaves the room. | |
| 08:19:15 | twbray enters the room. | |
| 08:26:53 | TheVoice enters the room. | |
| 08:31:05 | boyscout | 1 commit by Evan Phoenix |
| 08:31:06 | boyscout | * Modify loader to look for #{$:.first}/bin/<command> directly; e8505a5 |
| 08:31:27 | ezmobius_ enters the room. | |
| 08:34:35 | dbussink | morning |
| 08:44:10 | rubuildius_ppc | Evan Phoenix: e8505a517; 2189 files, 7320 examples, 26112 expectations, 0 failures, 0 errors |
| 08:44:45 | twbray leaves the room. | |
| 08:45:07 | JonathanT enters the room. | |
| 08:46:44 | Yurik_ enters the room. | |
| 08:48:20 | rubuildius_amd64 | Evan Phoenix: e8505a517; 2189 files, 7261 examples, 25964 expectations, 0 failures, 0 errors |
| 08:50:18 | naeu leaves the room. | |
| 08:51:39 | bitsweat leaves the room. | |
| 08:53:34 | krisps leaves the room. | |
| 08:54:09 | mutle enters the room. | |
| 08:55:00 | krisps enters the room. | |
| 08:56:04 | Yurik leaves the room. | |
| 08:56:28 | octopod enters the room. | |
| 09:06:09 | krisps leaves the room. | |
| 09:08:19 | naeu enters the room. | |
| 09:19:41 | atduskgr_ enters the room. | |
| 09:21:04 | atduskgreg leaves the room. | |
| 09:29:00 | gnufied enters the room. | |
| 09:47:26 | xhanjian leaves the room. | |
| 09:49:02 | xhanjian enters the room. | |
| 09:52:02 | ezmobius_ leaves the room. | |
| 09:52:03 | ezmobius leaves the room. | |
| 09:56:48 | atduskgr_ leaves the room. | |
| 10:02:38 | headius_ enters the room. | |
| 10:13:15 | headius leaves the room. | |
| 10:17:29 | krisps enters the room. | |
| 10:24:02 | headius leaves the room. | |
| 10:28:33 | krisps_ enters the room. | |
| 10:38:48 | michalw enters the room. | |
| 10:39:28 | krisps__ enters the room. | |
| 10:47:24 | xhanjian leaves the room. | |
| 10:50:23 | krisps___ enters the room. | |
| 11:04:04 | gnufied leaves the room. | |
| 11:04:04 | octopod leaves the room. | |
| 11:04:04 | Yurik_ leaves the room. | |
| 11:04:04 | Maledictus leaves the room. | |
| 11:04:04 | michaellatta leaves the room. | |
| 11:04:04 | edwardam leaves the room. | |
| 11:04:04 | binary42 leaves the room. | |
| 11:04:04 | cremes leaves the room. | |
| 11:04:04 | wycats leaves the room. | |
| 11:04:04 | yugui leaves the room. | |
| 11:04:04 | Fullmoon leaves the room. | |
| 11:04:04 | shame leaves the room. | |
| 11:04:04 | thoughtfiz leaves the room. | |
| 11:04:04 | nicksieger leaves the room. | |
| 11:04:04 | lstoll leaves the room. | |
| 11:04:04 | rubuildius_amd64 leaves the room. | |
| 11:04:04 | foysavas leaves the room. | |
| 11:04:04 | maharg leaves the room. | |
| 11:04:04 | timo leaves the room. | |
| 11:04:04 | pastie leaves the room. | |
| 11:04:04 | manveru leaves the room. | |
| 11:04:04 | goodney leaves the room. | |
| 11:04:04 | matthewd leaves the room. | |
| 11:04:33 | Maledictus enters the room. | |
| 11:06:12 | maharg enters the room. | |
| 11:06:29 | jtoy leaves the room. | |
| 11:07:06 | thoughtfiz enters the room. | |
| 11:09:14 | krisps__ leaves the room. | |
| 11:09:15 | michaellatta enters the room. | |
| 11:09:41 | wycats enters the room. | |
| 11:09:53 | krisps___ leaves the room. | |
| 11:10:02 | rubuildius_ppc leaves the room. | |
| 11:10:14 | lstoll enters the room. | |
| 11:10:43 | rubuildius_ppc enters the room. | |
| 11:10:53 | Fullmoon enters the room. | |
| 11:11:10 | binary42 enters the room. | |
| 11:12:17 | cremes enters the room. | |
| 11:12:24 | yugui enters the room. | |
| 11:13:02 | edwardam enters the room. | |
| 11:14:22 | octopod enters the room. | |
| 11:14:28 | nicksieger enters the room. | |
| 11:17:18 | shame enters the room. | |
| 11:20:58 | foysavas enters the room. | |
| 11:26:01 | gnufied enters the room. | |
| 11:30:28 | manveru enters the room. | |
| 11:30:41 | matthewd enters the room. | |
| 11:30:44 | manveru leaves the room. | |
| 11:31:44 | manveru enters the room. | |
| 12:06:46 | imajes leaves the room. | |
| 12:14:37 | imajes enters the room. | |
| 12:15:55 | imajes leaves the room. | |
| 12:31:42 | NoKarma enters the room. | |
| 12:35:07 | stepheneb enters the room. | |
| 12:38:20 | stepheneb leaves the room. | |
| 12:44:01 | yugui leaves the room. | |
| 12:49:21 | RyanTM enters the room. | |
| 12:57:29 | goodney enters the room. | |
| 13:03:27 | robertpostill enters the room. | |
| 13:18:08 | blakewatters leaves the room. | |
| 13:27:05 | iamclovin leaves the room. | |
| 13:27:57 | qwert666 leaves the room. | |
| 13:36:31 | fbuilesv enters the room. | |
| 13:44:20 | ShayArnett enters the room. | |
| 13:50:54 | mutle_ enters the room. | |
| 13:54:41 | robertpostill leaves the room. | |
| 13:55:31 | michalw leaves the room. | |
| 13:55:49 | michalw enters the room. | |
| 13:56:01 | benny enters the room. | |
| 14:02:13 | blakewatters enters the room. | |
| 14:12:54 | mutle leaves the room. | |
| 14:14:59 | yasuhito enters the room. | |
| 14:18:36 | Fullmoon leaves the room. | |
| 14:19:09 | stepheneb enters the room. | |
| 14:19:15 | imajes leaves the room. | |
| 14:20:25 | imajes enters the room. | |
| 14:20:48 | Fullmoon enters the room. | |
| 14:21:51 | kAworu leaves the room. | |
| 14:22:13 | kAworu enters the room. | |
| 14:22:52 | Fullmoon leaves the room. | |
| 14:23:39 | moofbong enters the room. | |
| 14:28:33 | pauldix enters the room. | |
| 14:33:51 | yugui enters the room. | |
| 14:41:51 | AndrewO enters the room. | |
| 14:43:08 | edwardam leaves the room. | |
| 14:44:54 | headius enters the room. | |
| 14:50:20 | headius leaves the room. | |
| 14:54:32 | headius enters the room. | |
| 14:57:15 | stepheneb leaves the room. | |
| 15:03:35 | stepheneb enters the room. | |
| 15:06:56 | enebo enters the room. | |
| 15:22:36 | anteaya enters the room. | |
| 15:25:46 | w1rele55 enters the room. | |
| 15:35:15 | mutle leaves the room. | |
| 15:35:49 | mutle enters the room. | |
| 15:42:41 | chris2 enters the room. | |
| 15:45:14 | vertiginous enters the room. | |
| 15:57:54 | thehcdreamer_ enters the room. | |
| 16:00:48 | thehcdreamer_ leaves the room. | |
| 16:04:44 | nexcastellan | drinks coffee. |
| 16:06:26 | thehcdreamer leaves the room. | |
| 16:14:32 | dschn enters the room. | |
| 16:16:22 | AndrewO leaves the room. | |
| 16:31:57 | tizianobis enters the room. | |
| 16:32:04 | edwardam enters the room. | |
| 16:32:38 | mass | this place is off the hook |
| 16:35:12 | AndrewO enters the room. | |
| 16:39:47 | benny leaves the room. | |
| 16:43:36 | michalw leaves the room. | |
| 16:48:01 | naeu leaves the room. | |
| 16:49:03 | shame leaves the room. | |
| 16:49:13 | cout leaves the room. | |
| 16:49:28 | anteaya leaves the room. | |
| 16:49:45 | cout enters the room. | |
| 16:49:56 | dbussink | afternoon everyone |
| 16:50:58 | nexcastellan | Morning! |
| 16:51:41 | anteaya enters the room. | |
| 17:00:01 | twbray enters the room. | |
| 17:02:45 | gnufied leaves the room. | |
| 17:08:02 | tizianobis leaves the room. | |
| 17:08:50 | scudco enters the room. | |
| 17:09:28 | Yurik enters the room. | |
| 17:09:52 | mutle leaves the room. | |
| 17:14:59 | dbussink | hmm, not much happened during the day :P |
| 17:17:00 | JonathanT leaves the room. | |
| 17:20:14 | anonuser | Morning |
| 17:22:12 | moofbong leaves the room. | |
| 17:22:37 | moofbong enters the room. | |
| 17:22:47 | ch0wda enters the room. | |
| 17:24:03 | cschneid_ leaves the room. | |
| 17:28:54 | evan | morning. |
| 17:29:14 | vincentlu | morning |
| 17:29:18 | dbussink | looking at llvm these days? |
| 17:29:33 | atduskgreg enters the room. | |
| 17:30:26 | yipstar enters the room. | |
| 17:32:27 | Yurik_ enters the room. | |
| 17:32:31 | benstiglitz enters the room. | |
| 17:33:13 | cschneid_ enters the room. | |
| 17:34:51 | twbray leaves the room. | |
| 17:35:13 | stepheneb leaves the room. | |
| 17:40:46 | anonuser | evan, I'm looking into porting ZenProfile into shotgun. |
| 17:41:11 | anonuser | Not sure how difficult it'll be considering most of ZenProfile is inlined C |
| 17:41:19 | evan | i should have put requirements in that document |
| 17:41:24 | anonuser | yeah |
| 17:41:24 | evan | i didn't mean using ruby_inline |
| 17:41:27 | evan | and it can't use rb_funcall |
| 17:41:32 | vincentlu | evan: currently rubinius doesn't do tail optimization, right? |
| 17:41:33 | evan | it shouldn't use subtend. |
| 17:41:37 | evan | vincentlu: no. |
| 17:41:41 | Yurik- enters the room. | |
| 17:41:41 | evan | it does not. |
| 17:41:54 | evan | anonuser: when I said port, I mean copy the logic, not the code. |
| 17:42:01 | vincentlu | yeah, I see context chain growing. |
| 17:42:03 | anonuser | evan, gotcha. |
| 17:42:17 | evan | i'm going to tackle it today myself |
| 17:42:22 | anonuser | evan, I figured as much when I saw the code. |
| 17:42:25 | evan | after I get the sampling profiler fixed. |
| 17:42:25 | anonuser | The profiler? |
| 17:42:29 | anonuser | Oh |
| 17:42:47 | evan | you're welcome to take a look though too. |
| 17:43:24 | anonuser | well after lunch maybe, I'll probably just move on to something else since you know what ya want. |
| 17:44:28 | dbussink | evan: going to put it in the new vm? |
| 17:45:20 | evan | dbussink: no, going to put it into shotgun so we can use it in 0.9 |
| 17:45:54 | dbussink | ah, new vm is a bit on hold for now? |
| 17:46:10 | evan | well, i'm working on it in parallel |
| 17:46:37 | dbussink | is there a release target date set for 0.9? |
| 17:46:43 | evan | June 17th |
| 17:46:54 | evan | i'm trying to get us into doing shorter, fixed releases |
| 17:47:20 | dbussink | ah, put a bit more pressure on getting things done i guess? |
| 17:47:29 | evan | yeah, a little. |
| 17:47:41 | dbussink | anything special about june 17th? or just a random date? |
| 17:47:42 | evan | we're still going forward with the new VM though. |
| 17:47:47 | evan | it's before ruby kaigi |
| 17:47:57 | evan | but otherwise, it's just a particular line in the sand. |
| 17:48:45 | dbussink | it's the date of legal gay marriage in california i just found :P |
| 17:48:54 | Defiler | OK, so.. I think I understand the 'caller' problem now |
| 17:49:02 | Defiler | (finally) |
| 17:49:11 | evan | dbussink: ha! just a coincidince |
| 17:49:14 | anonuser | dbussink, excellent |
| 17:49:22 | Defiler | It is that 'caller's output doesn't always have any damn thing to do with who called the running method, at all |
| 17:49:26 | shame enters the room. | |
| 17:49:35 | evan | Defiler: yep. |
| 17:50:10 | Defiler | Are there any other circumstances other than eval "caller" where that is the case? |
| 17:50:40 | evan | not that I know of. |
| 17:50:48 | Defiler | Time to see what block.call does when "thingy do caller end" set up the block |
| 17:50:48 | atduskgreg leaves the room. | |
| 17:50:53 | evan | so, adding a BlockContext on the top didn't do it? |
| 17:51:19 | Defiler | I managed to get the correct output for the first line, but the rest of the trace is into totally different files |
| 17:51:51 | Defiler | 'def calling_hierarchy' is doing too much work, I think |
| 17:52:03 | Defiler | or maybe I am setting up the top context wrong. |
| 17:52:03 | evan | where is that? |
| 17:52:14 | Defiler | That is what caller calls to do the owrk |
| 17:52:19 | Defiler | it is like fill_from, but for caller |
| 17:52:31 | Defiler | (context.rb) |
| 17:52:39 | evan | looking now. |
| 17:53:08 | Yurik-_ enters the room. | |
| 17:53:12 | evan | how can it be doing too much work? |
| 17:53:15 | evan | it does hardly anything |
| 17:53:20 | yugui leaves the room. | |
| 17:53:44 | Defiler | I am wary of the ctx.kind_of?(BlockContext) part |
| 17:54:21 | Defiler | I still don't know what the correct output should be here, though, so I have a lot of work left to do |
| 17:54:42 | evan | let me go look at what MRI does. |
| 17:55:27 | enebo leaves the room. | |
| 17:55:49 | fbuilesv | do you guys know if your presentation at railsconf will be on video any time soon? |
| 17:56:21 | brixen | fbuilesv: afaik, it wasn't recorded :( |
| 17:56:22 | evan | they didn't record it |
| 17:56:23 | evan | so no. |
| 17:56:32 | fbuilesv | dang |
| 17:57:19 | Defiler | This is my test case http://pastie.org/pastes/209959 |
| 17:57:35 | Defiler | GemStone says they have video of their Maglev talk, but I guess they recorded their own |
| 17:57:46 | evan | they did |
| 17:57:52 | evan | it was one of the guys we had dinner with |
| 17:57:58 | evan | recording off to the side |
| 17:58:09 | Defiler | oh, right. I remember seeing him with a camera |
| 17:59:42 | Defiler | I don't understand why MRI only prints a single stack frame with this test case |
| 17:59:59 | evan | because stuff like eval and such don't have frames |
| 18:00:02 | evan | in MRI |
| 18:00:12 | evan | the only that that has a frame is ruby methods. |
| 18:00:31 | Defiler | OK, so the 'caller' is simply what line the block started on, and what got us to that line |
| 18:01:03 | octopod leaves the room. | |
| 18:01:36 | evan | pretty sure, yeah. |
| 18:01:45 | evan | esp since we're using the block as the binding |
| 18:01:59 | evan | and thus the only ruby code that has run up to that point is file1, calling spec |
| 18:02:03 | evan | on line 3 |
| 18:02:52 | evan | Defiler: add "puts caller(1); p :break" to the first line of spec |
| 18:02:55 | evan | and compare them. |
| 18:02:56 | Defiler | This is my current diff.. I know the body of 'caller' is wrong, but I was just messing around to come to my current conclusion.. |
| 18:02:59 | Defiler | http://supremetyrant.com/ruby/caller_fumblings.diff |
| 18:03:45 | Defiler | Ok, yeah, identical |
| 18:03:52 | evan | you're caller code basically throws away what you created with prepare |
| 18:04:02 | Defiler | right |
| 18:04:04 | evan | ok, now put |
| 18:04:09 | evan | "1" on the first line of spec |
| 18:04:18 | evan | actually no |
| 18:04:21 | evan | that wont change it |
| 18:04:24 | evan | because we're doing caller(1) |
| 18:04:33 | Defiler | Yeah, it needs to pass the block to something else to expose a difference |
| 18:04:56 | jacen_ enters the room. | |
| 18:05:04 | evan | but essentially block.binding is like a continuation |
| 18:05:10 | Yurik- leaves the room. | |
| 18:05:16 | evan | it's asking for the moment in time that the block as created |
| 18:05:21 | Yurik leaves the room. | |
| 18:05:46 | Defiler | http://pastie.org/210256 |
| 18:05:55 | Defiler | if file2 looks like that, it shows what I assume you were trying to get me to see |
| 18:06:20 | headius | caller just walks back up the frames |
| 18:06:36 | headius | and the binding contains a reference to a frame |
| 18:06:45 | Defiler | yes, but which frame |
| 18:07:03 | headius | the frame where it was created, or where the proc was created |
| 18:07:06 | evan | headius: in the case of Proc#binding |
| 18:07:14 | Defiler | At my current level of grokkage, that's like saying "caller just returns an array" |
| 18:07:16 | evan | the frame in question isn't just the one that created the block |
| 18:07:18 | Defiler | true, but not enough :) |
| 18:07:21 | evan | it's also the position the frame was in |
| 18:07:24 | evan | when the block was created. |
| 18:07:54 | headius | proc clones the frame in which it is created when it is created |
| 18:08:15 | evan | that makes sense |
| 18:08:20 | evan | we're trying to avoid that |
| 18:08:22 | evan | but maybe we can't. |
| 18:08:26 | Defiler | aha see? I knew that was the easiest way :) |
| 18:08:36 | evan | Defiler: you were right |
| 18:08:40 | Defiler | still, prepare should do the right thing, right? |
| 18:08:45 | Defiler | It looks correct to me, at least |
| 18:08:54 | evan | Defiler: i'd think so. |
| 18:09:01 | headius | you can't |
| 18:09:02 | Defiler | maybe the blockenv isn't in the right state either, and it is copying the wrong juice |
| 18:09:22 | headius | because the proc could be called across threads, line numbers will be changing all over, etc |
| 18:09:37 | headius | proc additional clones when it's activated, at least in JRuby |
| 18:09:49 | headius | not sure if that's necessary or not |
| 18:10:01 | evan | also when taking a binding |
| 18:10:03 | headius | I still only have about an 80% understanding of all that |
| 18:10:23 | headius | we don't do it the way MRI does anymore, so we're mimicking behavior |
| 18:10:28 | headius | death to ITER_* |
| 18:11:46 | Defiler | whoa, what is def self.new all about in kernel/core/proc.rb? |
| 18:11:57 | Defiler | Why does it do that current.sender.block thing? |
| 18:12:10 | evan | AH |
| 18:12:15 | evan | thats crazy town behavior |
| 18:12:16 | evan | check out |
| 18:12:20 | evan | def blah |
| 18:12:22 | evan | p Proc.new |
| 18:12:23 | evan | end |
| 18:12:25 | evan | blah { 1 } |
| 18:12:30 | Defiler | whaaaat |
| 18:12:33 | evan | exactly. |
| 18:12:41 | evan | i'm pretty sure it's from before ruby had |
| 18:12:46 | evan | def blah(&block) |
| 18:12:49 | evan | before that syntax |
| 18:12:51 | Defiler | nfw |
| 18:12:55 | Defiler | nfw |
| 18:12:56 | headius | you didn't know about that? |
| 18:12:57 | evan | so you'd use Proc.new to get the current block. |
| 18:13:07 | nicksieger leaves the room. | |
| 18:13:11 | evan | Defiler: you can see my comment on that behavior in the code. |
| 18:13:13 | Defiler | Haha yeah how could I have failed to learn about something so common and basic |
| 18:13:55 | nicksieger enters the room. | |
| 18:14:09 | evan | Defiler: well, i'm going to fix the sampler now. |
| 18:14:19 | evan | if you want to go ahead and dup the MC when the Proc is created, thats fine. |
| 18:14:25 | evan | we can always come up with a better way later. |
| 18:15:07 | headius | hopefully as we continue to fill out the specs we'll be able to figure out a better way for both of us |
| 18:15:20 | headius | I know we're cloning frames more often than we need, but it's hard to know what we'd break |
| 18:15:30 | evan | yeah |
| 18:15:41 | evan | we need specs for crap like caller |
| 18:15:44 | evan | with all these cases |
| 18:15:49 | evan | Defiler: can you put these into specs? |
| 18:15:51 | evan | these cases. |
| 18:16:06 | evan | you're going to have to be careful how the spec works though |
| 18:16:16 | evan | since rubinius always has more content in caller than MRI |
| 18:16:26 | evan | you'll have to just like check out the first entry or something |
| 18:16:35 | Defiler | evan: Yeah, going to.. just been trying to figure out wtf the behavior was |
| 18:16:38 | evan | k |
| 18:16:55 | Defiler | I'm just going to get this working however I can, and we can optimize it later if possible |
| 18:18:03 | Defiler | I am thinking of writing Proc.new like this, though: http://pastie.org/210262 |
| 18:18:39 | Yurik_ leaves the room. | |
| 18:20:06 | evan | ok |
| 18:25:08 | michaellatta leaves the room. | |
| 18:27:15 | atduskgreg enters the room. | |
| 18:31:12 | wmoxam enters the room. | |
| 18:38:31 | Defiler | headius: Does JRuby hide frames in 'caller' that MRI wouldn't show, or does it show everything? |
| 18:39:18 | dfg59 enters the room. | |
| 18:40:04 | headius | we only populate what MRI would have |
| 18:40:20 | headius | since we don't expose the Java call stack to Ruby |
| 18:40:26 | headius | (at the moment) |
| 18:42:29 | Fobax enters the room. | |
| 18:45:22 | boyscout | 1 commit by Christopher Thompson |
| 18:45:23 | boyscout | * Set host in Makefile, add rubyhdrdir to include path.; 7d9b9c0 |
| 18:52:42 | nexcastellan | My girlfriend thinks you should rename the project "Rubilicious". |
| 18:52:52 | nexcastellan | :) |
| 18:52:57 | evan | heh |
| 18:53:17 | Defiler | evan: OK, I am going to write specs for exact caller output and pound on it until they pass |
| 18:53:31 | Defiler | We can do whatever we want in 'awesome_backtrace' |
| 18:53:43 | Defiler | but caller seems to be used programmaticalllllly more than I feared |
| 18:54:21 | evan | ok |
| 18:54:36 | evan | how are we going to deal with the extra lines we generate? |
| 18:55:41 | Defiler | We may be stuck with some, but I'll see what we can elide |
| 18:55:52 | evan | wait |
| 18:55:56 | evan | you're going to try and prune them out? |
| 18:56:34 | Defiler | Yes |
| 18:56:43 | Defiler | At least I was leaning that way |
| 18:56:47 | evan | how? |
| 18:57:15 | Defiler | Well, for one I will try to omit any of the block first-classery that MRI doesn't have, at least in the caller output |
| 18:57:38 | evan | no |
| 18:57:39 | evan | how? |
| 18:57:42 | evan | how are you going to detect them? |
| 18:57:59 | Defiler | I'll start by skipping all BlockContexts in caller_hierarchy |
| 18:58:03 | Defiler | and see what happens |
| 18:58:09 | evan | ok |
| 18:58:17 | evan | my guess is it will be pretty wrong |
| 18:58:34 | Defiler | Yeah. I'll give it an hour either way, though |
| 18:58:43 | evan | i don't get what thats going to solve. |
| 18:58:54 | rubuildius_ppc | Christopher Thompson: 7d9b9c01b; 2189 files, 7320 examples, 26112 expectations, 0 failures, 0 errors |
| 18:58:58 | evan | other than making caller more confusing |
| 18:59:00 | evan | but go for it. |
| 18:59:15 | Defiler | I suspect just making the first two frames the same as MRI is going to be enough |
| 18:59:29 | dary enters the room. | |
| 19:00:14 | rubuildius_amd64 enters the room. | |
| 19:01:04 | headius_ enters the room. | |
| 19:03:58 | dbussink | hmm, looks like something related to FFI is broken on linux |
| 19:04:06 | dbussink | libiconv isn't working |
| 19:04:24 | nexcastellan | libiconv stopped working for me today. |
| 19:04:35 | evan | odd. |
| 19:04:43 | Defiler | I suspect it is specific to libiconv in some way |
| 19:04:43 | nexcastellan | That's not for Rubinius, though. |
| 19:04:44 | enebo enters the room. | |
| 19:04:58 | nexcastellan | Try recompiling with --with-iconv=shared or some such. |
| 19:05:27 | boyscout | 1 commit by Wilson Bilkovich |
| 19:05:28 | boyscout | * Revise Proc::new to better explain wacky edge cases; d78e7c3 |
| 19:05:32 | dbussink | it's a shared lib on linux already, so it should work |
| 19:05:38 | dfg59 leaves the room. | |
| 19:06:04 | dfg59 enters the room. | |
| 19:07:19 | dbussink | hmm, nvm, it doesn't seem to be installed |
| 19:09:59 | Defiler | evan: the 'check_args' field on Proc seems unused. Is that likely? |
| 19:10:11 | evan | i thought it was |
| 19:10:31 | evan | hm. |
| 19:10:32 | Defiler | I don't see that field being accessed in shotgun, and it is never used in kernel |
| 19:10:35 | evan | i guess it's not anymore. |
| 19:10:43 | evan | we must have refactored it out |
| 19:11:07 | Defiler | CI passes without it, so that seems likely |
| 19:13:52 | dbussink | hmm, the iconv functions are in libc on my ubuntu system |
| 19:15:59 | JonathanT enters the room. | |
| 19:17:22 | headius leaves the room. | |
| 19:18:22 | rubuildius_ppc | Wilson Bilkovich: d78e7c36a; 2189 files, 7320 examples, 26112 expectations, 0 failures, 0 errors |
| 19:19:16 | boyscout | 2 commits by Christopher Thompson |
| 19:19:17 | boyscout | * Merge branch 'master' of git@git.rubini.us:code; 708ecfb |
| 19:19:18 | boyscout | * Add data type defines.; e071f93 |
| 19:19:59 | evan | nexcastellan: please use 'rake git:pull' |
| 19:20:06 | rubuildius_amd64 | Wilson Bilkovich: d78e7c36a; 2189 files, 7261 examples, 25964 expectations, 0 failures, 0 errors |
| 19:20:10 | evan | so we don't see your merge commits |
| 19:20:16 | nexcastellan | Sure thing. |
| 19:20:17 | michaellatta enters the room. | |
| 19:21:00 | wmoxam leaves the room. | |
| 19:27:54 | dbussink | h |
| 19:28:09 | dbussink | iconv works if i remove the set_ffilib call on the latest ubuntu |
| 19:28:18 | evan | hrm. ok. |
| 19:28:26 | evan | we'll have to figure out how to deal with that. |
| 19:30:33 | qwert666 enters the room. | |
| 19:31:50 | anteaya leaves the room. | |
| 19:32:03 | evan | rad |
| 19:32:11 | evan | added GC slices to the sampler output |
| 19:32:18 | rubuildius_ppc | Christopher Thompson: 708ecfb2b; 2189 files, 7320 examples, 26112 expectations, 0 failures, 0 errors |
| 19:33:12 | brixen | evan: sweeet! |
| 19:33:19 | rubuildius_amd64 | Christopher Thompson: 708ecfb2b; 2189 files, 7261 examples, 25964 expectations, 0 failures, 0 errors |
| 19:33:26 | evan | hm. |
| 19:33:30 | evan | let me paste these results |
| 19:33:33 | evan | their... interesting. |
| 19:34:30 | anteaya enters the room. | |
| 19:35:59 | nexcastellan | Our extension builds with Rubinius. One down, six to go. :) |
| 19:36:05 | evan | :D |
| 19:36:41 | brixen | nexcastellan: heh, awesome |
| 19:37:32 | brixen | I guess depending on the extension, we would get MRI level perf for free (assuming it doesn't call a lot of ruby code) |
| 19:38:10 | evan | http://pastie.org/210335 |
| 19:38:29 | evan | thats running 'eval "1"' in a loop 10000 times |
| 19:38:48 | evan | basically, the compiler uses a Hash to |
| 19:38:54 | evan | and thats where most of the time is spent |
| 19:39:29 | dbussink | is it replaceable with a lookuptable? |
| 19:39:31 | brixen | we should use LookupTable if those keys are symbols |
| 19:39:41 | brixen | and provide a LookupTable class to bridge for MRI |
| 19:39:41 | evan | i'll look. |
| 19:39:50 | brixen | LookupTable = Hash |
| 19:39:52 | brixen | if MRI |
| 19:40:03 | brixen | dbussink: heh |
| 19:40:18 | dbussink | brixen: something with great minds think alike ;) |
| 19:40:43 | brixen | dbussink: yeah, I was going to ask where all the #hash_entry came from, but evan answered it before I could type :) |
| 19:41:33 | anteaya leaves the room. | |
| 19:41:49 | anteaya enters the room. | |
| 19:48:13 | atduskgreg leaves the room. | |
| 19:48:30 | nexcastellan | hpricot 0.6 now builds under rubinius. |
| 19:49:09 | imajes enters the room. | |
| 19:49:55 | evan | YAY! |
| 19:49:57 | evan | thats great news! |
| 19:50:00 | evan | can you run the specs? |
| 19:50:18 | tarcieri | heh, does it work? |
| 19:50:21 | evan | i want a tshirt with cezar's face on it |
| 19:50:31 | tarcieri | last I tried it under YARV it had horrible, horrible issues with... crashing |
| 19:50:33 | nexcastellan | I'll get to that later today hopefully. json and rmagick aren't building, and I'm testing two others. |
| 19:50:38 | evan | WOW |
| 19:50:40 | evan | rmagic. |
| 19:50:43 | evan | that would be.... |
| 19:50:46 | nexcastellan | tarcieri, it compiles. Surely we can ship it. |
| 19:50:47 | evan | intense. |
| 19:50:48 | nexcastellan | :) |
| 19:50:51 | Defiler | evan: When I do: eval "caller", shouldn't "MethodContext.current.sender" inside 'def caller' be the MethodContext that was created for the CompiledMethod generated by eval? |
| 19:50:51 | tarcieri | heh |
| 19:51:01 | Defiler | (wow that sentence was involved) |
| 19:51:09 | evan | Defiler: it's a BlockContext |
| 19:51:11 | evan | when you run an eval |
| 19:51:16 | Defiler | yes sorry |
| 19:51:20 | evan | MethodContext.current is a BlockContext |
| 19:51:22 | Defiler | but same deal |
| 19:51:22 | benstiglitz leaves the room. | |
| 19:51:25 | nexcastellan | mechanize-0.7.6 compiles. |
| 19:51:31 | Defiler | MethodContext.current is the one for 'def caller', right? |
| 19:51:38 | evan | i mean |
| 19:51:42 | Defiler | and sender should be the BlockContext created for the eval? |
| 19:51:43 | evan | eval "p MethodContext.current" |
| 19:51:48 | evan | is a BlockContext |
| 19:52:06 | dfg59 leaves the room. | |
| 19:52:24 | Defiler | #<BlockContext:0x31 main#__script__ (eval):1> |
| 19:52:31 | Defiler | so, wrong line number, but at least that part is correct |
| 19:52:50 | atduskgreg enters the room. | |
| 19:52:53 | Defiler | I think we must not be copying enough out of the binding in 'def eval' |
| 19:53:16 | Defiler | Because no matter how hard I mangle up the binding context, the output is the same |
| 19:53:20 | evan | copying? |
| 19:53:25 | Defiler | 'using' |
| 19:53:49 | evan | actually. |
| 19:53:50 | evan | no. |
| 19:53:57 | evan | well |
| 19:54:06 | evan | you need to go look at the methods for BlockContext |
| 19:54:19 | evan | because lots of them delegate to home (which is env.home) |
| 19:54:22 | Defiler | OK, here's a question.. |
| 19:54:25 | evan | perhaps they're delegating too much |
| 19:54:27 | Defiler | that might clear it up for me |
| 19:54:32 | evan | and we should be using some info in BlockContext |
| 19:54:50 | Defiler | Proc.__from_block__ is passed a BlockEnvironment |
| 19:54:57 | evan | yes |
| 19:55:05 | Defiler | what is the relationship between that BlockEnv and the BlockContext that I need to keep around to set up the binding? |
| 19:55:15 | brixen | wow, amazon.com really is down. someone mentioned but I didn't believe it |
| 19:55:35 | evan | Defiler: i don't get what you're asking. |
| 19:55:44 | thehcdreamer enters the room. | |
| 19:55:47 | Defiler | A binding wraps a BlockContext or MethodContext |
| 19:55:50 | Defiler | not a BlockEnvironment |
| 19:55:52 | evan | yes. |
| 19:56:13 | evan | a BlockContext knows it's BlockEnvironment |
| 19:56:18 | Defiler | When headius says he is 'copying the stack frame when a Proc is created', how would he access said frame from a BlockEnvironment passed to __from_block__ ? |
| 19:57:04 | Defiler | I need to make that BlockContext be in the @context ivar of the Binding that is created |
| 19:57:07 | evan | blockenv.home_block = blockenv.home_block.dup |
| 19:57:12 | evan | blockenv.home = blockenv.home.dup |
| 19:57:19 | evan | inside __from_block__ |
| 19:57:32 | Defiler | hrm. thought I had tried that first, because that was my guess |
| 19:57:41 | krisps enters the room. | |
| 19:58:12 | evan | again |
| 19:58:20 | evan | don't confusing a BlockEnvironment with a BlockContext |
| 19:58:27 | evan | each time #call is sent to a BE |
| 19:58:35 | evan | a BC is created to execute it. |
| 19:58:53 | krisps leaves the room. | |
| 19:59:04 | krisps enters the room. | |
| 19:59:33 | Defiler | I don't think I am confusing them, no |
| 19:59:47 | evan | ok. |
| 19:59:59 | evan | just to be clear |
| 20:00:07 | evan | what are you trying to make work |
| 20:00:16 | evan | the first line of caller when Proc#binding is used? |
| 20:00:17 | Defiler | OK, so that doesn't fix it.. so I think eval isn't doing what it needs to to set up 'MethodContext.current.sender' properly for 'caller' |
| 20:00:23 | Defiler | Yes |
| 20:00:29 | Defiler | (that is what I am trying to make work) |
| 20:00:33 | evan | you can't setup .sender |
| 20:00:36 | evan | doesn't work like that |
| 20:00:38 | evan | you can not change it. |
| 20:01:34 | evan | so there is nothing eval can do about it. |
| 20:01:35 | Defiler | Do I need a conditional in 'def caller' then, to choose a different starting frame if sender is a BlockContext? |
| 20:01:38 | evan | nor should it. |
| 20:01:53 | evan | why? |
| 20:01:55 | evan | why would that help? |
| 20:02:01 | chris2 leaves the room. | |
| 20:02:20 | evan | that would mean that |
| 20:02:22 | evan | 1.times do |
| 20:02:25 | evan | puts caller(0) |
| 20:02:25 | evan | end |
| 20:02:29 | evan | works differently than |
| 20:02:37 | evan | def blah |
| 20:02:40 | evan | puts caller(0) |
| 20:02:40 | evan | end |
| 20:03:09 | Defiler | They already do |
| 20:03:10 | Defiler | in MRI |
| 20:04:09 | evan | perhaps, but i don't see how that helps with caller-start-on-proc#binding |
| 20:04:25 | Defiler | Well, here's how I see it.. |
| 20:04:38 | Defiler | 'caller' starts at the sender, and walks up the senders of those contexts |
| 20:04:57 | Defiler | Is that same technique going to work for eval "caller", some_proc.binding ? |
| 20:05:32 | Defiler | 'sender' is some BlockContext generated by eval, and its sender is def eval itself |
| 20:05:41 | Defiler | but def eval should not be anywhere in the caller output for this scenario |
| 20:05:54 | evan | wrong. |
| 20:06:07 | evan | eval "caller", proc.binding |
| 20:06:12 | evan | starts at the context inside the binding |
| 20:06:27 | evan | doesn't it? |
| 20:06:29 | evan | oh wait. |
| 20:06:32 | evan | i see, i see. |
| 20:06:42 | evan | caller always sees the eval created binding |
| 20:06:49 | evan | because thats how eval works no matter what |
| 20:06:55 | Defiler | right |
| 20:07:06 | evan | you could use the eval detection trick |
| 20:07:19 | evan | kind_of(BlockContext) and ctx.from_eval? |
| 20:07:28 | Defiler | ctx.env.from_eval? but yeah |
| 20:07:34 | evan | yeah |
| 20:07:42 | Defiler | and that code would be in 'def caller', yes? |
| 20:07:48 | evan | yeah |
| 20:08:07 | anonuser | nexcastellan, what did ya do to get hpricot to build? |
| 20:08:41 | nexcastellan | anonuser: Nothing more than to get our internal extension to build. What that was was adding rb_cArray, rb_cString, etc. to ruby.h and the corresponding change to ruby.c. |
| 20:09:02 | nexcastellan | That's commit e071f93f9700344c803ed7fc59585790ec150c76. |
| 20:09:49 | Defiler | hrm.. how do I get at the context I need in that scenario? |
| 20:09:54 | Defiler | I expected ctx.env.home_block to contain it |
| 20:10:03 | anonuser | oh, just added a bunch of subtend primitive support? |
| 20:10:14 | evan | Defiler: that seems right. |
| 20:10:23 | evan | anonuser: not primitives. |
| 20:10:34 | evan | anonuser: just fleshing out missing C stuff in subtend. |
| 20:10:42 | anonuser | evan, err. okay |
| 20:11:32 | nexcastellan | I'm hoping most of the rest of my fixes are going to be missing C stuff, but we'll see. I'm working on rmagick now. |
| 20:11:40 | boyscout | 2 commits by Evan Phoenix |
| 20:11:41 | boyscout | * Whitespace cleanup; 555fbcf |
| 20:11:42 | boyscout | * Fix sampler to use pthread instead of setitimer; aeb8008 |
| 20:11:43 | elight enters the room. | |
| 20:12:51 | tarcieri | try this file with Hpricot and see if it causes a crash: |
| 20:12:53 | tarcieri | http://code.whytheluckystiff.net/hpricot/attachment/ticket/144/crash.xml |
| 20:13:27 | evan | zoinks |
| 20:13:30 | evan | thats quite the file |
| 20:13:35 | evan | can't we start smaller? |
| 20:13:38 | evan | maybe www.google.com |
| 20:13:39 | evan | ? |
| 20:13:41 | evan | :) |
| 20:14:40 | anonuser | tarcieri, is it supposed to crash? |
| 20:14:47 | anonuser | Is it even valid markup? |
| 20:15:07 | nexcastellan | I encourage people to try out Hpricot (and mechanize) and to report any failures in Rubinius that are not in Ruby to the appropriate location. :) Most likely, they'll just blow up in all cases but hey, if things work for you, I'd love to hear that, too. :) |
| 20:15:27 | Defiler | Hrm.. home_block and home take me too far, but ctx.sender.sender is just right for this test case |
| 20:15:31 | Defiler | Interesting |
| 20:15:54 | Defiler | home_block takes me all the way back to "kernel/core/compiled_method.rb:379:in `as_script'" |
| 20:15:56 | evan | that makes sense |
| 20:16:01 | evan | home_block is where it's created from. |
| 20:16:05 | evan | sender is where it was called from. |
| 20:16:40 | Defiler | The block was created in file1.rb though, not in compiled_method.rb |
| 20:16:59 | evan | hrm |
| 20:17:56 | anonuser | nexcastellan, I'm unable to build hpricot. Though I've not looked at why |
| 20:18:38 | nexcastellan | anonuser: Did you get the latest commits? |
| 20:18:49 | anonuser | yep |
| 20:18:59 | anonuser | I pulled them in ran rake |
| 20:19:11 | anonuser | err let me try something |
| 20:19:21 | nexcastellan | Hhhmm. What error are you getting? I'm wondering if it is bitching about headers or something. |
| 20:19:27 | anonuser | probably |
| 20:20:07 | anonuser | rebuilding everything just to make sure. |
| 20:20:37 | nexcastellan | I'm doing my tests from a 'PREFIX=/foo rake build' 'PREFIX=/foo rake install' setup. Oh, and I also provide a symbolic link from install/bin/rbx to install/bin/ruby (where install is where you installed things to) |
| 20:20:53 | nexcastellan | That's something that I didn't commit, of course. |
| 20:21:10 | anonuser | nexcastellan, yeah. |
| 20:21:13 | thehcdreamer leaves the room. | |
| 20:21:19 | anonuser | hpricot for some reason really wants rbx to be there. |
| 20:22:08 | anonuser | cc -dynamic -bundle -undefined suppress -flat_namespace -o hpricot_scan.bundle hpricot_scan.o -L. -L/usr/local/lib/rubinius/lib |
| 20:22:08 | anonuser | cc: suppress: No such file or directory |
| 20:22:08 | anonuser | cc: unrecognized option '-bundle' |
| 20:22:26 | brixen | nexcastellan: are you on OS X? |
| 20:22:30 | anonuser | Are you developing for OS X? |
| 20:22:41 | nexcastellan | I'm on OS X, using gcc 4.0.1. |
| 20:22:47 | brixen | nexcastellan: I noticed trying to build sqlite3-ruby gem, the rbx lib is not right |
| 20:22:56 | nexcastellan | anonuser, can you do: which cc and cc --version? |
| 20:22:58 | brixen | nexcastellan: it's expecting librubinius-0.8.0.static |
| 20:23:09 | anonuser | sbryant@baloo:~/src/rubinius$ cc --version |
| 20:23:09 | anonuser | cc (GCC) 4.2.3 (Ubuntu 4.2.3-2ubuntu7) |
| 20:23:15 | nexcastellan | brixen, same problem with rmagick, any guesses why? |
| 20:23:29 | nexcastellan | anonuser, that's weird. It shouldn't be sticking -bundle in there for you, then. |
| 20:23:30 | brixen | nexcastellan: I think we need to tweak our rbconfig |
| 20:23:43 | anonuser | nexcastellan, I'm guessing it's a problem with config. |
| 20:23:51 | anonuser | oi. |
| 20:23:54 | brixen | nexcastellan: since we're not parsing autoconf output, we're going to have to put conditional as appropriate in configure.rake |
| 20:24:30 | rubuildius_ppc | Evan Phoenix: 555fbcfe3; 2189 files, 7320 examples, 26112 expectations, 0 failures, 0 errors |
| 20:25:15 | nexcastellan | anonuser: The fixes look to be all in configure.rake. Easiest is for you to run out and buy a mac, please. :) |
| 20:25:29 | anonuser | nexcastellan, I have a mac :) |
| 20:25:38 | anonuser | It's an old powerbook g4 |
| 20:25:48 | anonuser | It just died, and I develop mainly on my desktop |
| 20:25:50 | TheVoice enters the room. | |
| 20:26:03 | anonuser | Which won't run anything I want it to. So I'm stuck on ubuntu. |
| 20:26:36 | nexcastellan | anonuser: A quick hack would be for you to edit configure.rake and change anything that looks suspiciously OSX'ish to something that would work on Ubuntu. |
| 20:27:20 | nexcastellan | anonuser: Good time to buy a recent MacBook Pro. :) |
| 20:27:38 | anonuser | nexcastellan, that's no excuse :( |
| 20:27:47 | anonuser | yeah it's in configure.rake alright. |
| 20:27:50 | dbussink | evan: just tested the profiler with the tree script from http://antoniocangiano.com/2008/06/05/maglev-handles-trees-like-a-monkey/ |
| 20:27:53 | anonuser | It just flat out assumes -bundle works. |
| 20:28:04 | evan | dbussink: hows it look? |
| 20:28:06 | nexcastellan | anonuser: Yeap, should be an easy fix. |
| 20:28:27 | dbussink | evan: http://pastie.org/210380 |
| 20:28:39 | anonuser | nexcastellan, yeah it is. |
| 20:28:40 | anonuser | let me test |
| 20:28:59 | evan | zoinks! |
| 20:29:07 | evan | i guess the GC cycle count is throwing it off. |
| 20:29:08 | evan | :) |
| 20:29:13 | dysinger leaves the room. | |
| 20:29:31 | nexcastellan | anonuser, you wanna work on it? Should be easy to check the PLATFORM variable and add some conditionals in there. If you know how to build shared libs, etc. on Linux, at least. |
| 20:29:42 | nexcastellan | PLATFORM =~ /darwin/ would be a test for OS X. |
| 20:29:53 | dbussink | evan: it's still a tad faster than mri :P |
| 20:29:56 | anonuser | yeah |
| 20:30:04 | headius | stupid maglev numbers |
| 20:30:05 | evan | dbussink: with the profiler on it's faster? |
| 20:30:21 | evan | dbussink: there is a bad bug with the sampler right now with large data sets |
| 20:30:22 | dbussink | evan: without it is, let me try with |
| 20:30:24 | evan | i need to fix it. |
| 20:30:24 | headius | notice in the comments antonio posts fannkuch and it's not even 2x faster |
| 20:30:38 | anonuser | nexcastellan, I'll see about getting it to work on linux |
| 20:30:39 | rubuildius_amd64 | Evan Phoenix: 555fbcfe3; 2189 files, 7261 examples, 25964 expectations, 0 failures, 0 errors |
| 20:30:46 | headius | gross amount of hype going on |
| 20:30:57 | dbussink | headius: ah, i see |
| 20:31:01 | dbussink | headius: probably is yeah |
| 20:31:31 | nexcastellan | anonuser, probably not much I can do to help but yell if you want me to try. |
| 20:31:49 | dbussink | headius: he even left java out :P |
| 20:31:52 | anonuser | I'll play aroudn with it. |
| 20:32:05 | maharg | headius: just ignore maglev until they actually release some version of their vm |
| 20:32:21 | anonuser | headius, I wouldn't pay too much attention until they run all of ruby. |
| 20:32:50 | headius | yes, the initial cycle should die down soon enough |
| 20:32:51 | maharg | it's pretty clear there are a lot of things they don't get about the ruby community, and helping to throw massive attention their way at this stage isn't going to help them 'get' those things |
| 20:33:13 | headius | we'll talk when they've implemented openssl |
| 20:35:24 | dysinger enters the room. | |
| 20:35:28 | dbussink | evan: looks like it's pretty broken indeed, it a lot slower, like 5 times slower |
| 20:35:46 | evan | yeah |
| 20:35:50 | evan | it thrashes the GC |
| 20:36:01 | evan | let me see if I can fix that now. |
| 20:38:47 | twbray enters the room. | |
| 20:40:53 | bitsweat enters the room. | |
| 20:44:27 | macournoyer enters the room. | |
| 20:46:27 | headius leaves the room. | |
| 20:46:49 | headius enters the room. | |
| 20:49:28 | wycats leaves the room. | |
| 20:51:05 | nexcastellan | I'd like some feedback on this small patch to configure.rake: http://rafb.net/p/iYODyg43.html |
| 20:51:27 | headius leaves the room. | |
| 20:51:38 | nexcastellan | We don't build a static lib for rubinius afaik, so I changed some things. It won't work except on OS X, of course, but anonuser is looking into that already. |
| 20:51:55 | evan | we shouldn't use .dylib or .so |
| 20:52:00 | evan | use Rubinius::LIBSUFFIX |
| 20:52:24 | kAworu | plop |
| 20:52:36 | evan | fine otherwise |
| 20:53:47 | brixen | kAworu: splash |
| 20:54:30 | anonuser | okay I've got changes in configure.rake to get the gem built and installed! |
| 20:54:42 | nexcastellan | Way to go, anonuser. :) |
| 20:54:49 | anonuser | Let's see if it runs |
| 20:55:08 | macournoyer leaves the room. | |
| 20:55:20 | anonuser | but basically configure.rake makes a lot of assumptions and assumes a darwin linker. |
| 20:55:31 | evan |