Index

Show enters and exits. Hide enters and exits.

00:01:44antaresagardiner: and I found present bits of object memory and gc code much easier to understand now
00:02:17agardineryeah, writing object stuff in cpp is definitely a better fir!
00:02:23agardinerer, fit
00:02:40evanagardiner: you'll be able to reuse all your knowledge :)
00:02:59agardinerhehe, yeah, just have to figure out where things have moved
00:02:59antaresevan: is there a chance for a bit better docs on cpp branch? is it a good idea to contribute them as you go with this grand rewrite?
00:03:15evantarcieri: the cpp branch is mainly about 2 things: moving the logic to c++ and fixing eval order
00:03:19agardinerso, since this is effectively a rewrite of the VM, we need a new name...
00:03:23evanantares: PLEASE
00:03:26evanantares: yes!
00:03:28evani love that idea
00:03:42evani was talking with Dave Thomas last week also about rdoc in kernel/
00:03:56smparke1 enters the room.
00:03:59evanand we need to go back in and fully bacfill all rdoc into there
00:04:04evanbackfill
00:04:07agardineragreed!
00:04:16antaresevan: ok I'll try to catch up and contribute docs as things push forward.
00:05:59dgtizedI wish we could keep the actual rdoc text seperate from the codebase
00:06:14agardinercan i also make a suggestion regading kernel doc? i think we should tag any method's that are not part of the MRI-defined interface in some way
00:06:28dgtizedI know it's supposed to be intelligent comments, but it makes it harder to read the code in my opinion
00:06:30evandgtized: i don't think thats in the cards for now
00:06:55evani want to keep the kernel/ like most of the rest of the ruby code in existance
00:06:58drbraindgtized: you can use -- to turn off RDoc
00:07:01evanand that is using rdoc via inline comments
00:07:09ruedgtized: You could define the comments to be the same colour as your background ;)
00:07:15evanplus, i've yet to see a good counter to inline docs
00:07:31evanagardiner: yes, sounds good. drbrain talked about being able to add new rdoc template tags
00:07:42rueOr we could start folding
00:08:01dgtizedevan: code per screen page, you can only fit so much and big comments like that just eat that like crazy
00:08:04evanagardiner: perhaps we need one where we can apply text tags to methods, or just a rdoc template tag for mri
00:08:19evandgtized: use folding
00:08:21evanor tags
00:08:28evanctags that is
00:08:32dgtizedanyway, I know my opinion on this is generally in the minority so I will shut up now -- I just wish there was a cleaner way
00:08:56evandgtized: i'm willing to entertain a new way, but it needs to be proven
00:09:09evani don't feel like using rubinius as a test bed for that kind of thing atm
00:09:20dgtizedI mean if we just had a .rdoc file for every .rb file
00:09:30dgtizedbut I understand how that can desynchronize easily
00:09:46djwhittdgtized: can't you just configure your editor to fold the comments by default?
00:09:54agardineryeah, its the synchronicity that kills having the doc elsewhere in my view
00:09:57djwhittvim and emacs could both be setup to do that
00:10:08drbrainhttp://rafb.net/p/dJqUtc32.html
00:10:15dgtizeddjwhitt: because I don't want it to fold all comments, just the ones that are huge and distracting
00:10:44lorenzod8n enters the room.
00:11:02djwhittdgtized: what editor do you use?
00:11:06dgtizeddjwhitt: emacs
00:11:26agardinerdrbrain: i notice your style is to leave a blank line between the comment and the method name...
00:11:44agardinerwhereas i normally put the comment directly above
00:11:44drbrainagardiner: it is, as much of the original RDoc is that way
00:11:48evanagardiner: mine too
00:11:57evani think thats more visually pleasing
00:12:03agardinerdoes it matter?
00:12:11drbrainto RDoc, no
00:12:21agardineri.e. should we agree a standard approach to all follow?
00:12:33agardineror use it like a signature :-)
00:13:26djwhittdgtized: eh, never mind then. no idea how that stuff works in emacs (I use vim)
00:14:32dgtizeddjwhitt: there are a couple of folding modes for emacs, I've never been too happy with them though -- but either way, there is a set of code comments that I want, which are the ones pertinent to the code at hand, and there is a set that I want seperate, which is the interface documentation level
00:14:57dgtizeddjwhitt: and I definitely have never seen folding that is smart about those two types of comments
00:16:05drbrain(in my past above, the stuff between -- and ++ doesn't go into ri/rdoc)
00:16:06djwhittdgtized: well, I'm pretty sure I could whip up something in vim that relies on the length of the comment, but I won't bother since you're using emacs
00:16:06rueSplit the difference: put an empty comment line there rather than no line or an empty line
00:16:08drbrainpaste
00:16:47dgtizedanyway, as I said, I understand the advantage of having them side by side for ensuring the documentation matches the code, I just wish it didn't interfere with the code so much
00:16:49evani like the empty line because visually, it makes the definition line 'pop'
00:17:22Arjen_ leaves the room.
00:17:24evandgtized: one day, we'll have an object editor
00:17:38evandgtized: and be able to model it any number of ways
00:17:48agardinerok, i'm happy to conform - an empty line it is
00:17:48drbrainevan: I agree with that statement
00:18:32dgtizedit's too bad there is no wiki like code editor -- with some type of parallel annotation track
00:19:34dgtizedeither way it would be too slow to edit anyway because I'm sure the annotation part would be fancier then the actual editing which is sort of the more important part
00:19:50dgtizedanyway -- I guess I'm just grouching about something that prolly has no good solution yet, some day though
00:19:59rubuildius_ppc enters the room.
00:20:12evandgtized: it's ok, i bitch in here too
00:20:49Defilerdgtized: http://www.litterary.com/
00:21:15Defilerdgtized: They have a really cool UI that seems like it would be pretty easy to use for code
00:21:54evandgtized: perhaps if you're interested
00:22:21evandgtized: writing an rdoc output engine that formatted things the way you like would be useful
00:22:37evandgtized: then you could just read the code in that format mainly
00:22:47evanif it's the reading of the code you're most concerned with
00:23:02dgtizedevan: no it's more the writing/editing of the code with the comments in the way that concerns me
00:23:36imajes_ leaves the room.
00:24:11imajes_ enters the room.
00:24:39dgtizedevan: though on the flip side, I will say I've never really found rdoc output to be an exceptionally useful way to learn how to use a library -- it's really useful for looking up some specific function and how to use it, but it's not good for higher level documentation about how things fit together -- it suffers from the man page problem of being really accurate reference on code so long as you know the name in the first place
00:25:25evandgtized: you should try doing up a rdoc output engine that you like
00:25:30evani'm sure it would be useful
00:25:46evancode (as data) modelling isn't something that we do enough of
00:26:10dgtizedevan: but the problem is not just how it's formatted when it's coming out, I just feel like the documentation that is provided is useful only if you know what you are looking for -- it's poor at teaching you the library as a whole
00:26:14evanah
00:26:16evangotcha
00:26:25evanwell, thats a plain old documentation problem
00:26:40imajes_ leaves the room.
00:27:15dgtizedI do have an idea of what ruby needs for this type of thing though -- it probably needs a smalltalk style editor
00:28:01drbrainI try to put the how-to documentation in the appropriate class' documentation,
00:28:20drbrainwith a synopsis in the README.txt to get you started
00:28:37dgtizeddrbrain: yea -- some libraries do a good job of that, but it's quite frequent that people decide they documented there code just because they put rdoc comments on each method
00:29:01imajes__ enters the room.
00:29:43dgtizedthe thing with the smalltalk style editor is you only edit a single function at a time anyway, so it's fine to have the documentation next to it in the file, and you can switch to/from documentation and code view rapidly
00:30:20evandgtized: thats what i mean by an object editor
00:30:31dgtizedevan: ok, that's kind of what I thought but I wasn't certain
00:31:15dgtizeddoes that work properly if you aren't dealing with a live system though?
00:31:21rubuildius_ppcBrian Ford: ddf72d434; 1855 files, 6390 examples, 22480 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/176897
00:31:46dgtizedas in does that require everything to be live and running in order to see every single piece of code attached to an object?
00:33:12evandgtized: the smalltalk version does
00:33:29evanbut since we're talking about a hypothetical piece of software, it doesn't have to!
00:33:31evan:)
00:33:59djwhittFactor has a really interesting take on the whole thing
00:34:26djwhittit's image based with a code browser, but saves code in files
00:34:39djwhittand ties into whatever editor you already use (emacs, vim, etc.)
00:35:08agardinerso, what are we calling this shiny new VM... shotgun2? machinegun? "laser" (with Dr Evil finger quotes)?
00:35:25djwhittI haven't done much with it, but it seems to have some really interesting ideas (Factor that is)
00:35:44drbrainRemmington
00:35:57agardinerWinchester?
00:36:08rm enters the room.
00:36:18drbrainBuck
00:36:22dgtizedglock?
00:36:44agardinerVerMillion?
00:36:44drbrainI hate glocks, they twist in my hand too much
00:37:00drbrainlike they're trying to escape
00:37:08fbuilesv leaves the room.
00:37:09federico_ enters the room.
00:38:06therealadam leaves the room.
00:38:09dgtizedevan: wait, I just thought of something -- Rubinius does actually have the associated code for each method stored in the method right?
00:38:24evandgtized: the original text?
00:38:32dgtizedevan: yea
00:38:36evannot currently
00:38:43evanbut some people asked about it at rubyfools
00:38:51evanwe could add it pretty easily
00:38:59evanwe could add the sexp even easier
00:39:07agardineri vote for the sexp
00:39:11agardinermuch more useful
00:39:24dgtizedevan: could save/compile back to that slot without reloading the whole file?
00:39:58headiuswhat about SCRIPT_LINES__
00:40:10dgtizedheadius: SCRIPT_LINES doesn't give you the context
00:40:21rueevan: Sidenote, if you add the github repo as a remote, you can set it as an automatic push
00:40:34rueI have been trying to keep mine up to date
00:40:37evanoh, thanks for reminding me
00:40:40evani'll do that now
00:40:55evani have to add it to the post-push hook on hoshi
00:41:25dgtizedif we have the raw text in the slot, shouldn't recalculating the sexp for the method be trivial?
00:42:07dgtizedand if we never save the code as a sexp then it doesn't really make sense to consider that the raw form, not to say we shouldn't munge the hell out of the sexp, but it's not what one would save afterwards
00:42:39trythil leaves the room.
00:42:41agardinerthe sexp is much easier to manipulate via code though
00:43:09dgtizedI guess I'm just thinking it would be awesome if you were in irb, and you could type edit Compile.compile
00:43:34dgtizedand it would drop you into an editor with just that method, and it's documentation, nothing else from that class
00:43:51dgtizedand when you save and exit from the editor it dynamically reloads that method
00:43:56fbuilesvrue: how? I'm about to fork off you since evan's repository was pretty old last time I checked
00:44:03dgtizednow obviously some things require a more high level reload
00:44:25AndrewO enters the room.
00:44:30halorgiu1_ enters the room.
00:44:32dgtizedbut I'm talking about lisp/smalltalk style editing of a running instance
00:44:42rueevan: Also, would it be time to re-baptise the VM? Shotgun is the C version of the original, after all :)
00:44:43halorgium leaves the room.
00:45:09rue"BFG" maybe?
00:45:34evandgtized: it would work for some things, but it breaks done in same cases
00:45:35agardinerdgtized: i dislike the idea of having source code you manipulate on a method rather than in the file... how do you ensure the two are kept in sych?
00:45:46evanrue: heh
00:46:38dgtizedagardiner: if we dump out the rba image when the application "quits"
00:46:57dgtizedagardiner: you wouldn't ever see the raw text files
00:47:02rueCxxtest uses a forking model, right?
00:47:07evanno
00:47:12evanit just crashes
00:47:17evanif the test crashes
00:47:17djwhitthah!
00:48:01agardinerdgtized: well, i think a sexp is a more compact representation, and also one that could probably be used to generate source code easily enough
00:48:33dgtizedagardiner: so you include the comments in the parsed sexp?
00:48:52agardinernot yet we don't, but i imagine it could be done
00:49:20agardinerperhaps we are thinking about different problems though...
00:49:21dgtizedhas anyone seen the in browser code editor for smalltalk seaside?
00:49:29dgtizedagardiner: I think so
00:49:58dgtizedagardiner: though I definitely see the advantage for sexp if you wanted to run macro's on it
00:50:08agardineryeah, that's what i'm thinking of
00:50:09halorgiumdgtized: yip
00:50:31dgtizedagardiner: however, it still seems like you want a ground truth layer that you always presume the code comes in prior to operating a bunch of macro's on it
00:50:53dgtizedagardiner: I guess that's why I thought text would be most appropriate and not the sexp
00:51:13dgtizedagardiner: because the sexp of the method as it finally runs is not necessarily easily readable
00:51:24dgtizedagardiner: or human editable
00:52:10agardineryeah, i don't see it being edited by hand
00:52:54agardinerbut i also figure the source .rb is normally available...
00:53:44agardinerand having the source be able to get out of synch with whats in the machine troubles me...
00:53:52reima leaves the room.
00:54:28dgtizedagardiner: I guess I'm talking about using raw source to bootstrap a machine image and then just running a live machine from then on out
00:54:48agardinerok, so you want a smalltalk image type thing
00:54:48dgtizedthat's what a smalltalk image does
00:54:51dgtizedyea
00:55:03agardineri get that, but it seems like a big departure from standard Ruby
00:55:24dgtizedI'm not saying that we would always do that, but I think it would be a really interesting thing to support
00:55:26evanplus, which is one thing that seemed to hamper smalltalk, you can't keep your code in source control then
00:55:39dgtizedevan: they have source control built into there image format
00:55:42evanor rather, it's much harder to keep it in source control
00:55:52evandgtized: yeah, and it sucks ass from what i've heard
00:56:13dgtizedevan: ok, I haven't played with it that much so I'm less aware of how that worked
00:56:25agardineri like the idea of supporting an image format for quick startup, pause/suspend, etc
00:56:52agardinerbut i would want the source kept in text files, personally
00:56:56dgtizedit seems like it would be a nice way to deal with crap like rubygems taking forever on your load time
00:56:59stepheneb enters the room.
00:57:26dgtizeddgtized: as in you just load in an image and then run your program, so you only need two fstat calls
00:57:27agardineryeah, definitely dig the idea of just dumping an image file
00:58:01agardinerbut that doesn't have to mandate keeping the source in the image
00:58:07djwhittagardiner: Factor does exactly what you suggest
00:58:49agardinerprovided you have nice reload/unload capabilities, you should still be able to modify your image after its loaded
00:59:23agardinerdjwhitt: cool! isn't factor the thing zed is into now?
00:59:50djwhittagardiner: yeah, I haven't dug into it too deeply, but I loaded it up and played with it a bit
01:00:14agardineryeah, i think i glanced at the website once...
01:00:18djwhittagardiner: http://factorcode.org/
01:00:23djwhittit's super easy to get it running
01:00:27djwhittat least on my Linux box
01:01:05djwhittI'm not sure I'm into actually learning the language, but it is a really interesting system
01:01:24djwhitta lot of good/unique ideas
01:01:34dgtizedhey has anyone tried running strace on bin/mspec ci
01:01:59headius leaves the room.
01:02:03dgtizedand compare to MRI
01:02:10headius enters the room.
01:03:10headius leaves the room.
01:03:21headius enters the room.
01:04:29dgtizedalso for that matter, why does bin/mspec ci -tr have so much problems?
01:07:08rueIt runs !spec/ruby also
01:07:09kamal_farizi believe brixen says that ci is for rbx, not mri
01:07:24kamal_farizhe removed the ability to do -tr for ci, but drbrain put it back in
01:07:54drbrainonly for easier command-line editing
01:08:39evanit should go back in as refusing to run
01:08:45evandrbrain: you should use mspec run for that
01:08:47evannot mspec ci
01:09:09drbrainyes, I think I have cured myself of my evil ways
01:09:23dgtizedah
01:10:36dgtizedwhy is it rubinius makes like 15 stat calls for timer.rb/timer.rbc?
01:10:47dgtizedthat all fail each time?
01:11:04evanit's looking for it
01:11:08evannotice that the path is changing
01:11:20dgtizedright, and then it's changing from .rb, .rbc, .so
01:11:25agile enters the room.
01:11:36dgtizedis there anyway to make that faster, or cached?
01:11:40evannope
01:11:59evanit by definition needs to ask the OS everytime
01:13:23rueUnless you can decree it is in a certain location always
01:13:24dgtizedoh the next weapon in quack after shotgun is nailgun so you could use that as the vm name
01:13:32dgtizedquake not quack
01:13:48dgtizedI don't remember what it was in doom
01:16:24dgtizedchaingun maybe?
01:16:56evanperhaps we should go with something less violent
01:17:09evanit was actually shotgun because of an initial naming theme i had
01:17:12drbrainRabbit
01:17:16evancodenames of agents from Alias
01:17:36dgtizedfair enough, I was just extrapolating from the instance of it being a gun
01:17:37drbrainshotgun -> rabbit -> stew pot
01:17:48rueHrm
01:18:03ruescraps "eyeball gouging spoon"
01:18:18dgtizedshotgun++?
01:20:08rueREFERENCE2_P?
01:20:26evanwhat about it?
01:21:07agardinerscarlet? vermillion?
01:21:08rueSlightly ambiguous :)
01:22:06kw enters the room.
01:22:30rueNaming convention in general, UpperCase for classes and structs, snake_case for methods? Underscores for instance variables?
01:23:07dgtizedevan: after the stat's that fail there are 2 more stats each to the succeeding .rb and .rbc files, and one to /etc/localtime
01:23:15rueCannot remember which lib it was but it was funny, they used at_varname for instance variables :P
01:23:44jlindley enters the room.
01:24:05cored enters the room.
01:24:28dgtizedevan: http://www.pastie.org/176927
01:24:50evandgtized: ok, so what?
01:24:54evanwhat are you debugging?
01:25:06dgtizedevan: I'm thinking that our code for checking the timestamp in order to recompile
01:25:35dgtizedevan: is making more stat calls then necessary -- I'm just wondering about things that are probably slowing down rbx load times
01:25:35rueIs open() calling that fstat()?
01:26:19evandgtized: it's possible
01:26:29evanchecking at the strace level is only one tool though
01:26:36evansince a lot of libc functions use stat internally
01:26:51evanso it's hard to know sometimes if it's us doing it directly or something like fopen
01:26:59evanwhich is used internally
01:27:07dgtizedevan: shouldn't that show up as an fopen in the strace though?
01:27:14tarcierithought strace traced system calls, not libc calls
01:27:37rueYay bitfields
01:27:38dgtizedoh, I forgot about that -- fair enough
01:28:26headiusdrbrain: I don't know what susan potter is talking about, but we'd *really* like that fix made
01:28:46headiuswe've been shipping with rubygems in JRuby for over a year with the script as 'gem' and it was changed in RubyGems without anyone asking us
01:28:52trythil enters the room.
01:35:37dgtizedI really like gem as a subcommand of rbx, it's too bad it isn't the solution for jruby, ruby1.9, and ruby1.8
01:36:39rueOh, and get_foo()/set_foo() vs. overloaded foo([arg]) ?
01:37:14binary42 enters the room.
01:37:43headiusdgtized: jruby -S gem
01:37:51headiusI'm not sure why rbx didn't just use the same form
01:37:54headiussince it's a standard ruby flag
01:38:04evanwhat is?
01:38:06headius-S
01:38:09evanit is?
01:38:11headiusyep
01:38:18evanhuh
01:38:20evanso it is.
01:38:28evanbecause it's uglier
01:38:29evan:)
01:38:33headiusthe behavior is to run the script in PATH, but we modified it slightly to check JRuby's bin dir first
01:38:38headiusevan: like eval order, eh?
01:39:03evantakes headius's shit stiring spoon away
01:39:06dodecaphonic_ enters the room.
01:39:23headiusyou walked right into that one
01:39:26fbuilesvhha
01:39:27evannot really
01:39:36evansince i'm changing all the eval order stuff
01:39:44headiusfwiw I like rbx way better too
01:39:54dodecaphonic leaves the room.
01:39:57evanso do it
01:40:05headiusthough it's a little odd to have special behavior for what comes there
01:40:10headiuswithout a - or something
01:40:10evannah
01:40:14evanpeople are used to sub commands now
01:40:29evanit's hip to have sub commands
01:40:53headiusrbx -gem install whatever would be unambiguous
01:40:58headius--gem maybe
01:41:04evanrbx gem is unambigious too
01:41:14headiusunless there's a gem script in the current dir
01:41:26evanthen it's doing what you asked it to!
01:41:26evan:D
01:41:55headiusyes yes
01:42:02evanhrm
01:42:04evanwhat did i do...
01:42:17stephenebbrixen: you around?
01:43:10boyscout1 commit by Evan Phoenix
01:43:11boyscout * Fix some deps in INSTALL, and include github url; 1162da3
01:43:15evansweetness
01:44:03evanok, github is automatically updated now
01:45:03imajes_ leaves the room.
01:45:56wycats enters the room.
01:46:12wycats___ enters the room.
01:48:44fbuilesvevan: how's it done, post commit to push to GH?
01:48:59stephenebwith a patch to common.mk I've got installation to a custom dir (instead of /usr/local) working ...
01:49:03stephenebbut I'm getting some strange errors running bin/mspec ci -trbx that don't show up in the summary
01:49:36evanfbuilesv: yep
01:49:45evanecho "Updating github.."
01:49:45evangit push --all github > ~/github.log 2>&1
01:49:50stepheneb855 files, 6334 examples, 22388 expectations, 0 failures, 0 errors
01:50:04evangithub is setup as a remote in config
01:50:24fbuilesvevan: gonna steal that, using github as remote too here
01:50:30evango for it
01:50:44rubuildius_amd64Evan Phoenix: 1162da3cc; 1855 files, 6387 examples, 22451 expectations, 0 failures, 0 errors; http://rafb.net/p/G1aO3B79.html
01:50:45evanlets people track and view the source on github
01:50:51evanand fork and such
01:50:58stephenebnone of the specs in spec/subtend/*_spec.rb run
01:51:50stephenebthe errors are prefixed with: /lib/rbconfig.rb:7: looks like you loaded rubinius' rbconfig from ruby
01:51:56headiusfork!!!
01:53:00headiussapphinius!
01:53:10evanum.
01:53:11evanyeah.
01:53:24drbrainRubinius for Lesbians?
01:53:43headiusLesbinius?
01:53:49crafterm enters the room.
01:53:58drbrain"sapphic"
01:54:23evansparticus?
01:54:34headiusahh yes
01:54:37headiussappho
01:55:19rubuildius_ppcEvan Phoenix: 1162da3cc; 1855 files, 6390 examples, 22480 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/176937
01:55:44kevinclarkstepheneb: they used to
01:55:48kevinclarkfix em ;)
01:56:05stephenebthe subtend specs are the only place that compile_extension occurs
01:56:16stephenebcompile_extension('subtend_array')
01:56:24kevinclarkit was a helper someone rolled up
01:56:45fbuilesvstepheneb: they're failing and they're tagged as failings, that's why they don't appear in CI
01:57:05Fullmoon enters the room.
01:57:20stephenebahh ... so they don't work for you either?
01:57:23fbuilesvthat phrase just showed my poor english :S
01:57:34fbuilesvstepheneb: no, check spec/tags/subtend, you can see what's failing in there
01:58:24rubuildius_amd64 leaves the room.
01:58:50stephenebmy errors are very different and I think are caused by the fact that I am running the tests on an rbx installed in a custom dir
01:58:54Packet_Monkey leaves the room.
01:59:04stephenebsee: http://pastie.org/176931 for the errors and how to reproduce
01:59:15fbuilesvstepheneb: if you get failures outside the specs tagged as failing then yes, it's the custom location
01:59:20stephenebmy errors don't even show up in the smmary
01:59:43stepheneb0 failures, 0 errors
02:00:32rubuildius_amd64 enters the room.
02:00:33stephenebwhere is compile_extension defined?
02:00:46kevinclarkit used to be defined in the helpers with subtend's specs
02:00:52kevinclarkI don't know where it is now, if anywhere
02:01:00kevinclarkgit grep compile_extension
02:01:01rubuildius_amd64 leaves the room.
02:01:28rubuildius_amd64 enters the room.
02:01:35djwhittthere's going to be a repeat build
02:01:37wycats__ leaves the room.
02:01:38djwhittignore it
02:01:51wycats_ leaves the room.
02:02:05djwhittI accidentally cleared out the session thus negating the nice session saving I hacked in :(
02:02:45fbuilesvstepheneb: subtend_helper and somehow I can't run ci -trbx
02:03:05Packet_Monkey enters the room.
02:03:29fbuilesvstepheneb: you had the same problem with pretty_inspect earlier, right?
02:07:00stephenebfbuilesv: don't think so ... hmm ... the story is all in the http://pastie.org/176931
02:07:22stephenebI just instrumented subtend_helper.rb -- I'll see what it tells me
02:07:55fbuilesvsomeone complained about that earlier, think evan said something about it
02:08:13fbuilesvI thought ci was the same as running -trbx but apparently not
02:09:32djwhittstepheneb: do you have something in the RUBYOPT environment variable?
02:10:21stephenebdjwhitt: yes: RUBYOPT=rubygems
02:10:25stephenebshould I unset it
02:10:28djwhittyep
02:10:33djwhittthat should fix it I think
02:11:16rubuildius_amd64Evan Phoenix: 1162da3cc; 1855 files, 6387 examples, 22451 expectations, 0 failures, 0 errors; http://rafb.net/p/BmOFAL74.html
02:11:44jlindley leaves the room.
02:12:03fbuilesvis there a difference between mspec ci -tx and mspec ci -trbx?
02:12:27stephenebdjwhitt: thanks -- that fixed the problem
02:13:21stepheneball the tests pass running rbx installed in a custom location
02:15:30Packet_Monkey leaves the room.
02:17:43Packet_Monkey enters the room.
02:18:31nicksieger leaves the room.
02:24:58VVSiz_ enters the room.
02:31:50MenTaLguY enters the room.
02:35:28Packet_Monkey leaves the room.
02:35:52tarcierisup MenTaLguY
02:36:22tarcierisomeone on rubinius-dev seems pretty interested in contributing to the Actor code
02:37:32MenTaLguYcool
02:37:38MenTaLguYwe have a mailing list now?
02:37:41brixenfbuilesv: yes, bin/mspec ci -h
02:37:51brixenfbuilesv: er bin/mspec -h
02:38:04tarcieriMenTaLguY: http://groups.google.com/group/rubinius-dev
02:38:51brixenfbuilesv: actually, I'll update that, but 'x' or 'rubinius' runs shotgun/rubinius; 'X' or 'rbx' runs rbx found in PATH
02:39:54MenTaLguYtarcieri: ah. well, you can tell him that I'm planning on working on 1, 2, and 3 very soon
02:40:22tarcieriheh, or you can :)
02:40:28tarcieriis going to go grab some dinner
02:40:30fbuilesvbrixen: that makes sense, I was wondering why was one failing while the other one just worked, ty
02:40:40MenTaLguYwell, dunno about the flush thing, but the other two
02:40:48tarcieriscrew the flush thing
02:40:48tarcieriheh
02:40:55brixenfbuilesv: yeah, brand new change as of this morning :)
02:41:29tarcieriflush is a great way to compensate for "message leaks" rather than fixing them
02:42:09fbuilesvbrixen: if I do a rake rebuild and install, shouldn't rbx and rubinius give me the same output?
02:42:24brixenfbuilesv: one would hope so, yes
02:42:40fbuilesvbrixen: weird, let me rebuild and see if I still get the early failures
02:43:06VVSiz leaves the room.
02:43:10brixenfbuilesv: installing isn't well tested, so errors are certainly possible
02:44:02cremestarcieri, MenTaLguY: i've been corresponding with a guy who has written another actor library called dramatis
02:44:28cremestarcieri, MenTaLguY: he plans to unveil it in a week or so; i have suggested he contact both of you to pool resources
02:44:43MenTaLguYcool
02:45:47fbuilesvpastie: hola
02:46:09pastiehttp://pastie.org/176958 by fbuilesv.
02:46:24fbuilesvbrixen: check that pastie please
02:46:44fbuilesvbrixen: that's after a rebuild + install, with -tx it works fine though
02:48:50nicksieger enters the room.
02:53:20stephenebbrixen: fyi, got the rbx custom install working and all the tests passed
02:56:05mutle enters the room.
02:56:22mutle leaves the room.
02:57:22mutle enters the room.
02:57:34mutle leaves the room.
03:00:26cored leaves the room.
03:01:16brixenstepheneb: awesome, I committed your patch so you should ask evan for a bit
03:01:48stephenebI've got another one coming -- a bit of what ;-)
03:02:01brixenstepheneb: commit bit
03:02:21brixenfbuilesv: hmm, that's because pp is in stdlib and not lib
03:02:34brixenI thought evan pushed that, but I can do it in a sec
03:04:42fbuilesvbrixen: cool, thanks
03:06:35boyscout1 commit by Brian Ford
03:06:36boyscout * Move pp.rb to lib so it is installed.; 5e58b39
03:11:30fbuilesvbrixen: http://pastie.caboo.se/176970 another unrelated issue with mspec
03:11:44fbuilesvbrixen: anything else I should know changed this morning? :)
03:12:41brixenfbuilesv: ahh, I'll fix those warnings
03:12:42rueThe official colour is now Goldenrod
03:13:07brixenfbuilesv: anything significant is in the commits. if it wasn't significant, I left it out :)
03:13:13brixenrue: nice
03:13:21fbuilesvbrixen: ty :)
03:13:27stephenebI've got a patch for the Rakefile that adds a clean:config task to clean:all that deletes config.h and config.mk -- are there specs for the Rakefile tasks?
03:13:51brixenfbuilesv: np
03:14:01brixenstepheneb: no specs for Rakefile
03:14:11KirinDave leaves the room.
03:14:26MenTaLguYtarcieri: did we ever write down that actor object protocol we worked out somewhere, btw?
03:14:30stephenebok, so this patch won't come with a spec
03:14:34MenTaLguYtarcieri: I meant to blog it, and never did
03:15:01jtoy enters the room.
03:16:10rubuildius_amd64Brian Ford: 5e58b391f; 1855 files, 6387 examples, 22451 expectations, 0 failures, 0 errors; http://rafb.net/p/QBMRJh62.html
03:19:54rubuildius_ppcBrian Ford: 5e58b391f; 1855 files, 6390 examples, 22480 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/176973
03:21:38rares enters the room.
03:22:27headius_ enters the room.
03:22:29kli leaves the room.
03:22:42headius leaves the room.
03:28:23rares leaves the room.
03:29:44brixenfbuilesv: is your build from current 1.8 branch? I'm not able to repro those warnings on p111
03:29:52brixens/current/latest/
03:30:21fbuilesv$ ruby -v => ruby 1.8.6 (2008-02-14 patchlevel 5000) [i686-linux]
03:30:34brixenwhat os?
03:30:45fbuilesvbrixen: Ubuntu 7.10 32 bits
03:30:54brixencool, thanks
03:31:08fbuilesvbrixen: let me update my build and reinstall to try it again
03:31:56brixenfbuilesv: actually, just pastie me your elements_to_a_spec.rb
03:32:24fbuilesvpastie: give me some luv
03:32:45pastiebrixen: http://pastie.org/176974 by fbuilesv.
03:34:08brixenthanks
03:34:22fbuilesvbrixen: let me know if I can do anything
03:34:45brixenk
03:35:10rueBackrubs!
03:35:13seydar enters the room.
03:35:25brixenone minor point, by convention it is shared/to_a.rb vs elements_to_a_spec.rb, since the files containing shared ... are not supposed to be run directly
03:35:30brixenlike a regular _spec.rb file
03:35:46rue(I use to_a_shared.rb.)
03:35:58seydarheadius_: idling or stealthing around?
03:35:59rueCause I like redundancy which I appreciate
03:36:07headiusalways
03:36:14brixenrue: :P
03:36:19kw enters the room.
03:36:26headiustrying to stay awake a bit longer to defeat my lag
03:36:35seydarheadius: i'd like to take you way back when.... to dec 27 2006
03:36:40rueIncidentally, I taught my kittens to do backrubs! And then I clipped their claws. But they are getting good at it
03:36:42brixenheadius: quit idling, we won't count you in our meteorically rising channel count if you idle
03:36:47fbuilesvbrixen: there are more to_a's with different behavior, should I just pop them all in the same file and describe different methods?
03:36:57headiusevery man idles...not every man truly chats
03:37:12seydarheadius: focus! in your method invocation theory
03:37:31brixenfbuilesv: different classes should get their own subdir, so class1/shared/to_a.rb and class2/shared/to_a.rb
03:37:32seydaris the matrix of just method _names_? or is it of method code?
03:37:40headiussherman, set the way-back machine for dec 2006
03:38:15fbuilesvbrixen: as you can see the behavior's ahred between Element and Elements, that's why I put it top level, should I just pop it into elements/shared then?
03:38:15headiusdepends on the implementation, but in JRuby the matrix was of class id X method id = switch value
03:38:28fbuilesvs/ahred/shared/
03:39:12seydarheadius: no comprendo
03:39:31seydari saw it as a matrix for a moment, but then lost it to the hash tables
03:39:40brixenfbuilesv: ahh, ok, so it's more like spec/ruby/1.8/shared (i.e. shared across classes) ?
03:39:41mernen enters the room.
03:39:45headiusthe elements of the matrix are switch values
03:39:54fbuilesvbrixen: shared across classes from the same package (REXML)
03:39:56headiusthe x and y to index into the matrix are class and method id
03:40:02rueThe switch values have hydroponic squids
03:40:24brixenfbuilesv: ok, yeah, then rexml/shared is fine.
03:40:30headiusthe idea being that indexing is fast and switches are fast, so given a target class id and requested method id, you could find a switch value to quickly select the correct method body
03:40:45brixenfbuilesv: I still wouldn't name any shared/** file with _spec.rb
03:40:53headiusthe entries in the matrix could also have been actual method objects or pointers to code (e.g. in C) but the principal is still the same
03:40:56seydarheadius: from an array of method bodies belonging to that method name?
03:41:01fbuilesvbrixen: elements_to_a.rb sounds fine then?
03:41:10brixenfbuilesv: sure
03:41:17headiusevery unique method name in the system would be given a unique id, to some reasonable limit
03:41:47headius(i.e. 100 classes * 100 methods in the system produces a mostly empty 10k element matrix, which is wasteful)
03:41:56wmoxam enters the room.
03:42:06headiusthat's where the sparse matrix thoughts started to come into it
03:42:15seydarawesome
03:42:27seydarjruby does that now, right?
03:44:25seydarheadius: and does rubinius do that as well?
03:44:26headiusonly a little bit...it was useful for a time, but other changes and optimizations have made it the slower way now
03:44:38headiusno, I don't believe rubinius does it, though evan considered it at one point
03:44:50headiusit's not a new idea, except for maybe the sparse array stuff
03:45:03seydarso is it worth attempting to implement?
03:45:05headiusif you had a heavily polymorphic system for which caching wasn't practical, it would probably be a lot more useful
03:45:14headiusmost ruby code isn't very polymorphic though
03:46:01seydarwhat timezone are you in?
03:46:05sudoer enters the room.
03:46:19headiusUS central
03:46:31headiusit's almost 22:00
03:46:33seydarok. good enough
03:46:37seydarEST, for me
03:46:47boyscout1 commit by Federico Builes
03:46:48seydarget some sleep. I'm going to fry your brain on wednesday
03:46:48boyscout * More specs for REXML; 1b91113
03:46:48nicksieger leaves the room.
03:47:04seydari intend to pick everything you know... please
03:48:41brixenfbuilesv: mri warnings are maddening because there is no way to tell them that you know what you're doing.
03:49:03brixenfbuilesv: @vars are nil by default, which is very useful for tracking initialized state, I'll have to think about this a bit
03:49:10headiusI shall soon
03:49:16fbuilesvbrixen: it's a warning so it's ok :)
03:49:20headiusperhaps lull myself to sleep with more performance work
03:49:26headiussweet, sweet performance lullaby
03:49:36seydarsing yourself some method-dispatch blues
03:49:47seydarand muse a little bit of method compilation
03:49:56headiushttp://twitter.com/schleyfox/statuses/784723757
03:50:01seydarfor instance, precomiling the core methods
03:50:08headiusgotta get a benchmark for that and see what's up
03:50:46seydari'm going to interview some dartmouth professors before wednesday, so i can come prepared
03:50:54seydarwhat time will you be on wed?
03:51:18headiusbe?
03:51:22headiusI always am
03:51:40seydargood
03:51:43brixenfbuilesv: it is possible to use a class var instead, but it took us quite a while to get class vars working, and I don't want that to be a requirement to run mspec
03:52:01seydari swear i will come to your house and interview you if you're not on
03:52:18seydar leaves the room.
03:52:57fbuilesvbrixen: for exit or for tally?
03:53:22stephenebbrixen: new patch submitted: http://rubinius.lighthouseapp.com/projects/5089-rubinius/tickets/481
03:53:43jtoy leaves the room.
03:53:54headiusI feel like there's some interview event I'm supposed to remember
03:56:10rubuildius_amd64Federico Builes: 1b91113c3; 1855 files, 6385 examples, 22451 expectations, 0 failures, 0 errors; http://rafb.net/p/qP6gjN96.html
03:59:33rueMTV's Cribs?
03:59:43rubuildius_ppcFederico Builes: 1b91113c3; 1855 files, 6388 examples, 22480 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/176985
04:00:18rue"Tonight we are at the home of the hardcore Ruby Hacker better-known under his street name 'headius'"
04:02:45headiusnice way to wake up on a chilly wednesday morning
04:03:36brixenfbuilesv: for holding the init'ed state of SpecGuard. the class holds the full run state for each instance of a guard
04:03:59fbuilesvSpeaking of hardcore, MntWestRubyConf, the only place where the guy in front gets to rick roll the whole audience: http://mtnwestrubyconf2008.confreaks.com/07mcanally.html
04:04:55brixenstepheneb: cool. there's a couple typos in your commit message, if you want to fix them before you make history :)
04:05:20rueWhen I find whoever started calling it "rick rolling" I will beat them silly with printed-out copies of false links from newsgroups from the last two decades
04:05:35brixenstepheneb: also, by popular demand, we try to put a summary line < 73 chars and the rest of the msg in a block separated by a newline
04:05:49stephenebhmm .. I can't do that with svn ;)
04:05:53fbuilesvrue: did those false links two decades ago had rick astley's video?
04:05:54fbuilesv:P
04:06:08brixenstepheneb: hah, yeah git uses your editor to make that easy
04:06:11ruebrixen, fbuilesv: To be more precise, it took us some time to get class variables working *the way we implemented them.* It would have been far simpler to follow MatzRuby closer
04:06:11stephenebI'll figure out how
04:06:31rueJust set EDITOR=vim :)
04:07:05brixenor EDITOR="/usr/bin/mate -w" :)
04:07:42fbuilesvbrixen: would a singleton class with the state work instead of using the global var then?
04:07:48ezmobius leaves the room.
04:08:07stepheneb;-) right it's just a patch -- of course it's actually a commit in my local git
04:08:09brixenfbuilesv: well, the class is a singleton in a sense, so it's used instead of a global var
04:08:13ruefbuilesv: Well, multimedia was expensive so usually it was Rick Astley lyrics
04:08:21rueStop out-welling me, brixen
04:08:46brixenrue: well, aren't we piss and vinegar today :)
04:09:07rueI AM ALL OUT OF VINEGAR!!!
04:09:25fbuilesvrue: As you can see in the video, the "rick roll" without video and music's not a real rick roll, it's just...weird
04:09:30rue /end silly -- taking some time off from unit testing
04:10:04hoopyfbuilesv: are you saying the blind cannot be rickrolled?
04:10:10fbuilesvbrixen: you're right, I was looking at methods in the bottom
04:10:28fbuilesvhoopy: a rick roll without a gay dance would only be one annoying song
04:10:50fbuilesvhoopy: as far as the blind people, they'd just think that your weird linking them a cute boy dancing
04:11:20jtoy enters the room.
04:12:21fbuilesvs/bind/deaf/
04:14:38hoopyi was wondering
04:15:27lorenzod8n leaves the room.
04:16:01rubuildius_amd64 leaves the room.
04:22:16mernen leaves the room.
04:23:41stephenebbrixen: ok -- see how it looks now -- the first line in my local commit is 63 chars git-format-patch ...
04:23:42stephenebconstructed the patch like an email and put this line in the subject
04:24:01stephenebthere was a blank line following this in the commit'
04:24:08stepheneband hen more description
04:24:36rueYep. It is actually specifically because of e-mail; the first line would be the subject
04:24:46brixenstepheneb: yeah, looks good!
04:25:00brixendamn, meant to say yep
04:25:34stephenebso if you commit it I send the sha1 commit id and ticket # to even?
04:25:54brixenyep
04:26:11brixenI'll do it just as soon as I finish wrestling with optionparser
04:26:45sudoer leaves the room.
04:28:55rueTickle it beneath the #parse, it is a sucker for that
04:30:50fbuilesvI'm out, have a good night
04:30:54fbuilesv leaves the room.
04:35:37boyscout1 commit by Brian Ford
04:35:38boyscout * Make mspec help more explicit about target options.; 36f5a59
04:36:55rubuildius_amd64 enters the room.
04:40:09rubuildius_amd64 leaves the room.
04:41:01rubuildius_amd64 enters the room.
04:41:40AndrewO leaves the room.
04:42:36boyscout1 commit by Stephen Bannasch
04:42:37boyscout * Add a clean:config task to clean:all so changes in PREFIX work; 9d1378b
04:42:45rubuildius_amd64 leaves the room.
04:43:28eventualbuddha enters the room.
04:43:28rueHuzzah!
04:44:03brixenstepheneb: there ya go
04:44:10brixengrabbing food, bbiab..
04:44:22stephenebcool ;)
04:47:45stephenebevan: can I get a commit bit? http://github.com/evanphx/rubinius/commit/9d1378bf05abfcd4e6c5f2162ab9a2b2e651d3e0
04:48:17stephenebwhich goes with this ticket: http://rubinius.lighthouseapp.com/projects/5089-rubinius/tickets/481
04:52:15rubuildius_amd64 enters the room.
04:52:19ruestepheneb: Pastie your public SSH key somewhere too, so he can add you when he gets back
04:52:45stephenebrue: can it be a DSA key?
04:54:48stephenebevan: public key here: http://pastie.org/177010
04:55:07rueI would strongly recommend generating an RSA key because of the security problems with DSA; that said, a DSA key should function fine
04:55:45Yurik leaves the room.
04:59:43rubuildius_ppcStephen Bannasch: 9d1378bf0; 1855 files, 6388 examples, 22480 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/177015
04:59:44rubuildius_ppcBrian Ford: 36f5a592f; 1855 files, 6388 examples, 22480 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/177012
05:04:17rubuildius_amd64 leaves the room.
05:06:15nicksieger enters the room.
05:10:54rubuildius_amd64 enters the room.
05:13:53rubuildius_amd64 leaves the room.
05:14:19dysinger enters the room.
05:19:04RyanTM leaves the room.
05:20:53headius leaves the room.
05:21:22mutle enters the room.
05:21:23headius enters the room.
05:21:45mutle leaves the room.
05:22:35eventualbuddha leaves the room.
05:22:40headius_ enters the room.
05:23:04headius_ leaves the room.
05:23:20headius_ enters the room.
05:23:41headius_ leaves the room.
05:24:00headius leaves the room.
05:24:08headius enters the room.
05:42:40benburkert leaves the room.
05:58:02rueHuh, Rational and Complex are in Core now. I am out of it again
06:08:38headius leaves the room.
06:15:05brixenrue: not just in core, but in C as well
06:18:21dewd enters the room.
06:21:11ciscbrain enters the room.
06:36:18ezmobius enters the room.
06:42:32stepheneb leaves the room.
06:44:51hassox_ enters the room.
06:48:12hassox__ enters the room.
06:51:13zenspiderrawr
06:51:53zenspiderman the specs have gotten slow. :/
06:52:12evanyeah, how did the get up to 60s?
06:52:19evanthe were at like 30s not long ago
06:52:32zenspiderdamnit... I screwed something else up.... stoopid bootstrap
06:52:34brixena lot more files
06:52:38zenspiderI'm WAY above 60s
06:52:49zenspider161.74 seconds
06:52:50brixenI get ~40 if not compiling
06:53:03zenspider23 errors
06:53:04brixen~105 if compiling
06:53:15zenspiderstupid fucking ERB and their conditional load of strscanner
06:53:57zenspiderYAY for a typo. :/
06:54:57brixenbin/mspec ci finished in 47 sec
06:55:04evank
06:55:32zenspiderI'm rerunning mine sans-compile
06:55:42zenspiderI'm gonna "beat" all of ya
06:56:01zenspideryup. 58.50 sec w/o compile, 162 w/ compile.
06:56:14evanhm. is the air really that much slower?
06:56:22evanor is there something else afoot
06:56:29evanare you building rubinius with DEV=1
06:56:29evan?
06:56:33zenspider1.8 Ghz
06:56:38zenspidernope
06:56:44evanhrm.
06:56:51evani wonder what it is...
06:56:53brixenbin/mspec ci spec/ruby => 38.109; it was 12.52 in mri, so we're only 3x slower
06:57:15brixenthat's actually quite a bit better
06:57:24brixenwe've been 4-5x slower than mri
06:57:32evanyeah, we're getting there
06:58:56wmoxam leaves the room.
06:59:03brixenthe library specs are dog slow. spec/ruby/1.8/core was 5.27 in mri, 21.8 in rbx
06:59:45brixenlanguage specs 0.13 in mri, 0.68 in rbx
06:59:59hassox leaves the room.
07:01:33zenspidergod this album rocks
07:01:45evanok, jet lag kicking in
07:01:45zenspider31 years later...
07:01:48evanneed to get to bed
07:01:53rueYou listening to In Rainbows too?
07:01:57rueevan: Nites
07:02:14zenspider31 years later? no... not In Rainbows
07:02:18zenspider:P
07:02:26zenspiderI'm listening to Wire's Pink Flag
07:02:33boyscout13 commits by Ryan Davis
07:02:34boyscout * Some more work on strscan.rb - same failure but I think more correct; b7f8c6d
07:02:35boyscout * Renamed regexp_match_region to regexp_match_start; 12963c6
07:02:36boyscout * Added Regexp#match_region and regex_match_region prim; dcd956d
07:02:37boyscout * Made primitive calls more consistent; 2e58fe8
07:02:38boyscout * made more readable; ec9a149
07:02:39boyscout ...
07:02:55rueAh, have not listened to that.
07:02:57hassox_ leaves the room.
07:03:07zenspiderStringScanner is a PITA btw
07:03:11rueIncidentally, I /have/ been listening to some Black Flag
07:03:16zenspiderthe rdoc lies. the tests suck
07:03:22rueDinosaur Jr. and Radiohead mostly recently though.
07:03:26zenspiderhah. sooo different.
07:03:30rueYes, StringScanner sucks a bit
07:03:41zenspidercry emo boy, cry!
07:03:45MenTaLguY leaves the room.
07:03:49zenspiderit is LOVELY to use tho. I love it
07:03:55zenspiderit made my parser 3x faster
07:04:01zenspiderand SOOOO MUCH MORE readable
07:04:08rueNice
07:04:52ciscbrain leaves the room.
07:10:36Maledictus enters the room.
07:16:02rubuildius_ppcRyan Davis: b7f8c6d41; 1855 files, 6388 examples, 22480 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/177065
07:17:51smparkes enters the room.
07:18:45rubuildius_amd64 enters the room.
07:20:43zenspiderrawr
07:32:06loincloth leaves the room.
07:52:13rueIndeed
07:54:23trythil leaves the room.
07:59:31Yurik enters the room.
08:04:11Skip enters the room.
08:17:53be9 enters the room.
08:21:45agardiner leaves the room.
08:22:14thehcdreamer enters the room.
08:27:51cypher23 enters the room.
08:46:37boyscout3 commits by Ryan Davis
08:46:38boyscout * Fixed all failing tests. Trimmed TODO list.; d9429c7
08:46:39boyscout * Filtered TODO list; 414a549
08:46:40boyscout * Added a ton of extra assertions to help strengthen the StringScanner tests; 4ff682b
08:46:54reima enters the room.
08:47:13zenspiderstill gonna blow chunks when I try to run ruby_parser on rubinius.. :/
08:48:18contextzenspider. at least cover your keyboard before doing so
08:49:08ruezenspider: Meant to ask, do you have an option that preserves comments?
08:49:12zenspiderlooks like the main one is #check... Add that and I might make some serious progress
08:50:33zenspiderrue: I'm storing them for class/module/defn/defs nodes right now, so we could do rdoc easily, but nothing else yet. and no positional yet
08:51:46rueCool
08:56:14Arjen_ enters the room.
08:56:37mutle enters the room.
08:57:23rubuildius_amd64Ryan Davis: d9429c735; 1855 files, 6385 examples, 22451 expectations, 0 failures, 0 errors; http://rafb.net/p/lL0oX992.html
08:59:45rubuildius_ppcRyan Davis: d9429c735; 1855 files, 6388 examples, 22480 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/177079
09:00:29zenspiderrawr
09:03:05reima leaves the room.
09:03:56zenspiderrue: dunno if it is your thing, but the new NIN album is pretty good (thus far)
09:04:01zenspiderall instrumental
09:04:06zenspiderpart 1 of 4
09:04:13zenspiderand... freely torrentable
09:09:32boyscout1 commit by Ryan Davis
09:09:34boyscout * Sorted... I _hate_ that; af9a3ff
09:10:53TheVoice leaves the room.
09:13:19zenspiderhrm... that seems to have not gone through
09:15:11octopod enters the room.
09:17:33rubuildius_amd64Ryan Davis: af9a3ffc6; 1855 files, 6385 examples, 22451 expectations, 0 failures, 0 errors; http://rafb.net/p/eeRjJi96.html
09:18:21zenspideroh. it did... I just got confused by the stash/unstash in emacs
09:22:23rubuildius_ppcRyan Davis: af9a3ffc6; 1855 files, 6388 examples, 22480 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/177083
09:22:49zenspiderWOOT!!! I just made 11k lines of error go down to 1600 :D
09:27:45zenspiderholy shit. I'm down to 300 lines of error. 9 failures, 12 errors!
09:27:49zenspiderwoot
09:27:58ezmobiuswowzers
09:28:05ezmobiuswhat are you working on?
09:28:33zenspiderStringScanner to get ruby_parser working
09:28:41ezmobiusahh nice
09:29:08zenspider2 tiny commits ago I was at 11k lines of error tracebacks (too long in rubinius!)
09:29:23zenspiderezmobius: you like NIN?
09:29:37ezmobiusyeah
09:30:18zenspiderlatest album just came out. on torrent. he's really really pissed at the RIAA (and others)
09:30:57zenspideractually 1/4th of the album came out on torrent, but still
09:31:24ezmobiusi shoudl grab it
09:32:16zenspidercame down in 5 minutes in a cafe... really well seeded
09:32:32zenspiderhrm... I may have to go to chicago to go to lollapalooza
09:32:49zenspiderNIN + rage + love & rockets + flogging molly
09:33:01crafterm leaves the room.
09:33:34zenspiderholy crap... $190??
09:33:44zenspider+ hotel + plane... hrm
09:35:19zenspiderI'm such a cheapskate. :(
09:40:33qwert666 enters the room.
09:43:10ezmobius leaves the room.
09:47:46ruezenspider: I have not listened since the Year Zero remixes came out. Ghosts looks interesting /me downloads
09:48:37rueThe $190 is almost worth it. The last Flogging Molly gig is probably the best one I have ever been on
09:49:04zenspiderboggles
09:49:13zenspideryou play with flogging molly?
09:49:16zenspider:P
09:49:31zenspidersweet. my lexer just exposed a bug in String#to_f
10:01:02zimbatm enters the room.
10:02:10jayWHY leaves the room.
10:02:33naeu enters the room.
10:03:33boyscout6 commits by Ryan Davis
10:03:34boyscout * overlooked 2 specs; 896609e
10:03:35boyscout * Fixed String#to_f for '1.0E1'; f2f0e47
10:03:36boyscout * Added a bunch of specs to String#to_f; 77774ed
10:03:37boyscout * StringScanner#rest; 996e65e
10:03:38boyscout * StringScanner#check; 322f33b
10:03:39boyscout ...
10:05:01zenspider9 more errors in my lexer tests, all the same
10:05:08zenspiderthen I bet all my parser tests pass
10:08:25zenspiderfucking order of evaluation... argh
10:12:20rubuildius_amd64Ryan Davis: 896609e7a; 1855 files, 6388 examples, 22462 expectations, 0 failures, 0 errors; http://rafb.net/p/R1SLh944.html
10:12:42zenspiderYAY! I can sleep!
10:12:51rueSleep good
10:13:12rueShould probably turn in before 6 too
10:13:53zenspider11 failures to go
10:16:51rubuildius_ppcRyan Davis: 896609e7a; 1855 files, 6391 examples, 22491 expectations, 1 failure, 0 errors; http://pastie.caboo.se/paste/177089
10:17:44zenspideruh oh
10:18:10zenspiderSLEEP?!?!?
10:18:13zenspiderwtf?
10:18:17zenspiderfuck you
10:19:04_mk_ enters the room.
10:20:02wycats___ leaves the room.
10:23:29rueInteresting failure
10:23:46zenspiderwe shouldn't have tests like that
10:25:01zenspiderok... I'm 11 away from finishing, and I'm too dead to knock those off tonight... goodnight
10:25:40rue*wave
10:27:05dewd leaves the room.
10:27:55rueAlso out, change of guard
10:31:35_mutle enters the room.
10:32:42_mutle_ enters the room.
10:32:55mutle leaves the room.
10:33:24_mutle leaves the room.
10:35:33wycats_ enters the room.
10:38:26imajes_ enters the room.
10:38:56lstoll enters the room.
10:40:41Rich_MorinIs there a term more specific than "token" for an alphanumeric string (eg, foo) that could be either a local variable or a method call, as in "bar(foo)" ?
10:40:59reimaidentifier?
10:41:54Rich_MorinYes, but @foo is also an identifier. Maybe "ambiguous identifier", but that's a bit verbose.
10:42:26reimaI see
10:47:13crafterm enters the room.
10:47:30crafterm leaves the room.
10:48:56Rich_MorinOK, here's another. Is there a short term for the phase where syntax scanning and pre-compilation is done?
10:50:22Rich_MorinI'm currently saying "while parsing" and "during execution".
11:34:26Rich_MorinIf a name is used as a local variable (eg, "foo = 42"), but only seen once, a parse-time check can detect this. I thought I had seen an indication that Ruby could check for this, but my copy doesn't seem to? Am I missing something?
11:56:39imajes_ leaves the room.
11:56:43wycats__ enters the room.
11:57:08wycats_ leaves the room.
11:57:31jtoy leaves the room.
12:08:55VVSiz leaves the room.
12:15:20webmat enters the room.
12:21:29reimaRich_Morin___, how did your test look like? I'm not quite sure what you mean...
12:27:18Rich_Morinhttp://pastie.caboo.se/177129
12:29:47w1rele55 leaves the room.
12:30:00ctennis leaves the room.
12:31:45w1rele55 enters the room.
12:32:20Rich_MorinSorry, that was a bad example - refresh http://pastie.caboo.se/177129
12:36:49reimaI'm afraid I still don't get it
12:38:06Rich_MorinIf a variable is defined, but never used, it may indicate a typo, logic error, etc. Some languages are willing to check for this. AFAICT, Ruby isn't.
12:38:47reimaThat explains it much better :)
12:40:07reimaBut you couldn't do that in Ruby at parse time, could you?
12:41:01Rich_MorinSure you could. Look for variables that are defined once and never used again in that scope (as in my example).
12:41:09reimaWhat about eval?
12:42:35Rich_MorinI'm willing to believe that eval could introduce issues (examples welcome), but that doesn't negaste the value of the check when eval isn't involved.
12:44:37crossblaim enters the room.
12:44:42crossblaimhi
12:45:57Rich_Morinhi back :)
12:49:14reimaA simple example would be http://pastie.caboo.se/177140
12:49:21reimaBut I see your point.
12:49:49Rich_Morinthanks for the example
12:52:16riffraff enters the room.
12:52:17reimaAnd you should also take into account that the scope of a local variable doesn't necessarily end with the method it's in. Think closures.
12:53:14Rich_MorinWouldn't use in a closure be seen by the interpreter?
12:53:15reimaLike in http://pastie.caboo.se/177143
12:53:31ctennis enters the room.
12:54:03reimaNot with eval, and that's my whole point I guess :)
12:54:07headius enters the room.
12:54:08Rich_MorinCan you come up with one that doesn't use an eval?
12:54:37srbaker leaves the room.
12:54:50ttmrichter leaves the room.