Index

Show enters and exits. Hide enters and exits.

00:02:22nicksieger enters the room.
00:04:20jlindley leaves the room.
00:11:47rueDefiler: Oh, here: http://wiki.merbivore.com/. "Powered by Collective"
00:18:15obiejuan leaves the room.
00:26:26meanphil leaves the room.
00:26:30meanphil enters the room.
00:27:54agile leaves the room.
00:29:11anteaya_ leaves the room.
00:30:31anteaya_ enters the room.
00:34:57obiejuan enters the room.
00:38:50meanphil leaves the room.
00:38:53meanphil enters the room.
00:39:26qwert666 leaves the room.
00:44:16hornbeck leaves the room.
00:44:42hornbeck enters the room.
00:44:54Defilerrue: So, what's the sales pitch for this? That it is Merb instead of Rails?
00:47:28rueDefiler: 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:51contextLH ?
00:48:01DefilerCan we turn off the wiki features in LH?
00:48:09DefilerBecause I am really hesitant to have two wikis
00:48:09contextoh lighthouse
00:48:29rueDefiler: Only members can add/edit pages
00:48:34rueOn LH
00:48:40DefilerYeah, I know. It is lame
00:48:46DefilerThat being said, it exists
00:49:08rue"Lame" does not begin to describe it. It strips existing Textile tags for heaven's sake
00:49:33rueThey *purposefully* disabled parts of Textile for who knows what reason
00:49:55rueAnyway, idea-type thing. Be back in a bitty, food etc.
00:51:34imajes leaves the room.
00:51:37DefilerI totally agree.. but I just don't want to add to the already-brutal web confusion we have
00:52:04TheVoice enters the room.
00:53:06elight enters the room.
00:54:20rueDefiler: Sure, I think consolidation would be in order
00:54:49DefilerCan we, though? We don't have much control over what lighthouse looks like
00:56:22obvio enters the room.
00:57:10imajes enters the room.
00:58:11macournoyer enters the room.
00:58:17benstiglitzTime for that distributed bug tracker…
00:58:28imajes leaves the room.
00:58:29contexthaha
00:59:04DefilerThat could be pretty cool
00:59:28brixenhah, hardly seems useful
00:59:46DefilerYou could commit flamewars locally and then decide not to push them
00:59:47brixenI have a ticket on my bugtracker, where do I sent the pull request?
00:59:52brixento your bugtracker?
01:00:18DefilerTo your bug tracker origin from your local bug tracker
01:00:25brixenheh
01:00:47contextthen you would have to pull a new persons bus
01:00:50contextbugs*
01:00:54contextthey couldnt push them
01:01:01DefilerUnless they had bug push access
01:01:09benstiglitzThis is why it doesn't exist yet.
01:01:17benstiglitzLots of annoying problems of dups, too.
01:01:21benstiglitzBut those are solvable.
01:01:26DefilerI think it's just a lack of vision
01:01:30contextlets just give them direct access to the mysql database
01:01:33contextno website
01:01:35contextand its simple
01:01:43context:p
01:02:51brixenhah, take that yaml, my 11-line method makes you irrelevant (for my purposes :)
01:03:27brixencontext: ohh, good idea. remove this bloat middleware :)
01:03:34imajes enters the room.
01:03:36elightbrixen: Ah if only all configuration files could be annihilated so easily
01:04:05brixenelight: well, fortunately a hash of string keys and arrays of strings for items is really simple yaml :)
01:04:37imajes leaves the room.
01:04:42elightbrixen: 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:53jtoy enters the room.
01:04:53brixenyikes
01:05:02imajes enters the room.
01:05:12brixenfortunately only knows Spring as a season, a rather nice one at that :)
01:05:31elightYeah, Spring blows
01:05:47elightIMO, the Java community has a heroin problem as much as they seem to like injections.
01:05:58brixenheh
01:06:31brixenwhen will someone find a good pattern for codependency injection, then you've got the addicts and their enablers
01:07:09elightROFL
01:07:57cored enters the room.
01:08:13ruebrixen, Defiler, benstiglitz: http://ditz.rubyforge.org/
01:08:33benstiglitzHey, *another one*!
01:08:48benstiglitzMaybe this time it won’t fizzle out.
01:09:03rueDefiler: I was more thinking that LH should be used to track tickets, EOS
01:09:18AndrewO enters the room.
01:09:37macournoyer leaves the room.
01:10:09brixenrue: ok, that actually looks quite cool
01:10:22Defilerneat
01:10:31brixenintegrated with git on the project makes sense to me
01:10:50brixena separate distributed dohickey doesn't
01:11:25brixenstill would kinda suck to handle pull requests from new contribs
01:11:31brixenI like that anyone can post a ticket
01:11:38benstiglitzMake them use a public interface to a clone.
01:11:43benstiglitzSame internets as always.
01:11:49benstiglitzAnd developers can have their local bizness.
01:12:08brixenbenstiglitz: but, that wouldn't eliminate pull requests
01:12:17brixenups the load on devs with commit access
01:12:45benstiglitzWell, you just always pull, I guess.
01:12:57benstiglitzNot any different than occasionally visiting the site. =)
01:13:56brixenwith something like github handling/coordinating the pull requests, yes, it's similar
01:14:04brixenin general, you'd need something like that
01:14:18brixeninformation has to flow somewhere it makes a difference
01:14:37macournoyer enters the room.
01:14:59benstiglitz leaves the room.
01:15:44macournoyer leaves the room.
01:17:46macournoyer enters the room.
01:18:55macournoyer leaves the room.
01:20:27brixenhmm, I suppose we need something like: it_behaves_like :Enumerable
01:20:43brixenthat specs all the methods a class gets from mixing in e.g. Enumerable or Comparable
01:20:57brixenjust realized that File is not an Enumerable in rbx
01:21:22d2dchat leaves the room.
01:29:47brixenhmm, it_mixes_in Enumerable, File
01:30:53brixensweet: 1085 files, 3986 examples, 15700 expectations, 54 failures, 77 errors
01:31:07brixenthat's a rough estimate of our completeness on core for running rails
01:31:33obiejuan leaves the room.
01:32:06brixenrough in that 1. dunno if my data is correct yet, 2. dunno how many methods are missing from the specs yet
01:32:14brixen1. will be fixed by our own trace script
01:32:24brixen2. by a new formatter and graph script
01:32:39brixenin case anyone cares
01:32:43brixenwhat is this friday :P
01:32:50obiejuan enters the room.
01:33:38obvio leaves the room.
01:38:42obiejuan leaves the room.
01:51:08loincloth leaves the room.
01:53:13imajes leaves the room.
01:55:02lopex enters the room.
01:55:49atmos enters the room.
01:56:28antares enters the room.
02:03:23agile enters the room.
02:14:08imajes enters the room.
02:21:01wdperson enters the room.
02:27:44cored leaves the room.
02:29:24VVSiz_ enters the room.
02:30:08jtoy leaves the room.
02:34:18wdperson leaves the room.
02:35:17antares leaves the room.
02:37:43VVSiz leaves the room.
02:45:43boyscout5 commits by Brian Ford
02:45:43boyscout * Some method profiles of data provided by John Lam.; 5476d83
02:45:43boyscout * File should include Enumerable. Specs for this type of thing incubating.; d7ed23b
02:45:43boyscout * Added ProfileFilter to MSpec.; b1d3f0b
02:45:43boyscout * Another shot at getting an unpolluted set of core constants for MkSpec.; 0759866
02:45:44boyscout * Added MSpec script options -w, -W (profiles).; 1db1a26
02:46:56Defilerbrixen: How did you get those numbers? (re: 77 errors, etc)
02:47:07brixenso, for the curious: bin/mspec -w rails.yaml spec/ruby
02:47:13brixenDefiler: like that ^^^
02:48:22brixenI've got a couple formatters and a graph script and we'll have X/Y completeness reports
02:48:35brixenbut gotta run, bbiab...
02:54:53trythil leaves the room.
02:56:18rubuildius_amd64Brian Ford: 5476d8365; 2090 files, 6533 examples, 22732 expectations, 0 failures, 0 errors; http://rafb.net/p/0iI9ZA55.html
02:58:45rubuildius_ppcBrian Ford: 5476d8365; 2090 files, 6536 examples, 22761 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/183328
03:08:57eventualbuddha leaves the room.
03:13:27obvio enters the room.
03:16:46fbuilesv enters the room.
03:17:43imajes leaves the room.
03:20:01benburkert leaves the room.
03:20:59lopex leaves the room.
03:25:09smartocci leaves the room.
03:25:10smartocci_ enters the room.
03:28:15fbuilesvHas anyone been able to reproduce http://rubinius.lighthouseapp.com/projects/5089/tickets/502-singleton-new-fails-tests-during-ci ?
03:33:23rueevan: All the pull requests at github come to you only though, right?
03:34:05rueNot that I know
03:35:40fbuilesvOk, 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:37mlins enters the room.
03:36:42dysinger enters the room.
03:41:08mlins leaves the room.
03:43:11ruefbuilesv: We would want to avoid that. Call it "less_than_op.rb" instead?
03:43:30fbuilesvrue: not me, someone submitted some specs for Matrix, going through them
03:43:35rueI believe mkspec has a mapping of symbols to names
03:43:43ruefbuilesv: Aha, cool!
03:52:14GMFlash leaves the room.
03:52:23GMFlash enters the room.
03:53:49anteaya_ leaves the room.
03:59:51anteaya_ enters the room.
04:02:05boyscout4 commits by Marnen Laibow-Koser
04:02:05boyscout * Basic specs for Matrix.zero.; 72e1ea8
04:02:05boyscout * Move before block to a clearer place.; f5d294a
04:02:05boyscout * Write specs for Matrix.diagonal.; b6bc5b2
04:02:05boyscout * Some initial specs for Matrix#[] and Matrix.[].; b4d056b
04:11:17rubuildius_amd64Marnen Laibow-Koser: 72e1ea890; 2090 files, 6542 examples, 22879 expectations, 0 failures, 0 errors; http://rafb.net/p/CrS1Cz47.html
04:13:36benburkert enters the room.
04:16:29anteaya_ leaves the room.
04:16:56rubuildius_ppcMarnen Laibow-Koser: 72e1ea890; 2090 files, 6545 examples, 22908 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/183352
04:18:21rueDamn it, now I started rewriting the FAQ
04:19:25ruefbuilesv: 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:31rueIf it applies
04:19:53fbuilesvrue: I'm commiting them as they came by and then submitting a patch with the modifications if that's ok?
04:20:45ruefbuilesv: 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:56fbuilesvrue: will do
04:21:24ruemarnen hangs out here too so it is not as crucial in this case.. but I am a slave to my habits :)
04:26:33wycats_ enters the room.
04:34:13dlee leaves the room.
04:35:15boyscout6 commits by Marnen Laibow-Koser
04:35:15boyscout * Matrix.unit, one more alias for .identity.; 3be265a
04:35:31boyscout * Name spec correctly.; 57aa8ba
04:35:31boyscout * Specs for Matrix.scalar and .identity/I.; 3390dc4
04:35:31boyscout * Move the "needs to be reviewed" indicator to the right place.; 958ca1f
04:35:31boyscout * Use size functions instead of constants.; bf3eab6
04:35:31boyscout ...
04:40:05lstoll enters the room.
04:42:53wycats_ leaves the room.
04:43:25jtoy enters the room.
04:46:17rubuildius_amd64Marnen Laibow-Koser: 3be265a93; 2090 files, 6555 examples, 22917 expectations, 0 failures, 0 errors; http://rafb.net/p/Nhgnce61.html
04:47:36rubuildius_ppcMarnen Laibow-Koser: 3be265a93; 2090 files, 6558 examples, 22946 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/183359
04:51:50fbuilesv_ enters the room.
04:51:58boyscout1 commit by Federico Builes
04:51:58boyscout * Fixes a few things inside the Matrix specs.; 2b3a441
04:53:35elight leaves the room.
04:57:15jtoy leaves the room.
05:01:18rubuildius_amd64Federico Builes: 2b3a44158; 2090 files, 6555 examples, 22917 expectations, 0 failures, 0 errors; http://rafb.net/p/6ltIJ074.html
05:03:29TheVoice leaves the room.
05:03:32rubuildius_ppcFederico Builes: 2b3a44158; 2090 files, 6558 examples, 22946 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/183361
05:05:06fbuilesv leaves the room.
05:06:17atmos_ enters the room.
05:06:43ruePhew, FAQ semi-updated.
05:06:52rueWe need to start consolidating docs.
05:09:30fbuilesvrue: 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:19MenTaLguY enters the room.
05:22:35boyscout1 commit by Benjamin Stiglitz
05:22:39boyscout * Fixed mode of rhs fd in IO#pipe; 6e27619
05:23:41brainopia enters the room.
05:23:42atmos leaves the room.
05:24:41ruefbuilesv_: Yep, caught it in review
05:25:01rueThat was some old info in that FAQ
05:27:24fbuilesvBah, 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:15rubuildius_amd64Benjamin Stiglitz: 6e2761999; 2090 files, 6555 examples, 22917 expectations, 0 failures, 0 errors; http://rafb.net/p/Ie6LTP46.html
05:33:16rueThere are a lot of people still running 2.95
05:34:14rueDamn, README is in a sad shape to
05:35:49rubuildius_ppcBenjamin Stiglitz: 6e2761999; 2090 files, 6558 examples, 22946 expectations, 0 failures, 0 errors;
05:38:13fbuilesvDefiler: you there?
05:41:29brainopia enters the room.
05:42:43mernen leaves the room.
05:43:16headiusone failure in matrix spec against p111...hmmm
05:44:23fbuilesvheadius: weird, I ran it against -tr before uploading, which test is it?
05:44:24srbaker leaves the room.
05:44:46headiuspastie: for fbuilesv
05:44:55pastiefbuilesv: http://pastie.org/183365 by headius.
05:45:08headiusI noticed it becuse it failed in jruby too
05:45:27headiuswhat version did you run against?
05:45:56wycats_ enters the room.
05:46:17headiuscould be a 114 difference, but seems unlikely
05:46:22headiusI'm grabing 114 finally right now
05:47:12fbuilesvheadius: nope, you're right, it did fail now that I ran it individually.
05:47:28headiusI ran just library/matrix and got it
05:48:17fbuilesvmy 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:06headiuseh?
05:50:23fbuilesvmm, let me rephrase that
05:51:20headiusactually I need to run now :)
05:51:27headiushave a good evening
05:51:47fbuilesv:)
05:52:46ruefbuilesv: I assume it should be returning a copy of the Arrays
05:53:53rueBut that is one weird spec right there
05:54:04fbuilesvrue: compares each one of the fixnum
05:54:05fbuilesvs
05:54:12rueDefinitely want to make it more explicit.. there is no reason to go #==='ing
05:54:37fbuilesvrue: any suggestion on how to make it explicit then?
05:55:48rueI need to brush up on my Matrix to figure out what those Arrays are
05:57:55twbray enters the room.
05:58:14rueNow, the confusing part is that of course numbers are ALWAYS the same object
05:58:32wmoxam enters the room.
05:59:01dbussink leaves the room.
05:59:01squeegy leaves the room.
05:59:01MikeJS leaves the room.
05:59:33rueOK, I see.
05:59:46ruefbuilesv: You would want to use Object.new there probably
05:59:48MikeJS enters the room.
06:00:21squeegy enters the room.
06:00:31fbuilesvrue: tose arrays are vectors (as in algebra)
06:00:51fbuilesvthose*
06:00:53ruefbuilesv: Well, yes and no.. the Array itself is not stored. It is just a part of the notation
06:01:50fbuilesvrue: the array's stored in @elements, isn't it?
06:02:05rueIt should not matter
06:02:21rueLet us say @a = Matrix[[1, 2]]
06:02:33rue@a[0, 0] == 1
06:02:52dbussink enters the room.
06:03:13rueBut b = @a.clone; b[0, 0].should_not == @a[0, 0]
06:03:28rueThat part is correct. What is incorrect is that 1.equal? 1 is always true
06:05:02rueSo 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:14dlee enters the room.
06:06:44fbuilesvrue: ~~~ ?
06:09:56RyanTM leaves the room.
06:10:41brixenfbuilesv: are you commiting these matrix specs?
06:11:00fbuilesvbrixen: committed from a patch, yes.
06:11:08dbussink leaves the room.
06:11:51brixenfbuilesv: k
06:12:14brixenI think we should be a little more critical on the contents of specs
06:12:32brixenfor example, a 10x10 matrix could be a 2x2 matrix unless something really needs to test 10 elements
06:13:35brixenwe are getting so many specs that we need to be mindful of using the simplest example that illustrates that aspect of behavior
06:13:44dbussink enters the room.
06:14:24fbuilesvbrixen: I actually made some shorter but let me fix this failure with MRI and I'll get on it
06:14:47be9 enters the room.
06:15:09brixenfbuilesv: not a biggie, just wanting to raise awareness generally
06:17:46fbuilesvpastie: hi
06:17:55ruefbuilesv: Possibly equivalent
06:18:20fbuilesvrue: I'm seeing a diff behavior in === with dup between rbx and MRI, let me try something
06:18:28jicksta enters the room.
06:18:40pastiehttp://pastie.org/183372 by fbuilesv.
06:18:48rueSure, but that is a separate issue. #=== should have nothing to do with this spec?
06:19:26fbuilesvrue: with the === the spec will pass on rbx but fail on MRI, should I just forget about that === in that test case?
06:19:54rueArray#=== is undocumented in MatzRuby, it seems
06:20:23ruefbuilesv: I do not think it is right in this case (though it warrants separate investigation)
06:20:54fbuilesvrue: was that difference in implementations already reported or should I upload to LH?
06:20:58ruefbuilesv: 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:30ruefbuilesv: Which means it probably relies on #dup or #clone, so mocking that out would be best
06:22:19fbuilesvrue: right, but with Fixnums as you said earlier, that constraint won't be enforceable, right?
06:22:43brainopia leaves the room.
06:23:18rueOh! I read the other way around that MatzRuby was returning false.. checking our Array#=== now
06:23:23brainopia enters the room.
06:23:41dbussink leaves the room.
06:24:06ruefbuilesv: Possibly.. it is hard to say. It could maybe #dup everything but obj.respond_to? :to_int
06:24:54rue#dup and #clone on a Fixnum should raise I think
06:25:34fbuilesvrue: it raises right now - can't [dup|clone] Fixnum
06:26:13fbuilesvobj.kind_of?(Fixnum) would work out better in there, don't you think?
06:26:24rueRight, but Matrix#clone does not raise even if it has ints
06:26:45rueHowever (per the doc) it DOES somehow clone other objects.. so first verify if the latter is true
06:27:00rueEwg, that is not good.. Kernel#=== is broken
06:28:00rueArgh, and #==. Damn.
06:28:04rueFixing
06:28:06fbuilesvrue: actuall Matrix dups the rows, not num by num
06:28:27fbuilesvso it shouldn't raise
06:28:35fbuilesvthat's how I see it at least
06:28:55dbussink enters the room.
06:29:35jicksta_ enters the room.
06:30:58rueAh, you may be right.. worst doc wording in history again
06:31:20rue"Returns a clone of the matrix so that the contents of each do not reference identical objects"
06:32:33rueNope, it does not define #each. Wtf
06:33:48fbuilesvit uses each2 in some parts
06:35:35rue"Interesting" semantics
06:35:49wmoxam leaves the room.
06:37:39AndrewO leaves the room.
06:37:42rueSo basically it only clones whatever the internal container is
06:38:40fbuilesv@rows = rows.collect{|row| row.dup}
06:38:46fbuilesvthat's it
06:40:21ttmrichter enters the room.
06:40:28jicksta_ leaves the room.
06:41:03fbuilesvand 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:05jicksta_ enters the room.
06:42:22rueMatrices are immutable too, so that is not a good metric either
06:43:48fbuilesvrue: 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:30fbuilesvor maybe replace the === with #object_id
06:45:25jicksta leaves the room.
06:45:34rueI am fixing Kernel#=== now
06:45:49rueFor this, we have to figure out exactly what the behaviour is that we want to specify
06:46:58fbuilesvI read the docs as "Same values with differents references (objects)"
06:47:07rueLooks like MatzRuby Matrix actually retains the original Array
06:47:23rueWhich is a somewhat stupid implementation detail to expose
06:48:02ruehttp://pastie.org/183377
06:49:27fbuilesvthat's...interesting
06:49:49rueIndeed
06:50:16rueThe thing is that that is most definitely meaningful behaviour
06:51:30rueI 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:02rueOf course you can still also manipulate the objects
06:55:13rueDamn. The #== #=== #eql? #equal? behaviour in MRI is evil.
06:56:12fbuilesvheh
06:56:26fbuilesvmmm, I'll write a spec for that tomorrow and submit it then
06:58:06fbuilesvpastie: for rue
06:58:22pastierue: http://pastie.org/183379 by fbuilesv.
06:58:48fbuilesvrue: 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:11ruefbuilesv: 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:25fbuilesvrue: ok, let me do that before comitting
07:00:30rueI might do it in a bit if I can figure out this equality debacle
07:00:48fbuilesvrue: ok then, I'll just push this and go to bed then :-)
07:00:59rueSounds good
07:03:14rueOh, geez.. Matrix.rows allows copying
07:03:29fbuilesv"returns a new matrix with a copy of the original rows" sounds better?
07:04:01fbuilesvrue: yes, it always copies everything (dups) unless you specify otherwise
07:04:09ruePush it, I will tweak it if I have the energy
07:04:17ruefbuilesv: Except with Matrix.[]...
07:04:50fbuilesvrue: yes, different behavior everywhere :)
07:07:14boyscout1 commit by Federico Builes
07:07:15boyscout * Fixes Matrix#clone specs for MRI; de40303
07:07:37benburkert leaves the room.
07:07:41fbuilesvOk, that's it for tonight, have a good night!
07:13:43rueNite
07:14:36atmos_ enters the room.
07:16:17rubuildius_amd64Federico Builes: de40303e1; 2090 files, 6555 examples, 22907 expectations, 0 failures, 0 errors; http://rafb.net/p/UAMtsx56.html
07:18:15therealadam enters the room.
07:20:15rubuildius_ppcFederico Builes: de40303e1; 2090 files, 6558 examples, 22936 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/183381
07:21:32dysinger leaves the room.
07:26:46atmos leaves the room.
07:28:29demisone leaves the room.
07:30:54obvio leaves the room.
07:35:12twbray leaves the room.
07:43:55atmos_ leaves the room.
07:56:26atmos enters the room.
07:59:52qwert666 enters the room.
08:11:42hornbeck leaves the room.
08:24:31therealadam leaves the room.
08:30:04obvio enters the room.
08:30:35yaroslav enters the room.
08:33:14jicksta_ leaves the room.
08:33:21jicksta enters the room.
08:46:48Maledictus enters the room.
08:46:48boyscout1 commit by MenTaLguY
08:46:48boyscout * Gutted and reworked Actor, following Erlang more closely.; 2e01a86
08:51:28rubuildius_amd64MenTaLguY: 2e01a86a3; 2090 files, 6555 examples, 22907 expectations, 0 failures, 0 errors; http://rafb.net/p/l8LReP28.html
08:55:11trythil enters the room.
08:56:18rubuildius_ppcMenTaLguY: 2e01a86a3; 2090 files, 6558 examples, 22936 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/183396
09:07:47kw leaves the room.
09:20:03boyscout1 commit by MenTaLguY
09:20:03boyscout * remove stale require; f5fe367
09:26:16rubuildius_amd64MenTaLguY: f5fe367f1; 2090 files, 6555 examples, 22907 expectations, 0 failures, 0 errors; http://rafb.net/p/yHoOzw81.html
09:27:07atmos leaves the room.
09:27:58obvio leaves the room.
09:27:58ctennis leaves the room.
09:27:58jero5 leaves the room.
09:27:58jp_tix leaves the room.
09:28:39obvio enters the room.
09:29:57jp_tix enters the room.
09:33:04be9 leaves the room.
09:34:21GMFlash leaves the room.
09:35:05ctennis enters the room.
09:35:24rubuildius_ppcMenTaLguY: f5fe367f1; 2090 files, 6558 examples, 22936 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/183401
09:39:45dysinger enters the room.
09:41:07demisone enters the room.
09:41:45jero5 enters the room.
09:41:50dbussinkmorning!
09:41:54MenTaLguYmorning!
09:41:59MenTaLguYcrap, it's almost 5am :(
09:43:00MenTaLguYgoes to get some sleep
09:48:35MenTaLguY leaves the room.
09:50:54wycats leaves the room.
09:51:04wycats_ leaves the room.
09:51:39be9 enters the room.
09:57:39dbussinkbe9: hey, how you're doing?
09:58:11dbussinkbe9: been busy i guess, haven't seen you around lately
10:09:13wycats enters the room.
10:20:50be9dbussink: hi dbussink. yeah, too many projects. been off rubinius dev for a while
10:21:19dbussinkbe9: you were the one starting the work on cmake if i recall correctly?
10:21:33be9dbussink: yes
10:22:06be9dbussink: it's far beyond the edge I guess
10:24:15rueMoo
10:24:30dbussinkwell, don't have a lot of time anymore too these days since i graduated
10:24:49be9dbussink: got a job?
10:25:04dbussinkbe9: yeah, fulltime, so pretty busy
10:25:53dbussinkbut i have to, see ya
10:25:56dbussinkhave to go
11:01:39rosejn enters the room.
11:02:15rosejnAnyone around?
11:04:08dleeyes
11:07:39rosejndlee: Any idea how to create a wiki page on lighthouse?
11:08:23rosejndlee: We want to organize our thoughts and put together a roadmap for the Actor support...
11:08:45rosejndlee: but it seems normal users either can't create pages or I'm blind
11:09:04brainopia leaves the room.
11:10:15dleerosejn: sorry, but i'm not very familiar with lighthouse
11:10:24dleerosejn: personally, i don't like it that much
11:15:11tokengeek enters the room.
11:18:17xmlhacker enters the room.
11:21:52rosejndlee: ok, thanks. Yeah, it doesn't seem to do much for you at this point...
11:22:20dleerosejn: yeah... although i heard that lighthouse upgrade to version 2.0
11:25:28ruerosejn: I can add you. I need your e-mail addy
11:26:09rueRuby 1.8.7 is official, it looks like
11:27:38imajes enters the room.
11:33:38trythil leaves the room.
11:41:27rueEwchy, looks like either the compiler specs were relying on the broken #=== or I am too tired to think logically
11:41:32rueI am giving it about 50-50
11:47:05antares enters the room.
11:52:18benny leaves the room.
11:56:51rueEep.
12:02:10imajes_ enters the room.
12:02:50rueCompiler 'tis
12:04:53mitchellvriley enters the room.
12:07:41BlackEdder enters the room.
12:11:43imajes_ leaves the room.
12:12:11rueI need to figure this out tomorrow.. the fix breaks the compiler horribly. Nites
12:12:25imajes_ enters the room.
12:16:40imajes leaves the room.
12:46:31dlee leaves the room.
12:50:16mitchellvriley leaves the room.
13:06:44lifo leaves the room.
13:11:56srbaker enters the room.
13:16:04srbaker leaves the room.
13:21:04GMFlash enters the room.
13:36:23dysinger leaves the room.
13:37:01yaroslav leaves the room.
13:41:57riffraff enters the room.
13:46:52RyanTM enters the room.
13:50:18Arjen_ enters the room.
13:52:03dysinger enters the room.
13:58:36boyscout1 commit by Dirkjan Bussink
13:58:36boyscout * Fix File::Stat#uid specs; ae377f0
14:06:17rubuildius_amd64Dirkjan 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:38rubuildius_ppcDirkjan Bussink: ae377f0e5; 2090 files, 6559 examples, 22938 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/183442
14:17:59VVSiz_ leaves the room.
14:19:48obvio leaves the room.
14:22:42AndrewO enters the room.
14:26:10AndrewO leaves the room.
14:26:36dctanner enters the room.
14:30:27imajes enters the room.
14:31:56imajes_ leaves the room.
14:39:43dysinger leaves the room.
14:47:31demisone_ enters the room.
14:47:33demisone leaves the room.
14:51:12nicksieger leaves the room.
14:52:35wmoxam enters the room.
14:56:37xmlhacker leaves the room.
14:59:00xmlhacker enters the room.
15:05:10obvio enters the room.
15:11:23wmoxam leaves the room.
15:11:57BlackEdder enters the room.
15:12:09smparkes leaves the room.
15:12:25BlackEdder leaves the room.
15:12:44BlackEdder enters the room.
15:38:01lopex enters the room.
15:40:02fbuilesv leaves the room.
15:44:16fbuilesv enters the room.
15:46:25ttmrichter_ enters the room.
15:47:54qwert666_ enters the room.
15:48:15therealadam enters the room.
15:48:51imajes leaves the room.
15:53:41yugui enters the room.
16:00:59ttmrichter leaves the room.
16:05:39qwert666 leaves the room.
16:07:37antares leaves the room.
16:08:05imajes enters the room.
16:15:34d2dchat enters the room.
16:17:11zimbatm enters the room.
16:23:54twbray enters the room.
16:25:46benny enters the room.
16:33:32obvio leaves the room.
16:35:52twbray leaves the room.
16:36:07enebo enters the room.
16:42:02yugui leaves the room.
16:42:29imajes leaves the room.
16:43:16demisone enters the room.
16:44:37demisone_ leaves the room.
16:45:49antares enters the room.
16:51:28obiejuan enters the room.
16:58:33twbray enters the room.
16:59:34chris2 enters the room.
16:59:55twbray leaves the room.
17:01:57anteaya enters the room.
17:15:21GMFlash leaves the room.
17:15:21Spakman leaves the room.
17:15:21tarcieri leaves the room.
17:15:21drbrain leaves the room.
17:15:21corundum leaves the room.
17:15:21tmm1 leaves the room.
17:16:42GMFlash enters the room.
17:16:45GMFlash leaves the room.
17:16:53GMFlash enters the room.
17:21:05Spakman enters the room.
17:24:48chris2 leaves the room.
17:25:19_VVSiz_ leaves the room.
17:26:33obvio enters the room.
17:26:47nicksieger enters the room.
17:31:26headius leaves the room.
17:31:29antares leaves the room.
17:32:36tmm1 enters the room.
17:38:01imajes enters the room.
17:41:09enebo leaves the room.
17:41:11kirindav_ enters the room.
17:43:13dc_ leaves the room.
17:44:11dctanner enters the room.
17:44:43nicksieger leaves the room.
17:45:47imajes_ enters the room.
17:47:55dctanner leaves the room.
17:51:48headius enters the room.
17:51:51obvio leaves the room.
17:54:36peeja_ leaves the room.
18:01:08imajes leaves the room.
18:01:14Fullmoon enters the room.
18:05:15nicksieger enters the room.
18:06:41tockitj enters the room.
18:06:44tockitjhi
18:06:49tockitjanyone alive here :p
18:09:32kw enters the room.
18:11:58brixentockitj: for certain definitions of life :)
18:12:18tockitjcan you tell me if Net::HTTP is thread safe ? :p
18:12:55therealadamafaik its use of timeout make it suspect
18:12:56brixenhmm, that I don't know
18:13:41tockitjtherealadam - is it posible to create threadsafe tcp/ip connection in ruby ?
18:14:08therealadamI haven't heard otherwise, but I am by no means an expert
18:14:17brixenI believe evan customized our timeout.rb
18:17:45brixentockitj: 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:46imajes enters the room.
18:18:28brixenin the general case, it is certainly possible to write threadsafe code in ruby
18:19:04imajes leaves the room.
18:19:05tockitji'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:45tockitji cant set critical section around http request, cuz that would ruin whole point
18:19:53tockitji need requests to run in parallel
18:21:09imajes enters the room.
18:21:33brixentockitj: have you looked at revactor for 1.9?
18:21:55brixentony (revactor author) and mentalguy are working on an Actor implementation for rubinius
18:22:14brixenin fact, mental just checked in a bunch more code last night
18:22:56tockitji'll check that out :-)
18:22:58tockitjthanks
18:23:37brixenI'm not a concurrency whiz by any stretch, but mental and tony (tarcieri) spend a lot of time here talking about actors
18:23:48brixenso I hear about it :)
18:24:01tockitjwhat are 'actors' ? :-)
18:24:10brixenwowzer, mental's commit last night is 900+ lines
18:24:17brixentockitj: heard of erlang?
18:24:29tockitji've only heard of it :-)
18:24:32brixentockitj: http://revactor.org/
18:24:38brixenthat has a good write up
18:25:06brixenclick the "Philosophy" link
18:25:54tockitjthis looks like exactly what i need :-)
18:26:19brixenyeah, interesting stuff
18:26:36brixenhave you looked at swiftiply and merb?
18:27:06tockitjno? :-)
18:27:28brixenmerbivore.org
18:27:46brixena post by merb's creator: http://brainspl.at/articles/2007/05/12/event-driven-mongrel-and-swiftiply-proxy
18:28:34brixensome other info: http://swiftiply.swiftcore.org/mongrel.html
18:29:03jammi leaves the room.
18:30:16tockitjthanks
18:30:42jammi enters the room.
18:33:39smartocci_ leaves the room.
18:35:03imajes_ leaves the room.
18:41:33smartocci enters the room.
18:46:12rueMorning
18:46:44yaroslav enters the room.
18:47:41fbuilesvmorning
18:48:01demisone_ enters the room.
18:48:17yaroslav leaves the room.
18:48:56yaroslav enters the room.
18:49:10rueOops, I deleted my branch
18:49:17demisone leaves the room.
18:49:33yaroslav leaves the room.
18:49:40dysinger enters the room.
18:49:47yaroslav enters the room.
18:50:02cypher23 enters the room.
18:50:31headiusany way to build and try running the cpp branch yet?
18:50:40headiusevan said something about it running code by the end of the week
18:50:52djwhittend of this week?
18:50:54djwhittnot that I know of
18:50:59djwhittyou can run tests though
18:51:03djwhittunder vm/test I think
18:51:16rueheadius: Just the tests
18:51:42kirindav_ leaves the room.
18:51:45headiuswell, that's not very exciting
18:52:32be9 leaves the room.
18:52:46kirindav_ enters the room.
18:53:48kirindav_ leaves the room.
18:54:43Fullmoon leaves the room.
18:56:37evani missed the 'end of the week'
18:56:41evanhopefully next week sometime.
18:56:51headiusokeedoke
18:57:02evanyou been checking out the cpp branch?
18:57:09headiusI have a thunk that porting the C++ version to Java will be easier than the C version
18:57:27evanyou have a thunk?
18:57:28headiusyes, I have it...haven't been monitoring closely, but I've read over some of it
18:57:37headiusyeah, I thunk it
18:58:04headiusthink, thank, thunk...try to keep up
18:58:28evanoh, new verb tenses for think.
18:58:30rueevan: Morning! Looked like fixing the default #=== broke the compiler yesterday.. trying to track it down
18:58:35evanyou forgot thonk.
18:58:44headiustrue, I did
18:58:55evanrue: not sure what the default #=== is
18:59:06evanyou mean Object#=== ?
18:59:16rueKernel#=== but yes
18:59:23evanit's just an alias for equal?
18:59:28rueNope
18:59:30evanyes.
18:59:39rueN-uh :)
18:59:44evanwhats different?
19:00:30evanoh that just fucking stupid.
19:00:32evani'm looking at the C now.
19:00:35rueWriting the specs right now, but it is more or less def ===(other); object_id == other.object_id || self == other; end
19:00:36evanit's equal? then ==
19:00:44evanDO NOT USE object_id.
19:00:48evanplease.
19:01:00evanuse equal?
19:01:07rueIt is not the same
19:01:19evanoh yes it is.
19:01:26rueNecessarily anyway.. I am still writing the specs
19:01:34rueIt is not if you override #equal?
19:01:49evanfuck that person.
19:02:00evanthe docs say very clearly that #equal is never to be overriden.
19:02:37rueAnyway, 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:50evanhow is that related to ===?
19:03:01rueI dunno
19:03:06evani don't think it is.
19:03:09rueBuuuut that is what happened
19:03:17evani worry you're chasing a red herring.
19:03:26evanhow do you know it's happening?
19:03:39evanand where did you see -1?
19:03:42evandid you see it in describe?
19:04:59rueIt 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:26evani'm still confused.
19:05:29evanbut i'll let you continue.
19:05:46evanbut please oh please oh please don't implement equality or identify using object_id
19:05:52fbuilesvevan: I'll change object_id to equal? on that spec then
19:05:55evanbecause THAT does get overriden more than equal?
19:06:14evanplus it's VASTLY more expensive and yucky.
19:06:35headiusyeah, the default logic is supposed to be identity_a == identity_b || a == b
19:06:44headiusso equal? is right
19:07:04headiusunless you have a deeper way to check identity
19:07:10evani was just thinking that
19:07:11boyscout1 commit by Federico Builes
19:07:12boyscout * Replace object_id for equal? in Matrix specs; 12b0bc9
19:07:14evanwe have an equal opcode
19:07:15headiusin JRuby it's just a reference equality check
19:07:21evani wonder if i wired it in as __equal__
19:08:15headiusthat would work
19:09:53headiusbbl
19:11:43GMFlash leaves the room.
19:12:37fbuilesvrue: did you write the spec for Matrix.rows keeping the array's reference?
19:12:37GMFlash enters the room.
19:12:40GMFlash leaves the room.
19:12:47GMFlash enters the room.
19:13:05ruefbuilesv: Nah, I was tracking this thing down
19:13:28rueI think it needs to be explicitly specified for all of the creation methods if it is not yet
19:13:52fbuilesvrue: I'll write something then, I tried looking the code for #=== but I don't follow the intcode yet
19:14:30fbuilesvrue: as you said, all the creation methds don't use it yet, maybe write to ruby-core and hope for an answer?
19:16:16rubuildius_amd64Federico Builes: 12b0bc93e; 2090 files, 6556 examples, 22910 expectations, 0 failures, 0 errors; http://rafb.net/p/JIdd4s12.html
19:16:49kw leaves the room.
19:18:15antares_ enters the room.
19:19:12ruefbuilesv: Well, this is definitely their *intended* behaviour. I just dunno if it is sane
19:19:51rubuildius_ppcFederico Builes: 12b0bc93e; 2090 files, 6559 examples, 22939 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/183523
19:23:02fbuilesvrue: 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:41tarcieri enters the room.
19:24:50ruefbuilesv: For now, I suppose so. Although it might be worth trying to see what -core thinks
19:25:40fbuilesvrue: let me write that spec and send a mail then. If they want to change the behavior we can fix it.
19:25:58drbrain enters the room.
19:26:34corundum enters the room.
19:27:54rueSounds like a plan
19:29:26rueOuch.. actually, it is NOT `equal?(other) || self == other`
19:30:16obvio enters the room.
19:39:42evanhow so?
19:39:56evanthe C code for rb_equal indicates that it is.
19:41:12rueIt seems to be `equal?(other) || self == other || object_id == other.object_id`
19:41:25evanwhere do you see that?
19:41:28evanwhy do you think so?
19:42:19rueIf I override #equal? and #== to always return false, o === o is still true
19:42:26evanyou're doing this in MRI?
19:42:34rueYeah, specs
19:42:37evanok
19:42:38evanthats true
19:42:49evanbecause Object#=== does 'if (self == obj) return Qtrue'
19:42:52evanas the first thing
19:42:54evanie, check identity
19:42:57evanbut we're not going to.
19:43:15evanso I fully expect us to have a different behavior if equal? is overriden.
19:43:26evanif you want to spec that we're different in this, please do.
19:43:39evanbut i'm dead serious when I'm saying do not test against object_id.
19:44:07brixendeviates_on :rubinius
19:44:15brixenthose rbx folks are a bunch of deviates
19:44:33evanif you must, use
19:45:03evanRubinius.asm(self, other) { |s,o| run o; run s; equal }
19:45:10evanto access the equal opcode directly.
19:45:22evanwhich you can't override.
19:53:42rueSeeing the compiler issues again. Double-checking it is this change and not something with the platform
19:55:45evanplease check what describe says
19:55:48evansee if it has -1 in it.
19:57:10rueYaa, rebuilding
19:57:18kirindav_ enters the room.
19:58:15boyscout1 commit by Federico Builes
19:58:16boyscout * Additional specs for Matrix; 28700c5
19:58:54evankirindav_: hows scheme land?
19:59:24kirindavevan: Up and down.
19:59:41MenTaLguY enters the room.
19:59:45evan(and (up) (down))
19:59:46evanyou mean?
19:59:48kirindave:)
19:59:50MenTaLguYhello
19:59:58evanMenTaLguY: morning / afternoon
20:00:03kirindaveActually, I've been doing excercises from SICP in CL and Scheme.
20:00:18kirindaveI actually prefer OpenMCL on my mac a little because I can do the gui assignments in Cocoa.
20:00:23kirindaveOpenMCL's FFI stuff is incredible.
20:00:25evanthats cool.
20:00:29evani'll have to check that out.
20:00:31kirindaveIt can parse C, C++ and ObjC.
20:00:36evanoh nice.
20:00:36radarek enters the room.
20:00:40evandoes it parse header files?
20:00:42kirindaveAnd so you point it at header files and it builds the FFI for you.
20:00:43kirindaveYeah.
20:00:50evanthats something we've been thinking about for our ffi system.
20:00:51kirindaveIt even does the C++ name unmangling if you set it up right.
20:00:58kirindaveSo you can directly hit C++ methods.
20:01:03evanvery cool.
20:01:14kirindaveyeah, but you must have gcc for that to work.
20:01:24kirindaveThey just auto-generate bindings and then self-link. Not a speedy process.
20:01:33evanah ha!
20:01:35evanthe rub!
20:01:36scooprcland could be nice for that too
20:01:43kirindaveI'm actually at the SF public library right now to see if I can get a copy of SICP.
20:01:43scooprclang
20:01:44evanthat makes it A LOT easier.
20:01:56kirindaveFor C++ it's the only really reliable approach.
20:02:05kirindaveFor ObjC and C, they can infer the bindings from your arch and the header.
20:02:12kirindaveThey even do GC bridging!
20:02:21kirindaveCL objects can end up in autorelease pools.
20:02:24kirindaveIt's pretty hot.
20:02:43kirindaveOpenMCL is a quiet contender in the lisp world, but it's pretty amazing as far as I can tell. :)
20:03:06evansweetness.
20:03:30kirindaveIt's kinda sad though, I have to confess.
20:03:34kirindaveIt does diminish my love of ruby.
20:03:49evanis it the syntax or the environment that you like?
20:03:55kirindaveBoth.
20:03:55kirindaveThe more I use scheme, the more I prefer it for all but short perlistic scripts.
20:04:22kirindaveI think maybe it's just that over time I'm preferring a functional approach more an dmore.
20:04:23benburkert enters the room.
20:04:27kirindaveNot to the point of ditching side effects.
20:04:29MenTaLguYsometime we still need to do that Rubinius-lisp
20:04:34evanagreed.
20:05:01kirindaveCan rubinious do tail calls? If you have call/cc it probably can.
20:05:17MenTaLguYcall/cc is a very heavyweight way to do tailcalls
20:05:18evanit would be super fun to use javascript and lisp as to test languages to push the compiler to be more generic
20:05:33kirindaveMenTaLguY: Depends on their implmentation. ;)
20:05:35evanwe can wire in rubinius to do tailcall
20:05:36rosejnI second that
20:05:36evanno problem.
20:05:42rosejnI would love a Rubinius lisp
20:06:19kirindaveAnyways, I need to stay focused. 1: Book. 2: I _must_ work on getting fuzed ready for railsconf.
20:06:24kirindaveI have a talk, I can't fuck this up. :)
20:06:29evanyou're writing a book?
20:06:40kirindaveNo, book is get a physical copy of sicp.
20:06:41evandaves' big scheme?
20:06:45rubuildius_amd64Federico Builes: 28700c5cf; 2090 files, 6563 examples, 22922 expectations, 0 failures, 0 errors; http://rafb.net/p/PTHzrf24.html
20:06:46kirindaveHeh.
20:06:55evanok, enjoy the library.
20:07:02evannever been to the SF library
20:07:05evanseattle and LA rock.
20:07:36kirindaveIt's impressive.
20:07:43kirindaveI've never seen a library with a robot book return system.
20:07:53evanmaybe it's written in scheme!!
20:07:55evan:D
20:08:22evanin more realistic thoughts, i have been thinking more about how big system really should be written in a dynamic language
20:08:24kirindave:)
20:08:37kirindaveAnd?
20:08:43evanthats all.
20:08:52evanjust shit like T5's baggage system being all fucked up
20:08:53MenTaLguYtarcieri: about?
20:09:09evanif an engineer could patch it onsite, i'd think it would make life easier
20:09:09tarcieriappears
20:09:11tarcierisup
20:09:15rosejnI think for big systems the Erlang mentality is not a bad idea...
20:09:15kirindaveYeah.
20:09:27tarcieriErlang's approach is awesome for large systems
20:09:28rosejnbuild it so that everything can be quickly re-patched, re-started, re-booted
20:09:30kirindaveYou know, I think any programming language could implement erlang-style ideas.
20:09:34kirindaveIt's _extremely_ simple
20:09:39evan<nerdy> In the same way I'm sure that Enterprise used a dynamic programming environment, they were reconfiguring it constantly </nerdy>
20:09:44tarcierikirindave: but can it do them quickly?
20:09:50kirindaveIt's more that erlang forces certain constrants on you than anything even especially good about the implementation.
20:09:54rosejnfor sure, the language sort of lame, but lots of nice ideas are wrapped up in the system
20:10:08tarcierithe syntax is crap... the semantics are awesome
20:10:19kirindavetarcieri: 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:21rosejnI actually don't think it's about forcing constraints either, it's just "the Erlang way"
20:10:40kirindaverosejn: it is about forcing constraints. You just don't feel them because the whole system is written around them.
20:10:53boyscout3 commits by Eero Saynatkari
20:10:57boyscout * Compiler specs' TestGenerator relies on broken #=== semantics, comply.; 2f5ca54
20:10:57boyscout * More correct Kernel#===.; a65844a
20:10:57boyscout * Specs for default #=== and its relationship with #== and #equal?; 37cc9d4
20:11:04tarcierikirindave: 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:07kirindaveConstraints like: no non-thread-local variable access.
20:11:11kirindavetarcieri: Right.
20:11:12rosejnI'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:29kirindaverosejn: Right, but then you have to make sure to follow some basic rules, right? :)
20:11:39kirindaverosejn: Like, "Don't build stuff with free shared state"
20:11:39evanthe new VM is going to make Task's (and thus Continuations) much lighter and more flexible
20:11:46rosejnsure, don't share anything
20:11:49tarcierikirindave: concurrent GC without a "stop the world" condition, the ability to load balance "processes" across hardware threads
20:12:05rueevan: 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:28evanhrm. ok.
20:12:35kirindavetarcieri: Sure, but erlang's gc generally is never significantly stressed because it never gets to complex cross-process shared-reference scenarios.
20:12:47kirindavetarcieri: I'm not saying it's trivial.
20:12:52rosejnevan: so tasks are co-routines, like 1.9 Fibers?
20:13:09kirindavetarcieri: I'm just saying that the way erlang is structured seems to be strongly guided by the implementation goals.
20:13:23evanrosejn: yep
20:13:33evanshotgun uses a single stack per task
20:13:41evanthe new VM uses one stack per context
20:13:52evanmaking MethodContext objects portable unto themselves.
20:13:58kirindavehrrms.
20:14:01kirindaveis there a good emacs for os x?
20:14:02tarcierikirindave: yeah, but it's in many ways an advantage from the programmer perspective as well
20:14:08tarcierikirindave: Carbon Emacs is nice
20:14:10kirindavetarcieri: No doubt, for large systems.
20:14:11rosejnyeah, it's called vim :)
20:14:19evankirindave: zenspider uses emacs from cvs
20:14:30evankirindave: emacs has had cocoa intergation in cvs for years now
20:14:33kirindaveYeah
20:14:34kirindaveBut...
20:14:39kirindaveThen it has to be one instance.
20:14:42evanthere is a binary of cvs thats recent
20:14:44kirindaveI wish I could have two separate instances.
20:14:46tarcieriAquamacs is... ok
20:14:51kirindaveYeah, it's okay.
20:14:53tarcierithe default settings are pretty annoying
20:14:54kirindaveNot awful, anyways.
20:14:56rosejnSo in the new VM you will have a context per Task?
20:14:59kirindaveGotta turn off that cua mode.
20:15:05evanrosejn: no
20:15:26evanA task is a top MethodContext, and a set of global data
20:15:30evanTask is really thin now
20:15:39evanit provides mainly an anchor for a MethodContext
20:15:46tarcieriis the C++ branch running code now?
20:15:54evannot yet
20:16:01evani'd hope to have it running code this week
20:16:05evanbut it's going to have to be next week
20:16:11tarcieriok
20:16:14evani'm writing Task tests atm
20:16:28evantesting all the behavior of the VM we never could before
20:16:29boyscout1 commit by MenTaLguY
20:16:30boyscout * rework actor linking slightly; ac3b7b9
20:16:51rosejnI 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:06tarcierinice
20:17:08rosejnwould we do that on lighthouse?
20:17:11tarcierithat'd be quite helpful
20:17:53kirindavetarcieri: At some point you should join our fuzed project. You're in a good position to make it rock with rubinius.
20:18:01MenTaLguYyes, it'd be on lighthouse
20:18:03rosejntarcieri: ahhh, it's Tony :-) Didn't connect with the name.
20:18:09tarcieriheh
20:18:14rosejnHey Tony & Mental
20:18:18MenTaLguYhowdy Jeff
20:18:20tarcierikirindave: I'll certainly check out Fuzed when you release it
20:18:21rosejnOk, so how do we create a page?
20:18:32rosejnI'm either blind or don't have the right permissions
20:18:38tarcieriyeah I don't think you can
20:18:43tarcierithey're setting up another wiki somewhere else
20:18:44tarcieriiirc
20:18:53MenTaLguYah
20:19:00kirindavetarcieri: It's out and functional bro.
20:19:12rosejndonde?
20:19:13kirindavetarcieri: I'm moving some features from katamari over to fuzed today.
20:19:14tarcierikirindave: orly
20:19:20kirindavetarcieri: yarly check my github.
20:19:25tarcierikirindave: I've been pretty happy with HAProxy :)
20:19:30tarcieribut I'll take a look
20:19:39kirindaveFuzed is more ambitious than any proxy.
20:19:47tarcieriyeah
20:19:51shanghaililly enters the room.
20:19:52kirindaveIt's a proposal to completely separate presentation from content generation.
20:20:00rueevan: 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:26kirindaveKatamari 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:49ruelib/compiler/describe.rb is gone so it is missing the AST output. I am off for a while
20:21:00tarcieriare you using Thrift to communicate between Ruby and Erlang?
20:21:09kirindaveNo.
20:21:14evanrue: thats way bizarre
20:21:25evanwhy it's deciding to module that number as -1 is odd
20:21:28evanbut should be fixed
20:21:35kirindaveAs in, you form a cloud and then place "heads" on that cloud that all talk to the same resource.
20:21:46kirindaveThey all talk to the underlying resources in a uniform way
20:22:23therealadam leaves the room.
20:22:42evans/module/model/
20:22:56evanrue: ok
20:23:27tarcierihmm, it appears the discussion as to another wiki ended at what wiki software to use
20:23:28tarcieriheh
20:23:44MenTaLguYso, regarding actors
20:23:47rosejnright
20:24:02MenTaLguYone of the things I'm a bit up in the air about right now is at what moments actor exit notifica