Show enters and exits. Hide enters and exits.
| 00:02:22 | nicksieger enters the room. | |
| 00:04:20 | jlindley leaves the room. | |
| 00:11:47 | rue | Defiler: Oh, here: http://wiki.merbivore.com/. "Powered by Collective" |
| 00:18:15 | obiejuan leaves the room. | |
| 00:26:26 | meanphil leaves the room. | |
| 00:26:30 | meanphil enters the room. | |
| 00:27:54 | agile leaves the room. | |
| 00:29:11 | anteaya_ leaves the room. | |
| 00:30:31 | anteaya_ enters the room. | |
| 00:34:57 | obiejuan enters the room. | |
| 00:38:50 | meanphil leaves the room. | |
| 00:38:53 | meanphil enters the room. | |
| 00:39:26 | qwert666 leaves the room. | |
| 00:44:16 | hornbeck leaves the room. | |
| 00:44:42 | hornbeck enters the room. | |
| 00:44:54 | Defiler | rue: So, what's the sales pitch for this? That it is Merb instead of Rails? |
| 00:47:28 | rue | Defiler: 1) We have no wiki, LH sucks; 2) it seems a sane implementation; 3) there may be a benefit to going with it with regard to design and such |
| 00:47:51 | context | LH ? |
| 00:48:01 | Defiler | Can we turn off the wiki features in LH? |
| 00:48:09 | Defiler | Because I am really hesitant to have two wikis |
| 00:48:09 | context | oh lighthouse |
| 00:48:29 | rue | Defiler: Only members can add/edit pages |
| 00:48:34 | rue | On LH |
| 00:48:40 | Defiler | Yeah, I know. It is lame |
| 00:48:46 | Defiler | That being said, it exists |
| 00:49:08 | rue | "Lame" does not begin to describe it. It strips existing Textile tags for heaven's sake |
| 00:49:33 | rue | They *purposefully* disabled parts of Textile for who knows what reason |
| 00:49:55 | rue | Anyway, idea-type thing. Be back in a bitty, food etc. |
| 00:51:34 | imajes leaves the room. | |
| 00:51:37 | Defiler | I totally agree.. but I just don't want to add to the already-brutal web confusion we have |
| 00:52:04 | TheVoice enters the room. | |
| 00:53:06 | elight enters the room. | |
| 00:54:20 | rue | Defiler: Sure, I think consolidation would be in order |
| 00:54:49 | Defiler | Can we, though? We don't have much control over what lighthouse looks like |
| 00:56:22 | obvio enters the room. | |
| 00:57:10 | imajes enters the room. | |
| 00:58:11 | macournoyer enters the room. | |
| 00:58:17 | benstiglitz | Time for that distributed bug tracker… |
| 00:58:28 | imajes leaves the room. | |
| 00:58:29 | context | haha |
| 00:59:04 | Defiler | That could be pretty cool |
| 00:59:28 | brixen | hah, hardly seems useful |
| 00:59:46 | Defiler | You could commit flamewars locally and then decide not to push them |
| 00:59:47 | brixen | I have a ticket on my bugtracker, where do I sent the pull request? |
| 00:59:52 | brixen | to your bugtracker? |
| 01:00:18 | Defiler | To your bug tracker origin from your local bug tracker |
| 01:00:25 | brixen | heh |
| 01:00:47 | context | then you would have to pull a new persons bus |
| 01:00:50 | context | bugs* |
| 01:00:54 | context | they couldnt push them |
| 01:01:01 | Defiler | Unless they had bug push access |
| 01:01:09 | benstiglitz | This is why it doesn't exist yet. |
| 01:01:17 | benstiglitz | Lots of annoying problems of dups, too. |
| 01:01:21 | benstiglitz | But those are solvable. |
| 01:01:26 | Defiler | I think it's just a lack of vision |
| 01:01:30 | context | lets just give them direct access to the mysql database |
| 01:01:33 | context | no website |
| 01:01:35 | context | and its simple |
| 01:01:43 | context | :p |
| 01:02:51 | brixen | hah, take that yaml, my 11-line method makes you irrelevant (for my purposes :) |
| 01:03:27 | brixen | context: ohh, good idea. remove this bloat middleware :) |
| 01:03:34 | imajes enters the room. | |
| 01:03:36 | elight | brixen: Ah if only all configuration files could be annihilated so easily |
| 01:04:05 | brixen | elight: well, fortunately a hash of string keys and arrays of strings for items is really simple yaml :) |
| 01:04:37 | imajes leaves the room. | |
| 01:04:42 | elight | brixen: Yes, I know. I'm just particularly bitter toward config files as I must sometimes suffer with Spring during my day job. Configuration hell..... |
| 01:04:53 | jtoy enters the room. | |
| 01:04:53 | brixen | yikes |
| 01:05:02 | imajes enters the room. | |
| 01:05:12 | brixen | fortunately only knows Spring as a season, a rather nice one at that :) |
| 01:05:31 | elight | Yeah, Spring blows |
| 01:05:47 | elight | IMO, the Java community has a heroin problem as much as they seem to like injections. |
| 01:05:58 | brixen | heh |
| 01:06:31 | brixen | when will someone find a good pattern for codependency injection, then you've got the addicts and their enablers |
| 01:07:09 | elight | ROFL |
| 01:07:57 | cored enters the room. | |
| 01:08:13 | rue | brixen, Defiler, benstiglitz: http://ditz.rubyforge.org/ |
| 01:08:33 | benstiglitz | Hey, *another one*! |
| 01:08:48 | benstiglitz | Maybe this time it won’t fizzle out. |
| 01:09:03 | rue | Defiler: I was more thinking that LH should be used to track tickets, EOS |
| 01:09:18 | AndrewO enters the room. | |
| 01:09:37 | macournoyer leaves the room. | |
| 01:10:09 | brixen | rue: ok, that actually looks quite cool |
| 01:10:22 | Defiler | neat |
| 01:10:31 | brixen | integrated with git on the project makes sense to me |
| 01:10:50 | brixen | a separate distributed dohickey doesn't |
| 01:11:25 | brixen | still would kinda suck to handle pull requests from new contribs |
| 01:11:31 | brixen | I like that anyone can post a ticket |
| 01:11:38 | benstiglitz | Make them use a public interface to a clone. |
| 01:11:43 | benstiglitz | Same internets as always. |
| 01:11:49 | benstiglitz | And developers can have their local bizness. |
| 01:12:08 | brixen | benstiglitz: but, that wouldn't eliminate pull requests |
| 01:12:17 | brixen | ups the load on devs with commit access |
| 01:12:45 | benstiglitz | Well, you just always pull, I guess. |
| 01:12:57 | benstiglitz | Not any different than occasionally visiting the site. =) |
| 01:13:56 | brixen | with something like github handling/coordinating the pull requests, yes, it's similar |
| 01:14:04 | brixen | in general, you'd need something like that |
| 01:14:18 | brixen | information has to flow somewhere it makes a difference |
| 01:14:37 | macournoyer enters the room. | |
| 01:14:59 | benstiglitz leaves the room. | |
| 01:15:44 | macournoyer leaves the room. | |
| 01:17:46 | macournoyer enters the room. | |
| 01:18:55 | macournoyer leaves the room. | |
| 01:20:27 | brixen | hmm, I suppose we need something like: it_behaves_like :Enumerable |
| 01:20:43 | brixen | that specs all the methods a class gets from mixing in e.g. Enumerable or Comparable |
| 01:20:57 | brixen | just realized that File is not an Enumerable in rbx |
| 01:21:22 | d2dchat leaves the room. | |
| 01:29:47 | brixen | hmm, it_mixes_in Enumerable, File |
| 01:30:53 | brixen | sweet: 1085 files, 3986 examples, 15700 expectations, 54 failures, 77 errors |
| 01:31:07 | brixen | that's a rough estimate of our completeness on core for running rails |
| 01:31:33 | obiejuan leaves the room. | |
| 01:32:06 | brixen | rough in that 1. dunno if my data is correct yet, 2. dunno how many methods are missing from the specs yet |
| 01:32:14 | brixen | 1. will be fixed by our own trace script |
| 01:32:24 | brixen | 2. by a new formatter and graph script |
| 01:32:39 | brixen | in case anyone cares |
| 01:32:43 | brixen | what is this friday :P |
| 01:32:50 | obiejuan enters the room. | |
| 01:33:38 | obvio leaves the room. | |
| 01:38:42 | obiejuan leaves the room. | |
| 01:51:08 | loincloth leaves the room. | |
| 01:53:13 | imajes leaves the room. | |
| 01:55:02 | lopex enters the room. | |
| 01:55:49 | atmos enters the room. | |
| 01:56:28 | antares enters the room. | |
| 02:03:23 | agile enters the room. | |
| 02:14:08 | imajes enters the room. | |
| 02:21:01 | wdperson enters the room. | |
| 02:27:44 | cored leaves the room. | |
| 02:29:24 | VVSiz_ enters the room. | |
| 02:30:08 | jtoy leaves the room. | |
| 02:34:18 | wdperson leaves the room. | |
| 02:35:17 | antares leaves the room. | |
| 02:37:43 | VVSiz leaves the room. | |
| 02:45:43 | boyscout | 5 commits by Brian Ford |
| 02:45:43 | boyscout | * Some method profiles of data provided by John Lam.; 5476d83 |
| 02:45:43 | boyscout | * File should include Enumerable. Specs for this type of thing incubating.; d7ed23b |
| 02:45:43 | boyscout | * Added ProfileFilter to MSpec.; b1d3f0b |
| 02:45:43 | boyscout | * Another shot at getting an unpolluted set of core constants for MkSpec.; 0759866 |
| 02:45:44 | boyscout | * Added MSpec script options -w, -W (profiles).; 1db1a26 |
| 02:46:56 | Defiler | brixen: How did you get those numbers? (re: 77 errors, etc) |
| 02:47:07 | brixen | so, for the curious: bin/mspec -w rails.yaml spec/ruby |
| 02:47:13 | brixen | Defiler: like that ^^^ |
| 02:48:22 | brixen | I've got a couple formatters and a graph script and we'll have X/Y completeness reports |
| 02:48:35 | brixen | but gotta run, bbiab... |
| 02:54:53 | trythil leaves the room. | |
| 02:56:18 | rubuildius_amd64 | Brian Ford: 5476d8365; 2090 files, 6533 examples, 22732 expectations, 0 failures, 0 errors; http://rafb.net/p/0iI9ZA55.html |
| 02:58:45 | rubuildius_ppc | Brian Ford: 5476d8365; 2090 files, 6536 examples, 22761 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/183328 |
| 03:08:57 | eventualbuddha leaves the room. | |
| 03:13:27 | obvio enters the room. | |
| 03:16:46 | fbuilesv enters the room. | |
| 03:17:43 | imajes leaves the room. | |
| 03:20:01 | benburkert leaves the room. | |
| 03:20:59 | lopex leaves the room. | |
| 03:25:09 | smartocci leaves the room. | |
| 03:25:10 | smartocci_ enters the room. | |
| 03:28:15 | fbuilesv | Has anyone been able to reproduce http://rubinius.lighthouseapp.com/projects/5089/tickets/502-singleton-new-fails-tests-during-ci ? |
| 03:33:23 | rue | evan: All the pull requests at github come to you only though, right? |
| 03:34:05 | rue | Not that I know |
| 03:35:40 | fbuilesv | Ok, next question, would having a file such as "<.rb" cause issues on any known system? I'm not entirely sure if that'll work on Windows or w/e |
| 03:36:37 | mlins enters the room. | |
| 03:36:42 | dysinger enters the room. | |
| 03:41:08 | mlins leaves the room. | |
| 03:43:11 | rue | fbuilesv: We would want to avoid that. Call it "less_than_op.rb" instead? |
| 03:43:30 | fbuilesv | rue: not me, someone submitted some specs for Matrix, going through them |
| 03:43:35 | rue | I believe mkspec has a mapping of symbols to names |
| 03:43:43 | rue | fbuilesv: Aha, cool! |
| 03:52:14 | GMFlash leaves the room. | |
| 03:52:23 | GMFlash enters the room. | |
| 03:53:49 | anteaya_ leaves the room. | |
| 03:59:51 | anteaya_ enters the room. | |
| 04:02:05 | boyscout | 4 commits by Marnen Laibow-Koser |
| 04:02:05 | boyscout | * Basic specs for Matrix.zero.; 72e1ea8 |
| 04:02:05 | boyscout | * Move before block to a clearer place.; f5d294a |
| 04:02:05 | boyscout | * Write specs for Matrix.diagonal.; b6bc5b2 |
| 04:02:05 | boyscout | * Some initial specs for Matrix#[] and Matrix.[].; b4d056b |
| 04:11:17 | rubuildius_amd64 | Marnen Laibow-Koser: 72e1ea890; 2090 files, 6542 examples, 22879 expectations, 0 failures, 0 errors; http://rafb.net/p/CrS1Cz47.html |
| 04:13:36 | benburkert enters the room. | |
| 04:16:29 | anteaya_ leaves the room. | |
| 04:16:56 | rubuildius_ppc | Marnen Laibow-Koser: 72e1ea890; 2090 files, 6545 examples, 22908 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/183352 |
| 04:18:21 | rue | Damn it, now I started rewriting the FAQ |
| 04:19:25 | rue | fbuilesv: I am sure that you already did so but just in case, make sure to notate anything that you had to modify in the patches on the ticket |
| 04:19:31 | rue | If it applies |
| 04:19:53 | fbuilesv | rue: I'm commiting them as they came by and then submitting a patch with the modifications if that's ok? |
| 04:20:45 | rue | fbuilesv: Yeah, that works fine! Just reference that fix-up patch when you close the tickets so the info gets to the original author |
| 04:20:56 | fbuilesv | rue: will do |
| 04:21:24 | rue | marnen hangs out here too so it is not as crucial in this case.. but I am a slave to my habits :) |
| 04:26:33 | wycats_ enters the room. | |
| 04:34:13 | dlee leaves the room. | |
| 04:35:15 | boyscout | 6 commits by Marnen Laibow-Koser |
| 04:35:15 | boyscout | * Matrix.unit, one more alias for .identity.; 3be265a |
| 04:35:31 | boyscout | * Name spec correctly.; 57aa8ba |
| 04:35:31 | boyscout | * Specs for Matrix.scalar and .identity/I.; 3390dc4 |
| 04:35:31 | boyscout | * Move the "needs to be reviewed" indicator to the right place.; 958ca1f |
| 04:35:31 | boyscout | * Use size functions instead of constants.; bf3eab6 |
| 04:35:31 | boyscout | ... |
| 04:40:05 | lstoll enters the room. | |
| 04:42:53 | wycats_ leaves the room. | |
| 04:43:25 | jtoy enters the room. | |
| 04:46:17 | rubuildius_amd64 | Marnen Laibow-Koser: 3be265a93; 2090 files, 6555 examples, 22917 expectations, 0 failures, 0 errors; http://rafb.net/p/Nhgnce61.html |
| 04:47:36 | rubuildius_ppc | Marnen Laibow-Koser: 3be265a93; 2090 files, 6558 examples, 22946 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/183359 |
| 04:51:50 | fbuilesv_ enters the room. | |
| 04:51:58 | boyscout | 1 commit by Federico Builes |
| 04:51:58 | boyscout | * Fixes a few things inside the Matrix specs.; 2b3a441 |
| 04:53:35 | elight leaves the room. | |
| 04:57:15 | jtoy leaves the room. | |
| 05:01:18 | rubuildius_amd64 | Federico Builes: 2b3a44158; 2090 files, 6555 examples, 22917 expectations, 0 failures, 0 errors; http://rafb.net/p/6ltIJ074.html |
| 05:03:29 | TheVoice leaves the room. | |
| 05:03:32 | rubuildius_ppc | Federico Builes: 2b3a44158; 2090 files, 6558 examples, 22946 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/183361 |
| 05:05:06 | fbuilesv leaves the room. | |
| 05:06:17 | atmos_ enters the room. | |
| 05:06:43 | rue | Phew, FAQ semi-updated. |
| 05:06:52 | rue | We need to start consolidating docs. |
| 05:09:30 | fbuilesv | rue: check the "What platforms should rubinius run on" question. I'd fix it but I'm sure you have more knowledge on that |
| 05:12:19 | MenTaLguY enters the room. | |
| 05:22:35 | boyscout | 1 commit by Benjamin Stiglitz |
| 05:22:39 | boyscout | * Fixed mode of rhs fd in IO#pipe; 6e27619 |
| 05:23:41 | brainopia enters the room. | |
| 05:23:42 | atmos leaves the room. | |
| 05:24:41 | rue | fbuilesv_: Yep, caught it in review |
| 05:25:01 | rue | That was some old info in that FAQ |
| 05:27:24 | fbuilesv | Bah, it probably wasn't as bad as Pidgin's (Gaim) old HACKING doc, I remember reading something like "Make sure you have kernel 2.2 and gcc > 2.7x before continuing!" -- That was like a year or two ago :P |
| 05:31:15 | rubuildius_amd64 | Benjamin Stiglitz: 6e2761999; 2090 files, 6555 examples, 22917 expectations, 0 failures, 0 errors; http://rafb.net/p/Ie6LTP46.html |
| 05:33:16 | rue | There are a lot of people still running 2.95 |
| 05:34:14 | rue | Damn, README is in a sad shape to |
| 05:35:49 | rubuildius_ppc | Benjamin Stiglitz: 6e2761999; 2090 files, 6558 examples, 22946 expectations, 0 failures, 0 errors; |
| 05:38:13 | fbuilesv | Defiler: you there? |
| 05:41:29 | brainopia enters the room. | |
| 05:42:43 | mernen leaves the room. | |
| 05:43:16 | headius | one failure in matrix spec against p111...hmmm |
| 05:44:23 | fbuilesv | headius: weird, I ran it against -tr before uploading, which test is it? |
| 05:44:24 | srbaker leaves the room. | |
| 05:44:46 | headius | pastie: for fbuilesv |
| 05:44:55 | pastie | fbuilesv: http://pastie.org/183365 by headius. |
| 05:45:08 | headius | I noticed it becuse it failed in jruby too |
| 05:45:27 | headius | what version did you run against? |
| 05:45:56 | wycats_ enters the room. | |
| 05:46:17 | headius | could be a 114 difference, but seems unlikely |
| 05:46:22 | headius | I'm grabing 114 finally right now |
| 05:47:12 | fbuilesv | headius: nope, you're right, it did fail now that I ran it individually. |
| 05:47:28 | headius | I ran just library/matrix and got it |
| 05:48:17 | fbuilesv | my ruby-fu starts getting weak here: b[i, j].should_not === @a[i, j] -- @a[i, j] is Fixnum. A clone would make sure this fails indeed, wouldn't it? |
| 05:50:06 | headius | eh? |
| 05:50:23 | fbuilesv | mm, let me rephrase that |
| 05:51:20 | headius | actually I need to run now :) |
| 05:51:27 | headius | have a good evening |
| 05:51:47 | fbuilesv | :) |
| 05:52:46 | rue | fbuilesv: I assume it should be returning a copy of the Arrays |
| 05:53:53 | rue | But that is one weird spec right there |
| 05:54:04 | fbuilesv | rue: compares each one of the fixnum |
| 05:54:05 | fbuilesv | s |
| 05:54:12 | rue | Definitely want to make it more explicit.. there is no reason to go #==='ing |
| 05:54:37 | fbuilesv | rue: any suggestion on how to make it explicit then? |
| 05:55:48 | rue | I need to brush up on my Matrix to figure out what those Arrays are |
| 05:57:55 | twbray enters the room. | |
| 05:58:14 | rue | Now, the confusing part is that of course numbers are ALWAYS the same object |
| 05:58:32 | wmoxam enters the room. | |
| 05:59:01 | dbussink leaves the room. | |
| 05:59:01 | squeegy leaves the room. | |
| 05:59:01 | MikeJS leaves the room. | |
| 05:59:33 | rue | OK, I see. |
| 05:59:46 | rue | fbuilesv: You would want to use Object.new there probably |
| 05:59:48 | MikeJS enters the room. | |
| 06:00:21 | squeegy enters the room. | |
| 06:00:31 | fbuilesv | rue: tose arrays are vectors (as in algebra) |
| 06:00:51 | fbuilesv | those* |
| 06:00:53 | rue | fbuilesv: Well, yes and no.. the Array itself is not stored. It is just a part of the notation |
| 06:01:50 | fbuilesv | rue: the array's stored in @elements, isn't it? |
| 06:02:05 | rue | It should not matter |
| 06:02:21 | rue | Let us say @a = Matrix[[1, 2]] |
| 06:02:33 | rue | @a[0, 0] == 1 |
| 06:02:52 | dbussink enters the room. | |
| 06:03:13 | rue | But b = @a.clone; b[0, 0].should_not == @a[0, 0] |
| 06:03:28 | rue | That part is correct. What is incorrect is that 1.equal? 1 is always true |
| 06:05:02 | rue | So if you do o1, o2 = Object.new, Object.new; @a = Matrix[[o1, o2]]; @b = @a.clone; @b[0, 0] ~~~ a[0, 0].clone |
| 06:06:14 | dlee enters the room. | |
| 06:06:44 | fbuilesv | rue: ~~~ ? |
| 06:09:56 | RyanTM leaves the room. | |
| 06:10:41 | brixen | fbuilesv: are you commiting these matrix specs? |
| 06:11:00 | fbuilesv | brixen: committed from a patch, yes. |
| 06:11:08 | dbussink leaves the room. | |
| 06:11:51 | brixen | fbuilesv: k |
| 06:12:14 | brixen | I think we should be a little more critical on the contents of specs |
| 06:12:32 | brixen | for example, a 10x10 matrix could be a 2x2 matrix unless something really needs to test 10 elements |
| 06:13:35 | brixen | we are getting so many specs that we need to be mindful of using the simplest example that illustrates that aspect of behavior |
| 06:13:44 | dbussink enters the room. | |
| 06:14:24 | fbuilesv | brixen: I actually made some shorter but let me fix this failure with MRI and I'll get on it |
| 06:14:47 | be9 enters the room. | |
| 06:15:09 | brixen | fbuilesv: not a biggie, just wanting to raise awareness generally |
| 06:17:46 | fbuilesv | pastie: hi |
| 06:17:55 | rue | fbuilesv: Possibly equivalent |
| 06:18:20 | fbuilesv | rue: I'm seeing a diff behavior in === with dup between rbx and MRI, let me try something |
| 06:18:28 | jicksta enters the room. | |
| 06:18:40 | pastie | http://pastie.org/183372 by fbuilesv. |
| 06:18:48 | rue | Sure, but that is a separate issue. #=== should have nothing to do with this spec? |
| 06:19:26 | fbuilesv | rue: with the === the spec will pass on rbx but fail on MRI, should I just forget about that === in that test case? |
| 06:19:54 | rue | Array#=== is undocumented in MatzRuby, it seems |
| 06:20:23 | rue | fbuilesv: I do not think it is right in this case (though it warrants separate investigation) |
| 06:20:54 | fbuilesv | rue: was that difference in implementations already reported or should I upload to LH? |
| 06:20:58 | rue | fbuilesv: Basically, we have the constraint that if a Matrix is cloned, the two's respective elements do not refer to the same object |
| 06:21:30 | rue | fbuilesv: Which means it probably relies on #dup or #clone, so mocking that out would be best |
| 06:22:19 | fbuilesv | rue: right, but with Fixnums as you said earlier, that constraint won't be enforceable, right? |
| 06:22:43 | brainopia leaves the room. | |
| 06:23:18 | rue | Oh! I read the other way around that MatzRuby was returning false.. checking our Array#=== now |
| 06:23:23 | brainopia enters the room. | |
| 06:23:41 | dbussink leaves the room. | |
| 06:24:06 | rue | fbuilesv: Possibly.. it is hard to say. It could maybe #dup everything but obj.respond_to? :to_int |
| 06:24:54 | rue | #dup and #clone on a Fixnum should raise I think |
| 06:25:34 | fbuilesv | rue: it raises right now - can't [dup|clone] Fixnum |
| 06:26:13 | fbuilesv | obj.kind_of?(Fixnum) would work out better in there, don't you think? |
| 06:26:24 | rue | Right, but Matrix#clone does not raise even if it has ints |
| 06:26:45 | rue | However (per the doc) it DOES somehow clone other objects.. so first verify if the latter is true |
| 06:27:00 | rue | Ewg, that is not good.. Kernel#=== is broken |
| 06:28:00 | rue | Argh, and #==. Damn. |
| 06:28:04 | rue | Fixing |
| 06:28:06 | fbuilesv | rue: actuall Matrix dups the rows, not num by num |
| 06:28:27 | fbuilesv | so it shouldn't raise |
| 06:28:35 | fbuilesv | that's how I see it at least |
| 06:28:55 | dbussink enters the room. | |
| 06:29:35 | jicksta_ enters the room. | |
| 06:30:58 | rue | Ah, you may be right.. worst doc wording in history again |
| 06:31:20 | rue | "Returns a clone of the matrix so that the contents of each do not reference identical objects" |
| 06:32:33 | rue | Nope, it does not define #each. Wtf |
| 06:33:48 | fbuilesv | it uses each2 in some parts |
| 06:35:35 | rue | "Interesting" semantics |
| 06:35:49 | wmoxam leaves the room. | |
| 06:37:39 | AndrewO leaves the room. | |
| 06:37:42 | rue | So basically it only clones whatever the internal container is |
| 06:38:40 | fbuilesv | @rows = rows.collect{|row| row.dup} |
| 06:38:46 | fbuilesv | that's it |
| 06:40:21 | ttmrichter enters the room. | |
| 06:40:28 | jicksta_ leaves the room. | |
| 06:41:03 | fbuilesv | and I don't see any mentions to Array#=== in MRI so I'm guessing it works the same as Object#=== (which is, same behavior as #==) |
| 06:41:05 | jicksta_ enters the room. | |
| 06:42:22 | rue | Matrices are immutable too, so that is not a good metric either |
| 06:43:48 | fbuilesv | rue: Matrix behavior in MRI uses Object#=== so the validation's invalid anyway. Should I remove that and then post something about the current errors with Object#=== in rbx? |
| 06:44:30 | fbuilesv | or maybe replace the === with #object_id |
| 06:45:25 | jicksta leaves the room. | |
| 06:45:34 | rue | I am fixing Kernel#=== now |
| 06:45:49 | rue | For this, we have to figure out exactly what the behaviour is that we want to specify |
| 06:46:58 | fbuilesv | I read the docs as "Same values with differents references (objects)" |
| 06:47:07 | rue | Looks like MatzRuby Matrix actually retains the original Array |
| 06:47:23 | rue | Which is a somewhat stupid implementation detail to expose |
| 06:48:02 | rue | http://pastie.org/183377 |
| 06:49:27 | fbuilesv | that's...interesting |
| 06:49:49 | rue | Indeed |
| 06:50:16 | rue | The thing is that that is most definitely meaningful behaviour |
| 06:51:30 | rue | I would not necessarily expect that the Matrix actually retains the Array as-is. But it does, so we should probably both spec it and consider filing a MatzRuby bug |
| 06:54:02 | rue | Of course you can still also manipulate the objects |
| 06:55:13 | rue | Damn. The #== #=== #eql? #equal? behaviour in MRI is evil. |
| 06:56:12 | fbuilesv | heh |
| 06:56:26 | fbuilesv | mmm, I'll write a spec for that tomorrow and submit it then |
| 06:58:06 | fbuilesv | pastie: for rue |
| 06:58:22 | pastie | rue: http://pastie.org/183379 by fbuilesv. |
| 06:58:48 | fbuilesv | rue: I'm a bit tired right now and that' feels kind of dirty but it makes sure they're different objects. How does that look for you? |
| 07:00:11 | rue | fbuilesv: Need a more precise description but I think the spec is probably the best we can do. Should also spec the behaviour of retaining the Array |
| 07:00:25 | fbuilesv | rue: ok, let me do that before comitting |
| 07:00:30 | rue | I might do it in a bit if I can figure out this equality debacle |
| 07:00:48 | fbuilesv | rue: ok then, I'll just push this and go to bed then :-) |
| 07:00:59 | rue | Sounds good |
| 07:03:14 | rue | Oh, geez.. Matrix.rows allows copying |
| 07:03:29 | fbuilesv | "returns a new matrix with a copy of the original rows" sounds better? |
| 07:04:01 | fbuilesv | rue: yes, it always copies everything (dups) unless you specify otherwise |
| 07:04:09 | rue | Push it, I will tweak it if I have the energy |
| 07:04:17 | rue | fbuilesv: Except with Matrix.[]... |
| 07:04:50 | fbuilesv | rue: yes, different behavior everywhere :) |
| 07:07:14 | boyscout | 1 commit by Federico Builes |
| 07:07:15 | boyscout | * Fixes Matrix#clone specs for MRI; de40303 |
| 07:07:37 | benburkert leaves the room. | |
| 07:07:41 | fbuilesv | Ok, that's it for tonight, have a good night! |
| 07:13:43 | rue | Nite |
| 07:14:36 | atmos_ enters the room. | |
| 07:16:17 | rubuildius_amd64 | Federico Builes: de40303e1; 2090 files, 6555 examples, 22907 expectations, 0 failures, 0 errors; http://rafb.net/p/UAMtsx56.html |
| 07:18:15 | therealadam enters the room. | |
| 07:20:15 | rubuildius_ppc | Federico Builes: de40303e1; 2090 files, 6558 examples, 22936 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/183381 |
| 07:21:32 | dysinger leaves the room. | |
| 07:26:46 | atmos leaves the room. | |
| 07:28:29 | demisone leaves the room. | |
| 07:30:54 | obvio leaves the room. | |
| 07:35:12 | twbray leaves the room. | |
| 07:43:55 | atmos_ leaves the room. | |
| 07:56:26 | atmos enters the room. | |
| 07:59:52 | qwert666 enters the room. | |
| 08:11:42 | hornbeck leaves the room. | |
| 08:24:31 | therealadam leaves the room. | |
| 08:30:04 | obvio enters the room. | |
| 08:30:35 | yaroslav enters the room. | |
| 08:33:14 | jicksta_ leaves the room. | |
| 08:33:21 | jicksta enters the room. | |
| 08:46:48 | Maledictus enters the room. | |
| 08:46:48 | boyscout | 1 commit by MenTaLguY |
| 08:46:48 | boyscout | * Gutted and reworked Actor, following Erlang more closely.; 2e01a86 |
| 08:51:28 | rubuildius_amd64 | MenTaLguY: 2e01a86a3; 2090 files, 6555 examples, 22907 expectations, 0 failures, 0 errors; http://rafb.net/p/l8LReP28.html |
| 08:55:11 | trythil enters the room. | |
| 08:56:18 | rubuildius_ppc | MenTaLguY: 2e01a86a3; 2090 files, 6558 examples, 22936 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/183396 |
| 09:07:47 | kw leaves the room. | |
| 09:20:03 | boyscout | 1 commit by MenTaLguY |
| 09:20:03 | boyscout | * remove stale require; f5fe367 |
| 09:26:16 | rubuildius_amd64 | MenTaLguY: f5fe367f1; 2090 files, 6555 examples, 22907 expectations, 0 failures, 0 errors; http://rafb.net/p/yHoOzw81.html |
| 09:27:07 | atmos leaves the room. | |
| 09:27:58 | obvio leaves the room. | |
| 09:27:58 | ctennis leaves the room. | |
| 09:27:58 | jero5 leaves the room. | |
| 09:27:58 | jp_tix leaves the room. | |
| 09:28:39 | obvio enters the room. | |
| 09:29:57 | jp_tix enters the room. | |
| 09:33:04 | be9 leaves the room. | |
| 09:34:21 | GMFlash leaves the room. | |
| 09:35:05 | ctennis enters the room. | |
| 09:35:24 | rubuildius_ppc | MenTaLguY: f5fe367f1; 2090 files, 6558 examples, 22936 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/183401 |
| 09:39:45 | dysinger enters the room. | |
| 09:41:07 | demisone enters the room. | |
| 09:41:45 | jero5 enters the room. | |
| 09:41:50 | dbussink | morning! |
| 09:41:54 | MenTaLguY | morning! |
| 09:41:59 | MenTaLguY | crap, it's almost 5am :( |
| 09:43:00 | MenTaLguY | goes to get some sleep |
| 09:48:35 | MenTaLguY leaves the room. | |
| 09:50:54 | wycats leaves the room. | |
| 09:51:04 | wycats_ leaves the room. | |
| 09:51:39 | be9 enters the room. | |
| 09:57:39 | dbussink | be9: hey, how you're doing? |
| 09:58:11 | dbussink | be9: been busy i guess, haven't seen you around lately |
| 10:09:13 | wycats enters the room. | |
| 10:20:50 | be9 | dbussink: hi dbussink. yeah, too many projects. been off rubinius dev for a while |
| 10:21:19 | dbussink | be9: you were the one starting the work on cmake if i recall correctly? |
| 10:21:33 | be9 | dbussink: yes |
| 10:22:06 | be9 | dbussink: it's far beyond the edge I guess |
| 10:24:15 | rue | Moo |
| 10:24:30 | dbussink | well, don't have a lot of time anymore too these days since i graduated |
| 10:24:49 | be9 | dbussink: got a job? |
| 10:25:04 | dbussink | be9: yeah, fulltime, so pretty busy |
| 10:25:53 | dbussink | but i have to, see ya |
| 10:25:56 | dbussink | have to go |
| 11:01:39 | rosejn enters the room. | |
| 11:02:15 | rosejn | Anyone around? |
| 11:04:08 | dlee | yes |
| 11:07:39 | rosejn | dlee: Any idea how to create a wiki page on lighthouse? |
| 11:08:23 | rosejn | dlee: We want to organize our thoughts and put together a roadmap for the Actor support... |
| 11:08:45 | rosejn | dlee: but it seems normal users either can't create pages or I'm blind |
| 11:09:04 | brainopia leaves the room. | |
| 11:10:15 | dlee | rosejn: sorry, but i'm not very familiar with lighthouse |
| 11:10:24 | dlee | rosejn: personally, i don't like it that much |
| 11:15:11 | tokengeek enters the room. | |
| 11:18:17 | xmlhacker enters the room. | |
| 11:21:52 | rosejn | dlee: ok, thanks. Yeah, it doesn't seem to do much for you at this point... |
| 11:22:20 | dlee | rosejn: yeah... although i heard that lighthouse upgrade to version 2.0 |
| 11:25:28 | rue | rosejn: I can add you. I need your e-mail addy |
| 11:26:09 | rue | Ruby 1.8.7 is official, it looks like |
| 11:27:38 | imajes enters the room. | |
| 11:33:38 | trythil leaves the room. | |
| 11:41:27 | rue | Ewchy, looks like either the compiler specs were relying on the broken #=== or I am too tired to think logically |
| 11:41:32 | rue | I am giving it about 50-50 |
| 11:47:05 | antares enters the room. | |
| 11:52:18 | benny leaves the room. | |
| 11:56:51 | rue | Eep. |
| 12:02:10 | imajes_ enters the room. | |
| 12:02:50 | rue | Compiler 'tis |
| 12:04:53 | mitchellvriley enters the room. | |
| 12:07:41 | BlackEdder enters the room. | |
| 12:11:43 | imajes_ leaves the room. | |
| 12:12:11 | rue | I need to figure this out tomorrow.. the fix breaks the compiler horribly. Nites |
| 12:12:25 | imajes_ enters the room. | |
| 12:16:40 | imajes leaves the room. | |
| 12:46:31 | dlee leaves the room. | |
| 12:50:16 | mitchellvriley leaves the room. | |
| 13:06:44 | lifo leaves the room. | |
| 13:11:56 | srbaker enters the room. | |
| 13:16:04 | srbaker leaves the room. | |
| 13:21:04 | GMFlash enters the room. | |
| 13:36:23 | dysinger leaves the room. | |
| 13:37:01 | yaroslav leaves the room. | |
| 13:41:57 | riffraff enters the room. | |
| 13:46:52 | RyanTM enters the room. | |
| 13:50:18 | Arjen_ enters the room. | |
| 13:52:03 | dysinger enters the room. | |
| 13:58:36 | boyscout | 1 commit by Dirkjan Bussink |
| 13:58:36 | boyscout | * Fix File::Stat#uid specs; ae377f0 |
| 14:06:17 | rubuildius_amd64 | Dirkjan Bussink: ae377f0e5; 2090 files, 6556 examples, 22909 expectations, 0 failures, 0 errors; http://rafb.net/p/bmooKm82.html |
| 14:10:49 | _VVSiz_ enters the room. | |
| 14:11:38 | rubuildius_ppc | Dirkjan Bussink: ae377f0e5; 2090 files, 6559 examples, 22938 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/183442 |
| 14:17:59 | VVSiz_ leaves the room. | |
| 14:19:48 | obvio leaves the room. | |
| 14:22:42 | AndrewO enters the room. | |
| 14:26:10 | AndrewO leaves the room. | |
| 14:26:36 | dctanner enters the room. | |
| 14:30:27 | imajes enters the room. | |
| 14:31:56 | imajes_ leaves the room. | |
| 14:39:43 | dysinger leaves the room. | |
| 14:47:31 | demisone_ enters the room. | |
| 14:47:33 | demisone leaves the room. | |
| 14:51:12 | nicksieger leaves the room. | |
| 14:52:35 | wmoxam enters the room. | |
| 14:56:37 | xmlhacker leaves the room. | |
| 14:59:00 | xmlhacker enters the room. | |
| 15:05:10 | obvio enters the room. | |
| 15:11:23 | wmoxam leaves the room. | |
| 15:11:57 | BlackEdder enters the room. | |
| 15:12:09 | smparkes leaves the room. | |
| 15:12:25 | BlackEdder leaves the room. | |
| 15:12:44 | BlackEdder enters the room. | |
| 15:38:01 | lopex enters the room. | |
| 15:40:02 | fbuilesv leaves the room. | |
| 15:44:16 | fbuilesv enters the room. | |
| 15:46:25 | ttmrichter_ enters the room. | |
| 15:47:54 | qwert666_ enters the room. | |
| 15:48:15 | therealadam enters the room. | |
| 15:48:51 | imajes leaves the room. | |
| 15:53:41 | yugui enters the room. | |
| 16:00:59 | ttmrichter leaves the room. | |
| 16:05:39 | qwert666 leaves the room. | |
| 16:07:37 | antares leaves the room. | |
| 16:08:05 | imajes enters the room. | |
| 16:15:34 | d2dchat enters the room. | |
| 16:17:11 | zimbatm enters the room. | |
| 16:23:54 | twbray enters the room. | |
| 16:25:46 | benny enters the room. | |
| 16:33:32 | obvio leaves the room. | |
| 16:35:52 | twbray leaves the room. | |
| 16:36:07 | enebo enters the room. | |
| 16:42:02 | yugui leaves the room. | |
| 16:42:29 | imajes leaves the room. | |
| 16:43:16 | demisone enters the room. | |
| 16:44:37 | demisone_ leaves the room. | |
| 16:45:49 | antares enters the room. | |
| 16:51:28 | obiejuan enters the room. | |
| 16:58:33 | twbray enters the room. | |
| 16:59:34 | chris2 enters the room. | |
| 16:59:55 | twbray leaves the room. | |
| 17:01:57 | anteaya enters the room. | |
| 17:15:21 | GMFlash leaves the room. | |
| 17:15:21 | Spakman leaves the room. | |
| 17:15:21 | tarcieri leaves the room. | |
| 17:15:21 | drbrain leaves the room. | |
| 17:15:21 | corundum leaves the room. | |
| 17:15:21 | tmm1 leaves the room. | |
| 17:16:42 | GMFlash enters the room. | |
| 17:16:45 | GMFlash leaves the room. | |
| 17:16:53 | GMFlash enters the room. | |
| 17:21:05 | Spakman enters the room. | |
| 17:24:48 | chris2 leaves the room. | |
| 17:25:19 | _VVSiz_ leaves the room. | |
| 17:26:33 | obvio enters the room. | |
| 17:26:47 | nicksieger enters the room. | |
| 17:31:26 | headius leaves the room. | |
| 17:31:29 | antares leaves the room. | |
| 17:32:36 | tmm1 enters the room. | |
| 17:38:01 | imajes enters the room. | |
| 17:41:09 | enebo leaves the room. | |
| 17:41:11 | kirindav_ enters the room. | |
| 17:43:13 | dc_ leaves the room. | |
| 17:44:11 | dctanner enters the room. | |
| 17:44:43 | nicksieger leaves the room. | |
| 17:45:47 | imajes_ enters the room. | |
| 17:47:55 | dctanner leaves the room. | |
| 17:51:48 | headius enters the room. | |
| 17:51:51 | obvio leaves the room. | |
| 17:54:36 | peeja_ leaves the room. | |
| 18:01:08 | imajes leaves the room. | |
| 18:01:14 | Fullmoon enters the room. | |
| 18:05:15 | nicksieger enters the room. | |
| 18:06:41 | tockitj enters the room. | |
| 18:06:44 | tockitj | hi |
| 18:06:49 | tockitj | anyone alive here :p |
| 18:09:32 | kw enters the room. | |
| 18:11:58 | brixen | tockitj: for certain definitions of life :) |
| 18:12:18 | tockitj | can you tell me if Net::HTTP is thread safe ? :p |
| 18:12:55 | therealadam | afaik its use of timeout make it suspect |
| 18:12:56 | brixen | hmm, that I don't know |
| 18:13:41 | tockitj | therealadam - is it posible to create threadsafe tcp/ip connection in ruby ? |
| 18:14:08 | therealadam | I haven't heard otherwise, but I am by no means an expert |
| 18:14:17 | brixen | I believe evan customized our timeout.rb |
| 18:17:45 | brixen | tockitj: what's the problem that you're looking at? offhand, I can't see how the tcp/ip connection itself is an issue, rather how you use it |
| 18:17:46 | imajes enters the room. | |
| 18:18:28 | brixen | in the general case, it is certainly possible to write threadsafe code in ruby |
| 18:19:04 | imajes leaves the room. | |
| 18:19:05 | tockitj | i'd like to handle potentialy large number of http requests in ruby - and i'd like to use threads for that (maybe there is better solution?) |
| 18:19:45 | tockitj | i cant set critical section around http request, cuz that would ruin whole point |
| 18:19:53 | tockitj | i need requests to run in parallel |
| 18:21:09 | imajes enters the room. | |
| 18:21:33 | brixen | tockitj: have you looked at revactor for 1.9? |
| 18:21:55 | brixen | tony (revactor author) and mentalguy are working on an Actor implementation for rubinius |
| 18:22:14 | brixen | in fact, mental just checked in a bunch more code last night |
| 18:22:56 | tockitj | i'll check that out :-) |
| 18:22:58 | tockitj | thanks |
| 18:23:37 | brixen | I'm not a concurrency whiz by any stretch, but mental and tony (tarcieri) spend a lot of time here talking about actors |
| 18:23:48 | brixen | so I hear about it :) |
| 18:24:01 | tockitj | what are 'actors' ? :-) |
| 18:24:10 | brixen | wowzer, mental's commit last night is 900+ lines |
| 18:24:17 | brixen | tockitj: heard of erlang? |
| 18:24:29 | tockitj | i've only heard of it :-) |
| 18:24:32 | brixen | tockitj: http://revactor.org/ |
| 18:24:38 | brixen | that has a good write up |
| 18:25:06 | brixen | click the "Philosophy" link |
| 18:25:54 | tockitj | this looks like exactly what i need :-) |
| 18:26:19 | brixen | yeah, interesting stuff |
| 18:26:36 | brixen | have you looked at swiftiply and merb? |
| 18:27:06 | tockitj | no? :-) |
| 18:27:28 | brixen | merbivore.org |
| 18:27:46 | brixen | a post by merb's creator: http://brainspl.at/articles/2007/05/12/event-driven-mongrel-and-swiftiply-proxy |
| 18:28:34 | brixen | some other info: http://swiftiply.swiftcore.org/mongrel.html |
| 18:29:03 | jammi leaves the room. | |
| 18:30:16 | tockitj | thanks |
| 18:30:42 | jammi enters the room. | |
| 18:33:39 | smartocci_ leaves the room. | |
| 18:35:03 | imajes_ leaves the room. | |
| 18:41:33 | smartocci enters the room. | |
| 18:46:12 | rue | Morning |
| 18:46:44 | yaroslav enters the room. | |
| 18:47:41 | fbuilesv | morning |
| 18:48:01 | demisone_ enters the room. | |
| 18:48:17 | yaroslav leaves the room. | |
| 18:48:56 | yaroslav enters the room. | |
| 18:49:10 | rue | Oops, I deleted my branch |
| 18:49:17 | demisone leaves the room. | |
| 18:49:33 | yaroslav leaves the room. | |
| 18:49:40 | dysinger enters the room. | |
| 18:49:47 | yaroslav enters the room. | |
| 18:50:02 | cypher23 enters the room. | |
| 18:50:31 | headius | any way to build and try running the cpp branch yet? |
| 18:50:40 | headius | evan said something about it running code by the end of the week |
| 18:50:52 | djwhitt | end of this week? |
| 18:50:54 | djwhitt | not that I know of |
| 18:50:59 | djwhitt | you can run tests though |
| 18:51:03 | djwhitt | under vm/test I think |
| 18:51:16 | rue | headius: Just the tests |
| 18:51:42 | kirindav_ leaves the room. | |
| 18:51:45 | headius | well, that's not very exciting |
| 18:52:32 | be9 leaves the room. | |
| 18:52:46 | kirindav_ enters the room. | |
| 18:53:48 | kirindav_ leaves the room. | |
| 18:54:43 | Fullmoon leaves the room. | |
| 18:56:37 | evan | i missed the 'end of the week' |
| 18:56:41 | evan | hopefully next week sometime. |
| 18:56:51 | headius | okeedoke |
| 18:57:02 | evan | you been checking out the cpp branch? |
| 18:57:09 | headius | I have a thunk that porting the C++ version to Java will be easier than the C version |
| 18:57:27 | evan | you have a thunk? |
| 18:57:28 | headius | yes, I have it...haven't been monitoring closely, but I've read over some of it |
| 18:57:37 | headius | yeah, I thunk it |
| 18:58:04 | headius | think, thank, thunk...try to keep up |
| 18:58:28 | evan | oh, new verb tenses for think. |
| 18:58:30 | rue | evan: Morning! Looked like fixing the default #=== broke the compiler yesterday.. trying to track it down |
| 18:58:35 | evan | you forgot thonk. |
| 18:58:44 | headius | true, I did |
| 18:58:55 | evan | rue: not sure what the default #=== is |
| 18:59:06 | evan | you mean Object#=== ? |
| 18:59:16 | rue | Kernel#=== but yes |
| 18:59:23 | evan | it's just an alias for equal? |
| 18:59:28 | rue | Nope |
| 18:59:30 | evan | yes. |
| 18:59:39 | rue | N-uh :) |
| 18:59:44 | evan | whats different? |
| 19:00:30 | evan | oh that just fucking stupid. |
| 19:00:32 | evan | i'm looking at the C now. |
| 19:00:35 | rue | Writing the specs right now, but it is more or less def ===(other); object_id == other.object_id || self == other; end |
| 19:00:36 | evan | it's equal? then == |
| 19:00:44 | evan | DO NOT USE object_id. |
| 19:00:48 | evan | please. |
| 19:01:00 | evan | use equal? |
| 19:01:07 | rue | It is not the same |
| 19:01:19 | evan | oh yes it is. |
| 19:01:26 | rue | Necessarily anyway.. I am still writing the specs |
| 19:01:34 | rue | It is not if you override #equal? |
| 19:01:49 | evan | fuck that person. |
| 19:02:00 | evan | the docs say very clearly that #equal is never to be overriden. |
| 19:02:37 | rue | Anyway, the problem was that (2**29) - 1 produced the right result but if I wrote that literal out, it got compiled to -1 |
| 19:02:50 | evan | how is that related to ===? |
| 19:03:01 | rue | I dunno |
| 19:03:06 | evan | i don't think it is. |
| 19:03:09 | rue | Buuuut that is what happened |
| 19:03:17 | evan | i worry you're chasing a red herring. |
| 19:03:26 | evan | how do you know it's happening? |
| 19:03:39 | evan | and where did you see -1? |
| 19:03:42 | evan | did you see it in describe? |
| 19:04:59 | rue | It was failing a couple of the compiler tests, two Bignum and one Integer; although it is possible it could have been something else, I suppose. I deleted the branch so I am trying it again :) |
| 19:05:26 | evan | i'm still confused. |
| 19:05:29 | evan | but i'll let you continue. |
| 19:05:46 | evan | but please oh please oh please don't implement equality or identify using object_id |
| 19:05:52 | fbuilesv | evan: I'll change object_id to equal? on that spec then |
| 19:05:55 | evan | because THAT does get overriden more than equal? |
| 19:06:14 | evan | plus it's VASTLY more expensive and yucky. |
| 19:06:35 | headius | yeah, the default logic is supposed to be identity_a == identity_b || a == b |
| 19:06:44 | headius | so equal? is right |
| 19:07:04 | headius | unless you have a deeper way to check identity |
| 19:07:10 | evan | i was just thinking that |
| 19:07:11 | boyscout | 1 commit by Federico Builes |
| 19:07:12 | boyscout | * Replace object_id for equal? in Matrix specs; 12b0bc9 |
| 19:07:14 | evan | we have an equal opcode |
| 19:07:15 | headius | in JRuby it's just a reference equality check |
| 19:07:21 | evan | i wonder if i wired it in as __equal__ |
| 19:08:15 | headius | that would work |
| 19:09:53 | headius | bbl |
| 19:11:43 | GMFlash leaves the room. | |
| 19:12:37 | fbuilesv | rue: did you write the spec for Matrix.rows keeping the array's reference? |
| 19:12:37 | GMFlash enters the room. | |
| 19:12:40 | GMFlash leaves the room. | |
| 19:12:47 | GMFlash enters the room. | |
| 19:13:05 | rue | fbuilesv: Nah, I was tracking this thing down |
| 19:13:28 | rue | I think it needs to be explicitly specified for all of the creation methods if it is not yet |
| 19:13:52 | fbuilesv | rue: I'll write something then, I tried looking the code for #=== but I don't follow the intcode yet |
| 19:14:30 | fbuilesv | rue: as you said, all the creation methds don't use it yet, maybe write to ruby-core and hope for an answer? |
| 19:16:16 | rubuildius_amd64 | Federico Builes: 12b0bc93e; 2090 files, 6556 examples, 22910 expectations, 0 failures, 0 errors; http://rafb.net/p/JIdd4s12.html |
| 19:16:49 | kw leaves the room. | |
| 19:18:15 | antares_ enters the room. | |
| 19:19:12 | rue | fbuilesv: Well, this is definitely their *intended* behaviour. I just dunno if it is sane |
| 19:19:51 | rubuildius_ppc | Federico Builes: 12b0bc93e; 2090 files, 6559 examples, 22939 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/183523 |
| 19:23:02 | fbuilesv | rue: they only provide the copy option for #rows, all the other ones build the Matrix from the parameter. If that's intended behavior we should just spec against it, right? |
| 19:23:41 | tarcieri enters the room. | |
| 19:24:50 | rue | fbuilesv: For now, I suppose so. Although it might be worth trying to see what -core thinks |
| 19:25:40 | fbuilesv | rue: let me write that spec and send a mail then. If they want to change the behavior we can fix it. |
| 19:25:58 | drbrain enters the room. | |
| 19:26:34 | corundum enters the room. | |
| 19:27:54 | rue | Sounds like a plan |
| 19:29:26 | rue | Ouch.. actually, it is NOT `equal?(other) || self == other` |
| 19:30:16 | obvio enters the room. | |
| 19:39:42 | evan | how so? |
| 19:39:56 | evan | the C code for rb_equal indicates that it is. |
| 19:41:12 | rue | It seems to be `equal?(other) || self == other || object_id == other.object_id` |
| 19:41:25 | evan | where do you see that? |
| 19:41:28 | evan | why do you think so? |
| 19:42:19 | rue | If I override #equal? and #== to always return false, o === o is still true |
| 19:42:26 | evan | you're doing this in MRI? |
| 19:42:34 | rue | Yeah, specs |
| 19:42:37 | evan | ok |
| 19:42:38 | evan | thats true |
| 19:42:49 | evan | because Object#=== does 'if (self == obj) return Qtrue' |
| 19:42:52 | evan | as the first thing |
| 19:42:54 | evan | ie, check identity |
| 19:42:57 | evan | but we're not going to. |
| 19:43:15 | evan | so I fully expect us to have a different behavior if equal? is overriden. |
| 19:43:26 | evan | if you want to spec that we're different in this, please do. |
| 19:43:39 | evan | but i'm dead serious when I'm saying do not test against object_id. |
| 19:44:07 | brixen | deviates_on :rubinius |
| 19:44:15 | brixen | those rbx folks are a bunch of deviates |
| 19:44:33 | evan | if you must, use |
| 19:45:03 | evan | Rubinius.asm(self, other) { |s,o| run o; run s; equal } |
| 19:45:10 | evan | to access the equal opcode directly. |
| 19:45:22 | evan | which you can't override. |
| 19:53:42 | rue | Seeing the compiler issues again. Double-checking it is this change and not something with the platform |
| 19:55:45 | evan | please check what describe says |
| 19:55:48 | evan | see if it has -1 in it. |
| 19:57:10 | rue | Yaa, rebuilding |
| 19:57:18 | kirindav_ enters the room. | |
| 19:58:15 | boyscout | 1 commit by Federico Builes |
| 19:58:16 | boyscout | * Additional specs for Matrix; 28700c5 |
| 19:58:54 | evan | kirindav_: hows scheme land? |
| 19:59:24 | kirindav | evan: Up and down. |
| 19:59:41 | MenTaLguY enters the room. | |
| 19:59:45 | evan | (and (up) (down)) |
| 19:59:46 | evan | you mean? |
| 19:59:48 | kirindave | :) |
| 19:59:50 | MenTaLguY | hello |
| 19:59:58 | evan | MenTaLguY: morning / afternoon |
| 20:00:03 | kirindave | Actually, I've been doing excercises from SICP in CL and Scheme. |
| 20:00:18 | kirindave | I actually prefer OpenMCL on my mac a little because I can do the gui assignments in Cocoa. |
| 20:00:23 | kirindave | OpenMCL's FFI stuff is incredible. |
| 20:00:25 | evan | thats cool. |
| 20:00:29 | evan | i'll have to check that out. |
| 20:00:31 | kirindave | It can parse C, C++ and ObjC. |
| 20:00:36 | evan | oh nice. |
| 20:00:36 | radarek enters the room. | |
| 20:00:40 | evan | does it parse header files? |
| 20:00:42 | kirindave | And so you point it at header files and it builds the FFI for you. |
| 20:00:43 | kirindave | Yeah. |
| 20:00:50 | evan | thats something we've been thinking about for our ffi system. |
| 20:00:51 | kirindave | It even does the C++ name unmangling if you set it up right. |
| 20:00:58 | kirindave | So you can directly hit C++ methods. |
| 20:01:03 | evan | very cool. |
| 20:01:14 | kirindave | yeah, but you must have gcc for that to work. |
| 20:01:24 | kirindave | They just auto-generate bindings and then self-link. Not a speedy process. |
| 20:01:33 | evan | ah ha! |
| 20:01:35 | evan | the rub! |
| 20:01:36 | scoopr | cland could be nice for that too |
| 20:01:43 | kirindave | I'm actually at the SF public library right now to see if I can get a copy of SICP. |
| 20:01:43 | scoopr | clang |
| 20:01:44 | evan | that makes it A LOT easier. |
| 20:01:56 | kirindave | For C++ it's the only really reliable approach. |
| 20:02:05 | kirindave | For ObjC and C, they can infer the bindings from your arch and the header. |
| 20:02:12 | kirindave | They even do GC bridging! |
| 20:02:21 | kirindave | CL objects can end up in autorelease pools. |
| 20:02:24 | kirindave | It's pretty hot. |
| 20:02:43 | kirindave | OpenMCL is a quiet contender in the lisp world, but it's pretty amazing as far as I can tell. :) |
| 20:03:06 | evan | sweetness. |
| 20:03:30 | kirindave | It's kinda sad though, I have to confess. |
| 20:03:34 | kirindave | It does diminish my love of ruby. |
| 20:03:49 | evan | is it the syntax or the environment that you like? |
| 20:03:55 | kirindave | Both. |
| 20:03:55 | kirindave | The more I use scheme, the more I prefer it for all but short perlistic scripts. |
| 20:04:22 | kirindave | I think maybe it's just that over time I'm preferring a functional approach more an dmore. |
| 20:04:23 | benburkert enters the room. | |
| 20:04:27 | kirindave | Not to the point of ditching side effects. |
| 20:04:29 | MenTaLguY | sometime we still need to do that Rubinius-lisp |
| 20:04:34 | evan | agreed. |
| 20:05:01 | kirindave | Can rubinious do tail calls? If you have call/cc it probably can. |
| 20:05:17 | MenTaLguY | call/cc is a very heavyweight way to do tailcalls |
| 20:05:18 | evan | it would be super fun to use javascript and lisp as to test languages to push the compiler to be more generic |
| 20:05:33 | kirindave | MenTaLguY: Depends on their implmentation. ;) |
| 20:05:35 | evan | we can wire in rubinius to do tailcall |
| 20:05:36 | rosejn | I second that |
| 20:05:36 | evan | no problem. |
| 20:05:42 | rosejn | I would love a Rubinius lisp |
| 20:06:19 | kirindave | Anyways, I need to stay focused. 1: Book. 2: I _must_ work on getting fuzed ready for railsconf. |
| 20:06:24 | kirindave | I have a talk, I can't fuck this up. :) |
| 20:06:29 | evan | you're writing a book? |
| 20:06:40 | kirindave | No, book is get a physical copy of sicp. |
| 20:06:41 | evan | daves' big scheme? |
| 20:06:45 | rubuildius_amd64 | Federico Builes: 28700c5cf; 2090 files, 6563 examples, 22922 expectations, 0 failures, 0 errors; http://rafb.net/p/PTHzrf24.html |
| 20:06:46 | kirindave | Heh. |
| 20:06:55 | evan | ok, enjoy the library. |
| 20:07:02 | evan | never been to the SF library |
| 20:07:05 | evan | seattle and LA rock. |
| 20:07:36 | kirindave | It's impressive. |
| 20:07:43 | kirindave | I've never seen a library with a robot book return system. |
| 20:07:53 | evan | maybe it's written in scheme!! |
| 20:07:55 | evan | :D |
| 20:08:22 | evan | in more realistic thoughts, i have been thinking more about how big system really should be written in a dynamic language |
| 20:08:24 | kirindave | :) |
| 20:08:37 | kirindave | And? |
| 20:08:43 | evan | thats all. |
| 20:08:52 | evan | just shit like T5's baggage system being all fucked up |
| 20:08:53 | MenTaLguY | tarcieri: about? |
| 20:09:09 | evan | if an engineer could patch it onsite, i'd think it would make life easier |
| 20:09:09 | tarcieri | appears |
| 20:09:11 | tarcieri | sup |
| 20:09:15 | rosejn | I think for big systems the Erlang mentality is not a bad idea... |
| 20:09:15 | kirindave | Yeah. |
| 20:09:27 | tarcieri | Erlang's approach is awesome for large systems |
| 20:09:28 | rosejn | build it so that everything can be quickly re-patched, re-started, re-booted |
| 20:09:30 | kirindave | You know, I think any programming language could implement erlang-style ideas. |
| 20:09:34 | kirindave | It's _extremely_ simple |
| 20:09:39 | evan | <nerdy> In the same way I'm sure that Enterprise used a dynamic programming environment, they were reconfiguring it constantly </nerdy> |
| 20:09:44 | tarcieri | kirindave: but can it do them quickly? |
| 20:09:50 | kirindave | It's more that erlang forces certain constrants on you than anything even especially good about the implementation. |
| 20:09:54 | rosejn | for sure, the language sort of lame, but lots of nice ideas are wrapped up in the system |
| 20:10:08 | tarcieri | the syntax is crap... the semantics are awesome |
| 20:10:19 | kirindave | tarcieri: Yes. Erlang's core primitives are extremely easy to implement. It's more that it's difficult to abide by its constraints in a language that doesn't force them. |
| 20:10:21 | rosejn | I actually don't think it's about forcing constraints either, it's just "the Erlang way" |
| 20:10:40 | kirindave | rosejn: it is about forcing constraints. You just don't feel them because the whole system is written around them. |
| 20:10:53 | boyscout | 3 commits by Eero Saynatkari |
| 20:10:57 | boyscout | * Compiler specs' TestGenerator relies on broken #=== semantics, comply.; 2f5ca54 |
| 20:10:57 | boyscout | * More correct Kernel#===.; a65844a |
| 20:10:57 | boyscout | * Specs for default #=== and its relationship with #== and #equal?; 37cc9d4 |
| 20:11:04 | tarcieri | kirindave: there's so many advantages you can gain in a shared nothing architecture if you use it for more than just enforcing separation of concerns |
| 20:11:07 | kirindave | Constraints like: no non-thread-local variable access. |
| 20:11:11 | kirindave | tarcieri: Right. |
| 20:11:12 | rosejn | I've worked a bit on an Erlang like system in common-lisp, and it worked about like in Erlang, but without the constraints |
| 20:11:29 | kirindave | rosejn: Right, but then you have to make sure to follow some basic rules, right? :) |
| 20:11:39 | kirindave | rosejn: Like, "Don't build stuff with free shared state" |
| 20:11:39 | evan | the new VM is going to make Task's (and thus Continuations) much lighter and more flexible |
| 20:11:46 | rosejn | sure, don't share anything |
| 20:11:49 | tarcieri | kirindave: concurrent GC without a "stop the world" condition, the ability to load balance "processes" across hardware threads |
| 20:12:05 | rue | evan: This version seem to work OK. I think the object_id checking is what is breaking (if anything) so I will look into that later |
| 20:12:28 | evan | hrm. ok. |
| 20:12:35 | kirindave | tarcieri: Sure, but erlang's gc generally is never significantly stressed because it never gets to complex cross-process shared-reference scenarios. |
| 20:12:47 | kirindave | tarcieri: I'm not saying it's trivial. |
| 20:12:52 | rosejn | evan: so tasks are co-routines, like 1.9 Fibers? |
| 20:13:09 | kirindave | tarcieri: I'm just saying that the way erlang is structured seems to be strongly guided by the implementation goals. |
| 20:13:23 | evan | rosejn: yep |
| 20:13:33 | evan | shotgun uses a single stack per task |
| 20:13:41 | evan | the new VM uses one stack per context |
| 20:13:52 | evan | making MethodContext objects portable unto themselves. |
| 20:13:58 | kirindave | hrrms. |
| 20:14:01 | kirindave | is there a good emacs for os x? |
| 20:14:02 | tarcieri | kirindave: yeah, but it's in many ways an advantage from the programmer perspective as well |
| 20:14:08 | tarcieri | kirindave: Carbon Emacs is nice |
| 20:14:10 | kirindave | tarcieri: No doubt, for large systems. |
| 20:14:11 | rosejn | yeah, it's called vim :) |
| 20:14:19 | evan | kirindave: zenspider uses emacs from cvs |
| 20:14:30 | evan | kirindave: emacs has had cocoa intergation in cvs for years now |
| 20:14:33 | kirindave | Yeah |
| 20:14:34 | kirindave | But... |
| 20:14:39 | kirindave | Then it has to be one instance. |
| 20:14:42 | evan | there is a binary of cvs thats recent |
| 20:14:44 | kirindave | I wish I could have two separate instances. |
| 20:14:46 | tarcieri | Aquamacs is... ok |
| 20:14:51 | kirindave | Yeah, it's okay. |
| 20:14:53 | tarcieri | the default settings are pretty annoying |
| 20:14:54 | kirindave | Not awful, anyways. |
| 20:14:56 | rosejn | So in the new VM you will have a context per Task? |
| 20:14:59 | kirindave | Gotta turn off that cua mode. |
| 20:15:05 | evan | rosejn: no |
| 20:15:26 | evan | A task is a top MethodContext, and a set of global data |
| 20:15:30 | evan | Task is really thin now |
| 20:15:39 | evan | it provides mainly an anchor for a MethodContext |
| 20:15:46 | tarcieri | is the C++ branch running code now? |
| 20:15:54 | evan | not yet |
| 20:16:01 | evan | i'd hope to have it running code this week |
| 20:16:05 | evan | but it's going to have to be next week |
| 20:16:11 | tarcieri | ok |
| 20:16:14 | evan | i'm writing Task tests atm |
| 20:16:28 | evan | testing all the behavior of the VM we never could before |
| 20:16:29 | boyscout | 1 commit by MenTaLguY |
| 20:16:30 | boyscout | * rework actor linking slightly; ac3b7b9 |
| 20:16:51 | rosejn | I was talking with MenTal on the mailing list about getting a wiki page setup to discus the design of Actors and all their flavors. |
| 20:17:06 | tarcieri | nice |
| 20:17:08 | rosejn | would we do that on lighthouse? |
| 20:17:11 | tarcieri | that'd be quite helpful |
| 20:17:53 | kirindave | tarcieri: At some point you should join our fuzed project. You're in a good position to make it rock with rubinius. |
| 20:18:01 | MenTaLguY | yes, it'd be on lighthouse |
| 20:18:03 | rosejn | tarcieri: ahhh, it's Tony :-) Didn't connect with the name. |
| 20:18:09 | tarcieri | heh |
| 20:18:14 | rosejn | Hey Tony & Mental |
| 20:18:18 | MenTaLguY | howdy Jeff |
| 20:18:20 | tarcieri | kirindave: I'll certainly check out Fuzed when you release it |
| 20:18:21 | rosejn | Ok, so how do we create a page? |
| 20:18:32 | rosejn | I'm either blind or don't have the right permissions |
| 20:18:38 | tarcieri | yeah I don't think you can |
| 20:18:43 | tarcieri | they're setting up another wiki somewhere else |
| 20:18:44 | tarcieri | iirc |
| 20:18:53 | MenTaLguY | ah |
| 20:19:00 | kirindave | tarcieri: It's out and functional bro. |
| 20:19:12 | rosejn | donde? |
| 20:19:13 | kirindave | tarcieri: I'm moving some features from katamari over to fuzed today. |
| 20:19:14 | tarcieri | kirindave: orly |
| 20:19:20 | kirindave | tarcieri: yarly check my github. |
| 20:19:25 | tarcieri | kirindave: I've been pretty happy with HAProxy :) |
| 20:19:30 | tarcieri | but I'll take a look |
| 20:19:39 | kirindave | Fuzed is more ambitious than any proxy. |
| 20:19:47 | tarcieri | yeah |
| 20:19:51 | shanghaililly enters the room. | |
| 20:19:52 | kirindave | It's a proposal to completely separate presentation from content generation. |
| 20:20:00 | rue | evan: It is the compiler. http://pastie.org/183539 I am not sure if that is indicative of a real problem but that is what happens |
| 20:20:26 | kirindave | Katamari could serve html over thrift from the same rails processes that serve http, if we wanted to set it up that way. I am going to move that functionality over to fuzed today. |
| 20:20:49 | rue | lib/compiler/describe.rb is gone so it is missing the AST output. I am off for a while |
| 20:21:00 | tarcieri | are you using Thrift to communicate between Ruby and Erlang? |
| 20:21:09 | kirindave | No. |
| 20:21:14 | evan | rue: thats way bizarre |
| 20:21:25 | evan | why it's deciding to module that number as -1 is odd |
| 20:21:28 | evan | but should be fixed |
| 20:21:35 | kirindave | As in, you form a cloud and then place "heads" on that cloud that all talk to the same resource. |
| 20:21:46 | kirindave | They all talk to the underlying resources in a uniform way |
| 20:22:23 | therealadam leaves the room. | |
| 20:22:42 | evan | s/module/model/ |
| 20:22:56 | evan | rue: ok |
| 20:23:27 | tarcieri | hmm, it appears the discussion as to another wiki ended at what wiki software to use |
| 20:23:28 | tarcieri | heh |
| 20:23:44 | MenTaLguY | so, regarding actors |
| 20:23:47 | rosejn | right |
| 20:24:02 | MenTaLguY | one of the things I'm a bit up in the air about right now is at what moments actor exit notifica |