Index

Show enters and exits. Hide enters and exits.

00:02:31jvoorhislooking forward to breaking your code again ;)
00:02:44jvoorhisheading out now
00:03:15evanbye.
00:03:38duncanbeeversWe also had to skip loading hpricot, but it looks like that's a known problem.
00:03:56jvoorhishpricot isn't maintained iiuc
00:04:02jvoorhisi wouldn't miss it
00:47:23boyscoutSpec for alias+super interaction with included modules - 44fa18d - Evan Phoenix
00:47:23boyscoutAlias needs to hang on to the included module, not the module. - eb787d5 - Evan Phoenix
00:47:40evanjvoorhis: ^^
00:47:45evanduncanbeevers: ^^
00:55:40boyscoutCI: rubinius: eb787d5 successful: 3441 files, 13540 examples, 41058 expectations, 0 failures, 0 errors
05:10:52postmodernhttp://pastie.org/992763
05:11:03postmodernim getting US encoding errors when compiling rubinius on 1.8.7?
05:14:14brixenum, ruby -v ?
05:14:47brixensomething seems messed up there
05:15:03brixenI kinda wish ppl would just build rbx in the source dir rather than via rvm :/
05:48:21postmodernbrixen, ruby 1.8.7 (2009-06-12 patchlevel 174) [x86_64-linux]
05:48:25postmodernbrixen, this is under rvm
05:48:45postmodernbrixen, i am building it in the source directory
05:48:59postmodernbrixen, but since my default system ruby is 1.9.1, i have to switch to 1.8.7 using rvm
05:49:12postmodernbrixen, since rubinius'es build system is not compatible with 1.9.1
08:06:16evanpostmodern: it says 1.8.7, but it's clearly still 1.9.1
08:06:19evanthis tells me so:
08:06:25evan /home/hal/rubinius/rakelib/vm.rake:694:in `block in <top (required)>'
08:06:38evan1.8 never generates a backtrace line like that.
08:06:50evannor does it ever raise encoding errors.
08:21:06postmodernevan, ah interesting
08:21:12postmodernevan, then it looks like a bug in rvm
08:28:57postmodernevan, or at some point the build system breaks out of rvm, and explicitly executes system ruby
12:35:44lypanovbrixen: just finished the dalvik talk. its excellent.
12:35:52lypanovanyone with time should watch the last 30 minutes of it.
12:36:28lypanovthey have a great self verification system which reruns any side effect free blocks within the interpreter and verifies mem writes against the jit
12:37:10lypanovdunno how well that plays with truly advanced opts. but still. its neat.
12:37:30lypanovdisappears to code and listen to lada gaga again
19:16:42jslabovitzi'm having build troubles. the actual builds are succeeding, but tests are failing with a crash on test_SingleBlockAllocator_allocate (in Suite TestImmixGC). this is on OS X 10.6.3, latest git head, with both ruby1.8.7 and llvm are from macports. is this a known issue?
19:18:32Defilerhopefully the rbx build process correctly ignores the (not usable) macports llvm
19:18:37Defilerbut if it isn't, that might be your problem
19:18:43jslabovitzah, i think it does not.
19:18:58Defilercan you do a build with rake --trace and make a gist (or your preferred paste site) out of it?
19:19:26jslabovitzi mean, it clearly did not download another version. i figured it would work, since the macports version seemed (?) to be the same as the required one. maybe not.
19:19:49Defilerit's a little tricky until the next stable version of llvm comes out
19:20:13Defilerrubinius relies on a bunch of bugfixes and improvements, not a few of which evan fixed and contributed upstream. heh
19:21:04jslabovitzokay, i'll try it out w/o the macports llvm, and see if i get farther along. thanks.
19:21:14Defilergood luck; hopefully that fixes it
19:21:36Defilerllvm-config --version just says '2.6' but in reality rbx needs a specific patch level or later
19:34:18evanwell, we should be able to use 2.6 release
19:34:25evanthast what the prebuilts are from
19:34:38evanbut for some reason, people seem to get other versions of 2.6 installed
19:34:41evanthat cause troubles.
19:35:01evanjslabovitz: run ./configure, what does it output? gist that.
19:35:07jslabovitz'port info llvm' claims 'llvm @2.6, Revision 2'
19:35:30jslabovitzsorry, i already removed macport's llvm, so i don't think the ./configure output will be relevant.
19:35:59evanok
19:36:03evanwell, give that a shot
19:36:07evanbe sure to run 'rake clean' though
19:36:12evanafter you run ./configure
19:36:17jslabovitzit's already working far better.
19:36:43evanok cool.
19:43:09jslabovitzokay, that build & test worked. so definitely it's an issue with whatever llvm macports is pulling in.
19:54:40evanjslabovitz: ok great!
20:03:29Defilerevan: I love you, rails: https://gist.github.com/b334efbd305d202ee05b
20:04:22evanwow.
20:04:23evanWOW.
20:04:25evanthats so terrible.
20:04:46evanfuck them.
20:05:08evandoesn't even run under 1.8?!
20:05:10Defilerright
20:05:22Defiler::fatal pwtf**INT_MAX
20:06:05evanwait wait
20:06:09evanthat doesn't run on ANY ruby
20:06:28Defilerright
20:06:33Defilertotally not valid syntax
20:06:44evanwhere the fuck is that coming from?!
20:07:17Defilerdo you really want to see?
20:07:19Defilerbecause..
20:07:20Defiler ObjectSpace.each_object(class << sup; self; end) do |k|
20:07:21Defiler if k != sup && (k.name.blank? || eval("defined?(::#{k}) && ::#{k}.object_id == k.object_id"))
20:07:37evanoh man, i didn't.
20:07:44evanso MRI is returning fatal as a Class?
20:07:48Defileryes
20:08:00evandid this code ever work then?
20:08:01evani can't have
20:08:07evanMRI can't have just started returning it.
20:08:22Defilerit only happens when you have enough juice loaded
20:08:24evanoh, you called subclasses on Exception
20:08:28Defileryeah
20:08:30evanthats probably the deal.
20:08:34evanthey've never tested doing that.
20:08:38evan*eyeroll*
20:08:45evanok, i'm off to get some cuban food and go to ikea.
20:08:48Defilerawesome
20:08:53evanhope that NYC is nice today!
20:09:03Defilerdunno; stuck in the office working ;)
20:09:03evanit's 80 here (so it will be 90 in the valley)
20:09:07evan:(
20:09:17evanok, well, get outside!
20:09:18evan:)
20:09:19evanlater.
20:09:25Defilerhave fun
20:29:55Defilerevan: https://rails.lighthouseapp.com/projects/8994-ruby-on-rails/tickets/4774-patch-exceptionsubclasses-f ails-with-syntax-error
22:29:58lypanovwtf.
22:30:04DefilerI know, right?
22:35:23dreinullmaybe stupid question but is rubinius as fast as mri?
22:36:04dreinullif it's written in ruby where is it interpreted itself?
22:36:32dreinullotherwise it's really interesting to read rubinius code and see how some methods are implemented.
22:36:59michaeltomerIt depends on the task.
22:37:40lypanovdreinull_: its not interpreted. its compiled.
22:38:50lypanovdreinull_: in some (many) benchmarks rubinius is faster. in some slower.
22:38:50dreinulllypanov: ruby code can also be compiled?
22:39:04michaeltomerRubinius can be smart about its code in a way that few other implementations can.
22:39:16lypanovdreinull_: compilation and interpretation are funny terms.
22:39:32lypanovdreinull_: java is compiled to bytecode right?
22:39:34michaeltomerMacruby, Rubinius, IronRuby, and JRuby all offer some form of compilation.
22:39:36lypanovdreinull_: rubineus the same.
22:39:48lypanovif i could spell.
22:40:16michaeltomerC# is compiled to CIL, it's the same idea.
22:40:20dreinulllypanov: no expert on this.
22:40:20lypanovdreinull_: not sure if users of rubinius compile. never used it.
22:40:37DefilerSo, here's how it works
22:40:41lypanoveither way. rubinius will be the fastest vm in a year or so unless the jvm guys wake up.
22:40:52michaeltomerRubinius offers JIT, which is still compilation.
22:40:55lypanovand until then its fast enough. so if it runs your stuff. use it. :P
22:40:57Defilerthere is some code somewhere that doesn't require ruby, and is native to the platform you are running on
22:41:04lypanovmichaeltomer: its not really compilation.
22:41:12Defilersometimes that is because you wrote it in C, other times it is because you generated machine code in some other way
22:41:17lypanovshuts up and lets Defiler speak
22:41:41michaeltomerlypanov: That's arguable.
22:41:45Defilerin the case of rubinius 1.0, that is a very cool library called LLVM, along with C++ code written to implement that underlying layer for rubinius
22:42:02lypanovmichaeltomer: yup thusly "not exactly" :P
22:42:06Defilerin earlier versions, it worked various different ways that I won't confuse this answer by listing out
22:42:28DefilerSo, what happens when you type 'rbx myprogram.rb'..
22:42:31lypanovmichaeltomer: i personally don't count jitting as compilation. its no more compilation than linking is compilation imo.
22:42:57Defilerthe bootstrap binary loads up just enough code to load the kernel/core/etc of rubinius, which is written in ruby
22:43:21Defilerbut, importantly, in the file you download when you say 'gimme rubinius 1.01', already compiled to rubinius bytecode (using ruby)
22:43:38Defilerso that gives you the 'pull yourself out of the rabbit hole' trick you need to get the loader running
22:43:51Defilerat that point, it's just a matter of efficiently turning all that stuff into native machine code at runtime
22:43:57Defiler'just'
22:44:01lypanov:P
22:44:04Defiler(and that's where LLVM comes in)
22:44:23lypanovstill very happy he shoved llvm down everyones throats at the right time
22:44:43Defilerat the end of the day, after startup, you're using llvm to spit out machine code and then jumping into that region of memory
22:44:49Defilerjust like C
22:45:03lypanovDefiler: saw the dalvik vm talk @ google i/o 2010 on youtube?
22:45:08Defilernope
22:45:32Defilerhttp://www.youtube.com/watch?v=Ls0tM-c4Vfo
22:45:34Defilerthat?
22:45:58Defilerman, they really needed this
22:46:02dreinullsounds compelling. I will definitely try it.
22:46:04Defilerthe android vm is sooo slow
22:46:12lypanovDefiler: they did some damn neat stuff in it.
22:46:20lypanovDefiler: skip the first half. jump to the non native guy.
22:46:45dreinullI always thought it was some kind of show off thing. Lets interpret ruby with a ruby ruby ruby...
22:46:46lypanovsummary of first half: tracing jit and we rule at keeping mem usage low.
22:46:47lypanov(they do)
22:47:00lypanovdreinull_: naah, its just the Right Thing to do.
22:47:30lypanovwas playing with such concepts many a year back
22:47:56Defilerdreinull_: Not to show off; because if you look at MRI, the jump between C and back into ruby is extremely expensive
22:48:08Defilerand rbx doesn't need to make that leap
22:48:48lypanovall signs of mah first attempt at a vm have disappeared (mono + ruby)
22:49:47dreinullrvm install rbx
22:51:18jslabovitzJust for fun (and because I enjoyed talking to Brian Ford yesterday @ OSBridge), I tried building Rubinius on my BeagleBoard. Unfortunately, it failed: <http://gist.github.com/427073>. Any gcc gurus out there?
22:51:52Defileroh man hehe
22:52:06DefilerI don't think rbx builds on 4.4 yet, actually.. but I might be out of date
23:42:30dreinull1:0 for mri, code 50% faster.
23:43:01dreinulldoing some db searching, ie. crunching the db returns.