Show enters and exits. Hide enters and exits.
| 00:01:46 | shinta43 enters the room. | |
| 00:05:38 | jtoy enters the room. | |
| 00:07:06 | boyscout | 1 commit by Eric Hodel |
| 00:07:07 | boyscout | * Update to RubyGems r1761.; 1b17478 |
| 00:08:56 | michalw leaves the room. | |
| 00:11:57 | anteaya_ leaves the room. | |
| 00:12:57 | anteaya_ enters the room. | |
| 00:15:09 | m7d enters the room. | |
| 00:18:00 | m7d leaves the room. | |
| 00:22:24 | rubuildius_ppc | Eric Hodel: 1b1747876; 2377 files, 7769 examples, 26855 expectations, 0 failures, 0 errors |
| 00:24:56 | pauldix leaves the room. | |
| 00:28:11 | sodaking enters the room. | |
| 00:29:13 | AndrewO enters the room. | |
| 00:34:09 | elight leaves the room. | |
| 00:34:24 | elight enters the room. | |
| 00:34:49 | lopex leaves the room. | |
| 00:39:40 | rubuildius_ppc leaves the room. | |
| 00:40:32 | shinta43 leaves the room. | |
| 00:41:36 | rubuildius_ppc enters the room. | |
| 00:45:58 | lstoll_ enters the room. | |
| 00:50:24 | chris2_ enters the room. | |
| 00:54:31 | lstoll leaves the room. | |
| 00:56:19 | chris2_ leaves the room. | |
| 00:58:28 | chris2 leaves the room. | |
| 01:02:31 | jbarnette leaves the room. | |
| 01:02:45 | binary42 enters the room. | |
| 01:03:20 | boyscout | 1 commit by Evan Phoenix |
| 01:03:21 | boyscout | * Fix GC bug and scheduler bug.; 729460e |
| 01:04:07 | vincentlu | evan: hi, is the external_ip field in struct rubinius_state no longer used? I see only use is m->c->ip_ptr = &m->s->external_ip. |
| 01:04:33 | jtoy leaves the room. | |
| 01:05:46 | evan | hm |
| 01:05:48 | evan | why do you ask? |
| 01:06:15 | evan | looks like it's no longer in use, yes. |
| 01:06:40 | vincentlu | just trying to understand all the fields in the structs :) |
| 01:06:57 | evan | ah, ok. |
| 01:07:16 | rue | I thought someone added those docs already--please jot as you go if not |
| 01:12:32 | pfarley enters the room. | |
| 01:13:01 | Yurik leaves the room. | |
| 01:13:44 | shame leaves the room. | |
| 01:17:10 | bbyars enters the room. | |
| 01:18:16 | t-mac enters the room. | |
| 01:19:03 | qxjit enters the room. | |
| 01:19:31 | akshay enters the room. | |
| 01:19:44 | akshay | hey guys |
| 01:20:16 | vit______ enters the room. | |
| 01:20:41 | zenspider | hey akshay |
| 01:21:07 | akshay | what are you guys upto today ? |
| 01:21:22 | vit______ leaves the room. | |
| 01:21:51 | vit______ enters the room. | |
| 01:21:57 | zenspider | akshay: I was just fixing warn so that miniunit would pass tests again |
| 01:22:05 | zenspider | but I can't push them because of perm issues |
| 01:22:49 | wmoxam leaves the room. | |
| 01:25:42 | evan | zenspider: could ya pastie the perm issues? |
| 01:30:05 | wycats leaves the room. | |
| 01:30:57 | qxjit leaves the room. | |
| 01:32:35 | zenspider | evan: this sums it up minially I think: http://rafb.net/p/quiqWh26.html |
| 01:32:51 | zenspider | which I think means that when you switched to rsyncy stuff, mine didn't flip? |
| 01:32:55 | evan | zenspider: run |
| 01:33:01 | evan | rake spec:committer |
| 01:33:10 | evan | and it will disappear |
| 01:33:25 | zenspider | tada |
| 01:35:00 | ezmobius leaves the room. | |
| 01:35:13 | blakewatters enters the room. | |
| 01:35:16 | akshay_ enters the room. | |
| 01:35:34 | zenspider | ok... since i did this w/o the rake recipes... I do git rebase master? |
| 01:36:53 | evan | yeah |
| 01:38:19 | zenspider | is it ok if git log says I merged master above my other commits? doesn't that imply rebase didn't quite work? |
| 01:38:26 | zenspider | oh. I'm ON master... doh |
| 01:38:40 | fbuilesv | zenspider: git fetch && git rebase origin should do the trick |
| 01:38:41 | rue | It does show that you are a lesser man but go ahead |
| 01:38:42 | evan | just commit it |
| 01:38:43 | evan | thats fine |
| 01:38:49 | evan | you did a pull into master with new commits |
| 01:38:53 | evan | so it generated a merge commit. |
| 01:38:58 | evan | thats fine |
| 01:39:05 | wmorgan | impure! |
| 01:39:16 | evan | i've decided that it's not a golden rule |
| 01:39:20 | evan | just something to aim for |
| 01:39:23 | evan | if you can. |
| 01:39:34 | rue | You can do a soft reset into a branch, then fetch && rebase and rebase the branch |
| 01:39:36 | zenspider | rue: if using a POS like git is the measure of being a man, I'd rather be a girl |
| 01:39:37 | evan | there are times where I do it. |
| 01:39:45 | zenspider | fbuilesv: that worked. thanks |
| 01:39:49 | rue | You could do it on master too but it is juggly |
| 01:39:58 | tarcieri | *boggle* |
| 01:40:29 | fbuilesv | zenspider: out of curiosity, what would you recommend then, svn? |
| 01:40:40 | tarcieri | would say SCM of choice isn't a measure of a man, but I look at people who still use CVS as being weirdoes |
| 01:41:01 | rue | Enhanced male p4ce |
| 01:41:12 | tarcieri | GNU ARCH 4EVR |
| 01:41:22 | zenspider | fbuilesv: I use perforce for all my personal stuff. I use whatever I'm forced to use on various projects/clients |
| 01:41:39 | zenspider | personal stuff -> all my projects |
| 01:41:51 | fbuilesv | zenspider: is that free for personal use? |
| 01:42:01 | zenspider | basically I just want my tools to stay out of my way so I can get stuff done |
| 01:42:09 | boyscout | 7 commits by Ryan Davis |
| 01:42:10 | boyscout | * Ugh. I suck at saving files before commit these days; 4d10a50 |
| 01:42:10 | zenspider | fbuilesv: it is free for open source work, so yeah |
| 01:42:11 | boyscout | * Added Rubinius.warn; d78d4f1 |
| 01:42:12 | boyscout | * Fixed output to match MRI. Adding Rubinius.warn for internal calls; 541a32d |
| 01:42:13 | boyscout | * Exception#backtrace wasn't returning result of set_backtrace; 21b7816 |
| 01:42:14 | boyscout | * Updated to latest miniunit; 311ed2d |
| 01:42:14 | fbuilesv | cool |
| 01:42:15 | boyscout | ... |
| 01:42:35 | zenspider | does boyscout not report spec/ruby pushes? |
| 01:42:35 | tarcieri | I mean, half of what makes git cool is github |
| 01:42:46 | zenspider | I'd like to know they went up. |
| 01:42:46 | tarcieri | and I don't know of anything like github for any other scm |
| 01:42:54 | tarcieri | there's already like 40+ people following Reia |
| 01:42:56 | tarcieri | that's crazy |
| 01:42:59 | fbuilesv | zenspider: they did, check #rubyspec |
| 01:43:03 | tarcieri | I just talk about it on IRC and twitter and nothing else |
| 01:43:04 | zenspider | it looks like it pushed... but I dunno |
| 01:43:09 | zenspider | ah. ok |
| 01:49:03 | akshay leaves the room. | |
| 01:51:15 | maharg | so much of git's complexity comes from checkout-local branches. Of all the things it could borrow from cvs, I really don't understand why that's what linus thought was a good idea |
| 01:51:51 | maharg | dir-per-branch is what perforce and subversion did *right* |
| 01:52:19 | tarcieri | I don't think git really "borrowed" that from CVS |
| 01:52:35 | maharg | cvs is the only other vcs I know of that has it |
| 01:52:38 | Yurik enters the room. | |
| 01:53:03 | tarcieri | that doesn't mean git borrowed it from cvs |
| 01:53:13 | maharg | doesn't really matter in the end |
| 01:53:15 | maharg | it has it |
| 01:53:17 | maharg | it's obnoxious |
| 01:53:37 | zenspider | maharg: agreed |
| 01:53:40 | maharg | the thing I enjoyed most about getting away from cvs years and years ago was getting away from insane branching mechanisms |
| 01:53:41 | tarcieri | how would you prefer it worked yet still retained decentralization? |
| 01:54:10 | maharg | the other decentralized vcs do just fine. To branch you clone the repo |
| 01:54:20 | vit_______ enters the room. | |
| 01:54:38 | tarcieri | so you want it to copy everything when you branch |
| 01:54:56 | maharg | having sections of your fs morph semi-randomly from one thing to another is just obnoxious |
| 01:55:27 | tarcieri | finds massive amounts of copying obnoxious, personally |
| 01:55:38 | tarcieri | ymmv |
| 01:56:40 | zenspider | tarcieri: works great. uses an incredibly simple mechanism and it makes sense. |
| 01:56:47 | maharg | in hg, perforce, and svn you are only copying the head files. It's not at all that bad. Hell, the fact that it's listing you all the files its copying is probably the main thing making that op slow |
| 01:56:57 | maharg | and the directory is *always* what it says it is |
| 01:57:10 | zenspider | perforce has a really good whitepaper published on branching schemas and it makes a lot of sense |
| 01:57:32 | maharg | and it drastically reduces the complexity of the user interface |
| 01:57:46 | maharg | all three of those vcs' are far simpler to learn and get way less in your way than git |
| 01:57:53 | tarcieri | having not worked with them (beyond svn) I can't understand what complexity is being masked |
| 01:58:05 | tarcieri | however I don't find git offensively complex |
| 01:58:28 | maharg | I expect my vcs to Just Work. The learning curve for git is much much higher than any other I've ever used |
| 01:58:53 | maharg | and it's pretty much all because of local branches |
| 01:59:11 | maharg | anyways, I'm gonna digress :P |
| 01:59:45 | tarcieri | I'm not sure how branches will be any less "local" in other distributed VCSes |
| 01:59:53 | tarcieri | it sounds like you just want branches to be local copies |
| 01:59:56 | zenspider | http://www.perforce.com/perforce/bestpractices.pdf |
| 01:59:59 | pauldix enters the room. | |
| 02:00:14 | zenspider | hugs maharg |
| 02:00:57 | tarcieri | would like to understand your arguments but it's hard when I don't share your problems :/ |
| 02:01:30 | zenspider | tarcieri: you share the problems... you use git. you just don't realize they're problems. :P |
| 02:01:40 | zenspider | what's the avg time for tests to come back on rubuildius these days? |
| 02:01:44 | tarcieri | if I don't realize they're problems, how is it a problem? |
| 02:01:46 | zenspider | I want to wait for the clear flag |
| 02:01:51 | zenspider | then I go eat |
| 02:02:11 | zenspider | then I release ZenTest, miniunit, RubyInline, and ParseTree |
| 02:02:49 | zenspider | tarcieri: red headed stepchild |
| 02:03:00 | tarcieri | *boggle* |
| 02:03:01 | tarcieri | ok |
| 02:03:02 | tarcieri | heh |
| 02:03:31 | jtoy enters the room. | |
| 02:03:52 | zenspider | meaning: being beaten every day of your life might make you not realize there is a problem, but that doesn't mean there isn't one |
| 02:04:04 | tarcieri | all I know is git-svn has completely fixed my workflow, and furthermore we have crappy sporadic internet and in that regard doing everything locally helps immensely |
| 02:06:20 | tarcieri | far more concerned with problems that do bite |
| 02:06:30 | rubuildius_ppc | Ryan Davis: 4d10a5082; 2377 files, 7769 examples, 26855 expectations, 0 failures, 0 errors |
| 02:06:31 | rubuildius_ppc | Evan Phoenix: 729460ec0; 2377 files, 7769 examples, 26855 expectations, 0 failures, 0 errors |
| 02:10:02 | benburkert enters the room. | |
| 02:10:43 | vit______ leaves the room. | |
| 02:11:13 | zenspider | yay... I can go eat |
| 02:11:27 | tarcieri | food rulez |
| 02:11:47 | cremes | zenspider: rubuildius_ppc is taking around 20 minutes per run |
| 02:11:56 | zenspider | then I can release a shitload of software |
| 02:12:01 | zenspider | bye |
| 02:12:02 | akshay | hey - i`m getting 7 failings specs in core |
| 02:12:06 | cremes | zenspider: sometimes it goes faster or slower... depends on what i'm doing on the machine at the time |
| 02:12:11 | akshay | any idea if these are valid failures ? |
| 02:13:11 | evan | akshay_: could you pastie your failures? |
| 02:13:43 | cremes | evan: will be upgrading rubuildius_ppc box to osx 10.5.3 this week; okay or leave at 10.5.2? |
| 02:13:53 | evan | should be fine. |
| 02:14:10 | cremes | coolio |
| 02:14:30 | akshay | evan: http://pastie.org/211914 |
| 02:14:48 | Yurik leaves the room. | |
| 02:15:30 | pfarley | looking for some "intro" bugs to chew on. any suggestions? |
| 02:15:51 | xhanjian leaves the room. | |
| 02:16:02 | evan | akshay_: no idea why you'd get those failures. |
| 02:16:05 | evan | did they just show up? |
| 02:16:43 | akshay | evan: not sure, i`m running the tests after a long time |
| 02:16:57 | evan | ok |
| 02:17:03 | akshay | evan: this is on osx, could this be a platform issue ? |
| 02:17:05 | evan | you should probably do a 'rake distclean' first |
| 02:17:06 | ruivaldo enters the room. | |
| 02:17:12 | evan | if you haven't updated in a long time |
| 02:17:15 | evan | to clean out any cruft. |
| 02:17:24 | akshay | evan:thanks man |
| 02:18:16 | akshay | evan: the frozen folder looks new, what is it ? |
| 02:18:26 | rubuildius_amd64 | Ryan Davis: 4d10a5082; 2377 files, 7770 examples, 26834 expectations, 1 failure, 1 error; http://rafb.net/p/mXoPw071.html |
| 02:21:35 | rue | akshay_: The specs for CI |
| 02:22:17 | akshay | rue: then all of those specs are supposed to pass ? |
| 02:22:18 | bitsweat enters the room. | |
| 02:22:27 | rue | Broadly, yes |
| 02:23:46 | rue | maharg: Editing the "same file" has its benefits |
| 02:25:31 | jtoy leaves the room. | |
| 02:26:01 | jtoy enters the room. | |
| 02:27:05 | xhanjian enters the room. | |
| 02:28:40 | ruivaldo leaves the room. | |
| 02:29:32 | fbuilesv | pfarley: http://rubinius.lighthouseapp.com/projects/5089/tickets/601 shouldn't be too hard |
| 02:30:09 | fbuilesv | or http://rubinius.lighthouseapp.com/projects/5089/tickets/561 |
| 02:31:06 | pfarley | fbuilesv: thanks will check out |
| 02:31:24 | fbuilesv | pfarley: np, feel free to ask around |
| 02:31:28 | rubuildius_amd64 | Evan Phoenix: 729460ec0; 2377 files, 7770 examples, 26834 expectations, 1 failure, 1 error; http://rafb.net/p/CJvoOj19.html |
| 02:31:29 | rubuildius_amd64 | Eric Hodel: 1b1747876; 2377 files, 7770 examples, 26834 expectations, 1 failure, 1 error; http://rafb.net/p/vhBsYu47.html |
| 02:31:30 | rubuildius_amd64 | Evan Phoenix: a109f3f22; 2377 files, 7770 examples, 26834 expectations, 1 failure, 1 error; http://rafb.net/p/2CLnSg75.html |
| 02:33:11 | fbuilesv | evan: read a ticket for the yaml situation, did you ever decide on what library to use? |
| 02:38:00 | VVSiz_ enters the room. | |
| 02:38:51 | tcochran enters the room. | |
| 02:39:56 | evan | we're still using rbyaml |
| 02:40:35 | evan | but it's got some hairy corners. |
| 02:40:53 | tarcieri | could syck work through subtend now? |
| 02:41:06 | evan | perhaps |
| 02:41:11 | evan | drbrain and I were just discussing that. |
| 02:41:23 | boyscout | 1 commit by Evan Phoenix |
| 02:41:24 | boyscout | * Fix symbol emitter; 62f01d1 |
| 02:41:27 | dysinger leaves the room. | |
| 02:42:45 | bbyars_ enters the room. | |
| 02:42:49 | fbuilesv | should I hold on the YAML specs then? |
| 02:42:52 | MenTaLguY | how does subtend manage static storage with extensions loaded in multiple VMs? |
| 02:42:53 | evan | looks like syck only uses RHASH one place. |
| 02:42:57 | evan | we could change that one place. |
| 02:43:08 | evan | it uses RARRAY and RSTRING otherwise, which we support now. |
| 02:43:18 | evan | MenTaLguY: manage? :) |
| 02:43:25 | evan | MenTaLguY: it doesn't. |
| 02:43:38 | tarcieri | yeah that was my primary motivation with the Ragel parser |
| 02:43:39 | evan | the only solution i've come up with to solve that problem involves LLVM. |
| 02:43:58 | tarcieri | get the C extensions out of the picture so I could actually work on multi-VM Mongrel |
| 02:44:06 | tarcieri | which became a bigger bitch than I ever anticipated |
| 02:44:45 | akshay enters the room. | |
| 02:44:55 | evan | the only worry with syck (and I'm looking now) is VALUE escape |
| 02:45:05 | evan | the same way mongrel stashed a VALUE away |
| 02:46:15 | tarcieri | urgh C |
| 02:46:44 | tarcieri | dealing with Ruby crashing due to buggy C extensions elsewhere atm :/ |
| 02:47:18 | tarcieri | the idiomatic Erlang approach of running C extensions in separate processes is really starting to sound like a good idea |
| 02:47:39 | tarcieri | dealing with a crash in zlib which is probably unrelated to zlib |
| 02:49:55 | cschneid leaves the room. | |
| 02:50:09 | cschneid enters the room. | |
| 02:51:34 | t-mac leaves the room. | |
| 02:54:15 | atduskgreg enters the room. | |
| 02:55:54 | VVSiz leaves the room. | |
| 02:58:29 | ShayArnett enters the room. | |
| 03:00:52 | pauldix leaves the room. | |
| 03:01:08 | ezmobius enters the room. | |
| 03:02:53 | akshay_ leaves the room. | |
| 03:03:13 | bbyars leaves the room. | |
| 03:07:11 | rubuildius_ppc | Evan Phoenix: 62f01d118; 2377 files, 7769 examples, 26855 expectations, 0 failures, 0 errors |
| 03:15:00 | rubuildius_amd64 | Evan Phoenix: 62f01d118; 2377 files, 7770 examples, 26834 expectations, 1 failure, 1 error; http://rafb.net/p/PoT6MV59.html |
| 03:16:00 | djwhitt | do other people get clean runs on Gentoo these days? |
| 03:16:30 | djwhitt | I can't see how rubuildius_amd64 could be running the wrong specs ... |
| 03:20:45 | loincloth leaves the room. | |
| 03:21:46 | mernen | djwhitt: I'll have a look at those specs |
| 03:22:04 | mernen | iconv is one treacherous library |
| 03:24:43 | vit_______ leaves the room. | |
| 03:24:48 | tcochran leaves the room. | |
| 03:24:58 | akshay leaves the room. | |
| 03:25:53 | mernen | funny how it's supposedly the same GNU iconv library from ubuntu, yet the behavior is different |
| 03:26:14 | djwhitt | heh |
| 03:26:32 | djwhitt | you have a Gentoo machine you can test on or you just going by the rubuildius output? |
| 03:28:48 | mernen | I'm on ubuntu... anyway, I've got 3 iconv errors here |
| 03:29:09 | djwhitt | ah, so not so much better as different ... |
| 03:29:10 | djwhitt | hehe |
| 03:29:39 | edwardam leaves the room. | |
| 03:32:39 | nicksieger leaves the room. | |
| 03:45:51 | jtoy leaves the room. | |
| 03:46:00 | jtoy enters the room. | |
| 03:49:35 | gnufied leaves the room. | |
| 03:52:37 | tcochran enters the room. | |
| 03:56:47 | ezmobius leaves the room. | |
| 03:59:01 | tcochran leaves the room. | |
| 03:59:32 | vit enters the room. | |
| 04:02:34 | dysinger enters the room. | |
| 04:04:26 | wycats enters the room. | |
| 04:04:32 | sambo82 enters the room. | |
| 04:06:06 | wycats_ enters the room. | |
| 04:06:24 | headius enters the room. | |
| 04:09:05 | atduskgreg leaves the room. | |
| 04:10:21 | wycats | evan: w00t :) I ran merb on rbx simply and easily |
| 04:10:22 | wycats | kudos! |
| 04:10:26 | wycats leaves the room. | |
| 04:13:52 | tarcieri | wycats: with which parser? the C one? |
| 04:14:07 | headius leaves the room. | |
| 04:26:15 | wycats | tarcieri: I just installed, ran rbx gem install merb |
| 04:26:21 | wycats | (after making a fake fastthread) |
| 04:26:25 | wycats | and rbx merb -a webrick |
| 04:26:26 | wycats | tada |
| 04:28:21 | zenspider | tarcieri: only one parser so far |
| 04:28:48 | zenspider | YAY! I just hit commit 4000 in my repo! http://blog.zenspider.com/ |
| 04:28:58 | zenspider | also, released zentest, miniunit, rubyinline and parsetree |
| 04:29:45 | djwhitt | zenspider: I think he was talking about the mongrel parser, but I could be wrong |
| 04:30:45 | shame enters the room. | |
| 04:30:47 | zenspider | doh. I'll shut up now. :P |
| 04:32:35 | lchin enters the room. | |
| 04:39:21 | pth leaves the room. | |
| 04:46:41 | lchin leaves the room. | |
| 04:47:31 | lchin enters the room. | |
| 04:54:07 | blakewatters leaves the room. | |
| 04:54:19 | gnufied enters the room. | |
| 04:55:46 | ShayArnett leaves the room. | |
| 05:06:54 | benburkert leaves the room. | |
| 05:09:12 | benburkert enters the room. | |
| 05:11:38 | edwardam enters the room. | |
| 05:11:59 | wycats | djwhitt: the C parser |
| 05:11:59 | wycats | regular gem install mongrel |
| 05:11:59 | wycats | that was for tarcieri as well |
| 05:16:07 | benny leaves the room. | |
| 05:17:25 | hoopy enters the room. | |
| 05:25:38 | bitsweat | zenspider: cool, was meaning to ask you about miniunit |
| 05:25:53 | bitsweat | I add setup and teardown callback chains to test/unit |
| 05:26:14 | benburkert leaves the room. | |
| 05:26:22 | bitsweat | any suggestion on how to wrap the equivalent of TestCase#run in miniunit? it's all wrapped up in a big run_test_suites method |
| 05:26:49 | AndrewO leaves the room. | |
| 05:28:05 | benburkert enters the room. | |
| 05:29:12 | jzj enters the room. | |
| 05:32:06 | benburkert_ enters the room. | |
| 05:32:56 | ezmobius enters the room. | |
| 05:36:06 | mediogre enters the room. | |
| 05:37:14 | gnufied leaves the room. | |
| 05:41:44 | zenspider | bitsweat: hop in #seattle.rb and clarify pls |
| 05:42:16 | bitsweat | k |
| 05:48:00 | benburkert leaves the room. | |
| 05:51:42 | dysinger leaves the room. | |
| 05:51:52 | loincloth enters the room. | |
| 05:56:44 | edwardam leaves the room. | |
| 05:57:06 | edwardam enters the room. | |
| 05:58:40 | freels leaves the room. | |
| 06:03:33 | wycats enters the room. | |
| 06:05:14 | anteaya_ leaves the room. | |
| 06:06:37 | benburkert_ leaves the room. | |
| 06:06:52 | benburkert enters the room. | |
| 06:09:58 | pfarley | can someone tell me how to run a new spec with mspec and MRI to verify behavior |
| 06:20:11 | wycats_ leaves the room. | |
| 06:21:35 | zenspider | pfarley: ./bin/mspec run spec/path/blah_spec.rb |
| 06:21:45 | zenspider | pfarley: ./bin/mspec run -tr spec/path/blah_spec.rb for mri |
| 06:23:47 | JonathanT enters the room. | |
| 06:34:03 | thehcdreamer enters the room. | |
| 06:37:42 | Fullmoon enters the room. | |
| 06:39:08 | Fullmoon leaves the room. | |
| 06:39:12 | Fullmoon enters the room. | |
| 06:39:49 | Fullmoon leaves the room. | |
| 06:39:53 | loincloth leaves the room. | |
| 06:39:54 | Fullmoon enters the room. | |
| 06:40:12 | Fullmoon leaves the room. | |
| 06:40:15 | Fullmoon enters the room. | |
| 06:41:26 | JonathanT leaves the room. | |
| 06:49:18 | pfarley | zenspider: thanks. posted a failing spec to http://rubinius.lighthouseapp.com/projects/5089/tickets/561 . Not sure if you would want a failing spec as a patch? |
| 06:50:12 | zenspider | absolutely |
| 06:50:16 | zenspider | thanks! |
| 06:50:59 | pfarley | ok. will change to a patch so it's not all gobbed up in the comments. |
| 06:51:10 | zenspider | pfarley: tho, it'd help if you attached that as a real patch file |
| 06:51:14 | zenspider | yeah |
| 06:52:37 | wycats | so why isn't Passenger's fork of Ruby a bigger deal? |
| 06:57:12 | mitchellvriley enters the room. | |
| 06:57:19 | dfg59 enters the room. | |
| 06:57:22 | thehcdreamer leaves the room. | |
| 06:58:46 | bitsweat | because leading bloggers have yet to rant or rave about it, so nobody knows how to feel yet |
| 06:59:17 | bitsweat | they're trying to get their work merged and matz has expressed interested, so it may not exist for long |
| 06:59:23 | bitsweat | expressed interest |
| 07:02:04 | wycats | excellent |
| 07:02:12 | wycats | it looks like a big enough deal to care about it |
| 07:02:20 | wycats | copy-on-write GC makes a HUGE difference |
| 07:02:24 | wycats | makes threadsafety matter |
| 07:02:55 | bitsweat | it was a slowdown at first, though, which is why matz waited |
| 07:03:02 | bitsweat | apparently they're faster than mri now though |
| 07:03:42 | bitsweat | most ruby processes will never be forked, so cow doesn't matter :) |
| 07:03:48 | benburkert leaves the room. | |
| 07:06:17 | wycats | bitsweat: it matters for Merb |
| 07:06:23 | wycats | and Rails, if Rails is ever threadsafe |
| 07:06:51 | wycats | it would be fucking great to be able to boot up a merb and cavalierly fork a thread for every request |
| 07:07:01 | tarcieri | COW matters for processes too |
| 07:07:05 | tarcieri | and I guess you're going over that |
| 07:07:20 | tarcieri | but you could load Rails and prefork |
| 07:07:34 | bitsweat | for MRI green threads, or native threads? |
| 07:07:41 | wycats | presumably natives |
| 07:07:44 | tarcieri | threads don't matter... I'm talking about fork() |
| 07:07:45 | bitsweat | ya |
| 07:07:53 | bitsweat | tarcieri: well yeah, that's the point of cow :) |
| 07:08:01 | bitsweat | that's how mod_rails gets its memory savings |
| 07:08:05 | tarcieri | if you pulled in the AST for your entire program, and forked, you could save a ton of memory |
| 07:08:06 | tarcieri | nice |
| 07:08:10 | bitsweat | load base code in parent, fork children |
| 07:09:04 | pfarley | zenspider: all set. thanks again for the help. please bash up on me a bit if I'm breaking convention on the spec. |
| 07:09:33 | wycats | bitsweat: is there a reason that doesn't already "just work" ? |
| 07:09:42 | zenspider | pfarley: that's fine... thanks for the contribution! |
| 07:09:44 | wycats | is obviously somewhat ignorant on the inner workings |
| 07:10:47 | zenspider | wycats: I think the main problem is the way the memory mgmt is set up requires copying a lot of pages when you fork because everything is always marked dirty all the time |
| 07:11:00 | zenspider | with COW, you don't mark nearly as much stuff, so less pages get copied |
| 07:11:24 | wycats | zenspider: is that an issue with OS fork()s though? |
| 07:11:26 | zenspider | at least, that was an issue brought up a few years back, that was batted around and then ignored |
| 07:11:53 | tarcieri | Now, if Rubinius::VM.fork could be COW safe |
| 07:11:54 | tarcieri | heh |
| 07:11:58 | tarcieri | (or exist) |
| 07:12:00 | zenspider | wycats: yeah, as I understand it.... tho I'm sketchy on the details |
| 07:12:04 | wycats | zenspider: hmmmm |
| 07:12:18 | wycats | does a CPU fork() require threadsafety? |
| 07:12:34 | tarcieri | no, but there's all other "safety" issues |
| 07:12:35 | bitsweat | it's because objects are marked directly in MRI |
| 07:12:40 | bitsweat | cow happens already |
| 07:12:46 | bitsweat | but it's useless in child on first mark pass |
| 07:12:50 | bitsweat | because that's a write |
| 07:12:59 | wycats | so presumably all mod_rails does is handle the fork() |
| 07:13:00 | bitsweat | so they keep marks in a separate table |
| 07:13:07 | wycats | and add cow |
| 07:13:23 | bitsweat | they don't add cow, they change GC marking to be cow-friendly |
| 07:14:07 | wycats | bitsweat: I will endeavor to be more precise in the future ;) |
| 07:14:30 | bitsweat | forking kills all threads btw |
| 07:14:34 | bitsweat | except the current one |
| 07:14:42 | bitsweat | not sure about 1.9 |
| 07:14:45 | wycats | bitsweat: hmmm... |
| 07:15:00 | zenspider | wycats: the cheap and easy optimization is to record all mark/sweep data in a separate array, instead of in the objects |
| 07:15:06 | bitsweat | the thread calling fork is the only one created in the child |
| 07:15:09 | wycats | zenspider: right |
| 07:15:21 | wycats | zenspider: which presumably slows down other operations |
| 07:15:38 | zenspider | I think it is mainly just "harder". :/ |
| 07:17:19 | wycats | zenspider: it looks like they've already done it and released as OSS |
| 07:17:31 | wycats | not sure why it hasn't been merged upstream already :P |
| 07:17:43 | wycats | while they're busy backporting 1.9 they can have COW :) |
| 07:17:45 | zenspider | "harder" |
| 07:18:50 | bitsweat | wycats: some background: http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/15740 |
| 07:19:08 | bitsweat | not upstream because of performance hit |
| 07:19:28 | wycats | bitsweat: they claim it's faster now |
| 07:21:25 | bitsweat | yeah, and it can be toggled |
| 07:21:33 | bitsweat | ruby --enterprisey or something |
| 07:22:31 | zenspider | haha |
| 07:24:53 | jzj | hi, zenspider |
| 07:25:06 | zenspider | jzj: hello |
| 07:25:56 | jzj | will u merge the ruby_parser project to Rubinius? |
| 07:26:57 | wycats | zenspider: how do I add an #include to RubyInline? |
| 07:26:58 | wycats | prolog? |
| 07:27:33 | Fullmoon leaves the room. | |
| 07:28:50 | tarcieri | Prolog? |
| 07:29:08 | tarcieri | Prolog. |
| 07:29:12 | wycats | I think there's an inline.prolog |
| 07:29:14 | wycats | or somesuch |
| 07:29:23 | wycats | or prefix |
| 07:29:46 | wycats | builder.include, it seems |
| 07:32:48 | zenspider | for the C builder? yeah builder.include is fine. you can also do builder.prefix, but that is more meant for struct decls and the like |
| 07:35:06 | sambo82 leaves the room. | |
| 07:35:41 | wycats | zenspider: I don't need to provide VALUE self in the standard C builder, right? |
| 07:36:01 | jzj leaves the room. | |
| 07:36:09 | tmm1 | wycats: what're you working on? |
| 07:37:08 | wycats | tmm1: some experiments for an icu binding |
| 07:37:18 | wycats | there already is one but I'm trying some stuff that's not already in there |
| 07:37:31 | tmm1 | icu? |
| 07:38:06 | zenspider | wycats: not for builder.c, it adds it |
| 07:38:20 | zenspider | for any of the _raw methods, you have to do your own thing |
| 07:38:42 | wycats | okey :) |
| 07:38:51 | wycats | tmm1: unicode library used by couchdb and a bunch of other important peeps |
| 07:38:59 | tmm1 | ah |
| 07:39:01 | tmm1 | nice |
| 07:39:07 | tmm1 | sweet |
| 07:40:31 | wycats | :) |
| 07:42:24 | bitsweat | small thing: rbx -v interprets -v as a file, not an option |
| 07:42:32 | zenspider | heh |
| 07:42:40 | zenspider | we'll fix that |
| 07:42:45 | zenspider | (eventually) |
| 07:42:48 | bitsweat | doh it's both actually |
| 07:42:49 | zenspider | :P |
| 07:42:52 | bitsweat | spits version also ;) |
| 07:42:56 | zenspider | haha |
| 07:43:00 | zenspider | even better |
| 07:43:07 | zenspider | can you file a bug pls |
| 07:43:08 | wycats | sweeeet |
| 07:44:17 | tarcieri | both means it's half working, right? |
| 07:44:23 | bitsweat | sure |
| 07:44:31 | tarcieri | awesome |
| 07:45:10 | bitsweat | http://rubinius.lighthouseapp.com/projects/5089/tickets/603-vm-option-v-causes-exception |
| 07:45:14 | bitsweat | already there |
| 07:45:26 | bitsweat | with tiny patch |
| 07:49:15 | zenspider | bitsweat: oh... that thing with the rails tests I was bitching about before... it is mostly caused because rails opens classes w/o requiring them first. from my gem dir: `find act*/lib rails*/lib -name \*.rb | xargs grep -l "module Unit" | xargs grep -L "require.*test/unit"` |
| 07:49:44 | zenspider | bitsweat: http://rafb.net/p/G9GroK12.html |
| 07:50:44 | ezmobius leaves the room. | |
| 07:51:13 | stepheneb enters the room. | |
| 07:51:19 | bitsweat | those are going away very shortly |
| 07:51:36 | zenspider | rad |
| 07:52:15 | zenspider | bitsweat: can you please ensure that the replacements are well behaved citizens? miniunit IS taking over for 1.9 |
| 07:52:16 | bitsweat | started to push everyone to use ActiveRecord::TestCase and friends |
| 07:52:28 | zenspider | and I'd like to pare back some of the horrible code I was forced to write for rails testing |
| 07:52:34 | zenspider | it was way way icky |
| 07:52:52 | bitsweat | yeah, can remove it probably |
| 07:53:15 | bitsweat | TestCase mangling will be gone in 2.2 |
| 07:53:21 | bitsweat | it's in 2.1 only for compatibility |
| 07:53:31 | zenspider | cool |
| 07:53:37 | bitsweat | and 2.1 is the first to support 1.9 anyway |
| 07:53:41 | bitsweat | 'support' |
| 07:54:20 | wycats leaves the room. | |
| 07:54:23 | zenspider | well, if I had my druthers, I'd replace test/unit in 1.8.8. :) |
| 07:55:27 | bitsweat | 1.8.7 broke all Rails < 2.1 also, so.. |
| 07:57:08 | tarcieri | heh awesome |
| 07:57:27 | bitsweat | too many incompatible backports |
| 07:57:33 | bitsweat | it breaks tons of 1.8 code |
| 07:57:40 | tarcieri | yeah I run into that crap |
| 07:58:11 | tarcieri | I have a box with Ruby 1.8.4 and want to use sqlite3 on it but the latest sqlite3 requires Ruby 1.8.6 (but doesn't tell you that) |
| 07:58:47 | olabini enters the room. | |
| 07:59:38 | bitsweat | zenspider: ha, you add a Module#deprecate that steps on mine |
| 07:59:53 | bitsweat | in test/unit/assertions |
| 07:59:53 | qwert666 enters the room. | |
| 08:06:49 | bitsweat | made those singletons on Assertions module since they aren't used elsewhere |
| 08:08:07 | NoKarma enters the room. | |
| 08:18:26 | jzj enters the room. | |
| 08:18:26 | lchin leaves the room. | |
| 08:18:26 | TheVoic1 enters the room. | |
| 08:18:26 | stepheneb leaves the room. | |
| 08:18:26 | thehcdreamer enters the room. | |
| 08:18:26 | wycats enters the room. | |
| 08:18:26 | mass leaves the room. | |
| 08:18:26 | mass enters the room. | |
| 08:18:26 | dfg59 leaves the room. | |
| 08:18:26 | wycats | zenspider: I'm getting a nested function error for: http://pastie.org/private/sn4qtdgoyhhootdiimkrka |
| 08:18:29 | wycats | from the builder.c part |
| 08:18:31 | wycats | this is the generated C: http://pastie.org/private/gctwgqapwjtkasybibxhqq |
| 08:18:33 | wycats | I don't see any nested functions |
| 08:23:31 | headius enters the room. | |
| 08:24:40 | headius_ enters the room. | |
| 08:25:03 | headius leaves the room. | |
| 08:27:10 | zenspider | wycats: looking |
| 08:27:45 | wycats | zenspider: :) |
| 08:28:14 | qwert666_ enters the room. | |
| 08:28:46 | dbussink leaves the room. | |
| 08:28:58 | wycats | zenspider: I think it had to do with a bad include |
| 08:28:59 | dbussink enters the room. | |
| 08:29:09 | zenspider | wycats: can you paste me the compiler output running with ruby -d ? |
| 08:29:13 | zenspider | ok |
| 08:29:29 | TheVoice leaves the room. | |
| 08:29:54 | wycats | icu has a rename file that has a bunch of #defines to rename stuff to _4_0 |
| 08:29:56 | wycats | weird |
| 08:31:35 | zenspider | wanders off |
| 08:33:02 | wycats | peace |
| 08:34:38 | bitsweat | Mini::Test::TestCase.test_suites and .test_methods order by name |
| 08:34:55 | bitsweat | as long as it's arbitrary, why not just rely on the Hash insertion order? |
| 08:35:32 | dbussink | morning :) |
| 08:35:48 | dbussink | live from amsterdam :) |
| 08:37:13 | dbussink leaves the room. | |
| 08:37:31 | dbussink enters the room. | |
| 08:39:01 | JonathanT enters the room. | |
| 08:39:11 | bitsweat | hola |
| 08:40:14 | dbussink | let's see what headius is going to talk about this time |
| 08:40:20 | headius | :) |
| 08:41:03 | dbussink | hehe |
| 08:45:29 | qwert666 leaves the room. | |
| 08:50:48 | dbussink | headius: sitting with zed here too :P |
| 08:50:52 | dbussink | ? |
| 08:51:25 | tarcieri | nice |
| 08:51:29 | tarcieri | tell zed hi |
| 08:52:02 | dbussink | i mean his talk here |
| 08:52:13 | tarcieri | aww |
| 08:55:22 | dbussink | fibonacci is the ultimate benchmark! |
| 08:55:42 | tarcieri | so it was on earing I take it |
| 08:55:43 | tarcieri | heh |
| 08:56:11 | dbussink | yeah |
| 08:58:09 | mutle enters the room. | |
| 08:58:26 | tarcieri | thing sounds crazy |
| 08:58:26 | tarcieri | heh |
| 09:02:59 | jzj leaves the room. | |
| 09:03:50 | jzj enters the room. | |
| 09:06:14 | jzj leaves the room. | |
| 09:06:57 | mutle leaves the room. | |
| 09:07:29 | mutle enters the room. | |
| 09:12:06 | mutle_ enters the room. | |
| 09:19:47 | dbussink | tarcieri: he just mentioned your project :) |
| 09:23:03 | jzj enters the room. | |
| 09:23:35 | mutle leaves the room. | |
| 09:25:28 | lypanov | tarcieri is mr reia? |
| 09:25:35 | dbussink | yeah |
| 09:25:39 | lypanov | cool |
| 09:26:00 | lypanov | wonders if zed knows anything about data locality and grids |
| 09:27:11 | bitsweat | zenspider: disagree with removal of assert_nothing_raised also |
| 09:27:46 | bitsweat | you can provide an error message with it |
| 09:27:57 | bitsweat | so you're explicit about the failure you're testing |
| 09:28:56 | bitsweat | anyway, got a bunch of Active Support tests passing with rbx and miniunit |
| 09:29:17 | bitsweat | have one that blows up, eating 100% cpu and mega memory churn |
| 09:32:01 | Yurik enters the room. | |
| 09:32:51 | bitsweat | do miniunit patches go to rubinius or elsewhere? |
| 09:33:44 | bitsweat | I see it's released at rubyforge under bfts project, but that's pretty dead otherwise |
| 09:33:47 | Yurik leaves the room. | |
| 09:36:42 | lchin enters the room. | |
| 09:39:31 | headius leaves the room. | |
| 09:39:34 | VVSiz | something very bad happened to the rubyspec with recent commits |
| 09:39:44 | VVSiz | rubinius specific tests were added |
| 09:40:01 | VVSiz | and they cause lots of failures/hangups in other - non-related tests |
| 09:40:06 | VVSiz | (with both MRI and JRuby at least) |
| 09:40:34 | VVSiz | zenspider: could you please take a look at 2f9102ea99e4d33ba50f101e251e3a697fb5a9ae in rubyspec repo |
| 09:40:50 | VVSiz | "Rubinius.warn added" -- causes all the problems described above |
| 09:42:05 | TheVoic1 leaves the room. | |
| 09:46:46 | Fullmoon enters the room. | |
| 09:51:30 | Yurik enters the room. | |
| 09:51:47 | VVSiz | zenspider: I'll revert the change for now then, so that the mspec ci runs are operational again... |
| 09:53:51 | bitsweat | zenspider: require 'test/unit/testcase' just gives a warning now |
| 09:53:59 | bitsweat | you have to require 'test/unit' to get the TestCase constant |
| 09:54:03 | bitsweat | but that runs all tests |
| 09:56:51 | lstoll leaves the room. | |
| 10:01:39 | lchin leaves the room. | |
| 10:02:49 | bitsweat | rbx -rfoo is like -v |
| 10:02:59 | gnufied enters the room. | |
| 10:03:03 | bitsweat | requires foo then tries to run script -rfoo |
| 10:04:25 | qwert666_ leaves the room. | |
| 10:07:37 | headius enters the room. | |
| 10:09:18 | imajes leaves the room. | |
| 10:12:41 | edwardam leaves the room. | |
| 10:14:04 | lchin enters the room. | |
| 10:15:23 | lchin leaves the room. | |
| 10:15:49 | lchin enters the room. | |
| 10:18:49 | mediogre leaves the room. | |
| 10:19:28 | michalw enters the room. | |
| 10:21:08 | lchin leaves the room. | |
| 10:21:16 | lchin enters the room. | |
| 10:23:59 | chris2 enters the room. | |
| 10:42:53 | bitsweat | Enumerable#group_by in Active Support clashes with Rubinius' |
| 10:43:19 | bitsweat | returns an ordered hash, which breaks Enumerable::Sort's quicksort |
| 10:47:09 | bitsweat | %w(a bc def).sort_by(&:size) # => [] |
| 10:47:43 | bitsweat | %w(a bc def).sort{|x,y|x.size<=>y.size} #=> ["a", "bc", "def"] |
| 10:48:03 | bitsweat | so it's something else :P |
| 10:48:14 | headius leaves the room. | |
| 10:48:32 | jzj leaves the room. | |
| 11:04:01 | headius enters the room. | |
| 11:12:42 | jtoy leaves the room. | |
| 11:16:39 | jtoy enters the room. | |
| 11:16:57 | bitsweat | weird bug |
| 11:17:34 | jtoy leaves the room. | |
| 11:18:48 | bitsweat | behavior of []= method with ||= |
| 11:23:03 | bitsweat | hash[k] ||= v should be #[](k) || #[]=(k,v) |
| 11:26:52 | jp_tix | bitsweat: http://dablog.rubypal.com/2008/3/25/a-short-circuit-edge-case |
| 11:27:18 | jp_tix | if you haven't read it |
| 11:28:06 | bitsweat | rbx is doing the right thing above |
| 11:28:15 | bitsweat | but ruby does something extra for []= |
| 11:28:22 | bitsweat | returns the rhs instead of the method result |
| 11:29:12 | bitsweat | he shows the same expansion as above :) |
| 11:29:27 | bitsweat | x || x=y |
| 11:29:31 | jp_tix | rhs? |
| 11:29:36 | bitsweat | right hand side |
| 11:29:49 | bitsweat | rbx returns the result of the []= method |
| 11:30:01 | bitsweat | but ruby returns the value assigned |
| 11:30:15 | bitsweat | seems a special case for ||= assignment |
| 11:30:42 | jp_tix | isn't the result of []= the value assigned? |
| 11:30:52 | bitsweat | not necessarily |
| 11:30:57 | bitsweat | you can define your own []= |
| 11:31:04 | bitsweat | that's the bug I hit above ^^^ |
| 11:31:16 | bitsweat | this group_by implementation returns an OrderedHash |
| 11:31:22 | bitsweat | which is based on Array#assoc lookups |
| 11:31:24 | jp_tix | ah, i see |
| 11:31:38 | bitsweat | []= adds [key,value] pairs to the array |
| 11:31:45 | bitsweat | and returns the pair |
| 11:31:54 | bitsweat | but ruby returns just the value |
| 11:32:16 | bitsweat | so this one thing breaks all enumerable sorts, because quicksort relies on it :) |
| 11:41:01 | bitsweat | rubinius mimicks ruby for the h[k] = v case though |
| 11:41:12 | bitsweat | returns v, not #[]= result |
| 11:41:29 | headius leaves the room. | |
| 11:49:18 | bitsweat | zenspider: don't see the need for @@test_suites hash either, since it's set by self.inherited only so you'll have unique classes |
| 11:49:30 | bitsweat | can just use an array |
| 11:59:19 | mitchellvriley enters the room. | |
| 12:12:43 | BlackEdder enters the room. | |
| 12:14:34 | bitsweat leaves the room. | |
| 12:18:37 | w1rele55 enters the room. | |
| 12:19:09 | blakewatters enters the room. | |
| 12:22:43 | dctanner enters the room. | |
| 12:23:00 | anteaya enters the room. | |
| 12:31:29 | ch0wda enters the room. | |
| 12:31:35 | lchin leaves the room. | |
| 12:36:00 | blakewatters leaves the room. | |
| 12:48:06 | stepheneb enters the room. | |
| 12:49:28 | acfoeken enters the room. | |
| 12:55:15 | Fullmoon leaves the room. | |
| 12:55:15 | chris2 leaves the room. | |
| 12:56:37 | stepheneb leaves the room. | |
| 12:58:42 | qwert666 enters the room. | |
| 13:04:36 | Fullmoon enters the room. | |
| 13:05:08 | yugui enters the room. | |
| 13:05:16 | pfarley leaves the room. | |
| 13:08:04 | blakewatters enters the room. | |
| 13:21:39 | acfoeken leaves the room. | |
| 13:22:48 | blakewatters leaves the room. | |
| 13:23:04 | blakewatters enters the room. | |
| 13:27:45 | blakewatters_ enters the room. | |
| 13:35:00 | mutle leaves the room. | |
| 13:40:03 | blakewatters leaves the room. | |
| 13:47:13 | blakewatters_ leaves the room. | |
| 13:48:26 | mutle enters the room. | |
| 13:59:22 | pauldix enters the room. | |
| 14:04:26 | fabiokung enters the room. | |
| 14:04:32 | anteaya leaves the room. | |
| 14:09:36 | stepheneb enters the room. | |
| 14:21:33 | blakewatters enters the room. | |
| 14:22:29 | anteaya enters the room. | |
| 14:37:45 | moofbong enters the room. | |
| 14:46:52 | pauldix leaves the room. | |
| 14:55:05 | wmoxam enters the room. | |
| 14:55:20 | ShayArnett enters the room. | |
| 14:55:44 | pauldix enters the room. | |
| 14:55:53 | marcoow enters the room. | |
| 14:59:36 | stepheneb leaves the room. | |
| 15:04:50 | AndrewO enters the room. | |
| 15:08:45 | marcoow leaves the room. | |
| 15:10:12 | blakewatters leaves the room. | |
| 15:12:03 | pauldix leaves the room. | |
| 15:12:15 | pauldix enters the room. | |
| 15:37:03 | yasuhito enters the room. | |
| 15:46:44 | ch0wda leaves the room. | |
| 15:55:43 | naeu enters the room. | |
| 15:59:05 | fbuilesv | This looks fine for me, anyone else wants to +1 it to apply? http://rubinius.lighthouseapp.com/projects/5089/tickets/567 |
| 16:03:17 | anteaya leaves the room. | |
| 16:03:17 | fbuilesv leaves the room. | |
| 16:05:23 | anteaya enters the room. | |
| 16:05:23 | fbuilesv enters the room. | |
| 16:05:54 | gnufied leaves the room. | |
| 16:12:48 | krsh enters the room. | |
| 16:14:43 | dgtized | fbuilesv: the only thing is ri doesn't seem to report anything on BasickSocket for recv or send |
| 16:17:31 | blakewatters enters the room. | |
| 16:20:12 | stepheneb enters the room. | |
| 16:20:32 | fbuilesv | dgtized: yeah, that's why the specs use the TCPSocket, the clases that < BasicSocket use it |
| 16:22:38 | ch0wda enters the room. | |
| 16:25:34 | bitsweat enters the room. | |
| 16:28:39 | headius enters the room. | |
| 16:31:47 | macournoyer enters the room. | |
| 16:32:33 | tomy enters the room. | |
| 16:32:42 | fabiokung leaves the room. | |
| 16:33:19 | fabiokung enters the room. | |
| 16:37:12 | dysinger enters the room. | |
| 16:39:00 | JonathanT leaves the room. | |
| 16:39:25 | JonathanT enters the room. | |
| 16:40:12 | tomy leaves the room. | |
| 16:41:06 | fabiokung leaves the room. | |
| 16:41:10 | fabiokung enters the room. | |
| 16:46:21 | NoKarma leaves the room. | |
| 16:54:07 | yasuhito leaves the room. | |
| 16:59:26 | olabini leaves the room. | |
| 17:00:25 | boyscout | 1 commit by Christopher Thompson |
| 17:00:26 | boyscout | * Clean out lib/rbconfig.rb.; b6b7f70 |
| 17:08:02 | headius leaves the room. | |
| 17:14:16 | fabiokung leaves the room. | |
| 17:14:27 | fabiokung enters the room. | |
| 17:14:49 | yugui leaves the room. | |
| 17:15:38 | mernen | evan: you there? I'd like commit access |
| 17:15:53 | evan | do you have a patch committed? |
| 17:16:00 | mernen | yeah |
| 17:16:02 | mernen | hold on |
| 17:16:12 | binary42 leaves the room. | |
| 17:16:29 | Defiler | dgtized: The RI output for the Socket classes is totally untrustworthy |
| 17:16:38 | Defiler | dgtized: Because almost everything comes down from IO |
| 17:16:48 | binary42 enters the room. | |
| 17:16:54 | mernen | here: http://github.com/evanphx/rubinius/commit/31a3a966a681e46a4918a12641b9a2bb4b59cb0b |
| 17:18:34 | evan | sure |
| 17:18:38 | evan | i just need your ssh key. |
| 17:20:29 | enebo enters the room. | |
| 17:22:01 | wvdschel enters the room. | |
| 17:22:54 | evan | mernen: ok, added! |
| 17:23:01 | mernen | thanks! |
| 17:23:25 | boyscout | 1 commit by Wilson Bilkovich |
| 17:23:25 | boyscout | * Don't exit with an error when 'rake clean' is run in a clean checkout; 8a7d4ad |
| 17:23:42 | mutle leaves the room. | |
| 17:24:59 | w1rele55 leaves the room. | |
| 17:26:02 | seydar enters the room. | |
| 17:26:31 | fbuilesv | Defiler: you have more experience in these things, that sockets patch looks fine for you? |
| 17:26:41 | Defiler | Oh, point me at it? |
| 17:26:53 | Defiler | oh, I see it |
| 17:27:26 | fbuilesv | trying to get that and and that old popen patch fixed to apply |
| 17:28:15 | Defiler | Hrm. It seems odd to need to re-"attach_function" connect, etc, when they are already done in Socket::Foreign |
| 17:28:27 | Defiler | Presumably we could just move them up to BasicSocket and use them there in both cases? |
| 17:31:10 | fbuilesv | all of them? |
| 17:31:20 | Defiler | The ones they both call, I should think |
| 17:32:27 | fbuilesv | I see getsockpot, setsockopt, recv and send |
| 17:32:59 | Defiler | We could either move the whole foreign module up so that they can both reach it.. |
| 17:33:08 | Defiler | ..or we could just move those up to BasicSocket::Foreign |
| 17:33:16 | Defiler | but I think we should avoid repeating them |
| 17:35:40 | fbuilesv | actually, where's it reattaching? I only see them being defined in Socket::Foreign and then calling |
| 17:36:19 | Defiler | Oh, I guess I misread the patch |
| 17:36:31 | Defiler | I assumed we already had send and recv.. how did we get along without those? |
| 17:37:16 | fbuilesv | that's a good question |
| 17:38:53 | fbuilesv | with no specs it seems? |
| 17:40:38 | naeu leaves the room. | |
| 17:41:42 | anteaya leaves the room. | |
| 17:41:42 | seydar | Is it wrong to make use of metaclasses and neato ruby tricks when writing a patch/replacement file? |
| 17:44:43 | rubuildius_ppc | Wilson Bilkovich: 8a7d4ad02; 2377 files, 7769 examples, 26855 expectations, 0 failures, 0 errors |
| 17:44:44 | rubuildius_ppc | Christopher Thompson: b6b7f70e1; 2377 files, 7769 examples, 26855 expectations, 0 failures, 0 errors |
| 17:45:43 | seydar | ok well it doesn't matter anymore because it doesn't work. now i have to do it the long way |
| 17:46:31 | dalee leaves the room. | |
| 17:46:38 | dalee enters the room. | |
| 17:47:04 | seydar leaves the room. | |
| 17:47:18 | thehcdreamer leaves the room. | |
| 17:48:55 | Defiler | Man, we need a noteserv on this crapular network |
| 17:51:18 | manveru | memoserv? |
| 17:52:14 | nike234 enters the room. | |
| 17:52:19 | fbuilesv | get a rbot running? :P |
| 17:52:24 | nike234 | can someone explain to me how rubinius and rails can be integrated |
| 17:52:42 | nike234 | and what the advantages are |
| 17:52:53 | nike234 | well i sort of understand that last part |
| 17:53:06 | nike234 | less ram right? |
| 17:53:11 | djwhitt | nike234: Rubinius is an implementation of Ruby, so it should be able to run Rails |
| 17:53:22 | nike234 | thread-safe ruby? |
| 17:53:47 | Defiler | check out the README file and let me know what it fails to explain or point to |
| 17:53:53 | Defiler | This is a good opportunity to test it out. Heh |
| 17:54:50 | rubuildius_amd64 | Wilson Bilkovich: 8a7d4ad02; 2377 files, 7770 examples, 26834 expectations, 1 failure, 1 error; http://rafb.net/p/umZI2R52.html |
| 17:54:51 | rubuildius_amd64 | Christopher Thompson: b6b7f70e1; 2377 files, 7770 examples, 26834 expectations, 1 failure, 1 error; http://rafb.net/p/X99bDP62.html |
| 17:55:22 | Defiler | http://git.rubini.us/?p=code;a=blob_plain;f=README;hb=HEAD |
| 17:55:29 | nike234 | so i install rubinius then rails and mongrel and it should just run? |
| 17:55:43 | Defiler | Yes |
| 17:55:47 | bitsweat | nike234: give it a shot |
| 17:56:10 | bitsweat | rails still has some issues with rubinius but they're being fixed up quickly |
| 17:56:17 | nike234 | whats the advantages if ur only running a couple of mongrels? |
| 17:56:27 | nike234 | is there much of a difference in terms of speed or ram |
| 17:56:39 | djwhitt | nike234: hehe, yes right now it will be slower and consume more ram |
| 17:56:49 | bitsweat | not a production stack yet, nike234 |
| 17:56:52 | nike234 | i see so its a high end solution right now? |
| 17:56:56 | bitsweat | lol |
| 17:57:20 | nike234 | so its not production ready |
| 17:57:20 | Misha leaves the room. | |
| 17:57:29 | djwhitt | nike234: correct. not production ready yet |
| 17:57:31 | ch0wda leaves the room. | |
| 17:57:34 | nexcastellan | nike234, not really production ready at the moment, but hopefully eventually. |
| 17:57:50 | djwhitt | nike234: it just recently got to the point where it could actually run Rails |
| 17:58:18 | bitsweat | turns out that's an over-broad statement :) |
| 17:58:30 | bitsweat | it can serve a request |
| 17:58:30 | nike234 | so the stats here are not entirely true ;-) http://www.slideshare.net/evanphx/rubinius-improving-the-rails-ecosystem/ |
| 17:59:50 | nexcastellan | Are stats ever *entirely* true? :) |
| 17:59:50 | nike234 | isnt ruby 2.0 going to be more threadsafe |
| 18:00:17 | bitsweat | ... |
| 18:00:26 | bitsweat | how do you be more threadsafe |
| 18:00:41 | bitsweat | it's not like pouring more chocolate syrup on your ice cream sundae |
| 18:00:45 | nike234 | lol |
| 18:00:48 | nike234 | u know what i mean |
| 18:00:58 | bitsweat | I don't actually |
| 18:01:13 | nike234 | well isnt it going to support more concurrent processing |
| 18:01:14 | djwhitt | nike234: the main problem at the moment is that the frameworks aren't thread safe |
| 18:01:25 | Arjen_ enters the room. | |
| 18:01:34 | bitsweat | also a persistent myth |
| 18:01:41 | bitsweat | thread safety has become a throwaway term |
| 18:02:04 | djwhitt | well, there's a huge lock in Rails once it starts handling a request |
| 18:02:14 | bitsweat | hence it's thread safe |
| 18:02:23 | djwhitt | ok, yeah, I see your point there |
| 18:02:25 | nike234 | i had a look at merb recently |
| 18:02:30 | bitsweat | can you process requests concurrently using green threads? no |
| 18:02:41 | nike234 | sucks a bit |
| 18:03:08 | djwhitt | yeah, but at least you can do other things while waiting for IO |
| 18:03:11 | bitsweat | troll much? |
| 18:03:21 | djwhitt | merb sucks a bit? |
| 18:03:37 | bitsweat | you should know it's only socially acceptable in Ruby community to bash Rails ;) |
| 18:03:44 | djwhitt | hehe |
| 18:03:45 | nike234 | yeah |
| 18:03:47 | wycats | nike234: ?? |
| 18:03:50 | nike234 | the stripped away the magic |
| 18:04:04 | djwhitt | that was kind of the point |
| 18:04:05 | wycats | oh noes... the magic is gone |
| 18:04:08 | wycats | :( |
| 18:04:10 | nike234 | thats why rubinius appeal to me |
| 18:04:17 | wycats | because it's more magical? |
| 18:04:19 | nike234 | u keep the magic of rails |
| 18:04:27 | nike234 | with the concurrency |
| 18:04:33 | nike234 | is that going to be possible |
| 18:04:47 | djwhitt | heh, you're talking in pretty broad terms |
| 18:04:48 | nike234 | or is rails going to still suck for that |
| 18:04:55 | nike234 | with rubinius |
| 18:05:15 | nike234 | the stuff ive read doesnt say much about rubinius making rails run faster |
| 18:05:31 | nike234 | well use less ram |
| 18:05:47 | bitsweat | it's faster than a 3 legged dog |
| 18:05:51 | wycats | nike234: Rubinius is not yet to the point where such claims make sense |
| 18:05:55 | bitsweat | the numbers don't lie |
| 18:06:07 | wycats | bitsweat: but slower than... |
| 18:06:08 | wycats | ;) |
| 18:06:40 | djwhitt | a single Rubinius process will likely consume more RAM than a single MRI process for quite some time... perhaps always |
| 18:07:06 | shoe | nike234: rubinius is not primarily about making rails faster. If you need to make rails faster, you need to get a better handle on exactly what "make rails faster" means for your app. |
| 18:07:09 | nike234 | ive worked on projects using 30+ mongrels that kept falling over |
| 18:07:12 | michalw leaves the room. | |
| 18:07:14 | nike234 | theres definitely a market there |
| 18:07:24 | djwhitt | it can make up ground with forked processes |
| 18:07:35 | djwhitt | because it lets the OS do a lot more copy on write magic |
| 18:08:23 | bitsweat | nike234: if you want some of that stuff now, look at phusion's passenger module for apache |
| 18:08:34 | djwhitt | nike234: or JRuby |
| 18:08:46 | bitsweat | ya jruby has similar deployment sweetness |
| 18:09:22 | nike234 | ive heard good stuff about evented mongrels but never really looked into it |
| 18:09:30 | djwhitt | headius send me a buck everytime I mention JRuby ;) |
| 18:09:37 | djwhitt | (jk of of course) |
| 18:10:04 | nike234 | u guys looked at them? |
| 18:10:09 | bitsweat | nike234: evented mongrel doesn't use threads for each request |
| 18:10:33 | djwhitt | evented mongrels will give you faster response time at the expense of concurrency |
| 18:10:50 | bitsweat | which sucks in MRI anyway |
| 18:10:53 | JonathanT leaves the room. | |
| 18:11:08 | djwhitt | MRI can IO wait with the best of them |
| 18:11:18 | bitsweat | you're pretty much insane to rely on green threads for concurrency |
| 18:11:25 | bitsweat | because you just aren't IO waiting much |
| 18:11:33 | djwhitt | if you're handling uploads you are |
| 18:11:53 | wycats | djwhitt: JRuby |
| 18:11:54 | wyhaines | There are specific use cases where a regular mongrel with green threads will give you better throughput that evented_mongrel. |
| 18:12:06 | bitsweat | djwhitt: yup |
| 18:12:14 | wycats | wyhaines: limited though |
| 18:12:32 | wyhaines | But outside of those (like uploads), the evented_mongrel is a win over threaded. |
| 18:13:36 | wycats | wyhaines: and couldn't you use defers to make that even more an edge-case? |
| 18:13:47 | wyhaines | wycats, yeah, you could. |
| 18:14:12 | wycats | :) |
| 18:14:13 | wycats | w00t |
| 18:14:21 | benburkert enters the room. | |
| 18:14:23 | wycats | we added support for that in Merb proper for people using evented |
| 18:14:58 | wyhaines | (*nod*) deferrables are cool. |
| 18:16:07 | nike234 leaves the room. | |
| 18:17:13 | djwhitt | aw man, the conversation was just getting good |
| 18:17:14 | djwhitt | hehe |
| 18:20:09 | boyscout | 1 commit by Daniel Luz |
| 18:20:10 | boyscout | * Perform a full loop on rest arguments for Iconv.iconv.; 27db60c |
| 18:21:56 | dctanner leaves the room. | |
| 18:23:46 | wvdschel leaves the room. | |
| 18:28:25 | tarcieri | Stop using Windows |
| 18:29:38 | Defiler | Are we thread-safe yet? :) |
| 18:31:34 | atduskgreg enters the room. | |
| 18:37:06 | Fullmoon enters the room. | |
| 18:37:22 | rubuildius_ppc | Daniel Luz: 27db60cae; 2377 files, 7769 examples, 26855 expectations, 0 failures, 0 errors |
| 18:37:45 | wycats | that conversation was clearly the result of a bit too much blow |
| 18:37:47 | wycats | afaict |
| 18:37:53 | bitsweat | wondering where I should add failing specs for hash[index] op= expression |
| 18:37:53 | evan | morning |
| 18:38:04 | bitsweat | there's variables_spec.rb |
| 18:38:14 | bitsweat | but unclear to me whether that's specking variables or this assignment behavior |
| 18:38:19 | evan | well |
| 18:38:26 | evan | thats actually a language element |
| 18:38:30 | evan | for assignment |
| 18:38:35 | bitsweat | right |
| 18:39:14 | bitsweat | it's specked for []= which happen to return value arg |
| 18:39:26 | evan | whats the failure? |
| 18:39:29 | evan | just curious. |
| 18:39:31 | bitsweat | ok to spec for an object that doesn't in the same place? |
| 18:39:43 | bitsweat | []= which return something other than the value |
| 18:39:52 | evan | ah |
| 18:39:55 | evan | ok |
| 18:40:09 | evan | thats a spec on generic []= actually |
| 18:40:12 | evan | it should go in language |
| 18:40:17 | bitsweat | mri always returns value, rbx returns result of #[]= |
| 18:40:21 | bitsweat | ok |
| 18:40:26 | evan | right |
| 18:40:34 | evan | because it actually doesn't matter which #[]= is called |
| 18:40:39 | evan | MRI always returns the RHS |
| 18:40:56 | bitsweat | yup |
| 18:42:33 | dfg59 enters the room. | |
| 18:42:44 | gnufied enters the room. | |
| 18:48:44 | rubuildius_amd64 | Daniel Luz: 27db60cae; 2377 files, 7770 examples, 26834 expectations, 1 failure, 1 error; http://rafb.net/p/kF8Dsi90.html |
| 18:48:52 | boyscout | 1 commit by Wilson Bilkovich |
| 18:48:53 | boyscout | * Another README revision; 3776070 |
| 18:52:02 | Defiler | We are now amazingly close on madness like: some_proc.instance_eval { caller } |
| 18:52:07 | Defiler | Spec time. Heh |
| 18:53:21 | bitsweat | what's frozen dir for in rubyspec? |
| 18:54:48 | Defiler | That's the 'known green' snapshot of the ruby specs that we use for our CI process |
| 18:55:01 | Defiler | We pull in new specs weekly or so |
| 18:55:45 | NoKarma enters the room. | |
| 18:59:06 | Defiler | drbrain: What is "2 or 3 digit year used: 104" all about? |
| 19:00:50 | TheVoice enters the room. | |
| 19:02:20 | rubuildius_ppc | Wilson Bilkovich: 3776070e7; 2377 files, 7769 examples, 26855 expectations, 0 failures, 0 errors |
| 19:03:34 | Defiler | evan: Got a minute to look at some 'caller' fun with me today? |
| 19:03:47 | evan | sure |
| 19:04:28 | Defiler | http://pastie.org/212403 |
| 19:04:48 | Defiler | I am trying to either understand or at least track down why we have such an incorrect line number showing in spec_parser_fixture.rb |
| 19:05:14 | Defiler | I can tell you about what I know is still wrong with our caller/backtrace infrastucture over the phone more easily, I suspect |
| 19:05:55 | nexcastellan | Right now, tainted? will always return false in Rubinius, correct? |
| 19:08:40 | nexcastellan | That is, we don't do tainting. |
| 19:09:52 | pfarley enters the room. | |
| 19:09:53 | boyscout | 1 commit by Daniel Luz |
| 19:09:54 | boyscout | * Check type of $_ before invoking String methods.; 3c49ed2 |
| 19:10:56 | pfarley_ enters the room. | |
| 19:10:56 | pfarley leaves the room. | |
| 19:11:31< |