Index

Show enters and exits. Hide enters and exits.

00:05:38luislavena leaves the room.
00:07:13Arjen_ leaves the room.
00:08:03dctanner enters the room.
00:33:30qwert666 leaves the room.
00:34:25benstiglitz leaves the room.
00:37:00benstiglitz enters the room.
00:38:18zimbatm__ enters the room.
00:45:09Defilerevan: So.. it seems to me that there should be some way to unify this autoload technique with what we do for define_method
00:45:38evanperhaps a VM::CallOnAccess object
00:45:43Defilerevan: In each case we have this thing that goes into a table , and when you get it back out, you have to run it to let it change the state of the world for you
00:45:48evanthat we put in either a MethodTable or Constant table
00:45:54DefilerYeah. There you go
00:46:09evani dig it.
00:46:20evanfor methods, though, it's a little different
00:46:24evanbecause you want to pass through arguments
00:46:31evanbut still, the concept is very similar
00:46:32d2dchat enters the room.
00:46:38DefilerWe could just stuff Proc objects into these tables
00:46:46Defilersince procs can take arguments but aren't forced to
00:46:55evanno
00:46:58Defilerif you get a Proc back from the constants or methods table, call it
00:47:01evanno Proc's in the tables
00:47:01zenspiderI haven't gotten around to writing up a failing spec for this... my brain is too fuzzy on drugs... but @@blah ||= false blows chunks right now
00:47:10evanthe table would have VM::CallOnAccess object
00:47:12evanthat references a Proc
00:47:13radarek leaves the room.
00:47:21DefilerAah
00:47:45evanzenspider: blows up in compiler?
00:47:46d2dchat leaves the room.
00:50:01wmoxam enters the room.
00:50:12zenspiderblows up on runtime iirc... the ||= unfolds and the first access raises because it isn't defined yet
00:50:39evanhm
00:50:43evanperhaps just class vars?
00:50:48DefilerYeah, I looked at it and decided we need a 'fetch cvar without complaining if it isn't there' method to call
00:51:07DefilerThe issue is that the compiler basically emits get_class_variable
00:51:26Defilerrather than the (not existing currently) has_class_variable?
00:51:31zenspideryeah, just CVs
00:51:35evanthat probably needs to be 'rewritten' to be cvar_defined?("@@blah") ? cvar_get("@@blah") : ....
00:51:43Defilerright
00:52:16DefilerThe first method doesn't exist currently, right?
00:52:24evani thought there was one
00:52:24Defiler(in MRI)
00:52:30evanmaybe we don't have it.
00:52:50brixenModule#class_variable_defined?
00:52:51Defileroh, it does
00:52:52Defilerhuh
00:53:02DefilerOK, yeah.. we are just plain doing it wrong. I will fix it now
00:54:05benstiglitz leaves the room.
00:54:06Defileroh, tricky
00:54:18Defilerthe sexp is pretty irritating for this
00:54:51Defilerhttp://rafb.net/p/6WBoVk48.html
00:55:21evanyeah
00:55:26evanwell, i think the cvdecl will change even
00:55:39Defilerop_asgn_or really expects the 'left side' to be free of side effects
00:55:39evani thought there were 2 forms of cvar assignment in the sexp
00:55:43zenspideran op_asgn_or should be saving our butts, making the context obvious
00:55:48Defilerbecause it executes it to decide whether to run the other side
00:56:10DefilerSo maybe we need an @op_asgn = true kind of ivar here
00:56:28Defilerso things that raise on a failed get can do something different
00:56:45evanDefiler: huh?
00:57:11evanthe get is just wrong
00:57:18Defilerop_asgn expects the "test" part of the "test and set" operation to not raise an error if it isn't set yet
00:57:21evancomparing against the return value for truth is wrong
00:57:27evanbecause @@blah = false
00:57:32evanshould let false get through ||
00:57:35evanbut this code wont let that.
00:57:41Defiler[:cvar, :@@foo] is all we get for the left side, though
00:57:48evanso?
00:57:48Defilerand we can't just change the bytecode emitted for that fragment
00:57:55evansure we can.
00:58:00Defilerbecause @@foo on its own on a line should raise if foo isn't set
00:58:19evanthe op_asgn_or, while be consumed, needs to peek
00:58:20DefilerIt only doesn't raise in the context of ||= or &&=
00:58:36evanit should peek to see if the lhs is a :cvar
00:58:45evanand instead of calling #bytecode
00:58:54evancall #test_exist_bytecode
00:58:56evanor something
00:59:15evanto call ClassVariableAccess#test_exist_bytecode
00:59:16Defilergotcha
01:02:07qed_ leaves the room.
01:02:10qed enters the room.
01:02:17hornbeck leaves the room.
01:03:37DefilerI see a bunch of different possible ways to check whether a particular node is a cvar..
01:03:41DefilerWhich is the one you recommend?
01:03:58evanlet it be converted into the AST
01:04:49evanthen in OpAssignOr#bytecode test if the lhs is a CVar node
01:05:17DefilerRight, that's where I am
01:05:28DefilerI just mean.. @left.kind_of? or is there already some accessor I should use
01:05:35Defilerlike @left.kind == :cvar
01:05:51evanno
01:06:10evanif @lefti.is? CVar
01:06:12evanif @left.is? CVar
01:06:13evan....
01:06:30Defileroh, keen
01:06:31evanis what you should use
01:06:44evanwe have #is? because it looks through NewLine nodes
01:06:57evanand fixes a number of weird errors we have in the only compiler
01:09:43zenspideris itching to kill off newline
01:10:38anteaya enters the room.
01:12:52evanplease do
01:12:55evanit's so broken.
01:20:43dysinger enters the room.
01:21:29eventualbuddha enters the room.
01:22:47twbray enters the room.
01:26:30headius_ enters the room.
01:27:15twbray leaves the room.
01:27:29wycats_ enters the room.
01:28:10headius__ enters the room.
01:29:01zimbatm__ leaves the room.
01:29:56GMFlash leaves the room.
01:30:26headius___ enters the room.
01:32:29adamwiggins_ leaves the room.
01:32:58wmoxam leaves the room.
01:33:53dctanner leaves the room.
01:39:29twbray enters the room.
01:44:17headius_ leaves the room.
01:44:29wycats leaves the room.
01:44:32obvio leaves the room.
01:44:59headius__ leaves the room.
01:47:05headius___ leaves the room.
01:48:35dctanner_ enters the room.
01:49:16dctanner_ leaves the room.
01:49:42benny enters the room.
01:54:46jero5 enters the room.
01:57:11chris2 leaves the room.
01:58:07dschn enters the room.
01:58:12KirinDave enters the room.
02:00:46bitbang leaves the room.
02:06:22agile enters the room.
02:07:16flori leaves the room.
02:07:23flori enters the room.
02:08:37twbray leaves the room.
02:15:01trythil_ enters the room.
02:15:10twbray enters the room.
02:15:48twbray leaves the room.
02:19:52wycats_ leaves the room.
02:23:38imajes enters the room.
02:23:58lopex leaves the room.
02:31:40VVSiz_ enters the room.
02:31:43trythil leaves the room.
02:33:30dblack leaves the room.
02:33:38antares leaves the room.
02:39:34VVSiz leaves the room.
02:45:00qed leaves the room.
02:45:03qed enters the room.
02:51:18imajes leaves the room.
02:54:11KirinDave leaves the room.
02:54:31eventualbuddha leaves the room.
02:59:50cored enters the room.
03:01:41cored leaves the room.
03:03:14GMFlash enters the room.
03:03:55jtoy enters the room.
03:18:12trythil_ leaves the room.
03:19:10rueMeeble
03:19:34MenTaLguY enters the room.
03:22:27Santana_ enters the room.
03:23:50nicksieger leaves the room.
03:24:24yugui enters the room.
03:25:24nicksieger enters the room.
03:29:26headius enters the room.
03:32:18RyanTM leaves the room.
03:35:38trythil enters the room.
03:35:42headius_ enters the room.
03:37:05tarcierireally wishes you could message pass IO objects between VMs
03:37:49boyscout1 commit by Adam Gardiner
03:37:50boyscout * Refactor Debugger to remove dependencies on Debugger::Interface; 8263860
03:38:00evantarcieri: you can in unix
03:38:11evanyou can pass an fd between processes via a unix socket.
03:38:12headius__ enters the room.
03:38:21tarcieriyeah, with a prefork server
03:38:29evanwith anything
03:38:39tarcieriwell, that's an example of something it's actually useful for :)
03:38:53evani wrote an apache module that passed an fd to openvpn for certain urls
03:39:03tarcierinice
03:39:32MenTaLguYthere are ways to transfer handles between Windows processes as well
03:39:46MenTaLguYalthough "handle" is a slightly more vague idea on Windows
03:39:55MenTaLguYhas to be a handle to a kernel object, obviously
03:40:27evanyep
03:40:42headius___ enters the room.
03:42:25headius____ enters the room.
03:43:24headius_____ enters the room.
03:43:37evaneyes headius[_*]
03:44:12TheProkrammer enters the room.
03:46:09dlee enters the room.
03:46:09MenTaLguYIt's like that movie with Michael Keaton cloning himself.
03:46:15evanhah
03:46:19evanthats such a bad movie.
03:46:26MenTaLguYit is
03:46:31MenTaLguYbut I kind of liked it
03:46:57MenTaLguYshows off his acting skills well, as far as some of the body language things he did to distinguish the clones
03:47:35guessmethod enters the room.
03:47:58evantrue
03:48:08evani don't blame him for the quality of movie
03:48:11aasmith enters the room.
03:48:26rubuildius_amd64Adam Gardiner: 82638601b; 2091 files, 6649 examples, 23333 expectations, 0 failures, 0 errors; http://rafb.net/p/Okt3Pv88.html
03:48:29tarcieriMultiplicity?
03:48:29tarcieriheh
03:48:33tarcierithat movie was... odd
03:48:34MenTaLguYyes, that's the one
03:49:57obvio enters the room.
03:50:33rubuildius_ppcAdam Gardiner: 82638601b; 2091 files, 6651 examples, 23359 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/185233
03:50:48headius leaves the room.
03:51:13evanaasmith: hey andy
03:51:21guessmethodThere was a question on ruby-talk about case-insensitive Hash access. Rubinius makes it easy: http://pastie.textmate.org/185232
03:51:26aasmithhello there
03:51:47tarcierievan: so anyway... say I want to write a "prethread" server with Rubinius to distribute the load across multiple VMs
03:51:56evanguessmethod: funny. does that not work in 1.8?
03:52:03evantarcieri: ok.
03:52:09guessmethodevan, nor 1.9 or jruby
03:52:11tarcieriis there any way I can do that presently?
03:52:21evanguessmethod: interesting.
03:52:22tarcierishare an IO object across VMs
03:52:25evani figured it would.
03:52:33Yurik leaves the room.
03:52:34evani'm happy to hear that it's so easy in rubinius.
03:53:00evantarcieri: sure
03:53:09evantarcieri: just pass the descriptor over the message bus
03:53:17tarcierithe fileno?
03:53:17evantarcieri: and rewrap it in an IO on the receiver end.
03:53:25evanyep
03:53:30tarcieriis it just IO.new(fileno) ?
03:53:42evanyep
03:53:43guessmethodThe Ruby Programming Language says that Ruby treats strings specially for hashes. It must not use hash and eql?
03:53:45tarciericool
03:53:54evanguessmethod: interesting
03:54:07tarcieriI'd like to try writing a multi-VM Rack handler
03:54:15evanawesome
03:54:16tarcierithat listens on a single socket
03:54:26evanwith merb largely running
03:54:33evanit should be clear for you to do that
03:54:49anteaya leaves the room.
03:55:13headius__ leaves the room.
03:56:06headius_ leaves the room.
03:57:14tarcierievan: so how do I go from just an IO object to something I can #accept on?
03:57:32tarcierior should I just look at how TCPServer#accept is implemented?
03:57:35evan#accept?
03:57:45evanare you going to do roundrobin accept?
03:57:53evanor single accept with handoff?
03:58:15headius enters the room.
03:58:15tarcieriI suppose I could do the latter
03:58:17evansingle accept with handoff is more predictable
03:58:23tarcieriall right
03:58:25evanand easier to test up front
03:58:36evanso, you'll do TCPServer#accept, and get a TCPSocket
03:58:44tarcieriand message pass its fileno
03:58:48tarcierimake an IO on the other side
03:58:49tarcierishould be fine
03:59:06evanif you want a real TCPSocket on the other side
03:59:07evanit's simple
03:59:14headius____ leaves the room.
03:59:14evan socket = TCPSocket.allocate
03:59:14evan socket.send :from_descriptor, fd
03:59:20evanthats what TCPServer#accept does
03:59:25tarcieriaah, nice
03:59:40tarcieriand I can instance_variable_set some of the other values?
03:59:48tarcieriif I wanted to just hand off to something like webrick
04:00:08MenTaLguYI'm really coming to love Rubinius for stuff like this
04:00:22tarcierifor #peeraddr
04:00:24headius_____ leaves the room.
04:00:28tarcieriugghhhh
04:00:30evantarcieri: depends. you have to be a little careful with instance_variable_get because of how ivars are mapped to slots
04:00:32headius___ leaves the room.
04:00:33evanMenTaLguY: yay!
04:00:38tarcieriyeah for sure
04:00:44evantarcieri: what do you need instance_variable_set for?
04:00:55tarcierievan: the stupid crap in #peeraddr
04:01:06MenTaLguYhm, shouldn't from_descriptor take care of that?
04:01:15tarcieriI suppose it does
04:01:32evantarcieri: i don't see any instance_variable_set in peeraddr...
04:01:44evanfrom_descriptor takes care of everything
04:01:46tarcierievan: never mind, MenTaLguY's right
04:01:47tarcieriyeah
04:01:51evanthat TCPSocket instance will be full fledged.
04:01:58evannot half constructed.
04:01:59tarcieriyeah cool
04:02:12MenTaLguYRubinius is made of win and awesome
04:02:17tarcieriindeed
04:02:22agardinerwinsome? :-)
04:02:27tarcieriso I can hand that off to webrick
04:02:30tarcieri(mongrel?)
04:02:37MenTaLguYyeah
04:02:42MenTaLguYit's totally the real deal of a socket, man
04:02:43tarcierimongrel works?
04:02:55MenTaLguYdon't know about mongrel offhand
04:03:06evanwebrick works fine.
04:03:06tarcierialready monkeypatched Mongrel for Revactor
04:03:16evanthe mongrel parser has trouble still
04:03:28tarcieriok
04:03:30tarcieriman
04:03:33tarcierithat'd be fun
04:03:38tarcieritake the Ragel
04:03:40tarciericonvert to Ruby
04:03:44tarcierithe C bits
04:03:51tarcierimaybe I'll try that
04:03:55evanplease!
04:04:25tarcierithat one's actually kept up to date right?
04:04:39tarcierilike it actually works on Ragel 6.0+?
04:04:46tarcierilooks
04:05:07evanthere is a mongrel in rubinius
04:05:12evanbut it probably needs to be carved out
04:05:20evanit's an old experiment kevinclark was doing
04:11:18twbray enters the room.
04:12:14ruetarcieri: Single master is what I was planning.
04:12:25rueHand off to workers
04:12:40tarcierirue: yeah cool
04:12:58be9 enters the room.
04:13:50evanmore cpp code is in
04:14:02evani've got gc roots wired in nicely now.
04:14:11trythil leaves the room.
04:14:30headius leaves the room.
04:14:49evanroots can now be distributed in opaque code
04:14:56evanmaking things simpler
04:16:26tarcieriare you rewriting the GC in C++?
04:17:06ruetarcieri: This is pretty much exactly where I intended to take the first draft for the backend so I will gladly collaborate/help on getting the server mode set up
04:17:38MenTaLguYhe's rewriting the whole VM in C++
04:17:43therealadam leaves the room.
04:18:36evantarcieri: already done.
04:18:39tarcieriwow
04:18:40tarcieriheh
04:19:06eventualbuddha enters the room.
04:19:38evanupdate time.
04:19:38evanbrb.
04:20:44tarcierinice, the language specific parts of the Mongrel parser are already factored into separate files
04:22:26ruetarcieri: A web server on top?
04:23:08tarcierirue: that's what I was thinking... have each VM run its own web server, but share the listener socket and load balance round robin
04:23:25rueImplement it on top of a generic server
04:24:07tarcierithat way the only data moving between VMs is effectively the file descriptor of incoming connections
04:24:50wmoxam enters the room.
04:25:05rueYeap
04:25:16rueI was not really so concerned about the top layer even
04:25:39tarcierithe main project I want to use Rubinius with is deeply hooked into Mongrel
04:25:42rueI want a Unix socket dumping data into an extension that parses it out into a Rack request
04:26:37tarcieriwell that's not too lofty a goal once Webrick or Mongrel is working across VMs
04:27:33rueWe can implement an Ebb-like server directly though
04:28:14tarcieriThat'd work for distributing requests
04:28:34tarcieriYou could have a single server proxying requests to multiple VMs
04:28:45tarcieriand it could hand off the file descriptor along with the request
04:29:20tarcierithat way the other VM can write the response out directly
04:30:10tarcieriif the request were large, it could just dump the whole thing to a Tempfile
04:31:00rueUltimately I was just looking at an IO subsystem that we can implement everything else on top of
04:31:20tarcieriall right, I have the Mongrel parser compiling to Ruby with a bunch of interspersed Java :)
04:31:30cremestarcieri, MenTaLguY: fyi, new actor library announced today: http://dramatis.mischance.net/
04:31:55MenTaLguYtarcieri: didn't the dramatis fellow email us or something a while back?
04:32:02djwhitteveryone is writing one these days
04:32:11rueActually I think someone came on the channel
04:32:14tarcierithe one I remember was "AiR" (Actors in Ruby)
04:33:06cremesregardless, potentially some new and interesting things that could be borrowed for the good of all ruby-land
04:33:29cremesi figured i would let our resident actor pros know about it...
04:34:20ruetarcieri: Running Mongrel or whatever is one thing, of course, but I think we can do larger-scale multiplexing with a really simple system that takes the TCP/AF_UNIX/whatever connection and feeds it to a VM. Then the VM has a small runner
04:34:42tarcieriokay, well I guess Zed did a pure Ruby version of the Mongrel parser already
04:34:43tarcieriheh
04:34:50MenTaLguYso long as all the actor implementations support the Actor object protocol, they should all interoperate
04:35:03tarcieriMenTaLguY: yeah, that's what I'd really like to get to
04:35:09MenTaLguYit seems I was worrying needlessly about DeadActorError or whatever
04:35:13tarcierieffectively prototype it on Revactor then get it moved over to Rubinius
04:35:17MenTaLguYthat didn't really seem to be necessary to expose as part of the protocol
04:35:37MenTaLguYas far as I can tell, send, notify_exited, notify_link and notify_unlink cover everything
04:35:38tarcieriMenTaLguY: so here's another idea for IO
04:41:42wyhainestarcieri, Ragel has support for outputting Ruby. There have been some experiments with it, but at least under MRI, it's just too slow to seriously consider using for Mongrel.
04:41:43srbaker leaves the room.
04:42:13srbaker enters the room.
04:42:27tarcieriwyhaines: yeah I compiled the Java parser to Ruby
04:43:57MenTaLguYtarcieri: so what's this IO idea?
04:46:03srbaker leaves the room.
04:46:04tarcieriMenTaLguY: something like p = Port.new(io); p.mode :active_once
04:46:25tarcieriwith Port#initialize(io, controller = Actor.current)
04:46:34srbaker enters the room.
04:46:50tarcieriI think that'd *really* clean up how Revactor works
04:47:08tarcieriyou can have a Reactor proxying to the ports, rather than the Actors themselves
04:47:22MenTaLguYthat sounds promising
04:48:08tarcierialso: Ragel sure produces some funky Ruby
04:48:43tarcierikeeps hopping in and out of the singleton defining attr_accessors
04:49:07tarcierimetaclass, I should say
04:58:52trythil enters the room.
05:01:10be9 leaves the room.
05:02:54Santana_ leaves the room.
05:06:10marnen enters the room.
05:10:21ezmobius_ enters the room.
05:11:34guessmethod_ enters the room.
05:11:34guessmethod leaves the room.
05:16:13guessmethod_ leaves the room.
05:21:26wmoxam leaves the room.
05:30:14benburkert leaves the room.
05:30:24AndrewO enters the room.
05:30:33AndrewO leaves the room.
05:30:46twbray leaves the room.
05:32:03benburkert enters the room.
05:38:56dlee leaves the room.
05:40:29Rich_Morin_ enters the room.
05:41:47Rich_MorinApparently, there's no way in MRI to "unfreeze" an object. So, how hard might it be to add an unfreeze methoed to Rubinius?
05:42:12MenTaLguYnot hard, though it sort of defeats the purpose of freezing
05:42:29MenTaLguYfreezing is used to get a guarantee that the object will be immutable
05:42:47MenTaLguYwhich can become important for reasons like e.g. concurrency
05:43:29Rich_MorinWell, in this case I want the object to be tempoarily immutable. As in, freeze it, call a subroutine that isn't supposed to change it, and catch an exception if it does...
05:43:38timoI thought rubinius didn't even support freezing?
05:43:45MenTaLguYit may not at this time
05:43:48MenTaLguYI've never looked
05:44:26MenTaLguYRich: what if the subroutine passes a reference to the object to a thread or something which modifies it later?
05:44:46MenTaLguYRich: generally in those situations the only safe thing is to make a copy
05:44:50MenTaLguYto pass
05:45:28Rich_MorinWell, in that case, I lose, but then I'm not trying to find deliberate misbehavior; just accidental variations from assertions.
05:46:43Rich_MorinBy way of context, I'm using metaprogramming to "wrap" methods with assertions, for testing, etc. - http://cfcl.com/twiki/bin/view/Projects/Spect/UC_Method_Calls
05:48:16benburkertRich_Morin_: a mutex might work
05:48:36Rich_MorinFor arrays and hashes, I can get some of this effect by extending the object's []= method, but using freeze is more general.
05:48:49Rich_Morinbenburkert: explain, please
05:49:37brixentimo: it's partially implemented, but we're not sure yet how we will ultimately do it
05:49:38benburkertput a mutex around the code to assign the object. If the mutex is locked, it's just like the value is "frozen"
05:49:48brixentimo: shotgun/rubinius -e "s = ''; p s.frozen?; s.freeze; p s.frozen?" => false\ntrue
05:53:17Rich_Morinbenburkert: Understand that I don't want to modify the code in the called routine, just keep it from modifying a particular argument (without my knowing). If the called routine digs down into an object and overwrites one of its strings, will the mutex catch that?
05:53:30brixenRich_Morin_: in shotgun (soon to be replaced), IsFrozen is a flag on an object, to write #unfreeze, you'd need to write a VM primitive to access that flag
05:53:43Santana_ enters the room.
05:54:24MenTaLguYa mutex isn't an appropriate solution
05:54:42MenTaLguYamong other things, it is a discretionary lock
05:55:18Rich_Morinagain, I'm not trying to prevent intentional subterfuges...
05:55:34SantanaI was following http://rubinius.lighthouseapp.com/projects/5089/howto-write-a-spec
05:55:48Rich_MorinThis is more like a "lint" (or "use strict", in Perl) notion
05:55:54Santanawhen I found that completeness tries to run a script with the same name that doesn't exist
05:56:14brixenSantana_: yeah, it's been removed, and is in the process of being replaced
05:56:21brixenSantana_: I'll update that page
05:56:31Santanaoki
05:56:52benburkertMenTaLguY: if he writes the code that performs the "freeze" and "unfreeze", that's enough control to use a mutex
05:57:09Santanaout of curiosity, I ran bin/mspec -V spec/ruby/1.8/core, and found many failures and errors
05:57:34Santanais it expected?
05:57:36brixenSantana_: yes, to be expected
05:57:53brixenSantana_: run bin/mspec ci to run only the specs we know we pass
05:58:22brixenSantana_: we are in the process of implementing Ruby, many specs necessarily fail ;)
05:58:31Santanafor what purpose?, shouldn't I rather fix the ones that fail?
05:58:39brixensure, if you want
05:58:45Santanais it useful?
05:58:51brixenfixing specs?
05:58:54Santanayep
05:58:56brixenyes
05:59:04brixenbin/mspec ci is to catch regressions
05:59:26brixenbin/mspec path/to/specs just runs everything, whether we pass or fail
05:59:33Santanaaha
05:59:47brixenSantana_: http://rubinius.lighthouseapp.com/projects/5089/howto-fix-a-failing-spec
06:00:20Santana:) thanks
06:01:19Santanahmmm
06:06:11Santanawhat's your preferred free IRC client for Mac OS X?
06:08:03Santana:)
06:08:20Rich_MorinHow is it better than Adium?
06:08:57SantanaI see
06:09:21Santanamaybe they don't like you
06:09:31brixenSantana_: I use ssh+irssi
06:09:59brixenSantana_: looks pretty much the same on os x or linux :)
06:10:22Santanaozy`: so am I ;)
06:10:32Rich_MorinSorry, meant Colloquy
06:11:13Rich_MorinBut seeing that it is in RubyCocoa is _quite_ appealing
06:12:05SantanaI'm not so fond of text based chat programs...
06:13:32srbaker leaves the room.
06:14:50Rich_MorinC'mon; tell us what you _really_ think...
06:15:19srbaker enters the room.
06:15:26Rich_MorinAnyway, thanks for the tip.
06:21:11trythil_ enters the room.
06:21:13trythil leaves the room.
06:24:45SantanaI can't focus
06:24:53Santanatime to go to read
06:24:58Santanasee you tomorrow
06:25:06Santana_ leaves the room.
06:26:05srbaker leaves the room.
06:26:20srbaker enters the room.
06:33:15eventualbuddha leaves the room.
06:33:40srbaker leaves the room.
06:44:48marnenI'll check out Limechat...I don't agree at all that Colloquy is unstable; it's worked very well for me.
06:46:35boyscout1 commit by Marnen Laibow-Koser
06:46:36boyscout * Get BigDecimal#to_s working according to spec.; b2a220f
06:54:55rueI would like to advertise weechat again for IRC
06:55:11lstoll leaves the room.
06:55:25crafterm enters the room.
06:59:09rubuildius_ppcMarnen Laibow-Koser: b2a220f86; 2091 files, 6657 examples, 23372 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/185317
06:59:16agardinerDefiler: ping?
06:59:42headius enters the room.
06:59:49marnen leaves the room.
07:00:08rueagardiner: Heyap
07:00:18agardinerhi rue
07:00:31rueYou are not directly pushing the vm docs to the web server, are you? The URL changed
07:00:41agardinerno, i'm not
07:00:50headiusI think I have slain my connection gremlins
07:01:16agardineri saw you made the changes there, added the doxygen stuff - looks good!
07:03:42benburkert enters the room.
07:03:58tarcierinice
07:04:05tarcieriI think I have the Mongrel parser going
07:04:22ruetarcieri: What level are you integrating Mongrel?
07:04:36rueheadius: No food after midnight
07:04:36tarcierirue: targeting pure Ruby with Ragel
07:04:57rueBut to actually /run/ Mongrel, not emulate it right?
07:05:11headiusthat and eliminating sources of 2.4GHz interference or upgrading network to 802.11a
07:05:12tarcieriwell yes, this is the bit that's normally in the nasty C extension
07:05:19headiusfor the moment I'm on a hardline
07:05:33ezmobiusactually there used to be a mongrel prser in the git repo that worked via subtend
07:06:04tarcieriit's still there
07:10:35kevinclarkyeah, it worked once
07:11:14benburkert leaves the room.
07:11:24tt enters the room.
07:12:23rubuildius_amd64Marnen Laibow-Koser: b2a220f86; 2091 files, 6655 examples, 23346 expectations, 0 failures, 0 errors; http://rafb.net/p/bwuf9879.html
07:12:49benburkert enters the room.
07:12:52kevinclarkit served pages fine, though it errored out at the end of every request. I think the threading was slightly incomplete
07:14:08yaroslav enters the room.
07:19:56tarcierikevinclark: hmm, wasn't aware it actually worked, does it still?
07:20:12tarcierilikes avoiding C if at all possible
07:21:36kevinclarktarcieri: It worked when I made it work ;) I haven't worked on it in a while (work got crazy, but I should be back to a day a week on rbx sometime next month)
07:22:06kevinclarkif subtend hasn't changed, and the vm hasn't changed enough to break it, it should still work
07:22:48kevinclarktarcieri: but here's the ANN: http://glu.ttono.us/articles/2007/12/10/rubinius-runs-mongrel
07:24:11tarcieriwell aack
07:24:17tarcieriafter all that Rubinius doesn't like it
07:24:17tarcieriheh
07:24:24tarcierithe pure Ruby one, that is
07:24:38tarcieriis doing something wonky because Ragel is doing something wonky
07:24:57brixentarcieri: what do get? exceptions?
07:25:21tarcieriNoMethodError: No method '_http_parser_actions=' on an instance of Mongrel::HttpParser.
07:26:03tarcieriRagel's adding a bunch of accessors in initialize by opening up the metaclass
07:26:04brixenit runs in mri?
07:26:07tarcieriyep
07:26:21brixenwell, that would be good spec material then :)
07:26:23tarcieriI can probably boil that down to a minimal failing spec
07:26:23rueWell it is clearly a bug in MRI then ;)
07:26:24tarcieriheh
07:26:27tarcierihaha
07:26:30brixenheh
07:27:12headius leaves the room.
07:27:35tarcierihmmm, wtf
07:27:41kevinclarkI'm almost done with my massive thrift rework. Post that, I'll start concentrating on subtend again.
07:32:47rueMorning
07:33:00tarcierihaha omg
07:33:02tarcierithat's jacked
07:33:19tarcierihow the crap do you even describe this?
07:33:55tarcierihttp://pastie.caboo.se/185335
07:34:49tarcieriI suppose it doesn't need the class...
07:35:11yugui leaves the room.
07:35:35yugui enters the room.
07:36:00rueSo a scope issue?
07:36:13kevinclarkthe only thing I've found scarier that some generated ruby is the ruby some write by hand ;)
07:36:38tarcierirue: I suppose
07:36:48rueActually no
07:37:26TheVoice leaves the room.
07:37:31tarcieriit's... quite odd
07:37:43tarcieriif you make foo private, you can still call it
07:37:47tarcieriif you make foo= private, you can't
07:38:29rueWell, the self. syntax should always be illegal for private methods
07:38:38rueWith the explicit exception of setters
07:39:07tarcieriaah
07:40:16rueThe definition of a private method is that it cannot have a receiver
07:41:22tarcieriso this is a known bug?
07:49:31tarcieriwhoa crazy
07:49:39tarcierirlgen-ruby has Rubinius-specific stuff?
07:50:52wycats enters the room.
07:51:20dysinger leaves the room.
07:52:55dysinger enters the room.
08:02:06yaroslav leaves the room.
08:02:43yaroslav enters the room.
08:06:56dfg59 enters the room.
08:12:43kw leaves the room.
08:15:49thehcdreamer enters the room.
08:17:01dfg59hey all, new here. quick question. are all specs in spec/ruby run with
08:17:05dfg59rake spec:ci
08:17:43yaroslav leaves the room.
08:18:23yaroslav enters the room.
08:18:55w1rele55 leaves the room.
08:20:45brixendfg59: rake spec:ci runs bin/mspec ci, which runs all the specs not tagged with 'fails', 'unstable', or 'incomplete'
08:21:10brixendfg59: check out http://rubinius.lighthouseapp.com/projects/5089/specs-runners for more info
08:21:18dfg59brixen: ah, i see. thanks
08:22:11brixendfg59: one way to see what is tagged with e.g. fails is: bin/mspec -g fails --dry-run spec
08:22:26w1rele55 enters the room.
08:22:32dfg59brixen: you're a mind reader, that was my next question. thanks.
08:22:34crafterm leaves the room.
08:22:42brixenheh, np
08:23:00brixenI have a bin/mspec tag --list fails planned, just not done yet
08:23:26brixendfg59: oh, always forget this, you have to add -fs to get specdoc output on that
08:23:31brixenotherwise you just get dots :)
08:24:27brixendfg59: and, if you are interested (perhaps because you want to fix some ;) in specs we need to fix for rails, you can do: bin/mspec -w rails.yaml spec/ruby
08:24:40crafterm enters the room.
08:25:26dfg59alright...i need to look more into this runner info, but i'm assuming that will tell me the failing specs for rails specifically?
08:25:58brixenyeah, or at least approximately
08:26:12brixenI haven't written docs on -w yet, still working on part of it
08:26:25dfg59cool :)
08:26:28benburkert leaves the room.
08:26:54brixenbut basically, using some data from john lam, it filters the specs for methods that supposedly rails uses in a simple "hello world" controller request
08:27:07dfg59ah, clever
08:27:21ezmobius leaves the room.
08:27:44dfg59by specifying spec/ruby, are you looking specifically for failing ruby core specs that are "needed" for the hello world app?
08:27:52brixenyeah
08:27:57dfg59k
08:28:03dfg59let me give that a shot
08:28:16brixenthe part that is missing compares the output with the method list, to show which specs haven't been written yet
08:28:42brixenbut the -w command will at least show which existing specs fail
08:28:47dfg59ah, i see
08:29:16dfg59so it seems that even using the -w option i'm still seeing a lot of specs passing...is this normal?
08:29:26brixenyeah
08:29:54dfg59thanks for this...that was the exact command i was looking for
08:30:01dfg59some direction as to what should be fixed, very nice
08:30:20brixenthis is what I get: 1946 files, 1883 examples, 6752 expectations, 22 failures, 18 errors
08:30:20dfg59we should throw that up on lighthouse (if it's already there, shame on me for not reading closely enough)
08:30:41dfg591947 files, 1883 examples, 6752 expectations, 22 failures, 18 errors
08:30:47dfg59huh, looks like i'm up 1 file on you
08:30:53brixenyeah, I'll have some docs up shortly, need to finish the other 1/2
08:30:58brixenheh
08:31:15brixenI did: bin/mspec -w rails.yaml spec/ruby/
08:31:27brixenwhat platform are you on?
08:34:33dfg59os x
08:34:48dfg59i did the same
08:34:57dfg59bin/mspec -w rails.yaml spec/ruby
08:35:33brixenhmm, odd
08:36:00dfg59i just did a pull literally 5 mins ago
08:36:03dfg59maybe that's it?
08:36:07brixenohh, yeah
08:36:09agardiner leaves the room.
08:36:12brixenI'm not on HEAD
08:36:19brixenin the middle of a bunch of stuff heh
08:36:32dfg59ah, cool
08:36:55brixenwell, sleep-time for me
08:37:19crafterm leaves the room.
08:38:02dfg59thanks again for the help, think i found a good starting point for my first patch :)
08:38:19brixensweet, thanks for helping out
08:38:26dfg59np
08:39:48mitchellvriley enters the room.
08:40:04mitchellvriley leaves the room.
08:42:03crafterm enters the room.
08:42:05crafterm leaves the room.
08:51:09trythil_ leaves the room.
08:57:48mutle enters the room.
09:01:05Maledictus enters the room.
09:04:21yugui enters the room.
09:04:47octopod enters the room.
09:14:26tt leaves the room.
09:22:07mapar leaves the room.
09:23:10yaroslav leaves the room.
09:24:49yaroslav enters the room.
09:26:28Arjen_ enters the room.
09:36:08mitchellvriley enters the room.
09:36:39be9 enters the room.
09:38:39qed leaves the room.
09:40:16mitchellvriley leaves the room.
09:45:43dysinger leaves the room.
09:48:13jero5 leaves the room.
09:53:30qed enters the room.
09:54:04qwert666 enters the room.
09:59:12dfg59 leaves the room.
10:08:48wycats leaves the room.
10:12:49GMFlash leaves the room.
10:19:54dctanner enters the room.
10:51:33chris2 enters the room.
10:54:01yugui leaves the room.
11:02:22den1jay enters the room.
11:02:46den1jayhi
11:04:10den1jayanybody awake
11:11:47rueMorning
11:14:13Yurik enters the room.
11:17:25imajes enters the room.
11:26:27olabini leaves the room.
11:27:59den1jay leaves the room.
11:54:15flori leaves the room.
11:54:22flori enters the room.
11:54:23olabini enters the room.
11:55:03dblack enters the room.
11:57:25flori leaves the room.
11:57:30flori enters the room.
12:02:48mutle leaves the room.
12:03:23mutle enters the room.
12:09:22jtoy leaves the room.
12:11:55flori leaves the room.
12:12:01flori enters the room.
12:29:05rueWell, I am no longer going to be awake. Be back in a couple hours
12:32:19chris2 leaves the room.
12:48:45RyanTM enters the room.
12:49:02qwert666 leaves the room.
12:56:46ctennis leaves the room.
12:58:11dblack leaves the room.
13:01:48jtoy enters the room.
13:09:03wdperson enters the room.
13:23:25yaroslav leaves the room.
13:25:07yaroslav enters the room.
13:35:06imajes leaves the room.
13:38:10yugui enters the room.
13:43:46srbaker enters the room.
13:44:48dblack enters the room.
13:49:28srbaker leaves the room.
13:58:49dewd enters the room.
13:59:43imajes enters the room.
14:04:25headius enters the room.
14:04:30srbaker enters the room.
14:05:45jlindley enters the room.
14:11:57GMFlash enters the room.
14:15:38lstoll enters the room.
14:17:30headius_ enters the room.
14:18:14headius__ enters the room.
14:21:18headius leaves the room.
14:26:24marnen enters the room.
14:30:06imajes leaves the room.
14:30:26cypher23 enters the room.
14:34:27headius_ leaves the room.
14:35:27wmoxam enters the room.
14:42:01AndrewO enters the room.
15:06:33d2dchat enters the room.
15:07:55smparke1 leaves the room.
15:12:36boyscout1 commit by Vladimir Sizikov
15:12:37boyscout * A bit more test cases for BigDecimal#sqrt.; c3fc053
15:16:36moofbong enters the room.
15:23:34rosejn enters the room.
15:26:06rubuildius_ppcVladimir Sizikov: c3fc05389; 2091 files, 6657 examples, 23372 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/185473
15:27:29agile leaves the room.
15:30:22macournoyer enters the room.
15:31:52rubuildius_amd64Vladimir Sizikov: c3fc05389; 2091 files, 6655 examples, 23346 expectations, 0 failures, 0 errors; http://rafb.net/p/LolEUI65.html
15:32:03enebo enters the room.
15:32:26twbray enters the room.
15:32:49probablycorey enters the room.
15:35:09twbray leaves the room.
15:36:35rosejntarcieri: you around?
15:38:13fbuilesv enters the room.
15:40:15benburkert enters the room.
15:56:02boyscout3 commits by Marnen Laibow-Koser
15:56:03boyscout * Implement BigDecimal#frac, update spec tags.; f4e975e
15:56:04boyscout * Correct a spec error.; b60deba
15:56:05boyscout * Implement BigDecimal#-@, update spec tags.; e19cf94
15:58:08trythil enters the room.
15:59:48jicksta leaves the room.
16:00:29twbray enters the room.
16:04:51dblack leaves the room.
16:06:00therealadam enters the room.
16:08:30rubuildius_amd64Marnen Laibow-Koser: f4e975e52; 2091 files, 6666 examples, 23382 expectations, 0 failures, 0 errors; http://rafb.net/p/M0D2vi79.html
16:08:38jicksta enters the room.
16:08:41benstiglitz enters the room.
16:08:43rubuildius_ppcMarnen Laibow-Koser: f4e975e52; 2091 files, 6668 examples, 23408 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/185489
16:15:12twbray leaves the room.
16:22:02RyanTM leaves the room.
16:22:45RyanTM enters the room.
16:25:58headius leaves the room.
16:28:42smparke1 enters the room.
16:30:23agile enters the room.
16:33:57benburkert leaves the room.
16:43:07w1rele55 leaves the room.
16:43:53obiejuan enters the room.
16:45:39w1rele55 enters the room.
16:45:56dlee enters the room.
16:48:54luislavena enters the room.
16:52:04dysinger enters the room.
16:52:16hornbeck leaves the room.
16:52:29hornbeck enters the room.
16:52:43luislavenahello guys.
16:52:47luislavenagood morning...
16:52:55TheProkrammerwaves
16:54:06evanmorning.
16:55:25enebo leaves the room.
17:00:46luislavenaevan: good morning man.
17:00:49JimMc leaves the room.
17:01:14evanluislavena: how are you this morning?
17:01:46luislavenabetter, waiting for brixen commit the tmp() helper patches to get my hands dirty :-D
17:02:12luislavenais adding pressure to the daily qty brixen already have :-D
17:07:23evanhehe
17:09:46Defileragile: Oh, just noticed you had pinged me. Still need anything?
17:10:20brixenluislavena: ahhh, the pressure
17:10:29agileDefiler, it was accidental if it was me. :)
17:10:30brixenruns screaming holding his head
17:11:08luislavenaruns behind brixen holding a box of windows vista...
17:11:21agilefalls over
17:11:23benburkert enters the room.
17:11:28evantrips luislavena so brixen can escape
17:11:50luislavenaOT, found another stupid thing in MRI...
17:11:53brixenoh god, not vista
17:12:01jtoy leaves the room.
17:12:16luislavenabrixen: don't worry, just kidding, long live to XP... vista make my eyes bleed :-P
17:12:53JimMc enters the room.
17:13:04Defileragile: aah damn sorry
17:13:23agilenp
17:13:27Defileragile: Turns out tab completion doesn't work great when the person in question has left the channel
17:13:44luislavenainvestigating why GCC failed on Vista found a MRI bug on Windows...
17:13:54DefilerI do like how Vista finally comes with an actual backup tool, at least
17:14:18luislavenaDefiler: there was a backup tool in XP.. not easy to use, but when you're setup, was good :-D
17:15:19luislavenaguys, how are you testing for executable bit access(), on rubinius?
17:15:32luislavenaX_OK I think is the mode.
17:15:37twbray enters the room.
17:16:28Defilerluislavena: It didn't create bootable filesystems, right?
17:16:48brixenluislavena: like File.executable? ?
17:17:08luislavenaDefiler: you mean the backup tool? no, even don't use that since I have Acronis TrueImage installed.
17:17:15luislavenabrixen: yeah, the inner guts of it.
17:17:47Defilerluislavena: Right. That's what I mean. The thing Vista has is more like TrueImage now. TrueImage is probably better, of course..
17:18:01brixenluislavena: well, we just have specs for that method: spec/ruby/1.8/shared/file/executable.rb
17:18:25luislavenabrixen: got them, checking the usage of File::Stat...
17:18:35brixenluislavena: those are referenced from File, File::Stat, and FileTest
17:18:51luislavenaok, then I can say MRI is just screwing me, again...
17:19:20luislavenaand I don't like being screwed without at least a nice dinner and a bottle of red wine.
17:20:25Defilerluislavena: check out line 585 in kernel/core/file.rb for implementation
17:21:17DefilerWe have provisions for loading in different versions of this based on the platform
17:21:24DefilerSo Win32 can have its own version
17:21:29luislavenaDefiler: yep, was there, but the problem is with MRI... it evaluates access X_OK and the actually check for execution flag on windows...
17:21:51DefilerThere's an executable flag on Windows?
17:22:03luislavenaI was about to 'fix' rubygems to workaround a true MRI windows bug:
17:22:04luislavenahttp://rubyforge.org/pipermail/rubygems-developers/2008-April/003756.html
17:22:10luislavenahttp://rubyforge.org/pipermail/rubygems-developers/2008-April/003758.html
17:22:21luislavenaDefiler: there isn't, that's why is a bug in ruby...
17:22:25Defileroh, right
17:22:30yaroslav leaves the room.
17:23:00luislavenayou know all these workaround of "rake" versus "rake.bat" on windows?
17:23:18luislavenaI heard a lot of that, like also "gem install" doesn't work on windows, yada yada...
17:23:34luislavenawell, digging the mingw problem found WHY it was happening...
17:23:50luislavenanow I need to send my patch to ruby-core and hope it doesn't get lost like always happens...
17:23:52headius enters the room.
17:24:05obiejuan leaves the room.
17:25:36brixenluislavena: ah, that is interesting. VVSiz was having an issue with that and jruby vs jruby.bat
17:25:46brixenluislavena: do we have specs that expose this?
17:25:50Arjen_ leaves the room.
17:26:21luislavenabrixen: didn't look at that yet, is too MRI and Windows specific...
17:26:45brixenhow so?
17:27:00brixenshouldn't all the impl have the same behavior re executable on windows?
17:28:29luislavenabrixen: "Kernel.system" it "needs to be reviewed for spec completeness" do ... end :D
17:28:37brixenhah!
17:28:40brixen:)
17:28:58brixenbunch of slackers :P
17:28:58mutle leaves the room.
17:29:22luislavenabrixen: the flow in the file.c code of MRI is wrong... it's returning before evaluating the execution flag...
17:29:32brixenok
17:29:45brixenso #system is a good place to spec that, yes?
17:29:53luislavenayes.
17:29:59brixencool
17:30:06d2dchat leaves the room.
17:30:22luislavenaI'll like to heard back from ruby-core first about fixing the damn thing...
17:30:38luislavenawill spec it when brixen give us the mighty tmp helper :-D
17:30:40brixenheh, it would put some sting in it to have a failing spec :)
17:30:47brixenok already :P
17:31:09luislavenabrixen: just kidding, could do it myself if you want me...
17:31:19luislavenas/want/let
17:31:37brixenode to the power of git stash
17:31:47brixenI'll switch tasks, one sec ;)
17:32:07brixenI want to reorg the dirs a bit in prep for making mspec a gem
17:32:14brixenperhaps I should just do that later
17:32:55brixenit is evil :D
17:33:10brixenjust kidding
17:33:32brixeneveryone sees rubinius as a beautiful maiden bringing good tidings
17:34:06thehcdreamer leaves the room.
17:35:29cypher23 leaves the room.
17:36:38dewd leaves the room.
17:37:23evanozy`: they're pretty tight lipped about it
17:37:29luislavenaI'm not int he core and I liek rubinius, that's a valid point? :-D
17:37:41evanozy`: but the general feeling is that it's good for everyone
17:37:47evanlike jruby.
17:38:36luislavenabrixen: yeah, put the mspec gem on hold, I think the helpers for tmp and platform_is :windows should be part of the release.
17:38:47evanozy`: time will tell.
17:39:12dleei think they would choose the fastest implementation
17:40:47enebo enters the room.
17:44:46luislavenaan small example, took me less than 5 minutes figure out where was File.executable? than looking at the MRI C code :-)
17:44:50rosejn leaves the room.
17:48:17obvio171 enters the room.
17:53:27srbaker leaves the room.
17:55:25obiejuan enters the room.
17:56:33marnen leaves the room.
17:56:57lopex enters the room.
18:02:12NoKarma enters the room.
18:02:19NoKarmaHeya
18:02:43brixenhey NoKarma
18:04:25NoKarmabrixen: Any idea who Benjamin J. Bleything is?
18:04:30srbaker enters the room.
18:04:49brixenNoKarma: yeah, I know him, but don't know his nick
18:05:07NoKarmabrixen: ah, ok
18:05:15headiushey get this
18:05:16brixenNoKarma: you don't have his email?
18:05:27headiussomebody got sqlite + ar to work in JRuby with nestedvm
18:05:29NoKarmabrixen: no, not really
18:05:37obvio leaves the room.
18:05:38brixenNoKarma: is he a mentor?
18:05:45NoKarmabrixen: yup
18:05:45obvio171 leaves the room.
18:05:47headiushttp://nestedvm.ibex.org/
18:05:58headiusit's a binary translation from MIPS assembly to Java bytecode
18:06:16brixenheadius: nestedvm is pretty neat
18:06:30benburkert leaves the room.
18:06:42brixenheadius: is it active though? last news is early 2007
18:06:54brixenNoKarma: is he your mentor?
18:06:55headiusapparently it's working, if it's not active
18:06:59headiusif we use it it might wake up
18:07:02benburkert enters the room.
18:07:03NoKarmabrixen: yeah. I think I just found his blog :)
18:07:21brixenNoKarma: ok, le'me know if you can't reach him, I'll get his email for ya
18:07:25fbuilesvNoKarma: http://bleything.net/ :)
18:07:46NoKarmafbuilesv: Thanks :)
18:07:57headiusso you guys just need to come up with a MIPS to Rubinius bytecode translator
18:08:12fbuilesvNoKarma: Do you know the other guy who's working on specs too?
18:08:25NoKarmafbuilesv: nope, no idea
18:08:46fbuilesvmmm k
18:08:57evanheadius: going to use nestedvm to run MRI extensions?
18:09:00evan:)
18:09:14obvio enters the room.
18:10:15headiusmaybe!
18:10:20obiejuan_ enters the room.
18:10:26headiusI wouldn't have thought it actuall ypossible
18:10:40evansure it's possible, it's just software :)
18:12:18evanthere is good prior work on writing mips interpreters
18:12:22evani used one in college
18:12:24evanspim
18:12:37evanwe wrote a compiler that output mips assembly
18:12:45evanand run it in spim
18:12:59kofno enters the room.
18:13:11srbaker leaves the room.
18:13:18brixenisn't LLVM IR modelled on MIPS ?
18:13:21evanhttp://pages.cs.wisc.edu/~larus/spim.html
18:13:23evanprobably
18:13:25srbaker enters the room.
18:13:28evanMIPS is SOO sane.
18:13:48evanit makes x86 look like putting protiens together
18:13:58brixenheh
18:15:01evani've been reading PZ Meyers blog a lot, thus the DNA reference :)
18:15:16brixenwell, that would be an interesting experiement, compile shotgun/vm to mips and try nestedvm
18:16:03Defilerevan: Do we have a plan of attack for someday not needing ucontext?
18:16:34evanhow about wire spim into rubinius and compile extensions to mips and interprete them!
18:16:58evanDefiler: i'm not using it at all yet in the new VM
18:17:05brixenwait! why not compile jvm to mips and run it on jvm using nestedvm
18:17:06evanwhen i get to that point (soon) i'm going to use coco
18:17:14evanbrixen: awesome.
18:18:32obiejuan leaves the room.
18:18:52brixenevan: your idea could have real promise, it could move the rb_xxx completely inside the VM, couldn't it?
18:19:06brixenevan: making the context switching between subtend and vm unnecessary?
18:19:15evanyep
18:19:20brixenwowsers
18:19:21Defilerevan: Oh, so you are rewriting subtend along with the rest of the VM?
18:19:22evanthats exactly what i was thinking.
18:19:27evanDefiler: gotta
18:19:37evanplus subtend's wiring is a mess.
18:19:37DefilerYeah, now that I say it out loud.. heh
18:19:40DefilerWell, awesome
18:20:04DefilerSo, I thought of a silver lining re: the IO problem that had me stumped for so long
18:20:20DefilerIt means that the UNIXSocket implementation I wrote wasn't the problem, and worked the first time ha ha
18:20:27DefilerI was sooo sure I had done that wrong
18:20:28evanhehe
18:20:29evantrue!
18:20:38evanso
18:20:41DefilerI kept looking for bugs in it
18:20:45evanyou going to get a merb app using mysql up today?
18:21:10DefilerPlanning on it. I'm working on some internal Merb pieces that aren't working properly yet
18:21:18Defilerbut it serves up pages and stuff, at least
18:21:50dbussinkDefiler: going to submit patches to merb too, or only changing rubinius itself?
18:23:27evanwell, all bugs are in rubinius
18:23:29evannot merb.
18:23:49dbussinktrue, but maybe fixing insanity in merb is a good idea too :)
18:24:06evani thought there was no insanity
18:24:41dbussinkwell, Defiler has shown us some afaik :)
18:24:50dbussinkbut i have to go, gonna play some tennis
18:25:19evanenjoy!
18:28:06Defilerdbussink: I am making a list of insane things, and I will make patches after it is all working
18:28:10obiejuan_ leaves the room.
18:28:23dbussinkDefiler: seems like the best idea yeah :)
18:28:34GMFlash leaves the room.
18:28:36dbussinkbb later
18:30:52octopod leaves the room.
18:31:25dblack enters the room.
18:32:06DefilerThe more I think about the idea of embedding spim, the cooler it sounds
18:32:21luislavenajust fired his rockets into ruby-core hole...
18:32:35Defilerhaha
18:32:42wycats enters the room.
18:32:55DefilerThat sounds so naughty
18:33:18luislavenais gathering a huge list of enemies... want to start a facebook group just for that.
18:35:46luislavenaDefiler: yeah, kind of naughty, but I'm used to see my posts remains unanswered :-P
18:36:01fbuilesvluislavena: wait, people on ruby-core actually answers to bug reports? :P
18:36:39luislavenafbuilesv: nah, neither patches ;-)
18:36:57fbuilesvluislavena: or patches _with_ tests and cookies!
18:37:20djwhittyou guys know this channel is logged right ;)
18:37:24Defilerluislavena: Just read it. Good email.
18:37:30luislavenafbuilesv: some of the things I report are broken are kind of difficult to test :-P
18:37:47luislavenadjwhitt: yep, saw your yelling from march about Windows :-D
18:37:58djwhitthehe
18:38:01fbuilesvdjwhitt: we can expect ninjas paying a visit at us tonight? :)
18:38:01DefilerI hate the present/past confusion of "read"