Index

Show enters and exits. Hide enters and exits.

00:00:05schleyfox enters the room.
00:01:10tgern leaves the room.
00:01:20Rich_MorinIf I define foo as a method, then say "foo = 42", the local variable will then be used in (say) "puts foo". Is there a way to undefine the local variable so that the method will be looked for?
00:01:20rubuildius_ppc"foo = 42", the local variable will
00:01:21rubuildius_amd64"foo = 42", the local variable will
00:01:53agardinerhehe... thanks rubuildius
00:01:57agardiner:-)
00:02:30schleyfoxwait, what the hell just happened?
00:02:39agardinerwell, you can do self.foo...
00:03:04ezmobiusputs foo()
00:03:10agardinersay "rubuilidius repeats what follows 'say'"
00:03:10rubuildius_amd64"rubuilidius repeats what follows 'say'"
00:03:10rubuildius_ppc"rubuilidius repeats what follows 'say'"
00:03:34Rich_MorinIsn't that special?
00:03:36ezmobiusthe local variable being prefered over method call is a parse time desicion not a runtime one
00:04:32Rich_Morinezmobius: I don't think so. At least, in irb I can use a method, then redefine it as a local and use it again.
00:04:42dysinger leaves the room.
00:04:52ezmobiusirb != normal ruby
00:04:53schleyfoxwell I say! isn't that something
00:04:58agardinerirb has it's own quirks
00:05:13agardinerdon't trust it for things like this
00:07:46zimbatm leaves the room.
00:11:49qwert666_ leaves the room.
00:12:15rueagardiner: Hey, did you catch my wording change to make_rest[_fp]? Does that make sense?
00:12:34agardinerlemme take a look...
00:13:44Rich_Morinhttp://pastie.caboo.se/176237 indicates that there are runtime redefinitions going on wrt locals and methods.
00:14:14agardinerah... i see where you are coming from, but i think both definitions are a little off
00:14:42agardinerit is the number of args mapping to splat, so it is really defined -1 or required + optional
00:16:40hassox enters the room.
00:19:24rueagardiner: I think the cpu.args vs. cpu.argcount is causing a bit of the confusion too
00:20:24rueSo far as I could follow, args (and eventually argcount) is the total number of arguments that is being passed from the caller
00:21:19rueBy the sound of it, evan is rewriting that part which should be helpful
00:29:17agardineryeah, i wouldn't lost too much sleep over it :-)
00:31:14tizianobis__ leaves the room.
00:32:28fbuilesv leaves the room.
00:36:21fbuilesv enters the room.
00:51:28TheVoice enters the room.
00:59:00headius enters the room.
00:59:44wycats leaves the room.
01:02:39rueagardiner: Fairly interesting take: http://wolfgangmeyer.blogspot.com/2008/04/debuggers-are-needlessly-tedious-to-use.html
01:03:20rueThe image-based approach is still better, I suppose, but that type of integration is nice in some cases
01:03:27Rich_MorinStill hoping for an answer to whether a local variable can be "gotten out of the way" of a method (undefined?), so that the method will be used instead. See http://pastie.caboo.se/176237
01:04:09Rich_MorinThat is, once Ruby has decided that something is a local, can it be told to forget that...
01:04:24rueRuby semantics are that local variables override methods
01:04:42agardinerno, once Ruby decides something is a local, it is a local for that scope
01:05:00rueThe 1.9 block variables do not shadow, but I am not certain it would be useful in this case
01:05:07headiushowdy howdy howdy
01:05:09agardineryou need to disambiguate if you want to use the method instead
01:05:29rueAs a convention, you could require `self.meth` in some cases
01:05:49Rich_MorinActually, I think disambiguation is generally a good policy. I was just trying to hammer down the details.
01:06:09Rich_MorinWell, foo() is also pretty explicit.
01:06:44Rich_MorinAnd, in fact, "foo bar" says that foo is a method, but leaves bar ambiguous.
01:08:33ezmobiussee this for even more fun
01:08:34ezmobiushttp://pastie.caboo.se/176256
01:08:54lstoll_ leaves the room.
01:09:29agardinerrue: interesting post... i like the idea of displaying arg values to a function you are about to step into
01:10:03crafterm enters the room.
01:10:17agardinerbut some of what is in that post looks downright dangerous!
01:11:26craftermmorning all!
01:11:30agardinerunless i've misread the examples...?
01:11:36agardinermorning crafterm
01:11:47craftermhi agardiner, hows it going mate
01:11:57agardinernot bad, not bad
01:12:08agardinerhow 'bout yourself?
01:12:25craftermall good mate, busy weekend, but getting there
01:12:26Rich_Morinezmobius: That gives me nil - is that because Ruby sees foo as a local, but didn't define it?
01:12:34ezmobiusyup
01:12:53ezmobiusruby decides at parse time that foo is a local because it sees foo =
01:13:08ezmobiuseven though foo = is never excecuted because of if false
01:13:13rueMorning, crafterm
01:13:25chris2 leaves the room.
01:13:32rueagardiner: Yeah, it is a good take. Obviously requires quite a bit of support
01:13:50craftermhi rue mate
01:14:46jtoy enters the room.
01:16:28agardinermight have a play with this... i don't think it would be too hard to show the value of args just before a method call
01:17:01fbuilesv_ enters the room.
01:18:19rueI would not imagine so
01:18:22headiusezmobius: it has to make that determination at some point
01:18:36headiusI'd rather it happen at parse time than every single time a vcall fires
01:19:24ezmobiusagreed, but it is a caveat that people shoudl understand
01:20:29ezmobiusheadius: congrats on getting 1.1 final out
01:20:30headiussure
01:20:37headiusso Rich_Morin: the answer is no
01:20:48headiusif that wasn't clear already
01:21:27headiusezmobius: thanks...really a formality of course...people have been running RCs for quite a while, and I'm back on performance work again
01:21:31KirinDav enters the room.
01:21:43ezmobiusit sees foo as a local and assigns nil to it, but never executes to assign 'bar' to it
01:22:29Rich_MorinOK, thanks all - gotta go.
01:22:43headiuslocals just start out as nil
01:23:12headiusimpl detail though I suppose
01:25:17fbuilesv__ enters the room.
01:25:17fbuilesv_ leaves the room.
01:25:53lopex leaves the room.
01:27:38rueDamnit, I got pickle juice on my watermelon
01:27:52rueToday has not been fortuitous
01:34:38fbuilesv leaves the room.
01:35:41jlindley enters the room.
01:36:36jlindley leaves the room.
01:38:15macournoyer leaves the room.
01:38:41binary42 leaves the room.
01:38:43binary42_ enters the room.
01:39:30jtoy leaves the room.
01:41:22jlindley enters the room.
01:43:15headius leaves the room.
01:48:53seydar enters the room.
01:49:27wycats enters the room.
01:50:05seydaris there an actual AST behind the parser?
01:50:24seydaror is that what the Node class is for?
01:51:29agardinerIf you are talking about the compiler, the Node classes are the nodes in the AST
01:52:02seydarschwizzle
01:52:05agardinerIf you are talking about grammar.y, nodes are used to build a kind of AST, but we get a sexp from that
01:52:43seydarso the compiler uses sexps to generate the bytecode
01:52:52agardineryeah
01:52:59seydark
01:53:09agardinerthe compiler takes the sexp, converts it to an AST, and then converts the AST to bytecode
01:53:46seydaris there a more visual example of the AST?
01:54:17agardinernot that I'm aware of... but you can sort of imagine the AST as being sexp symbols converted to node objects
01:54:36agardinereach of which is of a particular class representing the type of sexp node
01:54:43seydarhmm
01:54:55agardiner(this is a slight simplification, since there is some normalisation that takes place)
01:55:10seydarand each node has "parameters", which it uses to make the bytecode
01:55:30agardineryep, each node can have state
01:55:41agardinerdepends on the type of node
01:55:43seydarmy life just went +1
01:55:57seydarand rubinius was already at a +1 state, but i just realized it now
01:55:59agardinerlevel up!
01:56:08agardiner:-)
01:56:16seydarso if rubinius is at a, say, +5 for me
01:56:33seydarthen i need to get evan 's opinion on what + it is for him
01:56:43seydarand there will be that many more things for me to discover
01:57:04agardinerhehe... it might be like the paul graham story about blah...
01:57:23seydarthat made no sense, but probably because i'm so damn young
01:57:37agardinerwe mere mortals may not fully appreciate what evan's + is! :-)
01:57:49agardinerhang on, i'll find a link for ya
01:57:51seydarevan: whats ur +
01:58:10seydaragardiner: kthx
01:58:30rueThe compiler intro has the AST structure in it
01:59:05seydarwhoa, then i missed it when i read it
02:00:11agardinerseydar: read the section titles the Blub Paradox here: http://paulgraham.com/avg.html
02:00:31agardinerer, titled... it's about half way through
02:01:01seydarrue: can i get a link to the comiler article?
02:01:05seydarpretty please?
02:06:35seydarwait
02:06:38seydari have it
02:06:39seydarnevermind
02:07:20seydarhttp://rubini.us/doc/compiler_intro.txt, for the worried
02:15:59jtoy enters the room.
02:20:39EugZol leaves the room.
02:23:59seydaris there ever a specific state in the compilation process that i could stick my fingers in and see the AST?
02:24:02mernen leaves the room.
02:24:11VVSiz_ enters the room.
02:26:56lstoll enters the room.
02:28:17kofno enters the room.
02:28:49lstoll leaves the room.
02:28:52rueAny
02:29:05lstoll enters the room.
02:29:24seydarany?
02:31:34seydarrue: what does 'Any' mean?
02:31:44agardinerwell, the AST is not consumed once it is formed, but it isn't fully produced either until the sexp has been fully parsed
02:32:16agardinerso if you hooked in at any point from just before the call to produce the bytecode, you could get the full AST
02:33:02dewd enters the room.
02:34:12Yurik leaves the room.
02:34:14seydarschweet
02:34:39seydardoes the AST deal with self and scopes?
02:36:24agardinerthere is a ClosedScope node that deals with scope
02:36:57agardinerself i'm not sure about...
02:37:11agardinerthere's no node for that
02:37:13seydarso self may or may not be in the AST....
02:37:18seydarthat makes my life difficult
02:37:36agardinerwell, self is tied in with scope, which is not fully resolved until a CM is loaded in shotgun
02:38:04agardinerbut certain node types such as FCall implicitly deal with self
02:38:07seydarsdfgkljlk
02:38:16seydarthis angereth me
02:38:22agardinerand this is reflected in the opcodes they generate, i.e. push_self
02:38:48agardineryou can't really expect self to be fully known at compile time in a dynamic language
02:39:11headius enters the room.
02:39:49agardinerso it depends on what you want to know about self from the AST?
02:40:08agardineryou can tell when references are made to self, but not exactly what self is
02:40:28seydark
02:40:39seydarbut in the event of something like 5.abs
02:41:02agardinerwell, that's not a reference to self
02:41:12seydaris the self of 5 (which is 5) dictated?
02:41:28seydarin terms of compiling the situation
02:41:54kofno leaves the room.
02:41:55seydar30.min.abs
02:41:57seydarget it?
02:42:11lstoll_ enters the room.
02:42:17VVSiz leaves the room.
02:42:20agardinerthose aren't references to self
02:42:22seydaranyways. lets compile 5.abs
02:42:38seydar(30.min.abs was just a joke to 30 minutes abs)
02:42:45agardinerah, right
02:42:52seydaractually, i don't even know how 5.abs is compiled
02:43:30agardinerwell, fixnums and strings are special cases, because they are represented by special nodes in the sexp
02:44:38seydarah
02:44:49seydarok, so a = MyClass.new
02:44:52seydara.class
02:44:57seydarhow is that compiled?
02:45:44mkescher_ enters the room.
02:46:02agardinertry it out - just put it in a string in shotgun and call to_sexp on the string
02:47:02agardinerso, 5.abs resolves to a Call node where the args are [:lit, 5] and :abs
02:47:34nkpart leaves the room.
02:47:34seydaryea, but thats not the AST
02:47:41seydari want to see the AST of it
02:47:48agardinerits pretty darn close though
02:48:09agardinerthe AST for Call will hold two parameters, the receiver and the message to send
02:48:27nkpart enters the room.
02:48:29agardinerthe receiver will be another AST node, which in the case of 5 will resolve to a Fixnum literal
02:48:31seydarah
02:49:42headius leaves the room.
02:51:01lstoll leaves the room.
02:52:49rueI think agardiner explained it already but the receiver is self
02:53:47ezmobius leaves the room.
02:55:09seydarit sounds like it is _impossible_ to get ruby to be a compiled language
02:55:26seydarbut with compiled parts in an interpreter? pretty likely
02:55:31seydarlike what strongtalk did
02:57:32agardinerruby is compiled already by rubinius, jruby, ruby 1.9...
02:58:13agardinerits compiled to bytecode
02:58:29seydaryea
02:58:39seydarbut what if it were compiled to machine code?
02:58:42agardinerif you mean compiled directly to machine language, its not impossible, but not practical
02:58:48seydarusing.... wait for it..... llvm
02:58:59seydarhow bout now? now is it practical?
02:59:18agardineri don't know enough about llvm to answer that
02:59:29agardinerbut i guess my opinion is as follows:
02:59:49agardinerit's not practical to try to compile a dynamic language to a very low-level instruction set directly
02:59:53agardinerit is too dynamic
03:00:21agardinerand so you are better with an intermediate representation that can be jit-ed when you have runtime information about the actual types being used
03:00:58agardinere.g. tell me how you could ever compile something like 'foo.bar' to machine language?
03:01:13seydari think its too complicated for mortals
03:01:15agardineryou can't because you don't have any information about what foo is or what bar does
03:01:20seydarbut i feel like its my calling
03:01:28seydarokok i got it
03:01:38agardinerand either can change at runtime, so whatever you think you know may be wrong
03:01:54seydaryou have compiled everything you /could/ use
03:02:08seydarand then shotgun just puts those in order when needed
03:03:54agardinerwell kinda... ruby is a late bound language, so sure, the definitions of foo and bar have presumably been encountered by the time we see foo.bar, otherwise you get a runtime exception
03:05:25agardiner... unless method_missing or const_missing have been defined! :-D
03:06:07jlindley leaves the room.
03:07:46agardinerthe way i see it, with a dynamic language like ruby, compiling to machine language can't remove the dynamicity; you are still forced to deal with that, and frankly, i'd rather deal with that at a higher level and then rely on jit
03:07:55brixenhmm, whatever else giles does, understanding the importance of a first rate debugger in a dynamic language is not one of them :P
03:08:50agardinernow if only we had a first rate debugger... :-D
03:09:21agardinerbut yeah, i agree with you
03:09:49rueEverything can be compiled to machine code.
03:10:25seydaryea! rue feels the love
03:10:37brixeneverything *is* compiled to machine code
03:10:53brixenshow me something that runs on a processor that is not compiled to machine code
03:11:05agardiner'can' and 'should' are two different things... i didn't say it couldn't be done, just that it wasn't practical
03:11:18brixenseydar: a suggestion: get your head around method dispatch in a dynamic language before trying to tackle a compiler
03:11:37brixenagardiner: yeah, I get your point, it makes a lot of sense
03:11:52brixenI'm trying to get seydar to think beyond his compiler fascination
03:11:56seydari could... and should.... but its soooo much more fun to tackle everything at once
03:12:09brixenseydar: heh! that explains a lot
03:12:28brixenseydar: try this: def foo(a = eval("def foo() :b end")) :c end; foo; foo
03:12:57seydarError: Programmer Error
03:13:32brixenseydar: actually, do the method calls on separate lines
03:13:53seydari can't really see past the smiley face. colloquy translates them
03:14:13brixenhmm
03:14:22brixenI'm not including any smiley faces :P
03:14:52brixenperhaps you should use a *programmer's* irc client
03:15:25seydarits much easier to think about smileys on a higher level
03:15:37brixenheh
03:16:04agardinerthere are no smiley faces... just 0's and 1's
03:18:15rueThe new PPC ternary processor reserves 2 for multimedia extensions like smileys
03:18:49agardinerooh! gotta get me one of those then... i'm so tired of typing 010111001101
03:19:13agardinerso now i can just type 2? :-)
03:19:22agardinerooh look, it worked!
03:19:32rueWell, it is also a 128-bit machine
03:19:57agardinerwow! that's a lot of smiley's!
03:20:00rueSo you have 2**128 different smileys
03:20:28seydar:-)**128 different smileys... thats a lot
03:20:34seydardammit it didn't work
03:20:38seydarnobody read that
03:20:48seydar:-) **128 different smileys... thats a lot
03:21:51seydarsignal:noise = 1:Infinity
03:22:37mernen enters the room.
03:23:11headius enters the room.
03:23:24seydarso is there any hope or realization for getting ruby to be compiled to some extent more than it currently is?
03:24:26brixenyes, jit
03:24:32agardinerahead of time? probably not much. just in time, absolutely!!
03:24:52brixenseydar: if you're interested, we need some machinery for tracing code execution and association timing
03:24:56brixenso we know what to jit
03:25:18seydari dont know what those two things are, but i'm in
03:25:19brixenalso, there's a bunch of compiler opts that could even be done at the bytecode level
03:25:39brixenperformance is really simple, do less
03:25:49brixenthere's a bunch of ways to do less
03:25:49agardineractually, i think sendsites give us most of the info we need (especially once we have polymorphic inline caching)
03:25:59seydarcuz EY offered me an internship, and then pulled it back after they spoke to their lawyers, and i was thinking about writing something awesome that i could hold for ransom
03:26:01brixencompiling everything to machine code AOT is not the best way to do less
03:26:45agardinerit *is* one of the best ways to do more though! :-D
03:26:55brixenagardiner: indeed :)
03:26:55seydarhow is gnu lightning being used right now?
03:27:04agardinerits not
03:27:11agardinergot replaced by libffi
03:28:00seydarwhoooa
03:28:08seydarisn't gnu lightning jit, though?
03:28:36agardinerit can be used for that, sure
03:28:53agardinerbut Rubinius does not currently do any jit
03:29:04agardinerand we weren't using lightning for that
03:29:27agardinerwe were using it to implement FFI
03:29:49seydaroooh.
03:30:04seydarwell then YEA!!!! lets get some jitting going on
03:30:36agardinerlet's get it on...
03:30:51agardiner(is it barry white who sings that?)
03:31:11MenTaLguY enters the room.
03:31:20agardineris guessing seydar doesn't know who barry white is though :-)
03:31:44seydardude, the world didn't exist before 1992
03:31:51seydaryou all pretty much triple my age
03:32:09agardinerhehe, and i'm older than most...
03:32:36agardinerbut even i don't remember the first time barry was big (as in a hit, not weight)
03:33:58agardinerah, and it was marvin gaye, not barry white
03:34:16MenTaLguYI'm an old codger.
03:34:31agardinerhttp://www.youtube.com/watch?v=18TLHhhHZCA
03:34:54seydarhttp://www.youtube.com/watch?v=JpdFMNGKzOk
03:35:11MenTaLguYgay doesn't have white's sexy, sexy voice
03:35:14MenTaLguYer, gaye
03:35:30MenTaLguY(gee, freudian much?)
03:35:53agardineryeah, i love barry too, but marvin's pretty cool
03:36:00agardiner:-D
03:36:10agardineryou tell me?
03:39:03seydar leaves the room.
03:39:10wycats leaves the room.
03:42:03rueMenTaLguY: Have to disagree with that, Gaye > White
03:45:29headius_ enters the room.
03:46:02headius leaves the room.
03:47:42wdperson enters the room.
03:48:58nkpart leaves the room.
03:49:33nkpart enters the room.
03:49:35headiusdamn this internet...it's the phone line, gets staticky once in a while
03:49:35headiusrepair order number two I guess
03:50:41lstoll_ leaves the room.
03:50:41headiusso yeah, if you could do a JIT why couldn't you do an AOT too?
03:53:51agardinerwe do have an AOT compiler - it compiles to Rubinius bytecode :-)
03:53:58wdperson leaves the room.
03:54:32headiusthen what will the JIT compile to :P
03:54:39benburkert leaves the room.
03:55:06benburkert enters the room.
03:55:13crafterm leaves the room.
03:55:47KirinDav leaves the room.
03:56:54wycats enters the room.
03:58:10agardinerjitcode? :-)
04:01:44rueIt is a pointless argument
04:02:10rueAs I already said and brixend amended, anything can and IS compiled to machine code. Otherwise it don't run
04:02:35headiusargument/
04:02:37headius?
04:04:01headiusI was just confused by agardiner saying JIT but not AOT
04:05:08agardinerheadius: that surprises me...
04:05:37agardinerwhen jruby compiles code AOT, you compile to java bytecode right? not machine code...
04:05:53agardinerbut the JVM JIT's to machine code
04:06:27MenTaLguYIOW, the Rubinius VM is treated analagously to the JVM
04:06:35agardineryeah
04:06:40headiuswell, if there's a plan for rbx to JIT to native code, AOT should be just as possible
04:06:54MenTaLguYAOT to native, that is
04:07:01headiusyes
04:07:33MenTaLguYIOW, rbx is unlike JRuby in that you guys have total control over the entire interpreter/compiler stack at once
04:07:34KirinDav enters the room.
04:08:09dewd leaves the room.
04:08:09dgtized leaves the room.
04:08:09oweff leaves the room.
04:08:28MenTaLguYthat isn't an argument for whether rbx should directly support AOT to native, but it would be much easier for rbx to do than for JRuby to do
04:08:31rueheadius: Argument, proposition, thesis
04:08:40MenTaLguYon the other hand, AOT to native discards a lot of dynamic optimization potential
04:08:41rueNot argument, confrontation, fight
04:09:00dgtized enters the room.
04:09:16headiusjabberwocky, horsefeathers
04:09:28brixenheadius: the genesis of this is, I believe, seydar's belief that compilation of Ruby to machine code can somehow magically dispense with the code that does method dispatch
04:09:53brixenhe seems to believe that you can compile to machine code and voila performance
04:11:37brixenbetween those of us present, I don't think AOT being possible is in dispute
04:11:43dewd enters the room.
04:11:46oweff enters the room.
04:11:56KirinDav leaves the room.
04:12:00MenTaLguYthe question is whether there is any advantage to AOT to native
04:12:04MenTaLguYthere are well-known disadvantages
04:13:55headiussure, that's certainly true
04:14:28headiusI wasn't disputing whether it would be beneficial or not...just that being able to JIT implies to me you could AOT as well
04:14:36headiusto whatever format
04:15:34agardinertrue enough, i suppose, but without the runtime type feedback, the code bloat would be enormous
04:16:24headiuswhy?
04:16:34MenTaLguYI don't see why that would be the case
04:16:59headiusJRuby AOT compiles to Java bytecode, which is static-typed for all call paths
04:17:22headiusso we just compile to dynamic invocations rather than normal static ones...the same logic would work for rbx
04:17:23agardinerwell, ok - it doesn't have to be, but it complicates the compilation
04:17:47headiusa bit I guess, but the mechanisms for dynamic dispatching are already in place and written in C
04:17:56agardineryou either inline every possible path (code bloat), or "compile" the dispatch logic
04:18:26agardinerwhich is already compiled
04:18:29agardineryeag
04:18:57MenTaLguYwell, you don't want to inline everything, for many reasons
04:19:03headiusyeah, nobody would ever do that
04:19:05MenTaLguY(among other things you destroy your icache)
04:19:21headiusand you don't need to inline anything as part of AOT
04:19:55headiusone thing AOT would eliminate is all cost of walking the rbx bytecodes and maintaining the operand stack
04:20:05headiusprobably would be hard to keep it stackless though
04:20:41MenTaLguYhm, not really
04:20:50rueWould make for some interesting jumps but should be doable
04:21:52headiushard-er
04:21:54reima enters the room.
04:22:03headiushave to be constantly trampolining
04:22:19headiusand still maintain a separate artificial stack cleanly
04:22:44MenTaLguYwell, you could simply not use the C stack at all
04:25:20headiusyes, I suppose that's one option :)
04:29:23wycats leaves the room.
04:29:43wycats enters the room.
04:34:18Rich_MorinA while back, someone suggested a way to use shotgun to see what opcodes get generated (IIRC). Unfortunately, the info scrolled into never never land and I failed to jot it down. Help?
04:35:31agardinerthere are a number of ways
04:36:18agardiner1) use the debugger and the decode command, e.g. decode Foo#bar
04:36:55agardiner2) use the describe command, e.g. shotgun/rubinius describe <file>
04:38:00agardiner3) use CompiledMethod#decode, e.g. Foo.instance_method(:bar).compiled_method.decode
04:43:17headius leaves the room.
04:45:59mkescher_ leaves the room.
04:49:39mernen leaves the room.
04:50:32Rich_Morinagardiner: Thanks! This time, I made notes....
04:50:42agardinernp! :-)
04:50:45MenTaLguY leaves the room.
04:52:00lstoll enters the room.
04:58:33tlockney leaves the room.
05:03:23ezmobius enters the room.
05:14:19jayWHY enters the room.
05:17:36crafterm enters the room.
05:19:42AndrewO leaves the room.
05:25:52ezmobius leaves the room.
05:33:07nicksieger leaves the room.
05:34:36xif leaves the room.
05:37:01RyanTM leaves the room.
05:44:05xif enters the room.
05:49:32KirinDav enters the room.
05:49:35AndrewO enters the room.
05:54:15tizianobis__ enters the room.
06:02:33jayWHY leaves the room.
06:14:30tizianobis__ enters the room.
06:14:44tizianobis leaves the room.
06:24:18AndrewO leaves the room.
06:24:23joachimm enters the room.
06:33:01tizianobis__ leaves the room.
06:33:59jacen_ leaves the room.
06:56:43Yurik enters the room.
06:57:17lstoll leaves the room.
06:57:26lstoll enters the room.
06:57:59lstoll leaves the room.
06:58:11lstoll enters the room.
07:12:45joachimm leaves the room.
07:36:04trythil leaves the room.
07:52:00nkpart leaves the room.
08:07:21rueMorning
08:08:00VVSiz:)
08:08:32Maledictus enters the room.
08:11:54cypher23 enters the room.
08:15:08zimbatm enters the room.
08:30:01agardiner leaves the room.
08:30:14thehcdreamer enters the room.
08:44:08zimbatm enters the room.
08:45:06crafterm leaves the room.
08:46:28lstoll leaves the room.
08:52:00KirinDav leaves the room.
08:54:31cypher23 leaves the room.
08:57:21Yurik leaves the room.
08:58:49mutle enters the room.
09:04:07Yurik enters the room.
09:11:00Skip enters the room.
09:14:18JimMc enters the room.
09:15:45JimMc leaves the room.
09:15:51JimMc enters the room.
09:29:45imajes_ enters the room.
09:31:17yaroslav enters the room.
09:32:00qwert666 enters the room.
09:32:57naeu enters the room.
09:34:45imajes_ leaves the room.
09:48:41sauspiel enters the room.
09:59:18sauspielhey, i just build rubinius from evan's github repos according to http://rubinius.lighthouseapp.com/projects/5089/getting-started
09:59:41Arjen_ enters the room.
09:59:43sauspielnow i can start irb, but how do i run the normal ruby command
10:00:52sauspielor just rubinius filename.rb ?
10:01:21BlackEdder enters the room.
10:07:55naeusauspiel: from the rubinius root directory just run shotgun/rubinius filename.rb
10:07:56Skip leaves the room.
10:08:39sauspielok thanks
10:08:45Skip enters the room.
10:08:52sauspieldo you guys run the specs from rubinius?
10:09:01sauspielto see whats working and what is not?
10:09:52naeuyeah, if you want to see what's currently broken (compared to MRI) just run bin/mspec run spec/ruby/1.8
10:10:37sauspieli guess one has to... ;)
10:11:34sauspielrubinius mk$ ./bin/mspec run spec/ruby/1.8/
10:11:34sauspiel./bin/../mspec/scripts/mspec.rb:134:in `stat': No such file or directory -
10:12:44sauspielsorry, now it works, my fault again...
10:14:23sauspielBus violating: 0x5c05000 String#to_sym+49 in kernel/core/string.rb:1689
10:18:45lstoll enters the room.
10:19:50sauspielwhat about running rails, is there simple things i can get started with to contribute?
10:20:05sauspielare the specs complete, yet?
10:20:46dbussinkwe need a lot more specs
10:21:06dbussinkrails is not possible atm, but there are some fixes pending that would enable us to continue that effort
10:21:22dbussinkand for running specs, i'd suggest using ./bin/mspec ci
10:21:51dbussinkand only run certain parts of the whole spec directory
10:21:56dbussinkmakes it easier to pinpoint problems
10:22:13sauspielok, and how do you go about improving it? Do you load parts of rails seperatly? Like when i run rails in rubinius, it just throws an error on startup. How do i go from there to a small spec that tests the issue?
10:22:37lstoll leaves the room.
10:22:40dbussinkthat's manual work
10:23:00dbussinkbut i think rails is still to far out now, try something simpler
10:23:30dbussinkthere is a lot of stuff in stdlib/ that needs to be specced
10:23:39dbussinkwe also need more file / io / dir specs
10:23:45dbussinkand implementation stuff there
10:23:54sauspielok, i'll take a look
10:23:58dbussinkbut io implementation is not the easiest part to start with
10:24:49VVSizhi folks, anyone knows where rubygems maintainers hang out on IRC? :)
10:28:07sauspieldoes rcov work to find out whats untestet?
10:28:38dbussinksauspiel: no, we don't support that yet
10:30:29dbussinkVVSiz: afaik zenspider is one of them
10:31:05VVSizoh, thanks.
10:42:02ariekeren enters the room.
10:49:20yaroslav leaves the room.
10:51:07yaroslav enters the room.
10:51:27yaroslav leaves the room.
10:52:06yaroslav enters the room.
10:52:10chris2 enters the room.
10:56:08Maledictusmethod_missing_cv what does the _cv stand for?
11:00:47BlackEdder enters the room.
11:10:19BlackEdder leaves the room.
11:10:51BlackEdder enters the room.
11:12:42octopod enters the room.
11:36:17imajes leaves the room.
11:36:23imajes enters the room.
11:37:42dewd leaves the room.
11:54:49ariekeren leaves the room.
12:12:02wdperson enters the room.
12:14:35w1rele55 enters the room.
12:19:54jtoy leaves the room.
12:26:33thehcdreamer leaves the room.
12:30:07ctennis leaves the room.
12:32:15srbaker leaves the room.
12:32:18srbaker_ enters the room.
12:32:52srbaker_ leaves the room.
12:33:35srbaker enters the room.
12:38:28chris2 leaves the room.
12:46:36ctennis enters the room.
12:58:15thehcdreamer enters the room.
13:00:56Fullmoon enters the room.
13:04:45skaar enters the room.
13:11:49Fullmoon leaves the room.
13:27:39RyanTM enters the room.
13:34:44headius enters the room.
13:35:43headiusg'day
13:38:01naeug'day pardner
13:38:12naeuhow's the ranch?
13:39:55jtoy enters the room.
13:40:06jtoy leaves the room.
13:44:20benburkert leaves the room.
13:45:42jlindley enters the room.
13:56:21yaroslav leaves the room.
13:57:53jacen_ enters the room.
14:01:04AndrewO enters the room.
14:05:06cremes leaves the room.
14:07:23Fullmoon enters the room.
14:11:14cremes enters the room.
14:28:38macournoyer enters the room.
14:29:28riffraff enters the room.
14:36:38ruivaldo enters the room.
14:42:10fbuilesv enters the room.
14:49:55webmat enters the room.
14:54:26AndrewO leaves the room.
14:57:18cypher23 enters the room.
15:00:16d2dchat enters the room.
15:01:54wmoxam enters the room.
15:03:00binary42_ leaves the room.
15:07:13sauspiel leaves the room.
15:08:59moofbong enters the room.
15:14:41qwert666_ enters the room.
15:20:50AndrewO enters the room.
15:29:52peeja enters the room.
15:30:57qwert666 leaves the room.
15:35:47binary42 enters the room.
15:36:21shame leaves the room.
15:42:27headius leaves the room.
15:48:33binary42_ enters the room.
16:03:06headius enters the room.
16:03:32trythil enters the room.
16:03:44anonuser enters the room.
16:04:11flowolf enters the room.
16:04:56binary42 leaves the room.
16:06:43headius_ enters the room.
16:06:43headius leaves the room.
16:07:13headius_ leaves the room.
16:07:20headius enters the room.
16:07:56joachimm enters the room.
16:08:33headius leaves the room.
16:08:37headius enters the room.
16:11:25NoKarma enters the room.
16:11:34NoKarmaheya all
16:13:48fbuilesvNoKarma: Hola
16:13:58NoKarmafbuilesv: Hey :)
16:22:31headiusdrbrain: hey, need to talk to you about http://rubyforge.org/tracker/index.php?func=detail&aid=16879&group_id=126&atid=575
16:23:21KirinDav enters the room.
16:29:33djwhittI wonder is that based on users reporting problems?
16:30:07djwhittI've never had a problem with them conflicting
16:30:17headiusI don't think so, because I'm getting reports from people updating to 1.1 and getting confused why there's a 'jgem' script
16:30:19headiusyeah
16:30:36djwhittI just use jruby -S gem
16:30:45headiusif people are using JRuby they generally aren't mixing with regular ruby a whole lot...plus they can alias, -S, or manipulate PATH
16:31:39djwhittI actually use both quite a bit and it's never been a problem for me
16:32:49headiusyeah
16:33:01headiuswell, hopefully we can get it fixed this time
16:40:49cremes leaves the room.
16:41:06cremes enters the room.
16:41:34shame enters the room.
16:50:03jayWHY enters the room.
16:50:50benburkert enters the room.
16:54:06brixenMaledictus: _cv stands for (imaginatively enough) "core version". it distinguishes methods that are defined in kernel/bootstrap and overridden in kernel/core with more complete versions
16:55:43Maledictusok, thanks
16:58:22evanmorning!
16:58:57headiusevan's back!
16:59:10brixenmorning
16:59:50evanand still no bags!
16:59:52brixen"and on the eleventh day, the remote branch was created, and evan saw that it was good, and evan rested"
16:59:54evani guess i hear they're in milan
16:59:56brixen:D
17:00:05brixenyikes
17:00:44evanyes, flying into Terminal 5 in heathrow on the 2nd day it was open ranks quite low on my list of things someone should do
17:01:17headiustom and I specifically routed around heathrow because it's always pretty painful
17:01:28evani typically am fine
17:01:41evani guess i was building up shitty-ness
17:01:56headiusis the new vm branch out there?
17:02:25evanno
17:02:29evanabout to push it
17:02:51evanit's still not as far along as i'd like
17:03:05evanas in, i haven't begun to writing the actual CPU part yet
17:03:21headiusahh
17:03:23lopex enters the room.
17:03:31headiusso you're rewriting in C++?
17:03:37evanyeah
17:03:39evanwith tests
17:04:33headiusI heard a few others explain it, but what's your reason for doing C++?
17:04:53evanless of a mismatch between the VM and ruby
17:05:08evanless to write (can use STL)
17:05:13evanmore modular
17:05:58fbuilesvevan: I was wondering if I could get a commit bit, commits 3a997bc1, 09c080bf and ba2ca41c and some older ones, pastie at http://pastie.caboo.se/private/eweiy8j1zx0jlbjtveqt1w
17:06:32evanheadius: also, i can make the VM parts more strongly typed
17:07:00evanheadius: i'll see when I commit it, but what i've done is map the set of ruby classes that the VM has knowledge of to C++ classes
17:07:24evanso there is stuff like
17:07:35evanArray* ary = other->concat(state, something)
17:07:53evanfbuilesv: sure, i'll add ya now.
17:07:58headiussure, but you could do that with structs
17:07:59fbuilesvevan: tyvm
17:08:09mutle leaves the room.
17:08:16evanheadius: it's A LOT messier
17:08:17evani tried.
17:08:24headiusthe STL thing is probably a good enough reason, if you keep tabs on the template bloat
17:08:35evanso messy, that you just stop doing it pretty quickly
17:08:44headiuserror messages are bloody awful too, last time I used it
17:08:50evanyeah
17:08:52evanstill the case.
17:09:30fbuilesvWeird, as you say that I was just reading "C++: an octopus made by nailing extra legs to a dog" in http://steve.yegge.googlepages.com/choosing-languages :-)
17:09:57evanheh
17:10:02evanit's a tool, like any other.
17:10:07tlockney enters the room.
17:10:14evani'm not going to start writing in C++, thats for sure
17:10:21evanbut it's making the internals of the VM better.
17:10:36headiusyeah, C++ is pretty gross unless you limit yourself to a reasonable subset of features
17:10:45evanthats what i'm doing.
17:10:54fbuilesvevan: I'm sure of that, and as headius said, as long as ppl doesn't go "C++ crazy" it might make the code more understandablel
17:10:56headiusso I guess a more pointed question...why now?
17:11:02fbuilesvunderstandable*
17:11:21headiuswhat with railsconf 1.5 months away
17:11:35evanheadius: the eval order change turned out to be huge.
17:11:57headiusthat sucks...I figured it would be nontrivial, but why was it so bad?
17:12:00evanhuge enough that it was beginning quite hard to validate that everything was done correctly
17:12:07evanand i'd hit my pain point of not having VM tests
17:12:14headiusahh sure
17:12:26evanso i just bit the bullet
17:12:28headiussince everything had a specific order in mind, and there were no tests that confirmed that order...
17:12:40evanright
17:12:52evanthe new VM will have 100% test coverage
17:13:03evansomething that can be verified by daing 'make coverage'
17:13:25MaledictusWill there be C code left when you're finished?
17:13:35evanhow do ya mean
17:13:35evan?
17:14:08MaledictusDid I get it that you are rewriting stuff in C++?
17:14:12evanyep
17:14:25Maledictuseverything?
17:14:31evanpretty much all the code in the current vm will be touched
17:15:32Maledictusso when you're done the g++ compiler is used for everything instead of gcc?
17:15:47evanit's looking that way, yes.
17:15:55Maledictusok :)
17:17:34wmoxam leaves the room.
17:18:18Maledictusand that code is only under shotgun/ ?
17:18:28evanthe current vm is, yes.
17:21:31wmoxam enters the room.
17:28:13fbuilesv__ leaves the room.
17:29:21headius leaves the room.
17:30:26evanok
17:30:30evannew cpp branch was pushed
17:30:45evanit's not currently been merged with head
17:30:54evanie, i haven't pulled head changes into it
17:31:22brixencool!
17:31:36thehcdreamer leaves the room.
17:32:19evanto run the specs, in that branch, you need to install rbx from a working branch
17:32:22evanthen use
17:32:30evanbin/mspec run -tX spec/compiler
17:32:42evanbig X is added to run rbx, rather than shotgun/rubinius
17:33:10brixenevan: heh, I just made that change locally yesterday :)
17:33:51evanheh
17:34:57brixenhow are we going to track all the changes we've made to shotgun in the interim?
17:35:05brixenI doubt anything is going to merge
17:35:08trythilevan: hmm, when I run that mspec command I get http://pastie.caboo.se/176591
17:35:20trythilI think I'm missing something obvious, not sure what though :P
17:35:34Fullmoon leaves the room.
17:35:41evantrythil: oh, ack. i made that change but didn't commit it
17:35:48evanpp needs to be moved to lib from stdlib
17:35:50trythiloh, ok
17:35:51djwhitttest coverage for the vm. that's hot
17:35:52evanso it's present when installed
17:36:09evanbrixen: we're going to just have to bit by hand
17:36:15evanbrixen: git will help
17:36:17KirinDav leaves the room.
17:36:20brixenevan: ok, that's what I figured
17:36:30evanthats ok, because we'll need to write tests for the changes introduced anyway
17:36:40brixensure
17:36:50evanmake coverage is pretty dope
17:37:02naeu leaves the room.
17:37:04evanit's using some perl script that a guy wrote to check out the coverage of the linux kernel
17:38:02evanalso, please read vm/README
17:38:08djwhittI really like the builtins being objects (reading the code now)
17:38:19djwhittI mean C++ objects
17:38:23evanyep
17:38:25evanme too
17:38:54djwhittI wasn't too deep into the C code, but so far I think the C++ is more readable
17:39:00djwhittat least for people who know some C++ :)
17:39:24evanhopefully we never use C++ thats super complicated.
17:39:46djwhittI think having VM test coverage will be key to help get newbies like myself contributing to the VM code
17:39:51evani've typedef'd out vector<> usage mostly too
17:40:03evantypedef ObjectList vector<OBJECT>
17:40:27evandjwhitt: thats my hope
17:40:38evanhaving test coverage means that people feel more open to experiment
17:41:02mk_ enters the room.
17:41:09djwhittwell, looks sweet so far. I can't wait till it's in the main branch
17:42:21evanme too
17:42:37trythilyeah, one thing I really like about the C++ VM is that the architecture is a bit clearer imo
17:43:00trythillike I can (sort of) see how the garbage collectors plug in, couldn't really grok that before
17:43:32djwhittevan, what C++ references are you using while working on this?
17:43:44evanthe c++ fag
17:43:45evaner.
17:43:46evanfaq.
17:43:48evanheh
17:43:56evanis the main one
17:43:59fbuilesv leaves the room.
17:44:09djwhitthttp://www.parashift.com/c++-faq-lite/ <- that one ?
17:44:12evani did c++ back 10 years ago, so i've dredged up knowledge
17:44:13evanyep
17:44:23evantrythil: yep
17:46:24imajesevan: yo
17:46:47benburkert leaves the room.
17:48:16mkare you rewriting the c stuff in c++?
17:48:49Defilerevan: What is the 'correct' git way to make a local branch that follows a remote branch?
17:48:59Defilergit checkout --track -b origin/cpp some_name ?
17:49:06evanyeah
17:49:31mk isnt it git checkout --track -b some_name origin/cpp ?
17:49:46VVSizit think git by default tracks the branches originated from remote ones, so there is no need for --track(?)
17:49:48evanmk_: yes, it is.
17:49:49trythilgit branch --track local remote, I think
17:49:51DefilerAah, indeed it is
17:49:54trythilor, yeah
17:50:10evanyeah, i don't think track is needed anymore
17:50:18evanit tracks by default now
17:51:08binary42_ leaves the room.
17:51:13mkwhere can i find the cpp branchß
17:51:14mk?
17:51:49DefilerJust fetching the latest from the repository will get it
17:51:57DefilerIt isn't a separate URL
17:52:18mkso its git://github.com/evanphx/rubinius.git ?
17:52:36mkno checkins for the last month?
17:53:05imajesevan: msg?
17:53:18Arjen_ leaves the room.
17:53:21evanyep
17:53:28djwhittmk_: use git.rubini.us
17:53:31Defilermk_: Not at github
17:53:38mkah, k
17:53:39evanmk_: i'll fix github today to be an active mirror
17:54:34flowolf leaves the room.
17:55:06mki'd like to try to contribute, any recommendations on where to start?
17:55:18imajesare you familiar with rspec/specs at all?
17:55:23mkyes
17:55:31evanok, i have to go pick up fog from the kitty hotel!
17:55:47mkso writing specs is the easiest to start?
17:55:50imajesyep!
17:55:55evanbbiab
17:55:58imajeswrite specs for areas of ruby you like to get into
17:56:20Fullmoon enters the room.
17:56:24djwhittmk_: there's lot of stuff in stdlib that still needs work
17:57:31djwhittmk_: I recommend checking out http://rubinius.lighthouseapp.com/projects/5089/developer-readme and http://rubinius.lighthouseapp.com/projects/5089/contribute
17:57:31mklet me just get the gitorious version....
17:57:43mki should be able to switch the origin somehow, right? ;)
18:00:54benburkert enters the room.
18:03:12Fullmoon leaves the room.
18:04:42headius enters the room.
18:05:43headiusback again
18:05:45headiusphone man had to cut the line to replace a wire
18:05:47headiusevan: so tests written in C then?
18:06:23binary42 enters the room.
18:06:34KirinDav enters the room.
18:07:01Maledictusevan is gone for now. will be bbiab
18:07:20KirinDav_ enters the room.
18:07:46mkgit clone http://git.rubini.us/code is correct, right?
18:07:59headiusokeedoke
18:08:14d2dchat leaves the room.
18:08:14Maledictusmk_: for the master branch yes
18:08:20djwhittheadius: looks like the tests are in C++
18:08:27djwhitthttp://git.rubini.us/?p=code;a=commitdiff;h=d769c944b210a1f2df59ea179e896856e1ae93ae#patch150
18:09:34djwhitthe seems to be using cxxtest and lcov
18:09:41TheVoice enters the room.
18:09:43headiuswow, lot of code
18:09:54imajes leaves the room.
18:11:21djwhittindeed
18:20:22wycats leaves the room.
18:22:22KirinDav leaves the room.
18:32:00thehcdreamer enters the room.
18:36:22wycats enters the room.
18:40:32loincloth enters the room.
18:41:40d2dchat enters the room.
18:49:54dysinger enters the room.
18:50:06ciscbrain enters the room.
18:50:12mk_ leaves the room.
18:51:53xmlhacker_ leaves the room.
18:55:40xmlhacker enters the room.
19:03:21mk_ enters the room.
19:04:56naeu enters the room.
19:06:56macournoyer leaves the room.
19:07:19macournoyer enters the room.
19:07:58thehcdreamer leaves the room.
19:08:32thehcdreamer enters the room.
19:13:47evanback
19:13:53joachimm leaves the room.
19:13:59jayWHY enters the room.
19:15:06naeuhey evan, how was the trip back?
19:15:17naeuSorry I didn't get to say goodbye at the end...
19:15:30naeuyou all seemed to vanish after the panel thingy
19:15:45naeupoof
19:16:52evannaeu: no prob
19:17:01evangood to see ya
19:17:34Rich_Morin___ enters the room.
19:17:35naeuthanks for answering all my questions too :-)
19:17:52evanno prob
19:17:53naeusofa time with evan is always good quality time :-)
19:17:54naeuhehe
19:17:57evanhehe
19:18:09evanyou've got a commit in, so if you send me your ssh key, i'll add ya to the committers
19:18:31naeuwant me to write it down and send it in the post?
19:18:53evanpastie it is the best
19:18:57evanthe .pub half
19:19:02naeuof course ;-)
19:19:51naeui'd never put my privates on the web for all to gawp at
19:20:20naeuit doesn't do much for me
19:20:44evanhehe
19:21:04evanpoor fog, i don't think she got played with much at all at the kennel
19:21:20evanshe's using her 'look at meee!' meow a lot
19:23:12naeuevan: http://pastie.caboo.se/176662
19:24:36tarcierihey evan, wb
19:25:43evantarcieri: thanks
19:26:05evanha! pastie_packer
19:26:17tarcierievan: so can you hook me up with commit access?
19:26:33evansure
19:26:36evangot a ssh pub key?
19:26:38tarciericool
19:26:39tarcieriyeah
19:26:57evannaeu: ok, added!
19:27:07tarcieriprivmsg fine, or do you want it pastied or something?
19:27:10naeuevan: cool, thanks
19:27:18naeunic will be proud too
19:27:21naeuhis tools used!
19:29:24evantarcieri: pastie is easiest
19:29:53tarcieriok
19:30:36naeuright, just finished cooking curry, i'd better eat it
19:30:39naeucheerio
19:31:39Rich_Morin leaves the room.
19:33:36riffraff leaves the room.
19:34:21riffraff enters the room.
19:36:11tarcierievan: so I hear you were thinking about letting Scheduler.send_on_readable/writable accept an arbitrary object to be sent to the channel when the event occurs, or something like that?
19:36:37tarcierievan: I was trying to write a simple Reactor implementation and ran into the problem of multiplexing read and write events on the same channel
19:37:30mk_ leaves the room.
19:39:26evanit was discussed long ago
19:39:28evanyeah
19:39:40evanlike a typically void* data parameter that gets passed along
19:40:04evanit hasn't been talked about lately though
19:40:08evanor if it was, i wasn't here
19:48:16riffraff leaves the room.
19:49:33antares enters the room.
19:49:49mk_ enters the room.
19:51:14ciscbrain leaves the room.
19:56:07Defilerevan: I am getting this on the cpp branch: http://rafb.net/p/7GpDNu65.html
19:56:18Defilerevan: That is after a clean and a distclean, even
19:56:55evanno no
19:57:01evanall of that is totally busted
19:57:04Defileraah
19:57:10evanthe only thing that works is in vm/test
19:57:12evanmake test
19:57:14evanand
19:57:16evanmake coverage
19:58:28antaresevan: what's the location of cpp branch? :)
19:59:05evanantares: git checkout -b cpp origin/cpp
19:59:26halorgiumevan: git checkout --track -b cpp origin/cpp
19:59:41evani didn't think you needed --track anymore
19:59:43evanit's the default
20:00:25halorgiumyou are correct, i will stab that person yesterday who corrected me :(
20:00:39evanhehe
20:04:56Fobaxhow is the cpp branch going?
20:05:39evani didn't have much time to work on it last week
20:06:16thehcdreamer leaves the room.
20:13:00imajes enters the room.
20:13:33joachimm enters the room.
20:13:53stepheneb enters the room.
20:15:16naeu leaves the room.
20:15:23naeu enters the room.
20:19:48boyscout1 commit by Jeff
20:19:49boyscout * Adding specs for Mailbox and Actor, and renaming the VMActor describe to match the ...; 67d3869
20:25:47boyscout7 commits by Brian Ford
20:25:48boyscout * Reworked how MSpec handles config files. Use 'set :sym, value' now.; 2460839
20:25:49boyscout * More specs for MSpec scripts.; 3e5eb86
20:25:50boyscout * Split mspec target options 'x', 'rubinius' from 'X', 'rbx'.; 8b1f515
20:25:51boyscout * Added beginning specs for MSpec scripts.; 6d218e9
20:25:53boyscout * Tweak MSpec scripts display version option.; f30bd6c
20:25:54boyscout ...
20:26:11brixenVVSiz: you around?
20:26:41VVSizbrixen: yeah
20:27:01brixenVVSiz: check out those commits if you're using the config file
20:27:13brixenVVSiz: I changed it up a bit, cleaner now
20:27:24VVSizoh, nice. thanks, will do!
20:27:36brixenVVSiz: I'll hopefully tweak on the windows compat this week
20:27:45VVSizthat would be *SUPER* :)
20:27:50brixenok :)
20:28:20Arjen_ enters the room.
20:31:02VVSizbrixen: so, mspec looks into ./default.mspec first and then spec/default.mspec?
20:32:48VVSizbrixen: as for mkspec, it still creates specs failing by default, doesn't it?
20:34:51brixenVVSiz: yeah, haven't gotten to mkspec yet, next on the list
20:35:00VVSizcool, just checking
20:35:17dysinger leaves the room.
20:35:58rubuildius_amd64Brian Ford: 2460839e3; 1855 files, 6387 examples, 22451 expectations, 0 failures, 0 errors; http://rafb.net/p/JLVX5b15.html
20:35:59rubuildius_amd64Jeff: 67d3869e9; 1855 files, 6387 examples, 22451 expectations, 0 failures, 0 errors; http://rafb.net/p/a9xdJE94.html
20:36:42rueMorning
20:36:48brixenmorning rue
20:36:50djwhittmorning?
20:36:57qwert666__ enters the room.
20:37:02headiusmorning!
20:37:14rubuildius_ppcBrian Ford: 2460839e3; 1855 files, 6390 examples, 22480 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/176730
20:37:16rubuildius_ppcJeff: 67d3869e9; 1855 files, 6390 examples, 22480 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/176725
20:39:34naeu leaves the room.
20:41:21rueIsh
20:43:04evanlunch time!
20:44:58brixenindeed
20:48:20ezmobius enters the room.
20:49:07tobyo enters the room.
20:54:48wycats__ enters the room.
20:56:18VVSizbrixen: is there a way to enable a bit more verboseness out of mspec to see where it loads the data from?
20:56:21qwert666_ leaves the room.
20:58:43rueQuite easily, but you may have to add it
20:59:53brixenVVSiz: which data? the config?
21:00:04tarcierianyone here symlink git commands to abbreviations at all?
21:00:16tarcieritrying to make "git st" and it won't work for whatever reason
21:00:34VVSizbrixen: yeah, the configuration data
21:00:59brixentarcieri: a little dusty, but kinda cool: http://git.rubini.us/?p=apps/gx;a=summary
21:01:04</