Index

Show enters and exits. Hide enters and exits.

00:00:02brixenI have all the gems it wants installed
00:00:05brixenI can load them
00:00:06toulmeanyes. Something's not right about our way of specifying gem dependencies
00:00:19evanhttp://gist.github.com/412581
00:00:20toulmeanok I pushed rjb changes
00:00:29evantoulmean: you're ending up specifying them as absolute version numbers
00:00:41evanrather than a minimum version
00:00:59toulmeanevan: it makes sense to avoid going in support hell. It's kind of an historic stand by the original committer, Assaf Arkin
00:01:04toulmeanI can open a bug for it.
00:01:34evantoulmean: it's pretty disruptive
00:01:43evanit means it's quite hard for buildr to interoperate with things.
00:01:49toulmeanyep
00:02:10toulmeanbut then really. Didn't you know buildr was the center of the world ?
00:02:33evani guess I missed that memo
00:02:58toulmeanok. Hey seriously. It's been that way forever for us because we had a good set of dependencies to work with.
00:03:08toulmeannow. It's not a good idea in general. I agree.
00:03:11toulmeanI'm ready to change that.
00:03:17evanthe isuse is that you have a giant list of deps
00:03:25evanand it's trivial to not work
00:03:34evanheck, it didn't work for me out of the box.
00:03:42evanbecause i had rspec 1.3.0 installed
00:03:49evanand -S spec loaded 1.3.0
00:04:21toulmeanevan: I am used to install stuff with version numbers.
00:04:27toulmeangood feedback.
00:04:32toulmeanhttps://issues.apache.org/jira/browse/BUILDR-445
00:05:33toulmeanevan: I'll commit your change, actually
00:05:52toulmeanor will redo it if you don't want to contribute the diff as apache attachment.
00:06:44evantoulmean: very few people commit stuff by forcing a older version of a gem
00:06:48evanthey do "gem install rspec"
00:06:50evanand get the latest.
00:09:43brixentoulmean: did you push all your changes?
00:09:46brixentoulmean: to rjb?
00:12:41toulmeanyes
00:16:31brixentoulmean: you have the ordering wonky
00:16:32brixenhttp://gist.github.com/412592
00:18:46toulmeanbrixen: well it's defined right ? RHASH_TBL
00:19:05toulmeanbut yeah right.
00:20:54brixentoulmean: well, 1. it must be #ifdef HAVE_... and 2. checking that first gives us more latitude with RHASH_TBL
00:21:14toulmeanoh ok
00:21:25brixenthe #if HAVE was failing
00:21:35toulmeanlol. I'm so bad at this.
00:21:43brixenno prob
00:21:45toulmeanbrixen: let me add you as committer on my rjb fork
00:21:50brixenok
00:22:11toulmeandone
00:22:24brixenI have no idea why gem cannot load gems when running rake spec in buildr clone
00:22:41toulmeanbrixen: ah ?
00:22:51toulmeanhmmm
00:23:03brixenoh, I just updated
00:23:06brixenlet's try again
00:23:31brixennope, wtf
00:23:49toulmeanevan: http://bit.ly/ccw54L
00:24:07toulmeanbrixen: for now, maybe just good enough to run spec directly
00:24:19toulmeanbrixen: spec spec/**/*spec.rb ?
00:28:20brixentoulmean: ok, I need evan's visibility fix now
00:28:39evanok, give me a sec
00:28:44evani had a call with my rubysoc student.
00:28:51evanand i'm getting some test failures I think.
00:28:59brixenanyway, あいきど
00:29:08brixenbbl...
00:30:18toulmeanno problem guys.
00:30:26toulmeanhey thanks for the hard work today, you are awesome.
00:30:37brixenheh, thank you!
00:31:15toulmeanand thanks for sticking with me. I learn a lot.
00:31:22brixenn/p
00:31:48brixenwe like hard problem, makes us stronger
00:31:55brixenlike steel, in the flames...
00:32:09brixenask Defiler about it, he's more poetic than I
00:32:11brixen:)
00:32:15brixenok, gotta run..
00:32:22toulmeanlol
00:34:30toulmeanfor good measure adding evan as committer on rjb fork too
00:34:31toulmeanin case
00:34:38evanok!
00:34:40evanthanks!
00:34:48evani'll do what I can to help make it better.
00:35:14toulmeanevan: thanks so much.
00:35:23evan:)
00:35:24toulmeanI will fix my code since brixen pointed me to it
00:36:22toulmeanactually... I'd rather pull from his fork. Leave ownership of commit to him
00:37:11evanok
00:37:24toulmeanor if he can push whenever he's back actually, since he didn't fork on github.
00:37:27toulmeanhmmm
01:32:02boyscoutMake sure thet the default vis in a script body is private. Fixes #327 - e2edead - Evan Phoenix
01:32:02boyscoutFix INT2NUM to actually take a long, not an int. - 8b1f899 - Evan Phoenix
01:32:45evane2edead... thats a weird SHA1
01:33:42Defilerat least it isn't skreeee
01:33:53Defilerbecause then you know the git is haunted
01:35:04evanhah
01:41:27boyscoutCI: rubinius: 8b1f899 successful: 3463 files, 13860 examples, 41514 expectations, 0 failures, 0 errors
01:57:53Defilerbrixen: if you're working on something in stdlib, do you just use -I passwed to mspec to load your version of it?
02:01:31Defileralso, how could this possibly make sense? Revision = %q$Revision: 13657 $.split[1]
02:01:37Defilerwhy the hell would you do that?
02:38:20toulmeanbrixen : back ? can you push to rjb ?
02:38:32toulmeansince you committed locally.
03:01:04toulmeanok never mind. I will fix my mess.
03:01:57toulmeanevan: can I ask you about the .rbc files ? Can they be placed in a different dir ? Ok to add them to .gitignore, right ?
03:06:53brixentoulmean: yes, add .rbc to gitignore
03:06:59brixentoulmean: I pasted you a git format-patch
03:07:09toulmeanoh ok
03:07:10brixenall you should have to do is save it and do: git am <file>
03:07:18brixenanyway, gotta grab some dinner
03:07:20toulmeanah ok... allright.
03:07:22toulmeanthanks.,
03:07:23brixenbut I'll be back :)
03:07:25brixenn/p
03:07:28toulmeandon't
03:07:41toulmeanit's fine. I will clean up some more code and push all that.
03:08:05brixenk
03:08:16brixenDefiler: sorry, I have no idea what you mean about stdlib :)
04:03:36toulmeanpushed all my rjb stuff
04:10:20toulmeanbrixen: looks like your format-patch was just a diff or missed a few lines at the top. I managed to get it committed though by recreating the missing mail headers.
04:10:30toulmeananyways. Got to go play GTA IV.
08:50:41dbussinkbrixen: still there?
15:19:45Defilerssd so good: git clone rubinius rubinius_copy 0.41s user 1.24s system 94% cpu 1.738 total
15:20:12Defilerdu -sh rubinius # 381M
15:31:58Defilerevan / brixen: Got some copy I'd like to change on the site; I guess it isn't in gh-pages anymore?
15:33:44Defiler"Highlevel, what is Rubinius?" is not english and must cease to be.
15:57:06evanDefiler: yes, it's move around.
15:57:17evanDefiler: what changes were you thinking?
15:59:47matthewdevan: http://gist.github.com/413163 -- any suggestions for a better parameter name than 'check_object_too'? :/
16:00:47evanthats fine.
16:01:48brixenfine Goldfrapp rainy morning to y'all
16:01:55brixendbussink: no, but I am now
16:01:59evanheh
16:02:04matthewdOkay... and any thoughts on the spec 92-107?
16:02:16matthewdbrixen: ^^
16:02:31matthewdIt's probably too evil
16:02:58matthewd(Plus I think it has too many shoulds)
16:03:41Defilerevan: Highlevel, what => "What does Rubinius do?"
16:03:42brixenmatthewd: yes, I have some things...
16:03:56brixenmatthewd: should I just rewrite the spec or do you want me to try to explain them? :)
16:03:58Defilerand then maybe the next one as "How does Rubinius work?"
16:04:16evanDefiler: k
16:04:37DefilerAlso, what do you think of making a preinstalled gem for 'system_timer'
16:04:39matthewdbrixen: If you're okay with just rewriting it, I'm quite happy to try to learn by example :)
16:04:47Defilerwhich we could just stub with Timeout
16:05:02Defilerthings that use it don't try to load it on rbx, 1.9, etc
16:05:05brixenmatthewd: ok, le'me take a shot, then it will be easier to explain by contrast
16:05:22Defilerbut it doesn't even install on rbx so you can't get that far if the gem lists it as a dependency
16:05:26matthewdbrixen: Noting that Object and Kernel in there are special; they're not just me being too lazy to create my own class/module
16:05:35evanDefiler: We should talk to the system_timer author instead
16:05:37brixenmatthewd: gotcha
16:05:45Defilerhttp://gist.github.com/413320
16:05:46evanand get them to add code at the top to make it a noop on Rubinius
16:05:52Defileris what memcache-client has in it
16:06:04Defilerbut you'll never reach that code if you install a gem that depends on system_timer
16:06:07Defilerbut yeah
16:06:09Defilerlet me go find the code for that
16:06:43evanug, memcache-client does that?
16:07:00evanwell, SystemTimer needs to allow itself to be used as a noop if it's on 1.9 or Rubinius
16:07:17brixenmatthewd: is Object.class_eval significant over class Object ?
16:07:32matthewdbrixen: Nope
16:07:37Defilerno, it doesn't, but I ended up with some code that did
16:07:38brixenmatthewd: k
16:08:03Defilerhttp://github.com/ph7/system-timer
16:08:06Defilerman, not linked ANYWHERE heh
16:08:38matthewdbrixen: Though, there's a reasonable chance that if someone breaks this, the content of the module_eval will raise
16:09:13matthewdSee, for example, the current rbx behaviour, IIRC :)
16:09:30brixenmatthewd: ok, in that case I see the tradeoff
16:10:22matthewdBut certainly the class_eval is pure setup
16:15:58brixenmatthewd: in the alias_method specs, why are public_instance_methods mapped instead of have_public_instance_method used?
16:17:01matthewdbrixen: Cargo culted :(
16:17:11brixeneeks seriously?
16:17:19brixenwhere do you see this? we need to fix it
16:17:49matthewdmodule_function_spec.rb
16:17:55brixenok
16:18:06matthewdErm, that uses public_methods
16:18:14brixensure, bet same diff
16:18:18brixener but
16:18:59brixenI need to add have_public_method
16:20:23boyscoutRaise the right exception when alias fails in a module. - fa48655 - Matthew Draper
16:23:54matthewdevan: BTW, find_method_in_hierarchy and lookup_method are very similar... are they kept split deliberately? (both in common/module.rb, next to each other)
16:25:18matthewdAnd there's a find_class_method_in_hierarchy, for which I can't find a caller
16:28:30boyscoutCI: rubinius: fa48655 successful: 3463 files, 13860 examples, 41514 expectations, 0 failures, 0 errors
16:29:24evanmatthewd: it's fine to refactor them together
16:29:32evanmatthewd: over time, we've grown methods for method lookup
16:29:39evanthe tree just needs to be pruned.
16:38:13evanbrixen: how would you prefer I test something that needs to reopen STDOUT
16:38:23evanfork? ruby_exe with -e?
16:41:34brixenI would use ruby_exe, yes
16:41:40brixenyou can make a script if you need to
16:41:46evanthats fine
16:41:49evanit's a short sequence
16:41:49brixenput it in the fixture dir
16:41:56brixenok, that's fine too
16:41:57evani can put it straight into ruby_exe
16:47:55boyscoutAdd spec for STDOUT.reopen(path) effecting system fds - e3ddc73 - Evan Phoenix
16:47:55boyscoutMake STDOUT.reopen(path) effect the system fd. Fixes #322. - 3cc99fa - Evan Phoenix
16:52:23scooprdid the llvm2.7 stuff land in master yet?
16:55:33matthewdmust sleep
16:55:50matthewdbrixen: If you can ping me with a gist, I'll clean up those specs tomorrow
16:56:11evanscoopr: no.
16:56:22scooprk
16:56:37brixenmatthewd: sure thing, almost there
16:56:56brixenmatthewd: I'll give you a format-patch with my comments, but feel free to just apply it as a diff
16:58:11evanok, gotta run an errand
16:58:14evanbe back in about an hour.
16:58:54brixenpoor errand, getting run around for an hour
16:59:57boyscoutCI: rubinius: 3cc99fa successful: 3463 files, 13861 examples, 41515 expectations, 0 failures, 0 errors
17:24:41dbussinkbrixen: did you guys consider setting up a ci system that also includes specs / tests for known good gems?
17:25:07brixendbussink: well, there is tinderbox
17:25:41brixenor what was that called...
17:27:02dbussinkbrixen: most stuff here is passing rbx btw :) http://wiki.github.com/datamapper/dm-core/matrix
17:28:19brixendbussink: wow, that is so awesome :)
17:28:30brixenI can't find this damn gem test thing
17:29:19brixenwoot dm-types :)
17:31:08dbussinkbrixen: there's something up there :P
17:31:28dbussinkstuff passing 1.8.6 and not 1.8.7 / 1.9.1 etc. isn't normal
17:31:42dbussinkthis is last 1.8.6 supported release probably, or maybe that will be scrapped
17:32:19brixenok, so tinderbox is the graphical campfire app, *firebrigade* is the testing framework
17:33:40brixenhttp://firebrigade.seattlerb.org/
18:19:50brixenmatthewd: http://gist.github.com/413468
18:20:03brixenmatthewd: please ask about anything that doesn't make sense
18:20:17brixenmatthewd: I think I reproduced your intent, but I could be wrong
18:21:06brixenmatthewd: these all pass on 1.8.6.369, 1.8.7.249, 1.9.3dev r27874
18:21:12brixenmatthewd: and fail terribly on rbx :)
18:24:28evanwback.
18:24:31evanback.
18:24:33brixenheh
18:24:46brixenwwb :)
18:24:49evan:)
18:25:05evandbussink: yes, i'm going to setup CI for some well known good gems
18:25:16evandbussink: but I vastly prefer people do like what you've done with dm
18:25:33evanbeacuse when stuff breaks, your the person most qualified to help fix it.
18:25:48dbussinkevan: i can imagine yeah, but it's also useful for you guys to know what broke stuff perhaps
18:25:48brixentotally
18:25:56dbussinkif a certain rbx commit breaks some gems
18:25:59evansure
18:26:05evani'm not going to be running it on every commit.
18:26:08evanthats really too much.
18:26:17brixenyeah
18:26:19evanif the set is big.
18:26:26dbussinkevan: i can imagine, but some ci system could do that
18:26:31dbussinkor run one a night or something
18:26:31brixenin theory, the coverage of rubyspec would obviate the need for that
18:26:45evandbussink: way to hand wave your way through that!
18:26:46evangood job!
18:26:53brixenwe simply can't expect to know what the issues are
18:27:04brixenheh
18:27:11evana ci system could also run all ruby code in the world against rbx every commit in constant time.
18:27:15evantada!
18:27:18brixenyes, "in theory you could have a CI system.."
18:27:19brixenheh
18:27:23dbussinkevan: instant fix :)
18:28:09brixenI would venture that if it's important enough for you to use rbx, you should know when your code runs
18:28:10evanyes, there also exists in theory a program that can find all known defects in another program
18:28:37brixenin fact, in every other program :)
18:28:44evanyep!
18:29:26dbussinki think the jruby guys do have some sort of clean set of stuff they run before release etc.
18:29:57evansure, before a reason is fine
18:30:02evani was going to set something up to run nightly
18:30:09evanwhere I don't care about the runtime
18:31:54dbussinkevan: yeah, it's not like i'm talking about real time anyway
18:32:19evanoh, non real time? you've got a CI system that runs in a time bubble?
18:32:21evanRAD!
18:33:40dbussinkevan: i got this experimental quantum computer in my closet here
18:33:47evanneato.
18:33:53dbussinkevan: needs at least one planck time for a cycle
18:33:59dbussinkcan't beat physics with it
18:34:19evanhow many nanosecs is one planck?
18:34:35evana lot i'll bet.
18:35:16evanooh
18:35:18evan"the smallest unit of time that was directly measured was on the order of 1 attosecond (10−18 s), or about 1026 Planck times."
18:35:19evannice.
18:35:41dbussinkevan: 5.4 × 10−44 s
18:36:47dbussinkevan: that's a way too small number
18:37:02evanseriously.
18:37:11dbussinkevan: http://en.wikipedia.org/wiki/Orders_of_magnitude_(time)
18:37:47dbussinkevan: or did you mean 10^26 attoseconds?
18:37:59dbussinkguess the power symbol was missing :)
18:38:03evanhttp://en.wikipedia.org/wiki/Planck_time
18:39:30evanah yes
18:39:32evanit didn't paste right
18:39:40evanthats 10^26 planck times
18:51:56toulmeanbrixen: evan: I am pulled back in java world today. If you feel losing time over RJB, ping me... but I won't be of much help I guess.
18:52:12brixentoulmean: no worries
18:52:24evantoulmean: no problem.
18:52:34evani think we've got rjb in hand at this point.
18:53:06toulmeanthink so ? Then I'll try to run with it over buildr later on.
18:53:12toulmeansee what comes up next.
18:53:23brixenso that's the voice I've heard saying "Unhand me, Sir!"
18:55:01evanwell, some of the buildr specs ran
18:55:06evani didn't try to run them all
18:55:14evanbut given that running those specs exercised rjb a bit
18:55:18evani'll bet it's working now.
18:56:01toulmeanevan: cool
18:57:08brixenevan: what do you get if you run rbx -S rake spec in buildr dir?
18:57:33evanI didn't run them all
18:57:38evanjust the java_spec one
18:57:46brixenI'm curious if you have issues loading gems
18:57:53toulmeanwe could try the compiler_spec.rb one
18:58:03toulmeanit's running javac
18:58:04brixenwhen I run that, it fails to load gems that I can load by hand
18:58:13brixendunno if I want to try tracking it down
18:58:15evanloading which gems?
18:58:16toulmeanbrixen: yes, I commented on your gist
18:58:22evanyou mean just loading the spec suite?
18:58:26toulmeanbrixen: you had a -S missing.
18:58:35brixentoulmean: hm, le'me see
18:59:34brixentoulmean: your comment does not seem relevent
18:59:41brixenrbx gem is short for rbx -S gem
18:59:47brixenand it shows the gem installed
18:59:52brixenbut buildr specs will not load it
19:00:02toulmeanah, the -S is not necessary then. OK.
19:00:12toulmeanok then dunno
19:00:20brixenyeah, me neither
19:31:12Defilerevan: did you get a chance to put up that prebuilt llvm?
19:48:56Defilerbrixen: could use some 'rbx-build' help when you have a minute
19:49:53evanDefiler: sup?
19:51:11Defilerhttp://gist.github.com/413596
19:51:25Defilerso, rvm uses --prefix to get rbx to build to ~/.rvm/rubies/rbx-head
19:51:44Defilerbut the extension building happens in the build directory, not the install directory
19:52:48Defilerso the first time you try to do it, it fails trying to execute bin/rbx
19:53:00Defilerbecause rbconfig has the --prefix bindir in there
19:53:13evanhrm. well, --prefix is meant to be used with install
19:53:19evanis it doing an install?
19:53:28Defilerthis fails the install
19:53:42Defilerbecause rbx-build is used during the install, if it needs to build
19:53:42evanum
19:53:45evani guess i don't follow.
19:54:03Defilerconfigure --prefix=/Users/wilson/.rvm/rubies/rbx-head --skip-system
19:54:08Defilerfollowed by rake install
19:54:29Defilerspecifically `ruby-1.8.7-p249 -S rake install`
19:55:04evanok, when it does that
19:55:06evanwhat happens?
19:55:08evanwhat goes wrong?
19:55:31DefilerLike i said
19:55:32boyscoutAdd spec for String#split using the encoding of the Regexp - be4643a - Evan Phoenix
19:55:32boyscoutUse the encoding of the Regexp in String#split on characters. Fixes #323 - 3bed115 - Evan Phoenix
19:55:39Defilerit tries to exec bin/rbx out of the install directory
19:55:43Defilerbut the install is still running
19:55:45Defilerand it isn't there yet
19:55:58evanit == rbx-build?
19:56:03evanwho is running rbx-build?
19:56:03Defilerno, bin/rbx
19:56:13Defilerrake install uses rbx-build
19:56:13evanbin/rbx tries to exec bin/rbx?
19:56:32evancan you show me some terminal output?
19:56:38evani think we're talking past eachother
19:57:06Defilerit's verbose, and I'm trying to cut through it. one sec
19:58:31Defilerclean checkout => ./configure --prefix=/instdir --skip-system => rake install => calls checkoutdir/bin/rbx-build to build extensions => dl extension has extconf.rb which now gets the just-compiled rbx bin's rbconfig
19:59:03Defiler"make" in lib/ext/dl now tries to use a ruby binary that hasn't been installed yet
19:59:21Defilerruby 1.8.7
19:59:31evanDefiler: that seems fine
19:59:33evani don't see the problem.
19:59:34Defilerbut it calls bin/rbx-build, which execs bin/rbx
19:59:36Defilererr, vm/vm, sorry
19:59:45scooprrue|w, I've been running my code through clang recently, seems very very promising
20:00:02evanwhat rbx does the make file have?
20:00:02Defilerevan: check out the bottom of this log https://gist.github.com/42cd630cbc3bbee827ab
20:00:21Defilerhard to see, but the working dir at the end there is lib/ext/dl
20:00:28evanwhy is there no bin/rbx?
20:00:30evanthere should be
20:00:38Defilerbecause configure was called with --prefix
20:00:39evanin that case, there should be vm/vm
20:00:44evanthat doesn't matter
20:00:52evanbecause vm/vm is still where the file goes before it's installed
20:00:54Defilerand therefore the rbconfig in the build directory is pre-configured to point there
20:01:03Defilerand when the build uses itself to build a subcomponent..
20:01:12evanso confusing.
20:01:14Defilerit uses an rbconfig that is for future use, not current use
20:01:35evanmm
20:01:36evanok
20:01:39evani think i see.
20:01:42DefilerI don't understand rbx-build at all; it doesn't seem at all safe to use bin/rbx mid-build
20:01:45evani need full repro steps
20:01:48Defilerit should use the ruby you typed 'rake' with
20:01:49evanoutside of rvm
20:01:52evanif you can get them to me.
20:01:54Defileryeah, doing it now
20:02:03DefilerI just cleared the terminal before talking about it, like an idiot
20:02:10evanit shouldn't use 1.8
20:02:11evanthats wrong.
20:02:14evanto build dl
20:02:18evanit needs to use rbx
20:02:19Defilerit doesn't
20:02:24Defilerand using rbx is wrong, with --prefix
20:02:28evan"it should use the ruby you typed 'rake' with
20:02:29evan"
20:02:32evan^^ thath would be MRI
20:02:35DefilerYes, in my opinion it should
20:02:44Defilerit should cross-compile with rbx's config
20:02:45evanthen the extension would be linked against MRI
20:02:46evanand not work.
20:03:12evandoing a cross compile is adding another level of unnecessary complexity
20:03:32evanbetter to, in the case of install, put the files in place, then build the extensions.
20:03:40boyscoutCI: rubinius: 3bed115 successful: 3463 files, 13862 examples, 41517 expectations, 0 failures, 0 errors
20:03:57evanso
20:04:00evanwhy doesn't openssl break?
20:04:05evanbecause it also uses extconf.rb
20:04:07evanjust like dl
20:04:28evanis it because dl's Makefile calls back out to ruby?
20:05:20Defileryes
20:05:42Defilerwaiting on a build, and then I should have a consistent non-rvm log to show you
20:06:03evanthe simple fix is to change dl's makefile to use 'ruby' instead of $(RUBY)
20:06:15evanwhich makes the makefile less portable, but avoids this issue.
20:06:22evansince we require a ruby to build rubinius
20:06:27evanthats an ok compromise.
20:06:49Defilermaybe there is an even easier fix in this log.. but otherwise yeah
20:10:27dbussinkrue|W: i've compiled it with clang yeah
20:10:35dbussinkrue|W: also committed some small fixes for it
20:11:35Defilerevan: http://gist.github.com/413621
20:11:55evanright
20:11:56evanok
20:12:08evanso lets change $(RUBY) in dl to ruby
20:12:16DefilerI modded the extconf.rb to print Config::CONFIG there near the end, for clarity
20:12:21Defilerbut otherwise this is identical to HEAD
20:12:41evanyep
20:14:26Defilerthe 'full' fix is, I guess, setting up rbconfig once during the build, and then only on install to use the --prefix option
20:14:27evanjust have to figure out how the lines for $(RUBY) are created...
20:14:43dbussinkrue|W: as in clang's c++ support?
20:14:44evanwell, our rbconfig.rb is dynamic
20:14:51evanit pulls vars out of Rubinius:: to build
20:15:03Defilersome of those get baked into vm/vm though, right?
20:15:06dbussinkrue|W: or do you mean that it translates into llvm?
20:15:06Defileror is that not the case now?
20:15:07evanmost
20:15:16evanDefiler: check out rbconfig.rb
20:15:18Defilerright; those are the ones I mean sadly
20:15:24evanthe paths come from Rubinius::
20:15:28evanrigh
20:15:28Defilerhence how mri does miniruby
20:15:29evanright.
20:15:43Defilerminirbx heh
20:18:34brixenback
20:18:38brixendid you guys fix it?
20:19:31brixeni think it's time I get started on the build system :/
20:19:47brixenbut first, I'm getting these c-api specs pushed to rubyspec
20:20:29brixengoddamn ppl, latte's should not be 500 F
20:21:10BrianRice-worknuclear coolant latte's
20:21:18brixenapplies an ice compress to his tongue
20:21:25brixenI'm losing my love for Stumptown
20:21:37brixenSterling coffee outside TJ's is the only place in town
20:21:39brixenperiod
20:21:45evanhehehe
20:22:00brixener outside TJ's in the NW 2 blocks from my apt :)
20:22:10evanyes, do they have special liquid sodium you can use to cool down a latte?
20:22:11evanthey shuold.
20:22:20evanright next to the sugar
20:22:21Defilerman, burning espresso like that should be a crime
20:22:29evanjust label it "Liquid Salt (sort of)"
20:22:30brixenevan: Sterling makes excellent lattes that are not in need of cooling
20:22:38brixensimply delicious
20:23:08BrianRice-workwell, they all set their teas to boil, generally, so I'm rarely impressed
20:24:24evanhow the heck down the lines about call.func get into the dl/Makefile from extconf.rb
20:24:26evan....
20:24:36brixenahhh magic!
20:24:47brixenI have no idea, I gave up tracking it down
20:25:17brixenevan: but see lib/ext/dl/depend
20:25:37brixenI'm sure mkmf cats that file into the makefile
20:25:44evanmagically
20:25:48evanoh man
20:25:50evani'll bet it does.
20:26:09brixenevan: so, yes, I should start on the build system...
20:26:10evanit's not in the .gitignore
20:26:14evanok
20:26:29brixenhow should we handle external libs that use configure to make a makefile?
20:26:49evanso, yes, mkmf.rb cats depend into the target makefile
20:27:07evanbrixen: thats really the big question.
20:27:20brixenindeed
20:27:32evani think the answer has to be that you have have to run make everytime
20:27:52evanthere is no foolproof way to infer the deps for a make target so you can know to run make
20:27:59evanyou have to just run make and let it sort it out.
20:28:06evanlike we do with openssl and nkf now.
20:28:06brixenyeah
20:28:19brixenbut running make would be well integrated
20:28:20evanso the question is "when should you run configure"
20:28:32evanideally you don't run it everytime.
20:28:36brixenright
20:28:48brixenyou run it when asked to configure
20:28:53brixenremember my diagram in SF?
20:28:57brixenprobably not..
20:29:00evan:)
20:29:06brixenbut, everything is explicit
20:29:06evanrefresh my memory.
20:29:08Defilerpoor unremembered diagrams
20:29:13Defilerthroughout history
20:29:19DefilerI weep for thee
20:29:31brixenif you do the configure step, that event propagates through the modules
20:29:42brixenand an external lib is just a module
20:29:51brixenthat eg knows configure is run and make is used
20:29:57brixenlittle m module
20:30:12evanso if our toplevel ./configure is run
20:30:23evanit sets a flag so that the sub-component configures are run
20:30:45evanone configure to rule them all.
20:30:53brixensets a flag <hand waves> does some shit... sub components run configure too
20:30:53brixenyes
20:31:04evanDefiler: so, try changing $(RUBY) to ruby in ext/dl/depend
20:31:05brixensame with eg clean
20:31:10evanyes.
20:32:33evanrunning configure is actually a minor note
20:32:35evanso i think thats fine
20:32:42brixenyeah
20:32:50evani think the big note here is that there is no way to avoid running make on all sub-components everytime.
20:32:55brixenafter all, *why* would you only want to run configure part way
20:33:02Defileras long as it doesn't assume that ruby is one with the same rbconfig as it is seeing
20:33:06Defilerthat will work
20:33:13evanDefiler: it shouldn't
20:33:20evanbecause it should use the ruby in the $PATH
20:33:20brixenI have some thoughs on that... but basically, running make in subcomponents is not a big deal
20:33:28brixensince make should do nothing if there is nothing to do
20:33:34evanexactly.
20:35:53Defilerand configure should always reconfigure
20:36:09evanright.
20:36:15Defileryin and yang
20:37:20brixenConfigure SHALL do as thou shouldest EXPECT
20:37:36brixenoh man, RFC's in old English
20:37:40brixenthe bible!
20:37:46evanhah
20:37:48brixenheh
20:38:16brixenI still want to write an RFC for rubyspec
20:43:36slavaI was a bit surprised that you had specs to test specific bytecode sequences emitted by the compiler
20:43:53brixenslava: you are not the only one
20:44:01brixenbut it has been very very helpful
20:44:21brixenthe only issue is deciding when enough of that is good enough to get you bootstrapped
20:44:29brixenand move to the behavior specs
20:44:31brixeneg rubyspec
20:44:33brixener ie
20:45:03brixenbut you will pry the bytecode specs from my cold, dead hands :)
20:45:12slavado you ever find it hard to strike a balance between tests that are exhaustive and helpful for catching regressions, and tests which overspecify and have to be thrown out after refactoring?
20:45:19brixenyes
20:45:26evanyeah
20:45:28brixenit's a hard problem
20:45:33evanthe balance is found by practicing
20:45:34brixenbut one I'm happy to deal with
20:45:48brixenrather than say "I've had to change the specs, throw them out!"
20:45:52slavaI have tests that run a given IR through an optimizer pass, and check that the result matches the expected IR exactly
20:45:56slavaits analogous to your bytecode specs
20:46:07slavabut often I have to toss these out
20:46:23evanthe optimization passes are different
20:46:25evana lot different
20:46:34evanthink of these more as parser tests.
20:46:49brixenwell, they are the same in that you want precise output
20:46:50evangive a form of code, the bytecode composed.
20:46:55brixennot just equivalent behavior
20:47:10slavabut if you add or change a bytecode, or add a minor peephole optimization to the bytecode translator
20:47:14slavado you ever end up having to update 23423432 specs?
20:47:25slavalike you run the tests and everything fails but the code is correct, its just that the specs are out of date now :)
20:47:27brixensometimes
20:47:45brixenbut it's worth it in my experience
20:47:52slavame too
20:47:56brixenagain, I want to know precise output, not equivalent behavior
20:48:22evanslava: it happens, sure.
20:48:28brixenI should say, equivalent behavior at some higher level of abstraction
20:48:35evanif it's a big thing, I refactor some becode generation into a method
20:48:44evanand change thing to call that method to generate bytecode
20:48:50evanso that as i'm working on it or changing it again
20:48:57evanthere is one place to change and all users get the new code
20:49:31slavahttp://gitweb.factorcode.org/gitweb.cgi?p=factor/.git;a=blob;f=basis/compiler/cfg/value-numbering/ value-numbering-tests.factor;hb=HEAD
20:51:27slavathere's more lines here than the actual optimization pass
20:51:50slavaI wish those FP guys would hurry up and make everything provably correct
20:52:26brixenyes! then we could use that in our CI that tests every program runs on rbx
20:52:53evanwoo
21:29:09brixenman, I hate trying to track down a change in MRi
21:29:31brixenor determine whether it was a bug or change in behavior
21:30:23evanas do I.
21:30:37evani'm revamping the query agent a bit atm.
21:30:44evani've decided to make it more like SNMP
21:30:47brixenfun
21:30:52evanso there are going to just be 3 main commands
21:30:56evanset, get, list
21:31:16evanthe the agent will have basically, a tree of variables
21:31:27evanso you can do
21:31:30evanget system.name
21:31:39evanand the agent will find the variable for name in system
21:31:44evanand call read on it
21:31:55evanit's a dynamic variable, so it will run some code and send the result back
21:32:06brixenneat
21:32:07evana variable can be another tree as well
21:32:14evanso it might be
21:32:21evanget system.info.name
21:32:36evanit's completed from left to right
21:32:41evanso that stuff like
21:32:45evanconfig.agent.start
21:32:47evanjsut works
21:32:54brixenahh
21:32:59evanconfig will be a variable that exports all the -X config vars
21:33:35evanlist config would be ["config.agent.start", "config.jit.inline.debug", ... ]
21:34:17brixenlooks good
21:38:40brixenComplex#arg returns the angle from Complex(1,0)
21:38:45brixenaka Complex#angle
21:38:54brixenman, I'd love to know how it got that name
21:39:42evanhah
21:40:22brixenok, it's from argument, as defined in the complex plane
21:40:49brixenalso called phase or "more rarely and more confusingly" amplitude
21:40:57brixenquoting wolfram research
21:41:13binary42We should just wrap it all up into argle
21:41:23evanyes
21:41:25evanargle it is.
21:41:38brixenbinary42: dude! :)
21:41:48brixenbinary42: how's things?
21:42:00binary42Pretty great. Good to be done with GoRuCo mostly now.
21:42:05brixennice
21:42:18binary42It was a great conf but the A/V setup was a little tough to crack.
21:42:33brixenwas it recorded?
21:42:37binary42Yeah.
21:42:43brixensweet
21:42:47binary42Give it 2 weeks or so.
21:42:51brixenok
21:43:00brixenputs it on the calendar
21:43:25binary42So now I'm working on my postmodern ruby lib. (a.k.a. I don't like rubygems or rails) It's not ready yet but I think you guys might like it.
21:43:38brixenawesome
21:43:59brixendeconstructing the madness are you?
21:44:00binary42It has a way to create top-level namespaces in 1.9. It would be interesting to see how organizing Rubinius code would work with it.
21:44:05binary42Yes.
21:44:30brixenwe'd love to see it when ready
21:44:33binary42I hesitated using the word but it really is.
21:44:50binary42Back to require and constant lookup.
22:06:15evanbbiab.
22:54:01toulmeanbrixen: you use dvorak ?
22:55:39brixenyes
23:20:52dwaitebrixen just does that so that for the challenge playing video games with wasd
23:22:40brixendwaite: are you trying to make me feel better? cus it's not working :P
23:50:17Defilerbrixen: what are the supported 'rake build' platforms for rbx right now? just 1.8?
23:58:47brixenDefiler: yes
23:59:02Defilerok. I have a commit that should cut down on the bug tickets then