Show enters and exits. Hide enters and exits.
| 00:09:11 | seydar | good evening children |
| 00:11:32 | evan | hi seydar |
| 00:11:38 | evan | i see you've got a ruby project you're working on |
| 00:12:09 | seydar | evan: if you're thinking of amp, that's correct |
| 00:12:16 | evan | i am. |
| 00:12:54 | seydar | i'm tempted to ask for your thoughts. but lemme first give this another test run on rubinius |
| 00:14:01 | benschwarz | evan: we were going to call you at 5am |
| 00:14:08 | benschwarz | and we forgot :/ |
| 00:14:13 | evan | hah |
| 00:14:22 | evan | on one hand, i'm sad you didn't |
| 00:14:27 | evan | one the other, i'm glad you didn't |
| 00:14:27 | benschwarz | haha |
| 00:14:34 | evan | on the other. |
| 00:14:38 | benschwarz | railscamp kicked ass |
| 00:15:48 | evan | good! |
| 00:18:14 | slava | hi evan |
| 00:19:38 | evan | hi hi slava |
| 00:29:35 | slava | evan: I got the GC to trace operands in machine code |
| 00:30:01 | evan | hah |
| 00:30:02 | evan | nice. |
| 00:30:42 | seydar | what does it mean to "trace operands"? |
| 00:30:46 | seydar | hypothetically if i didn't know |
| 00:34:01 | jvoorhis | seydar: i admire your insa^H^H^H^Hambition! |
| 00:34:31 | brixen | jvoorhis: join the club, we have long admired seydar's insanity :) |
| 00:34:48 | jvoorhis | you guys have already covered the full hg format? |
| 00:35:08 | slava | seydar: compiled code has pointers to data objects and other code blocks, and the gc needs to understand these pointers |
| 00:36:15 | slava | evan: a few things still need the literal table though, but I'll be phasing those out and then removing the literal table |
| 00:36:20 | slava | evan: it will reduce memory usage by a few megs |
| 00:37:21 | evan | cool |
| 00:40:38 | evan | slava: i'm reworking how the JIT tranverses the bytecode |
| 00:41:29 | slava | what's changing? |
| 00:41:35 | evan | it's kind of a mess now. |
| 00:42:01 | evan | i'm reworking it so that the JIT walks the opcode stream via the control flow |
| 00:42:05 | evan | and using a work list |
| 00:42:17 | evan | so that it only ever considers live code |
| 00:42:34 | slava | oh, cool |
| 00:42:40 | slava | does dead bytecode come up often? |
| 00:42:49 | evan | yeah |
| 00:42:51 | evan | stuff like |
| 00:42:53 | evan | begin |
| 00:42:56 | evan | return yield |
| 00:43:00 | evan | rescue Blah |
| 00:43:04 | evan | whatever |
| 00:43:04 | evan | end |
| 00:43:25 | evan | there are some gotos and cleanup after the ret instruction which are dead |
| 00:43:29 | slava | ah |
| 00:43:36 | evan | we'll improve the bytecode compiler to not emit those as well |
| 00:43:40 | evan | but i have to do it in both places really |
| 00:43:50 | evan | because i don't want to work around JIT bugs by changing the bytecode compiler |
| 00:52:01 | seydar | pulling the most recent rbx code... |
| 00:56:03 | seydar | interesting issue. running `rake clean` on my linux box gives me an undefined method error: http://pastie.org/712149 |
| 00:57:46 | evan | hm. |
| 00:57:48 | evan | well, just build it |
| 00:57:50 | evan | don't worry about clean. |
| 00:58:46 | evan | seydar: open an issue about that please. |
| 00:59:28 | seydar | did you get it as well though? I don't want to post it if it's my being dumb |
| 00:59:46 | evan | i'm not trying right now. |
| 01:00:46 | seydar | k. opening issue now, sir |
| 01:02:12 | seydar | issue opened |
| 01:03:21 | evan | thank you. |
| 02:57:17 | evan | sweet, think i've fixed the JIT codegen bug. |
| 08:21:31 | peterpants | as a new ruby coder, i was looking for multi-core use in the language and stumbled upon this project. how exactly does this work? if anyone cares to explain? i was kind of thinking in the directions of coding a game with ruby and wondered if rubinius could be used to increase performance? |
| 08:45:38 | rue | In short, no |
| 08:45:47 | rue | Rubinius is not a production system |
| 08:45:51 | rue | (Yet) |
| 16:34:22 | kitallis | \0/ |
| 17:04:17 | evan | morning. |
| 17:11:03 | brixen | morning |
| 17:11:50 | evan | got that JIT codegen crash bug fixed |
| 17:11:52 | evan | yay. |
| 17:11:55 | evan | going to push it. |
| 17:12:02 | brixen | sweet! |
| 17:12:10 | brixen | almost have install working |
| 17:12:15 | brixen | what a tangled mess |
| 17:12:18 | evan | sweet |
| 17:12:19 | evan | yeah |
| 17:12:25 | evan | think you'll be ready today? |
| 17:12:32 | brixen | I sure hope so |
| 17:12:33 | evan | i'd like to get it released today |
| 17:12:40 | brixen | really :/ |
| 17:12:41 | evan | so I don't have to worry about it in cleveland |
| 17:12:41 | brixen | ok |
| 17:12:44 | brixen | yeah |
| 17:12:48 | brixen | what time do you leave? |
| 17:12:56 | evan | wednesday at 11am |
| 17:13:00 | evan | i can do it on wednesday too |
| 17:13:01 | brixen | yipes |
| 17:13:02 | brixen | k |
| 17:13:02 | evan | if we need to |
| 17:13:27 | brixen | well, I'll need you to double check it of course |
| 17:13:37 | brixen | so be thinking of some idiotic install scenarios :P |
| 17:13:45 | brixen | cus that's exactly what will be tried |
| 17:14:06 | brixen | like, did you see supposedly running configure as root was rm'ing /dev/null ? |
| 17:15:44 | evan | i saw someone indicate that |
| 17:15:51 | evan | but i'm not sure what the cause was. |
| 17:17:31 | evan | i'm not convinced it's configure's fault. |
| 17:17:50 | brixen | yeah, haven't investigated |
| 17:26:26 | boyscout | Fix JIT codegen bug. Fixes #80. - d6b53ad - Evan Phoenix |
| 17:29:12 | boyscout | CI: d6b53ad success. 3004 files, 11460 examples, 35587 expectations, 0 failures, 0 errors |
| 17:33:02 | lightcap | anyone know why configure --enbable-llvm would have killed terminal? I saw an error about /dev/null permission denied and now I can't start up a terminal |
| 17:35:33 | evan | lightcap: really? |
| 17:35:37 | evan | do you have the outptu? |
| 17:35:41 | evan | i've never seen it before |
| 17:35:45 | evan | we need more details to track it down |
| 17:36:22 | lightcap | evan: yeah, totally wierd. |
| 17:36:32 | lightcap | I'd give it to you if I could get more details :--) |
| 17:36:34 | evan | you saw it just running "./configure --enable-llvm" |
| 17:36:35 | evan | ? |
| 17:36:39 | evan | not rake? |
| 17:36:39 | lightcap | yeah. |
| 17:36:42 | lightcap | nope |
| 17:36:42 | evan | ok |
| 17:36:50 | evan | configure is small |
| 17:36:51 | evan | one sec. |
| 17:36:52 | lightcap | it downloaded llvm it looked like |
| 17:37:01 | evan | ah ok |
| 17:37:03 | lightcap | and then I got an error about /dev/null and permissions |
| 17:37:18 | lightcap | and every time I tried to do anything after I got the same /dev/null error |
| 17:37:24 | evan | ooh. |
| 17:37:28 | evan | oooooooh |
| 17:37:31 | evan | oooooooooooooooh |
| 17:37:31 | lightcap | so I quit term |
| 17:37:33 | lightcap | lol |
| 17:37:40 | evan | fires gcc |
| 17:38:31 | lightcap | first thing I need to figure out is how to get a term back :-) |
| 17:38:43 | evan | you'll probably have to reboot. |
| 17:39:07 | brixen | lightcap: did you run configure as root? |
| 17:39:16 | lightcap | what are you thinking happened? |
| 17:39:28 | lightcap | brixen: I sudo'ed yeah. |
| 17:39:33 | brixen | lightcap: k |
| 17:39:44 | lightcap | oh hmm... |
| 17:39:50 | lightcap | actually I sudo'ed the first time |
| 17:39:53 | lightcap | and it failed. |
| 17:39:53 | evan | i've got it. |
| 17:39:56 | lightcap | on a permission issue |
| 17:40:06 | lightcap | then I sudo -s 'ed |
| 17:40:09 | evan | it's confusing why though it has worked for me fine |
| 17:40:25 | lightcap | okay... |
| 17:40:56 | brixen | evan: I'm disabling configure and rake if running as root too |
| 17:40:57 | lightcap | still thinking I need to reboot? |
| 17:41:07 | brixen | install will prompt if it doesn't have perms |
| 17:41:08 | evan | brixen: why? |
| 17:41:18 | evan | people can still do it on their own |
| 17:41:19 | evan | thats fine |
| 17:41:21 | brixen | why configure or build as root |
| 17:41:34 | brixen | less possible issues |
| 17:41:51 | brixen | if someone wants to override that, at least they know they are coloring outside the lines |
| 17:41:56 | lightcap | yeah I should have built non-root and then installed as root... |
| 17:41:57 | lightcap | oh well |
| 17:42:15 | evan | brixen: we're not going to forbid it from running as root |
| 17:42:18 | evan | thats dumb. |
| 17:42:33 | brixen | *shrug* |
| 17:42:50 | evan | we should just not require that they do it |
| 17:43:00 | evan | stuff like build systems and such will run it as root |
| 17:43:21 | evan | plus, systems could have a user that has the same perms as root |
| 17:43:23 | evan | but not called root. |
| 17:43:27 | evan | so it's a loosing game. |
| 17:43:56 | brixen | sure, that's true |
| 17:44:06 | boyscout | Don't have gcc write to /dev/null, it's stupid. Fixes #85. - 067335a - Evan Phoenix |
| 17:44:09 | evan | ok, fixed. |
| 17:45:59 | boyscout | CI: 067335a success. 3004 files, 11460 examples, 35587 expectations, 0 failures, 0 errors |
| 17:46:26 | evan | I guess I figured that since " blah > /dev/null" doesn't create a new /dev/null |
| 17:46:32 | evan | i cound have gcc write to /dev/null directly |
| 17:46:45 | evan | but i guess it must rm it first |
| 17:46:46 | evan | then open it. |
| 18:03:35 | rue | Ha, here I thought I had cracked the case from yesterday and you already fixed it |
| 18:06:43 | lightcap | sorry, stuck in a client meeting... I'll be back in a bit |
| 18:08:02 | lightcap | thanks evan |
| 18:08:15 | evan | no problem. |
| 18:08:17 | lightcap | good talk at rubyconf btw, excited for 1.0 :-) |
| 18:08:23 | evan | thanks! |
| 18:18:17 | evan | wonderful. bugs in 1.8's pack. |
| 18:19:16 | evan | on a 64bit platform |
| 18:19:31 | evan | if you pass a Fixnum using more than 32bits to anything wanting 32bits |
| 18:19:47 | evan | it happily accepts it and ignores the upper bytes |
| 18:20:07 | evan | which is counter to the code that validates that a Bignum passed in can fit in 32 bits. |
| 18:21:22 | imajes | yay! |
| 18:22:39 | brixen | ugh |
| 18:24:15 | evan | i'm making a short pass through Array#pack |
| 18:24:24 | evan | and sanitizing it a little bit |
| 18:25:27 | brixen | cool |
| 18:31:46 | evan | mainly, seperating out some of the integer types |
| 18:31:55 | evan | and using FFI to do the actual int => string conversion |
| 18:32:07 | brixen | nice |
| 18:32:17 | evan | mainly, MemoryPointer |
| 18:32:28 | evan | I added write/read long_long |
| 18:32:33 | evan | and also network_order |
| 18:32:49 | evan | which rotates memory as though it were an int of the specified size |
| 18:44:59 | dbussink | evan: btw, if you're planning on a release, i think a lot of people will start reporting that rdoc / yaml issue because of failures during gem install |
| 18:45:10 | dbussink | dunno how much people have rdoc / ri disabled |
| 18:45:13 | evan | ok |
| 18:45:28 | evan | i'm sure thats true |
| 18:45:36 | evan | are you just making that statement? |
| 18:45:41 | evan | or you trying to coax me into working on it ASAP? |
| 18:45:51 | dbussink | haha, no, not really |
| 18:46:02 | dbussink | just that it's a thing that will be reported a lot after a release i think |
| 18:46:13 | evan | ok... |
| 18:46:16 | evan | so just a heads up? |
| 18:46:26 | evan | what error are you seeing now? |
| 18:47:12 | dbussink | the invalid subclass in rdoc, you already mentioned that too |
| 18:47:17 | evan | k |
| 18:47:18 | evan | yeah |
| 18:47:21 | evan | i'll take a look today |
| 18:47:33 | dbussink | what's the policy on rdoc in general btw, since it's not there by default and gem install will also complain about that |
| 18:48:15 | evan | yeah |
| 18:48:18 | evan | i'm dealing with that |
| 18:48:24 | evan | it's going to be a pre-installed gem |
| 18:48:27 | evan | i've got that working locally. |
| 18:48:50 | dbussink | ah, cool :) |
| 18:49:06 | dbussink | memory pointer usage is a nice way to have platform dependency too :P |
| 18:49:16 | dbussink | for big endian / little endian stuff etc :) |
| 18:49:38 | lightcap | evan, so what's your theory on why I can't get a terminal then? (I don't want to reboot if there's a potential for my system not to come up again) |
| 18:49:57 | evan | dbussink: yeah |
| 18:50:09 | evan | lightcap: because /dev/null is now not /dev/null |
| 18:50:12 | evan | it's a normal file. |
| 18:50:20 | lightcap | ah |
| 18:50:23 | evan | you need to reboot. |
| 18:50:29 | evan | sorry :/ |
| 18:50:33 | lightcap | and that'll happen on its own? |
| 18:50:45 | evan | OS X will fix it back up on reboot. |
| 18:50:49 | lightcap | evan: please, don't apologize. :-) |
| 18:50:52 | lightcap | cool |
| 18:50:55 | lightcap | be back in a few! |
| 18:54:20 | evan | i'm thinking about eventually implementing an Array#pack saving interptere |
| 18:54:29 | evan | parse the conversion into a set of objects |
| 18:54:34 | evan | which can be cached |
| 18:54:43 | evan | and then walked to perform the work |
| 18:54:50 | evan | like the newer Dir.glob |
| 18:54:52 | brixen | that would be cool |
| 18:58:04 | evan | esp. because the current impl runs a big regex scan to pull it apart |
| 18:58:19 | evan | and then iterates over it using integer comparisons |
| 18:58:20 | evan | er. |
| 18:58:25 | evan | string comparisons. |
| 18:58:27 | lightcap | thanks evan, reboot seemed to do the trick |
| 18:58:32 | evan | oh good. |
| 19:05:38 | lightcap | so if I want to run rubinius in place of MRI what's the best way to do that? Just symlink /usr/bin/ruby to /usr/bin/rbx? |
| 19:08:08 | dbussink | lightcap: i'd suggest letting it stay next to ruby for now |
| 19:08:16 | dbussink | lightcap: but brixen is fixing the install procedure |
| 19:08:21 | lightcap | dbussink: ok. |
| 19:12:56 | brixen | lightcap: yeah, I'd invoke rbx specifically |
| 19:13:07 | brixen | even once install in working :) |
| 19:13:12 | lightcap | okay :-) |
| 19:13:25 | brixen | our -S should work |
| 19:13:32 | brixen | so you can always do rbx -S rake ... |
| 19:13:33 | brixen | etc |
| 19:13:36 | lightcap | I have a bunch of scripts with hashbangs that reference ruby though |
| 19:13:41 | brixen | hrm |
| 19:13:51 | brixen | well, then I'd use rvm |
| 19:14:00 | lightcap | s'okay, I shouldn't be doing that these days anyway with as many damn impls as there are out ther enow |
| 19:14:00 | brixen | rbx works with rvm now afaik |
| 19:14:05 | lightcap | ok |
| 19:14:43 | dwaite | waves |
| 19:14:53 | brixen | dwaite: sup man? |
| 19:15:14 | dwaite | not much! back in DEN |
| 19:15:32 | dwaite | btw, my heavy-handed std::string approach didn't work |
| 19:16:14 | dwaite | in fact, it looked like some code someplace freed the returned c_str() from under me |
| 19:16:34 | brixen | yep |
| 19:16:40 | brixen | that's what I hit too |
| 19:16:56 | brixen | I'd suggest looking at how mri does it |
| 19:17:09 | brixen | if it uses rb_str functions, we can probably do the same now |
| 19:18:04 | wayneeseguin | w00t |
| 19:18:37 | dwaite | heya wayneeseguin |
| 19:20:04 | boyscout | Additional read/write methods for MemoryPointer - f149aa5 - Evan Phoenix |
| 19:20:04 | boyscout | Start Array#pack cleanup - 361111d - Evan Phoenix |
| 19:20:18 | wayneeseguin | :D |
| 19:23:14 | boyscout | CI: Build 361111d failed. http://ci.rubini.us/rubinius/builds/361111d9e559a06a148c9250d08aa274b0cfeea2 |
| 19:29:40 | evan | btw. |
| 19:29:40 | dbussink | bad boy evan! |
| 19:29:51 | evan | oops. |
| 19:30:44 | boyscout | Add missing include - 9963b35 - Evan Phoenix |
| 19:44:02 | dbussink | evan: it's not your day is it? ;) |
| 19:44:37 | evan | eh? |
| 19:45:56 | dbussink | evan: still seeing failures on http://ci.rubini.us/rubinius |
| 19:46:09 | dbussink | evan: i'm just being obnoxious i guess ;) |
| 19:46:38 | evan | why didn't boyscout report that.... |
| 19:56:15 | boyscout | Use proper long long conversion method - 66589a5 - Evan Phoenix |
| 20:00:48 | boyscout | CI: 66589a5 success. 3004 files, 11460 examples, 35587 expectations, 0 failures, 0 errors |
| 20:01:27 | evan | oh good. |
| 20:01:32 | evan | my mood just increased. |
| 20:03:42 | dbussink | evan: good to hear :) |
| 20:03:56 | dbussink | evan: i guess that was a doh moment ;) |
| 20:04:26 | evan | I should figure out lunch. |
| 21:02:22 | binary42 | I don't have time to dig into it at the moment but I have a few more bugs if anyone wants to look at them. Most of them can be found by running my remix-stash specs. One odd one seems to be on constant lookup inside shoulda. |
| 21:02:31 | binary42 | I'll file something later if nobody beats me to it. |
| 21:04:17 | brixen | binary42: yeah, please do file a ticket if you can |
| 21:04:36 | brixen | make it a composite if you need to (ie put it all in one ticket if that's easiest) |
| 21:04:54 | binary42 | Yeah. Just at the office and my client has a race condition in javascript in IE... yay? I'll return to it soon. |
| 21:05:03 | brixen | ugh, ok |
| 21:05:08 | brixen | finds lunch... |
| 21:05:22 | binary42 | brixen: Basically trying to make sure remix-stash works 100% on rubinius. |
| 21:07:43 | dbussink | binary42: how do you run the specs? |
| 21:08:33 | dgtized | evan: I wonder if we could just split out Array::Packer and String::Pack as a full on extension? |
| 21:09:09 | dgtized | sorry String::Unpacker |
| 21:10:16 | evan | dgtized: i suppose we could |
| 21:10:21 | evan | not sure what use that would be |
| 21:11:07 | dgtized | shared code between different ruby vm's |
| 21:11:51 | evan | with who would we share this? |
| 21:11:56 | evan | i mean, thats true of most of common |
| 21:12:00 | evan | and in that, it is in a library. |
| 21:12:02 | evan | the kernel. |
| 21:13:08 | dgtized | I dunno, maybe jruby and rbx could share that code |
| 21:13:22 | dgtized | and for that matter |
| 21:13:36 | dgtized | if there are bugs in the MRI version you could drop in the extension version |
| 21:15:04 | evan | nah. |
| 21:15:10 | evan | those are all interesting scenarios |
| 21:15:21 | evan | but they all have a lot of circumstances |
| 21:15:31 | evan | if someone expresses a real interest in that, we'll discuss it. |
| 21:15:35 | dgtized | k |
| 21:15:43 | evan | i'd rather not complicate things now for that |
| 21:16:43 | dgtized | the one other thing, is that if it was using FFI, that would be a good test case to optimize FFI to work with across more then one platform |
| 21:16:59 | evan | true enough |
| 21:17:00 | dgtized | sorry more then one vm |
| 21:17:05 | evan | right |
| 21:17:17 | binary42 | dbussink: rbx spec/spec.rb |
| 21:17:25 | evan | that code is usable outside of rubinius as is |
| 21:17:33 | evan | so there is nothing that prevents people from trying that now. |
| 21:17:44 | evan | so long as they have FFI |
| 21:17:56 | evan | probably need to do a little API sync with ruby-ffi first |
| 21:18:15 | dgtized | yea, rbx still doesn't have the callback support does it? |
| 21:18:22 | dgtized | and ruby-ffi changed some names too didn't it? |
| 21:18:28 | evan | yeah |
| 21:18:32 | evan | they're out of sync |
| 21:18:39 | evan | someone needs to sit down and sort it all out. |
| 21:19:25 | dgtized | currently our ffi support is baked directly in right? Is it possible we could actually use the gem version and link up with capi? |
| 21:19:34 | dgtized | and I realize that might be stupid for performance reasons |
| 21:20:29 | evan | it's important that it's tightly integrated |
| 21:20:33 | evan | that being said |
| 21:20:39 | evan | there are parts that ruby-ffi and rbx should share |
| 21:20:41 | evan | ruby code wise |
| 21:20:48 | evan | doesn't have to be via a gem or anything |
| 21:20:55 | evan | could just be a set of .rb files that are copied into rbx |
| 21:21:11 | evan | so ruby-ffi and rbx would provide unique impls to build on |
| 21:21:18 | evan | and the rest would be provided by the .rb files they share. |
| 21:21:33 | evan | there are a bunch of APIs in ruby-ffi I think need to go. |
| 21:21:42 | evan | thats one issue |
| 21:24:43 | slava | hi evan |
| 21:24:48 | dgtized | looks like for jruby it just loads the gem, but ignores a bunch of the libs in the gem for ones in jurby |
| 21:24:48 | evan | hi slavs |
| 21:24:51 | dgtized | ack jruby |
| 21:25:12 | evan | dgtized: thats not surprising, wayne did both ruby-ffi and the jruby impl. |
| 21:28:34 | evan | anyone use read_nonblock much? |
| 21:30:36 | dbussink | not that i consciously know of :P |
| 21:31:12 | evan | it seems... funky. |
| 21:31:21 | evan | it sets the internal fd to O_NONBLOCK |
| 21:31:24 | evan | so |
| 21:31:31 | evan | @io.read_nonblock(5) |
| 21:31:35 | evan | @io.read(5) |
| 21:31:41 | evan | the call to #read raises EAGAIN |
| 21:31:45 | yakischloba | yea its dumb |
| 21:31:51 | evan | because read_nonblock has changed the behavior of the @io fundementally. |
| 21:32:10 | evan | i guess you can't really mix blocking and nonblocking reads |
| 21:32:12 | evan | then. |
| 21:34:18 | evan | UG |
| 21:34:20 | evan | and it's inconsistent |
| 21:34:25 | evan | #read now raises EAGAIN |
| 21:34:28 | evan | but #gets doesn't |
| 21:34:35 | evan | because #gets internally uses select() to detect data. |
| 21:34:45 | yakischloba | :p |
| 21:36:18 | evan | why exactly was read_nonblock added? |
| 21:36:23 | evan | whats wrong with sysread? |
| 21:36:32 | evan | oh, right, sysread will still block |
| 21:36:41 | evan | i guess people couldn't use IO.select + sysread? |
| 22:15:34 | evan | hm |
| 22:15:49 | evan | i wonder if i should consider the fact that read_nonblock causes a future read to raise EAGAIN a feature or a bug. |
| 22:16:54 | yakischloba | imo should set it back |
| 22:17:05 | evan | thats my take on it too. |
| 22:17:20 | evan | yakischloba: you might know |
| 22:17:30 | evan | what if i just call select() then read() |
| 22:17:36 | evan | is there a chance that read() might still block? |
| 22:17:55 | evan | i guess if another thread happens to run between when the current thread runs select() and read() |
| 22:18:20 | yakischloba | ruby read() or system read() |
| 22:18:22 | yakischloba | ? |
| 22:18:29 | evan | system. |
| 22:18:30 | evan | read(2) |
| 22:18:37 | evan | and select(2) |
| 22:19:27 | yakischloba | i think thats the only way really |
| 22:19:38 | yakischloba | a thread, that is |
| 22:19:38 | evan | well, i can twiddle the O_NONBLOCK flag |
| 22:19:43 | evan | and twiddle it back after i do the read |
| 22:20:39 | yakischloba | what do you mean? you are considering using that behavior for rubinius? |
| 22:20:51 | evan | i'm implementing IO#read_nonblock |
| 22:20:54 | evan | so i'm writing some specs |
| 22:21:00 | evan | and figuring out what behavior I want it to have. |
| 22:21:20 | yakischloba | right |
| 22:23:17 | yakischloba | so you're considering implementing what you and i consider to be the desirable behavior? |
| 22:24:45 | evan | well, i'm implementing |
| 22:24:49 | evan | thats going to happen |
| 22:24:55 | evan | but yeah, trying to figure out what the desired behavior is. |
| 23:21:27 | evan | hm, what should I write my ruby tip on this month... |
| 23:30:41 | boyscout | Fix IO#read_nonblock - 8f9c2c5 - Evan Phoenix |
| 23:30:41 | boyscout | Flesh out IO#read_nonblock spec - 95b9384 - Evan Phoenix |
| 23:30:51 | brixen | evan: how to use IO well |
| 23:31:00 | evan | heh |
| 23:32:09 | evan | brixen: hows it coming along there? |
| 23:33:33 | brixen | running specs |
| 23:34:07 | brixen | there are so many moving parts scattered around |
| 23:34:17 | brixen | no tests |
| 23:34:27 | brixen | I don't even know how to write tests for this |
| 23:34:29 | evan | yeah, I know. |
| 23:34:35 | brixen | what C ext should I try building? |
| 23:34:49 | brixen | I need to try installing gems, gems w/ native exts |
| 23:35:25 | evan | rake is a good gem |
| 23:35:25 | brixen | crap, why is this hanging... |
| 23:35:28 | evan | to install |
| 23:35:31 | brixen | ok, I'll do that |
| 23:36:26 | brixen | hrm, random hang, worked this time :/ |
| 23:37:28 | boyscout | CI: 95b9384 success. 3004 files, 11464 examples, 35591 expectations, 0 failures, 0 errors |
| 23:37:45 | evan | ah crap |
| 23:37:53 | evan | i'm not slowin' ya down by pushing commits am I? |
| 23:39:27 | boyscout | Remove old assert. Fixes #82. - 7e7b917 - Evan Phoenix |
| 23:40:31 | brixen | nope |
| 23:40:35 | brixen | I keep pulling |
| 23:40:38 | brixen | no conflicts yet! :) |
| 23:40:55 | brixen | I'm about to pull again |
| 23:41:31 | evan | k |
| 23:42:18 | boyscout | CI: 7e7b917 success. 3004 files, 11464 examples, 35591 expectations, 0 failures, 0 errors |