Show enters and exits. Hide enters and exits.
| 00:02:55 | evan | nice: http://gist.github.com/441461 |
| 00:03:18 | sbryant | eh? |
| 00:03:26 | sbryant | wtf, I can't open any new connections |
| 00:03:47 | evan | oh oh! |
| 00:03:52 | evan | we are using packed! in Hash::Entry |
| 00:03:53 | evan | hahahah |
| 00:03:55 | evan | i thought i turned that off |
| 00:03:57 | evan | AWESOME |
| 00:04:01 | evan | i guess it's stable! |
| 00:04:07 | evan | man |
| 00:04:09 | evan | this project. |
| 00:04:16 | evan | half the stuff i think i left them broken |
| 00:04:26 | evan | and look again and it's been in use for years |
| 00:05:25 | evan | oh man |
| 00:05:33 | evan | i must have actually fixed it in the first pass through |
| 00:05:42 | evan | and all I remembered was ALMOST having it working |
| 00:05:46 | evan | thats hilarious. |
| 00:11:53 | brixen | heh |
| 00:12:16 | sbryant | nice |
| 00:13:20 | brixen | yo dawg, I heard you like building rbx with rbx so I need to put some rbx mojo to build melbourne correctly during bootstrap |
| 00:13:31 | brixen | ponders |
| 00:14:55 | sbryant | is rbx going to start bootstraping itself? |
| 00:15:15 | evan | no reason not to |
| 00:15:15 | brixen | sbryant: it already can, mostly |
| 00:15:32 | brixen | it's trying to load melbourne before it is built though |
| 00:15:36 | brixen | I'm trying to sort out why |
| 00:15:48 | sbryant | ah neat-o |
| 00:16:15 | sbryant | so in the future it'll be able to build sans MRI? |
| 00:16:40 | brixen | once you have rbx installed, yes |
| 00:17:27 | brixen | well, I'm off to see imogene heap |
| 00:17:33 | brixen | have fun tonight everyone! :) |
| 00:17:42 | brixen | rbx should build with 1.9 tomorrow |
| 00:18:59 | evan | brixen: later! |
| 00:37:48 | evan | oh my |
| 00:37:52 | evan | auto packed ivars might be working. |
| 00:37:56 | evan | irb loads and runs. |
| 00:45:28 | sbryant | evan: nice. |
| 00:45:52 | sbryant | can you tell me what that actually means? |
| 00:52:30 | evan | rad, core specs running with auto pack on |
| 00:54:13 | evan | private mem finished at 89M with auto pack on |
| 00:54:18 | evan | lets see what it looks like with it off.. |
| 00:55:01 | evan | 94M with it off. |
| 00:55:14 | sbryant | that's not too bad |
| 00:55:32 | evan | i'm going to have it incorporate superclass data now too. |
| 00:55:38 | evan | i didn't do that first pass |
| 00:55:50 | sbryant | what does this all mean?! |
| 00:56:03 | sbryant | As far as I'm concerned, magic and miracles, yo. |
| 00:56:25 | evan | thats right. |
| 00:56:27 | evan | GC is magic. |
| 00:56:49 | evan | I need to have some a way for the GC to print out an ascii wizard |
| 00:58:49 | sbryant | lols. |
| 01:00:52 | sbryant | http://tmp.liepins.de/magnets/?q=gc |
| 01:04:18 | evan | hehe |
| 01:09:45 | sbryant | evan: anything that needs attention? |
| 01:10:13 | evan | pack, but brixen and I have a strategy. |
| 01:10:18 | evan | you can take a look at the tickets. |
| 01:10:20 | evan | or find new shit |
| 01:10:23 | sbryant | the unread ones? |
| 01:10:24 | evan | by running your code under rbx |
| 01:10:30 | evan | the open ones. |
| 01:10:38 | sbryant | alright. |
| 01:10:49 | sbryant | Got a few new apps that I can try |
| 01:11:01 | sbryant | this time for a social media company! |
| 01:11:17 | evan | woop! |
| 01:12:08 | sbryant | yeah, got a job at a company called vitrue |
| 01:12:23 | sbryant | Nice to work with a team again. |
| 01:12:45 | evan | awesome! |
| 01:12:55 | sbryant | yeah, I'm excited |
| 01:13:15 | sbryant | It's a little strange because I don't use social networks, save for twitter. |
| 01:14:02 | sbryant | So, doing shit for facebook is a little strange for me but so far I'm doing alright. |
| 01:14:05 | parndt | so 1.8.7-p174 is a prerequisite for rbx? |
| 01:14:21 | evan | any 1.8 |
| 01:14:28 | evan | tomorrow any ruby probably |
| 01:14:45 | parndt | rvm install rbx forces 1.8.7-p174 even though I'm using p249 |
| 01:14:49 | parndt | oh well |
| 01:14:54 | evan | yeah |
| 01:14:57 | evan | i don't know why wayneeseguin did that. |
| 01:15:01 | evan | you'd have to ask him. |
| 01:15:05 | parndt | wayneeseguin? |
| 01:15:12 | evan | he's the rvm author |
| 01:15:13 | parndt | any response? (or sleeping)? |
| 01:15:14 | parndt | hehe yeah |
| 01:15:31 | parndt | evan: sorry I realized that seemed confusing as soon as I typed that, I was prompting irc nickname |
| 01:15:59 | evan | ah :) |
| 01:16:40 | evan | nice |
| 01:16:44 | evan | shaved another 4M off |
| 01:18:23 | sbryant | evan: I forgot to ask. How was the conf presentation? |
| 01:18:47 | evan | good! tiring |
| 01:18:50 | evan | i ended up giving 3 |
| 01:19:09 | sbryant | nice, slides / videos up anywhere? |
| 01:19:18 | evan | I'll put the slides up |
| 01:19:53 | evan | the 10min "keynote" is on railsconf.com |
| 01:19:59 | evan | look an the right side, then click on the youtube account |
| 01:20:11 | sbryant | ah okay. What topics did you cover? |
| 01:22:31 | evan | you'll see :) |
| 01:23:01 | sbryant | lamer :-( |
| 02:35:51 | slava | evan: did you see headius' blog post about jvm? |
| 02:43:34 | dwaite | obviously, headius should fork the openjdk and turn it into just a ruby vm ;-) |
| 04:40:43 | postmodern | i dont think github supports importing from mercurial |
| 04:40:48 | postmodern | pretty sure OpenJDK is all on hg |
| 06:05:28 | evan | man, unicorn is finding some wacky edge cases |
| 06:06:08 | slava | unicorn? |
| 06:07:20 | evan | a webserver |
| 06:07:26 | evan | that uses a lot of process/signal stuff |
| 06:08:58 | slava | ah |
| 06:15:19 | boyscout | Run at_exit blocks and finalizers before exiting a fork. Fixes #372. - cf4a5a7 - Evan Phoenix |
| 08:36:55 | boyscout | Fix building with gcc 4.4.1. - a4d8992 - Brian Ford |
| 08:51:55 | boyscout | Add --cc to configure Script, so you can do 'rvm install rbx -C --cc=clang', as with MRI and REE. - 195fe44 - Konstantin Haase |
| 08:52:34 | dbussink | brixen: doing perror and perhaps even exit(1) might be good yeah |
| 08:52:52 | dbussink | there shouldn't be anything going wrong there |
| 08:58:03 | khaase | brixen: still awake? |
| 13:55:24 | sbryant | morning |
| 13:56:57 | dbussink | afternoon :0 |
| 13:56:58 | dbussink | :) |
| 15:59:28 | evan | morning gents. |
| 16:39:49 | brixen | morning! |
| 16:39:51 | brixen | late night |
| 16:39:59 | brixen | evan: I think boyscout CI is hung |
| 16:40:15 | brixen | evan: also, what do you want to do re -Wunused-result? |
| 16:40:27 | brixen | should we perror(), abort(), ignore...? |
| 16:41:17 | evan | perror() is fine. |
| 16:42:25 | brixen | k |
| 16:45:12 | perezd | hey, having issues with rbx 1.0.1 and hpricot ( https://gist.github.com/3ac2e4018eaa9301e480 ) Is this a known issue? |
| 16:45:48 | evan | yep |
| 16:45:51 | evan | hpricot isn't support. |
| 16:45:53 | evan | supported. |
| 16:47:24 | brixen | perezd: can you use nokogiri? |
| 16:48:47 | brixen | perezd: also, that looks like you are trying to load an MRI C ext in rbx |
| 16:49:02 | brixen | because you shouldn't even be able to get a .bundle compiling under rbx |
| 16:49:33 | evan | you must have copied the .bundle from MRI |
| 16:49:37 | evan | which doesn't work under rbx |
| 16:49:59 | brixen | evan: so, can we add a distinguished symbol to our C ext and have .load_extension look for that symbol and fail to load if not found? |
| 16:51:10 | evan | certainly. |
| 16:51:24 | brixen | ok |
| 16:51:26 | evan | well, we can flip it |
| 16:51:30 | brixen | that seems like a very good idea |
| 16:51:32 | evan | we can look for rb_cString |
| 16:51:35 | evan | and if it exists |
| 16:51:36 | evan | bail. |
| 16:51:58 | brixen | except that we have rb_cString :P |
| 16:52:07 | brixen | we need something mri doesn't have |
| 16:52:35 | evan | no we don't. |
| 16:52:51 | evan | well |
| 16:52:53 | evan | this is tricky. |
| 16:52:55 | brixen | ah we have a define right |
| 16:53:03 | evan | we need to create a symbol that the extension will define |
| 16:53:16 | evan | perhaps a function defined in ruby.h |
| 16:53:27 | brixen | that's exactly what I was thinking |
| 16:54:08 | evan | we'd need to do some experimenting |
| 16:54:18 | evan | but totally doable. |
| 16:54:28 | evan | perhaps even use it as a failsafe |
| 16:54:33 | evan | ie, define |
| 16:54:55 | evan | int RUBINIUS_VERSION() { return <a number> }; |
| 16:55:05 | brixen | ah that's cool |
| 16:55:06 | brixen | sure |
| 16:55:13 | evan | so that we can detect extensions compiled against old versions of rbx and warn the user |
| 16:55:21 | brixen | absolutely |
| 16:55:24 | brixen | excellent |
| 16:55:53 | evan | though |
| 16:56:12 | evan | we need to figure out how to load the .bundle in a way that it dlopen won't complain |
| 16:56:19 | evan | i guess that means RTLD_LAZY |
| 16:56:29 | evan | ie, we don't want it to resolve symbols on load |
| 16:56:33 | brixen | ahh |
| 16:56:45 | evan | again, totally doable |
| 16:56:49 | evan | acutally, i'll do this later today |
| 16:56:54 | brixen | ok |
| 16:56:56 | evan | because I want to redo how we load extensions anyway |
| 16:57:03 | evan | to use the FFI::DynamicLibrary stuff |
| 16:57:14 | brixen | cool |
| 16:57:25 | brixen | who broke twitter.... |
| 17:01:43 | imajes | that's what i was wonderin' |
| 17:10:13 | sbryant | Afternoon |
| 17:13:33 | brixen | hi sbryant |
| 17:13:44 | sbryant | hi |
| 18:20:45 | brixen | oh man, this is fun |
| 18:20:59 | brixen | building rbx with rbx requires loading the newest signature file to build kernel |
| 18:21:08 | brixen | because that's what was used to build the rbx you are building |
| 18:21:19 | brixen | and the rbx you are building is used to build the ext like openssl |
| 18:21:29 | brixen | I suppose I could conditionalize that too |
| 18:21:30 | brixen | hmm |
| 18:21:56 | brixen | just built rbx with rbx btw |
| 18:22:02 | brixen | all specs are running... |
| 18:23:24 | evan | yay! |
| 18:24:05 | brixen | yep, all passed |
| 18:24:14 | evan | awesome. |
| 18:26:31 | brixen | lyypanovvvvvvvvvvvvvvvvv! |
| 18:26:54 | evan | He's back! |
| 18:27:12 | brixen | lypanov: did you see evan added custom callsite logic (a la invoke_dynamic) ? |
| 18:27:27 | lypanov | Poop |
| 18:27:30 | brixen | hahah |
| 18:27:35 | lypanov | Lol |
| 18:27:41 | lypanov | Fucking iPhone. |
| 18:27:57 | lypanov | I said "Oooo" |
| 18:28:05 | brixen | heh |
| 18:28:14 | brixen | that's hilarious |
| 18:28:20 | lypanov | Nope. Link? Commit log? |
| 18:28:24 | brixen | sec.. |
| 18:28:25 | evan | hah |
| 18:28:38 | brixen | commit hash 14407d5b7 |
| 18:29:15 | brixen | lypanov: http://github.com/evanphx/rubinius/commit/14407d5b7 |
| 18:29:31 | evan | brixen: so this morning |
| 18:29:36 | evan | i got thinking about a heap dump protocol. |
| 18:29:41 | evan | i think i'm going to spike it |
| 18:29:49 | brixen | sweet! |
| 18:29:59 | brixen | evan: did you look at VisualVM? |
| 18:30:04 | evan | i have :) |
| 18:30:12 | brixen | should be easy to have some of that |
| 18:30:25 | evan | wycats and I have talked about having a rails version of that |
| 18:30:29 | evan | connected via query agent. |
| 18:30:30 | brixen | I'm going to make rake doc start a local sinatra site |
| 18:30:32 | brixen | yeah |
| 18:31:04 | brixen | we could add that so you could do rbx <visual> or something in place of rbx console |
| 18:31:14 | brixen | rbx show_me_the_awesome :) |
| 18:31:15 | evan | exactly |
| 18:31:21 | brixen | rbx smta |
| 18:31:26 | evan | console has some new smarts btw |
| 18:31:30 | evan | rbx console --ps |
| 18:31:34 | evan | will list all agents running |
| 18:31:38 | brixen | nice |
| 18:31:46 | evan | if there are multiple and you start console, can choose one |
| 18:31:53 | brixen | sweet |
| 18:36:25 | evan | anyway, heap dump |
| 18:36:35 | evan | I thought of a good way to minimize the data i think |
| 18:36:51 | evan | by calculating layouts |
| 18:36:56 | evan | and reusing them |
| 18:37:04 | brixen | hmm |
| 18:37:13 | evan | so when you go to dump an object |
| 18:37:15 | evan | yuo look at the ivars |
| 18:37:26 | evan | and calculate a layout from the ivar list |
| 18:37:38 | evan | if the layout already exists, you reference it |
| 18:37:45 | evan | otherwise you introduce a new layout |
| 18:37:53 | evan | that future objects can reference |
| 18:38:10 | brixen | ok |
| 18:38:18 | brixen | how do you know it already exists? |
| 18:38:22 | brixen | like what's the handle? |
| 18:38:28 | evan | a number |
| 18:38:30 | evan | which layout |
| 18:38:47 | evan | the idea is that the data format is command based |
| 18:38:56 | evan | one byte for a command |
| 18:39:18 | brixen | ok |
| 18:39:22 | evan | 1 == new symbol |
| 18:39:24 | evan | 2 == new layout |
| 18:39:31 | evan | 3 == new object |
| 18:39:44 | evan | objects reference other objects |
| 18:39:49 | evan | and objects reference a layout |
| 18:40:04 | evan | symbols are specialized because thats easy. |
| 18:40:28 | evan | there would probably be 4 for fixnum |
| 18:40:46 | brixen | sounds fun! |
| 18:40:47 | evan | the reference are just numbers to previously seen things |
| 18:40:57 | evan | so new object might look like |
| 18:41:20 | evan | <2> <4> <1> <....> |
| 18:41:24 | evan | er |
| 18:41:27 | evan | <3> <4> <1> <....> |
| 18:41:30 | evan | 3 == new object |
| 18:41:43 | evan | 4 (an int) is the reference to the 4th symbol, for the name of the class |
| 18:42:04 | evan | 1 (ant int) is a reference to the 1st layout, which says the names of the ivars in order |
| 18:42:12 | evan | the rest is then the ivars specified by the layout |
| 18:42:24 | evan | as numbers, which are references to previously seen objects |
| 18:42:26 | brixen | I see |
| 18:42:30 | brixen | gotcha |
| 18:42:34 | evan | oh, probably need an object reference id in there then |
| 18:42:37 | evan | so something like |
| 18:42:46 | evan | <3> <234> <4> <1> <....> |
| 18:42:50 | evan | for the 234'th object |
| 18:50:03 | evan | muhah |
| 18:50:08 | evan | auto packing objects passed the specs. |
| 18:50:19 | brixen | awesome! |
| 18:50:46 | brixen | did you do any perf testing? |
| 18:52:21 | evan | my initial run showed a reduction of 94M to 85M |
| 18:52:30 | evan | in the memory usage at the end |
| 18:52:37 | brixen | oh sweet |
| 18:52:40 | evan | i'll find out the memory of the whole run |
| 18:52:41 | brixen | that's great |
| 18:53:12 | brixen | I'll take a 10% mem reduction any day :) |
| 18:53:34 | brixen | how about runtime? |
| 18:57:38 | evan | seems fine. |
| 18:57:47 | evan | our allocation isn't mega fast |
| 18:57:55 | evan | and i've just added an extra conditional to the common case |
| 19:08:21 | brixen | our compiler signature stuff is working so well |
| 19:08:24 | brixen | really pleased with it |
| 19:08:30 | evan | yeah |
| 19:08:36 | evan | really happy to have that issues solved FINALLY |
| 19:08:41 | evan | only took us, what, 3 years? |
| 19:08:48 | brixen | heh |
| 19:08:50 | brixen | less! |
| 19:08:59 | brixen | ok, maybe it was 3 years |
| 19:09:50 | brixen | but we had so much fun checking in .rba files :) |
| 19:10:56 | brixen | ugh #376 :( |
| 19:11:53 | brixen | trying to load mri C ext |
| 19:27:41 | evan | yay! unicorn 1.0.0 is out and has endorsed rubinius support |
| 19:27:46 | evan | brixen: yeah |
| 19:27:50 | evan | i'm talking to wayne about it now. |
| 19:29:01 | wayneeseguin | w00t0 |
| 19:29:07 | evan | :D |
| 19:29:07 | wayneeseguin | I <3 Unicorn |
| 19:29:11 | wayneeseguin | now with Rubinius... |
| 19:29:13 | wayneeseguin | NERDON |
| 19:29:32 | evan | hah |
| 19:32:50 | sbryant | Nice. |
| 19:44:09 | atmos | yo has anyone had issues installing json on rubinius from rvm ? |
| 19:44:59 | evan | everyone has |
| 19:45:12 | evan | their gem is broken |
| 19:45:17 | evan | i've got an issue with them to fix it |
| 19:45:23 | evan | but nothing has been done about it |
| 19:45:29 | atmos | k, is there a workaround ? |
| 19:45:44 | evan | use json_pure |
| 19:45:48 | evan | i should fork their gem and fix it. |
| 19:45:57 | Defiler | then people could install your fork via bundler |
| 19:46:06 | atmos | i can't because i'm using a gem that depends on it i believe |
| 19:46:15 | Defiler | bundler will handle that |
| 19:46:37 | Defiler | oh you mean you can't use json_pure? |
| 19:46:42 | brixen | atmos: can you use yajl ? |
| 19:46:50 | Defiler | yajl has a nice JSON-compatibility mode |
| 19:47:05 | atmos | will it resolve as a proper gem dependency though ? |
| 19:47:20 | Defiler | not if the gem just says it wants 'json' |
| 19:47:35 | brixen | wouldn't it be nice if gem deps could be API vs specific gem name |
| 19:47:37 | atmos | i guess i'll just go back to 1.8.7, who maintains the json gem ? |
| 19:47:38 | Defiler | in that case, you'll need to change the dependency for now sadly |
| 19:47:51 | atmos | brixen: i'd rather people just fix their shit |
| 19:47:53 | Defiler | which I usually do by forking the gem and pointing bundler at my fork |
| 19:48:05 | evan | atmos: flori |
| 19:48:09 | evan | atmos: :( |
| 19:48:11 | brixen | atmos: I don't argue that, but it would be nice to say 'provides: JSON' |
| 19:48:16 | evan | you can download the gem |
| 19:48:17 | evan | fix it |
| 19:48:19 | evan | and install the file |
| 19:48:23 | Defiler | well, it would be nice to be able to say "I need something that can make JSON.encode() exist" |
| 19:48:29 | brixen | Defiler: yeah |
| 19:48:32 | Defiler | and then have any number of libraries be able to do that |
| 19:48:34 | atmos | yeah |
| 19:48:35 | brixen | that's what I mean by API |
| 19:48:38 | evan | brixen: virtual deps are something thats under discussion |
| 19:48:40 | wayneeseguin | atmos: !!!! xoxo! ;) |
| 19:48:44 | brixen | evan: sweet |
| 19:49:34 | atmos | is there a fork somewhere that actually works w/ rbx ? |
| 19:49:40 | atmos | or does that still need to be handled ? |
| 19:50:38 | evan | atmos: i've fixed it locally only |
| 19:50:43 | evan | i can push the fix somewhere though. |
| 19:51:09 | atmos | yeah can you do that, i'll send the dude a message with a link to it and you can send him a pull req :D |
| 19:51:14 | atmos | guess i'll be going back to 1.8.7 for the time being |
| 19:51:21 | evan | :( |
| 19:51:55 | evan | ok, i'm not gonig to be held hostage to the json gem. |
| 19:52:00 | evan | i'll work on it today. |
| 19:52:54 | brixen | man, if only we had -Xzibit already: "yo dawg, looks like you want json in rbx, le'me help you with that..." |
| 19:53:46 | evan | perhaps today is the day for that. |
| 19:53:52 | brixen | haha |
| 19:54:08 | brixen | no no, just work on heap dump |
| 19:55:11 | evan | hah |
| 19:55:26 | evan | i'm going to commit packed ivar support |
| 19:55:30 | evan | it's running fine. |
| 19:55:33 | brixen | sweet! |
| 19:55:44 | brixen | I'm going to commit some food to my belly |
| 19:55:48 | evan | the mem savings in a full spec run are hard to see |
| 19:55:54 | evan | i need more memory tools to figure it out |
| 19:55:57 | brixen | ok |
| 19:55:57 | evan | thusly, heap dump. |
| 19:56:06 | brixen | good plan |
| 19:56:19 | evan | yeah, i'm going for food now too. |
| 19:57:00 | Defiler | you should heap dump by forking and leaving C4 on a timer in the old process |
| 19:57:04 | Defiler | and then cut to commercial |
| 19:57:44 | evan | Defiler: and show a clock at 2:59:55 |
| 19:57:50 | evan | -Xbauer |
| 19:58:11 | Defiler | perfect |
| 19:58:20 | Defiler | -Xpowerhour |
| 19:59:25 | asap18 | hm |
| 20:00:14 | evan | ok, lunch time! |
| 21:01:12 | goyox86 | Hi yo, people i was thinkin if somebody could help me to make Textmate ignore rbc files? |
| 21:04:05 | brixen | goyox86: hmm, I think you can add a default filter |
| 21:04:07 | brixen | looks |
| 21:04:17 | brixen | goyox86: you mean for display or searching? |
| 21:05:01 | brixen | goyox86: look under preferences -> advanced -> folder preferences |
| 21:05:31 | brixen | goyox86: I have for File Pattern: !(/\.(?!htaccess)[^/]*|\.(tmproj|o|pyc|rbc)|/Icon\r|/svn-commit(\.[2-9])?\.tmp)$ |
| 21:06:55 | goyox86 | Done! |
| 21:15:12 | fowlduck | is there a way to not litter my project with .rbc files? |
| 21:16:56 | BrianRice-work | why is it a problem? |
| 21:16:57 | evan | fowlduck: not atm, no. |
| 21:17:19 | fowlduck | it's not a problem as much as it's undesirable |
| 21:17:42 | brixen | fowlduck: -Xcompiler.no_rbc |
| 21:17:51 | brixen | fowlduck: add them to .gitignore |
| 21:17:58 | brixen | exclude them from your editor |
| 21:18:07 | brixen | they serve a useful purpose |
| 21:18:25 | brixen | but if you want to compile everything from scratch, use that switch |
| 21:18:41 | fowlduck | i'm sure they do, but they can serve a useful purpose in a directory other than the project one |
| 21:19:19 | fowlduck | or they can serve a useful purpose in a dot-directory that parallels the structure of the actual project? |
| 21:19:45 | evan | fowlduck: i'd happily consider a patch to do that. |
| 21:20:10 | fowlduck | well, where would i start? |
| 21:22:47 | evan | fowlduck: i'm checking |
| 21:22:52 | evan | we've moved it around recently. |
| 21:22:54 | fowlduck | cool, thanks |
| 21:28:13 | evan | fowlduck: so, check out line 115 of kernel/delta/codeloader.rb |
| 21:28:24 | evan | thats where we calculate the name to store the compiled version of a file as |
| 21:28:35 | evan | thats passed through straight to the code that writes it |
| 21:28:45 | evan | so if you change that to contain a path to a . directory or something |
| 21:28:48 | evan | it will just work. |
| 21:28:54 | fowlduck | oh, cool |
| 21:29:48 | fowlduck | i have work-related stuff to do right now, but i'll come on later tonight and have a go at it |
| 21:29:55 | evan | cool |
| 21:30:09 | fowlduck | thx |
| 21:30:43 | brixen | fowlduck: also, note that HOME is not really an option |
| 21:30:53 | brixen | since afaik, sudo sometimes does not change that |
| 21:31:05 | evan | thats true. |
| 21:31:06 | brixen | and you'd end up with root owned .rbc |
| 21:31:10 | evan | you could fail quitely |
| 21:31:15 | evan | ah yes |
| 21:31:23 | evan | actually, someone mentioned that to me |
| 21:31:36 | evan | that we should make sure the .rbc files have the same owner and perms as the .rb file |
| 21:31:45 | dbussink | even su doesn't, you need to do su - in that case |
| 21:32:01 | dbussink | (setting home etc. that is) |
| 21:32:21 | fowlduck | so figuring out the location to put them will be the real trick...unless i put .rbc directories all over the place... |
| 21:32:27 | fowlduck | that'd be ugly.... |
| 21:33:01 | evan | it's an option. |
| 21:33:15 | evan | obviously the current tactic is simple |
| 21:33:25 | evan | simple enough that the only pain it's caused is visual pain. |
| 21:33:36 | evan | which is really saying something for caching algorithms. |
| 21:34:12 | brixen | they are so easy to ignore for programs |
| 21:34:16 | brixen | like git and editors |
| 21:34:24 | brixen | and python has lived with them for years and years |
| 21:34:36 | brixen | they are only an issue because Ruby hasn't had them |
| 21:34:46 | brixen | if it had, we wouldn't be discussing this I think :) |
| 21:35:21 | evan | thats true |
| 23:25:50 | boyscout | Add ivar detection and automatic packed ivars - b70d0be - Evan Phoenix |
| 23:32:15 | brixen | evan: wrestling with ffi/x_generator stuff in the build and wondering why we have FFI::Generator::Task in lib |
| 23:32:30 | brixen | is that intended to be runtime available, or build-time? |
| 23:33:07 | evan | build time i'd guess. |
| 23:33:10 | evan | i think the name is just funny. |
| 23:33:16 | brixen | basically, we cannot in general add 'lib' to $: because 1.9 require semantics have changed |
| 23:34:42 | evan | you've got free reign to do whatever |
| 23:34:55 | evan | sounds like it's in the wrong place |
| 23:34:57 | brixen | well, I'm mostly wondering how it was intended to be used |
| 23:35:02 | brixen | yeah, seems to be |
| 23:35:05 | evan | we only use it at build time |
| 23:35:11 | brixen | k |
| 23:35:54 | evan | brixen: on http://gist.github.com/442958 |
| 23:36:02 | evan | autopacking took it from 240M to 59M |
| 23:37:54 | tmm1 | [BUG: requested Object for unknown NativeMethod handle type] |
| 23:38:04 | tmm1 | in the patron gem looks like |
| 23:38:26 | evan | tmm1: weird... |
| 23:38:33 | evan | tmm1: can you isolate it at all? |
| 23:38:48 | brixen | evan: wow, that's awesome |
| 23:38:49 | tmm1 | http://pastie.org/1009393 |
| 23:39:04 | evan | brixen: it's slowing down ivar access atm |
| 23:39:08 | evan | so i've turned it off by default |
| 23:39:12 | evan | but i'm working on the ivar stuff now. |
| 23:39:35 | brixen | ok |
| 23:39:39 | evan | tmm1: i'll bet you've got a extension compiled against MRI used in rbx |
| 23:39:45 | evan | we're getting that a lot right now. |
| 23:40:03 | evan | tmm1: how did you build that extension? |
| 23:41:06 | tmm1 | $ ruby -rubygems -r patron/session_ext |
| 23:41:12 | evan | no no |
| 23:41:13 | evan | build |
| 23:41:14 | tmm1 | triggers it.. i just did a gem install and i'm using rvm |
| 23:41:18 | evan | how did you build it. |
| 23:41:51 | evan | mmm |
| 23:41:51 | evan | run |
| 23:41:54 | evan | gem env |
| 23:41:58 | evan | and gist the output |
| 23:46:48 | brixen | ok, built with 1.9.1p378 |
| 23:46:48 | tmm1 | http://pastie.org/1009393 |
| 23:47:34 | brixen | tmm1: but did rvm copy your gems over or did you install directly? |
| 23:48:55 | tmm1 | i just did a gem install on a fresh rbx install |
| 23:49:09 | tmm1 | lemme just check out the code and try it |
| 23:49:14 | brixen | I'll try here |
| 23:49:16 | evan | hm |
| 23:49:40 | evan | tmm1: is the C code for that available somewhere I can see? |
| 23:49:44 | evan | github perhaps? |
| 23:50:29 | brixen | perhaps http://github.com/toland/patron |
| 23:51:13 | tmm1 | yea that's it, i just cloned that and tried it by hand |
| 23:51:21 | evan | it's a bug in the library |
| 23:51:23 | evan | look at |
| 23:51:30 | evan | http://github.com/toland/patron/blob/master/ext/patron/session_ext.c#L441-443 |
| 23:51:47 | evan | I assume he meant to have INT2FIX(CURLAUTH_BASIC) |
| 23:51:51 | evan | not straight up CURLAUTH_BASIC |
| 23:51:54 | evan | which is just a random int |
| 23:51:57 | evan | not an object. |
| 23:52:14 | tmm1 | ah |
| 23:52:18 | evan | in MRI, thats a time bomb |
| 23:52:22 | evan | if those constants were used |
| 23:52:24 | evan | it would just segfault. |
| 23:52:36 | evan | thats why we have these guards :D |
| 23:52:51 | tmm1 | heh |
| 23:54:09 | evan | tmm1: sorry we gave you the run around about miscompiled extensions |
| 23:54:16 | evan | we've had that about 5 times in the last 2 days |
| 23:54:42 | tmm1 | no worries, i understand |
| 23:55:31 | tmm1 | alright lemme fix this and see if this rails app works |
| 23:55:38 | evan | tmm1: coolness! |