Index

Show enters and exits. Hide enters and exits.

00:02:43tmm1doesn't mongrel run?
00:02:54tmm1i thought someone got it running
00:05:04antarestmm1: with a number of fixes to it's code, yes
00:05:42rby leaves the room.
00:07:11ezmobiuswebrick runs
00:07:28ezmobiusthere is a modified http11 mongrel parser in the rbx repo
00:07:40ezmobiusso you can get mongrel running with some hand waving and jig dnacing
00:09:15antaresezmobius: what has been modified in parser, isn't it a ragel-generated C code?
00:09:43tarcieriezmobius: does Rack::Handler::WEBRick work?
00:09:46ezmobiusthere were a few small things adjusted
00:09:50ezmobiustarcieri: yup
00:09:53tarciericool
00:10:23ezmobiusantares: also it was done a while ago so rbx may have overcome the issues since then
00:10:33ezmobiusthere was some problem with global variables
00:11:31agile leaves the room.
00:14:04imajes leaves the room.
00:14:28peeja enters the room.
00:14:41Arjen_ leaves the room.
00:16:22antaresezmobius: thanks for info ;)
00:16:29Fullmoon enters the room.
00:17:40lstoll leaves the room.
00:23:34jayWHY leaves the room.
00:24:03antaresloves that 500 lines C switch in instructions.gen
00:24:39antarescode generation produces code for machines ;)
00:26:55foysavas leaves the room.
00:28:18boyscout1 commit by Eric Hodel
00:28:19boyscout * Import RubyGems 1.1.0.; 70465ee
00:30:17rueWee
00:31:08ruedrbrain: Is the ticket for Gems still valid?
00:31:21drbrainwhich?
00:31:26drbrainif you have it handy
00:32:08massrue: see my msg earlier re: GC?
00:32:56kwl leaves the room.
00:35:18rubuildius_amd64Eric Hodel: 70465eeb0; 1844 files, 6259 examples, 22316 expectations, 0 failures, 0 errors; http://rafb.net/p/QMXOT410.html
00:35:18ruedrbrain: #347: "Integrate RubyGems"
00:35:30drbrainah, yes, that is done
00:36:30ruemass: Ah, yeah--I was looking at page faulting variants.. you found some benchmarks that performed worse though?
00:36:57foysavas enters the room.
00:37:04zenspiderI could use some help in the subtend arena... anyone?
00:37:36rueI am always ready to confuse matters! Shoot!
00:39:09massword of mouth from evan who hangs with those types of hombres
00:39:28massI really liked the idea and wanted to work on it, but it was an awful amount of work for something that might be slower
00:40:10masswrite barriers and even read barriers are very much in fashion still
00:40:24massthe other thing, which might or might not matter, is that a page-based system would require a MMU
00:40:30rueYep.. I was going to peek at the JVMs a bit
00:40:35rubuildius_ppcEric Hodel: 70465eeb0; 1844 files, 6262 examples, 22345 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/173458
00:40:45massI believe the JVM system is very close to what is in rubinius today :)
00:40:49ruemass: Well, we *should* be able to provide a separate one for embedded systems etc.
00:41:02rueParallel would be interesting to do
00:41:13massperhaps rubinius is simplified. the one thing I didn't get from my research is how to make a parallel gc which isn't based on write and read barriers
00:41:31masserr, sorry, which IS
00:41:37massthe pagefault system was safe
00:42:21rueAh, yeah
00:42:25massthere were approaches that did really fun things like marked a page unwritable then mapped the same page again to another part of memory that would write to it, to catch modifications by other threads
00:42:39massbut still let you GC it
00:43:05mass"The Compressor" in particular was a paper that made my brain ache :)
00:43:12zenspiderrue: I've added arity checks for C method dispatches. they were missing. now I have 45ish failures... I'm looking at subtend_string.c and everything there looks as it should...
00:43:19jayWHY enters the room.
00:43:42zenspiderrb_str_substr: wrong number of arguments (got 3, required 0) -- 3 is correct.. so it looks like the arity isn't stored correctly?
00:44:03zenspidermy original test case passes tho. :/
00:44:15zenspiderhttp://rafb.net/p/ZSx7BU25.html
00:44:34massrue, that one is at http://www.cs.technion.ac.il/~erez/Papers/compressor-pldi.pdf
00:45:36zenspidersec... lemme rake clean just to make sure
00:45:57massif you decide to go with an approach lemme know, I might be interested in helping out :)
00:46:54drbrainrue: thanks for closing
00:47:45rueYep, I have been going through the tickets a bit. That loop {} was a bit embarrassing
00:48:32ruezenspider: I see a segfault in the subtend Array specs as-is
00:49:21zenspiderrue: I'm running ci on em...
00:49:30zenspiderSubtendString rb_str_substr should return a substring ERROR
00:49:39zenspiderwrong number of arguments (got 3, required -1073749232)
00:49:42zenspider
00:49:51zenspideryeah.... this is just not set. :/
00:50:09zenspiderwhat I added was: ARITY(cmethod_get_args(msg->method)); to nmethod_call... seemed fine and worked for my isolated tests
00:51:18rueHm, subtend/string_spec.rb is green on HEAD with darwin 9.2.0 x86
00:51:44rueSubtendObject has some issues though
00:53:27zenspiderrue: yeah. it was green before my change
00:54:47rueAha
00:55:26zenspiderdoes that arity check look bad tho? it should always be getting a cmethod, shouldn't it?
00:59:24nemerle enters the room.
00:59:30rueTracing, sec
00:59:41loincloth leaves the room.
01:03:01zenspiderthere are a lot of void* wrappers... I dunno if I can ever be sure. :/
01:06:10rueYeah, plus the cmethod/nmethod boundary etc.
01:08:39rueActually, it may not be
01:13:42ruecmethod_get_args would access field number 18 of a CompiledMethod
01:15:46agardinerew! is there something in subtend using CM#args?
01:16:04agardinerthat might explain why i kept getting segfaults when i tried to move it yesterday
01:17:08agardinerit's no good the way it is though, since field 18 is not persisted to .rbcs
01:18:28rue((native_method*) BYTES_OF(nmethod_get_data(nm)))->args
01:19:08lstoll enters the room.
01:19:26zenspideragardiner: I'm adding arity checking for cmethods
01:20:41zenspiderrue: should I be doing some sort of type check on msg?
01:21:06agardinerrue: hmmm... that looks like it is getting args from bytecode or something??? it doesn't look like it uses field 18 on CM
01:21:41rueagardiner: nmethods store the arg count from nmethod_new
01:21:51zenspiderrue: nm == msg->method?
01:22:13rueShould be, checking.. man, unit tests will really help here :P
01:22:23rueThat reminds me--
01:22:34rueevan: Push the C++ into a branch, plwees
01:22:45zenspiderhaha
01:22:50zenspideryes, they would
01:22:51agardinerah, ok... it looks like NativeMethod uses the bytecodes field to store stuff
01:23:00antaresfor it with rue
01:23:01massc++?
01:23:11masswhats that evil mastermind doing now?
01:23:13agardinerso it isn't using field 18 of CM for this
01:23:16rueRight
01:23:17zenspiderthat did it
01:23:25antaresmass: there's a migration from C to C++ for shotgun happening
01:23:34massreally?
01:23:42massoh, that would have made a lot of things simpler
01:23:48antaresmass: that's being said at least
01:23:52zenspidermass: currently he's sleeping. :) but he's got a new architecture in a simplified C++ that will help with testing
01:23:55massin exchange for making a lot of things harder to understand :)
01:23:57zenspideramong other things
01:24:16zenspiderrue: ok... TEACH ME... how the fuck did you come up with that?
01:24:24antareszenspider: does evan has any plans to publish it before it is completely done?
01:24:29agardinerso i'm still stumped by why my change to remove CM field 18 causes problems at GC time...
01:24:37zenspiderantares: no clue. :)
01:24:47agardineri've rebuilt stables, stopped using the field, etc without any luck
01:24:55zenspiderI tried to work that back from nmc_new, and had a couple approaches that went that direction, but eventually went with cmethod_get_args
01:25:03zenspiderI think I might add nmethod_get_args and the like
01:25:36ruezenspider: Heh, I went to see what a nmethod looks like. shotgun/lib/subtend/nmethod.{h,c}. You see the args there; then I went through nmc_activate() from nmc.c to verify it was not actually getting set on the cmethod
01:25:59zenspideragardiner: I have a really really hard time with bootstrapping this thing. I'm mostly playing with the parser which is outside the stables rba file, but still... it is tough
01:26:06dysinger enters the room.
01:26:20cored enters the room.
01:26:21zenspiderok... I didn't look at nmc_activate at all... but I guess I was close
01:26:26binary42 enters the room.
01:26:29zenspiderI'll get better the more I dig in this stuff
01:26:58agardinerzenspider: yeah, whenever you change anything that is in stable it gets difficult
01:27:16zenspideris it worth it to add nmethod_get* macros?
01:27:52agardinerseems like it would be clearer
01:29:24rueYep, no harm at least
01:29:48tarcieri leaves the room.
01:29:54zenspiderhrm... doesn't really fit in genheader.rb
01:30:12agardinerno, you'd want to add it to nmethod.h I think
01:30:14zenspiderhow about in nmc.h ?
01:30:18rueNah, you have to handcode it so nmethod.h
01:30:52zenspiderk
01:31:55zenspideris there anything OTHER than args to do?
01:32:08zenspiderwe don't do nasty struct "inheritance" or anything, right?
01:33:46rueI would go case by case, there is probably stuff in nmc that might be useful
01:36:44binary42 leaves the room.
01:36:51binary42 enters the room.
01:38:52rueantares: I closed the Range#step ticket, we are going to track 111 and looks like the 114 change is getting fixed too
01:39:29antaresrue: roger that
01:39:58antaresrue: I am deep into kernel documentation now, probably will need a review from you soon
01:42:28agile enters the room.
01:47:29rueMan, these "hint of lime & salt" chips are tasty. I do not even have salsa :D
01:49:43zenspiderrue: heh... I just grabbed some irish cheddar because I don't have salsa. :)
01:49:49zenspideryay for raw nachos
01:52:23boyscout4 commits by Ryan Davis
01:52:24boyscout * mkspec now stubs a failure; 94bcb30
01:52:25boyscout * Added mri vs rubinius check in rbconfig - also horrid LDSHARED hack, but I'll fix ...; d4793b5
01:52:26boyscout * Added arity check for nmethod_call - thanks to rue and evan; 2e0c078
01:52:27boyscout * Added nmethod_[sg]et_args; 30f1cca
01:52:51rueHa, nice on 94bcb
01:53:27zenspideryeah. we need it
01:53:39zenspidertoo many essentially empty files w/ no good way to track
01:58:18webmat enters the room.
02:00:12rubuildius_amd64Ryan Davis: 94bcb30b4; 1844 files, 6259 examples, 22316 expectations, 0 failures, 0 errors; http://rafb.net/p/GoUqPo43.html
02:00:19kw enters the room.
02:03:23justinweiss enters the room.
02:06:09rubuildius_ppcRyan Davis: 94bcb30b4; 1844 files, 6262 examples, 22345 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/173506
02:07:57kw leaves the room.
02:08:16kw enters the room.
02:09:02kwl leaves the room.
02:17:52obvio enters the room.
02:20:01KirinDav leaves the room.
02:23:57_VVSiz_ enters the room.
02:24:41agile leaves the room.
02:24:57cored leaves the room.
02:28:09kw enters the room.
02:29:29agile enters the room.
02:30:16AndrewO enters the room.
02:32:45agile leaves the room.
02:33:13agile enters the room.
02:35:13lstoll leaves the room.
02:35:31kw leaves the room.
02:35:48kw enters the room.
02:36:12kw leaves the room.
02:36:52agile leaves the room.
02:42:10fbuilesv enters the room.
02:42:17VVSiz_ leaves the room.
02:49:53djwhittman, someone has to try this at somepoint: http://murmurhash.googlepages.com/
02:50:25agile enters the room.
02:52:02GMFlash leaves the room.
02:53:41rueYeah, that looked interesting
02:55:36djwhitthmm... I wonder how hard it would be to hack that in
03:01:32FobaxApparently it is now the default Ruby hash
03:06:55jrun enters the room.
03:08:37srbaker leaves the room.
03:10:26joachimm_ enters the room.
03:11:37srbaker enters the room.
03:13:24rueShould not be very difficult
03:14:53MenTaLguY enters the room.
03:17:52antaresrue: I see there's a separate heap for contexts. Could you explain this decision? I am a bit confused after blue book :)
03:19:42rueContexts are preallocated and recycled to avoid the cost of allocation every method call
03:19:52jayWHY_ enters the room.
03:19:55rueSo the OM manages those separatey
03:19:57ezmobius leaves the room.
03:19:59rueSeparately also
03:20:28antaresrue: I see. They got recycled when VM is low on memory, right?
03:20:43antaresrue: or when execution of methods/blocks end?
03:21:21jtoy enters the room.
03:23:48cremes_ enters the room.
03:24:45rueIt should be done each time the GC runs
03:26:47joachimm leaves the room.
03:29:20rueWth
03:31:52antaresrue: thanks, exploring on my own now :)
03:32:23rueThere is a file in doc/ that may help, then look at object_memory.c
03:32:58rueIf you can concisely explain when a context is referenced, that would be great :)
03:34:33jayWHY leaves the room.
03:40:11lstoll enters the room.
03:42:25obvio171 enters the room.
03:43:21nkpart leaves the room.
03:45:01macournoyer leaves the room.
03:51:21KirinDav enters the room.
03:52:42lopex leaves the room.
03:57:09obvio leaves the room.
03:59:57antares leaves the room.
04:02:42GMFlash enters the room.
04:05:04FobaxHow far along is Rubinius?
04:05:21MenTaLguYit is along
04:05:27FobaxIs it anywhere near usable as a real replacement for ruby?
04:05:31dysinger leaves the room.
04:05:32wycatsMenTaLguY: what's your real name?
04:05:40wycatsFobax_: if you just want to do scripts, sure
04:05:45wycatsnot if you need rubygems/actual gems
04:05:49wycatsnot if you need Rails
04:05:57FobaxI don't need rails, but I do need gems
04:06:10MenTaLguYwycats: well, if you're going to ask like *that*, I don't need to tell you. :)
04:06:28antares enters the room.
04:06:55FobaxRuby is just being a major memory hog
04:07:36wycatsMenTaLguY.real_name
04:07:40wycatsis that better?
04:07:46FobaxIt'd be nice to try to get my site running under rubinius soon
04:07:54wycatshow about MenTaLguY.real_name?
04:08:00wycats#=> false
04:08:01wycats?
04:08:22MenTaLguYwell, obviously #real_name? returns false; obviously it's not my real name :)
04:08:56wycats#real_name? would return whether you had a real name ;)
04:09:07MenTaLguYwell, true then.
04:09:16rueEvening, MenTaLguY
04:09:55djwhittMenTaLguY is actually _why
04:10:01djwhitthe has a split personality
04:10:04djwhitthence the name
04:10:07wycatsI was thinking that ;)
04:10:19wycats_why? Because he's a MenTaLguY
04:10:38MenTaLguYheh, _why and I are quite different people
04:10:45wmoxam enters the room.
04:13:00lstoll leaves the room.
04:13:34halorgiumi was awfully concerned on fri night when someone was attempting to discover _why & MenTaLguY's names :P
04:14:36MenTaLguYI know MenTaLguY's name.
04:15:03rueI know that he knows
04:15:25MenTaLguY_why actually does know my name, we corresponded once
04:15:33MenTaLguY(offline)
04:16:12djwhittah, but do you know his?
04:16:50djwhittI suppose some people must
04:16:58djwhitthe goes to conferences etc. doesn't he
04:17:12MenTaLguYyeah, but you can usually go to a conference with a crazy name
04:17:16MenTaLguYif you work it right
04:17:28MenTaLguYmy official DDC and LGM badges said "MenTaLguY"
04:17:54halorgiumand pay with cash :D
04:17:56MenTaLguYmy friend Dormando actually used his real name at SXSW, but nobody knew who he was then
04:17:57djwhitthehe
04:17:58djwhittnice
04:18:02MenTaLguYno, I used a credit chard actually
04:18:06MenTaLguYs/chard/card/
04:18:10MenTaLguYthere are a couple ways to handle it
04:18:23MenTaLguYOne is to simply call the organizers and make special arrangements
04:18:47MenTaLguYanother one is to simply specify your real name with the billing information
04:19:02MenTaLguYor if the billing information is not separate, use your real name and then change it once the charge clears
04:19:12MenTaLguYso they have your pseudonym by the time they print badges
04:19:15MenTaLguYlots of ways to do it
04:19:40djwhittah, well, I don't really want to know. I figure if someone wants to keep such stuff private they should be able to. but it's fun to joke about it ;)
04:20:44tobyoMenTaLguY: does this anonymity buy you much? Keeps you safe from anti-threaders or something?
04:21:10MenTaLguYHonestly? It's a nice little bit of insulation as a (very minor) celebrity.
04:21:27MenTaLguYThe other thing though is that I'm kind of stuck with the name now.
04:21:32MenTaLguYAll my interesting accomplishments are under it.
04:21:36tobyois glad to be a nobody
04:21:51MenTaLguYc.f. Dormando's problem
04:23:07tobyoYou are certainly protected from issues like the Marc Andreessen porn incident
04:24:08jrun leaves the room.
04:24:15MenTaLguYDon't know about that, except by virtue of not getting involved with the porn business in the first place.
04:26:28djwhittFoobax_: not sure anyone ever really answered your question
04:26:44djwhitterr... Fobax_
04:26:57djwhittFobax_: what's your site written in?
04:27:08djwhittFobax_: as in one gems does it use
04:27:12djwhitt*what
04:29:28webmat leaves the room.
04:51:36KirinDav leaves the room.
04:53:16wycats leaves the room.
05:04:28RyanTM leaves the room.
05:05:34obvio leaves the room.
05:12:42tony_ enters the room.
05:15:51srbaker leaves the room.
05:16:56srbaker enters the room.
05:17:26brixenzenspider: ping
05:19:38nkpart enters the room.
05:24:14tarcieri leaves the room.
05:43:07fbuilesv leaves the room.
05:51:38nicksieger leaves the room.
05:55:48lstoll enters the room.
05:57:02srbaker leaves the room.
06:08:30wycats enters the room.
06:17:34imajes enters the room.
06:20:10ezmobius enters the room.
06:27:00ezmobius_ enters the room.
06:28:33ezmobius leaves the room.
06:35:00antares leaves the room.
06:39:56antares enters the room.
06:40:05headius enters the room.
06:42:43aotearoa leaves the room.
06:50:03rueArgh. This is the dumbest... I will never /ever/ work with Apache again.
06:53:32ezmobiuslol
06:53:57headiusevening
06:54:49rueHey
06:55:19ezmobiusheya headius
06:55:22ezmobiushows life?
06:56:30headiusgrrrreat...off to edinburgh for scotland on rails today
06:56:39headiusgotta come up with 90 minutes of material
06:57:19rueYou could announce that you have stopped JRuby development
06:59:11rueBecame a monk or something
06:59:23rueAlthough you would have to shave your head for that I think
06:59:43headiusahh, but we've only just started
06:59:46ezmobius_ enters the room.
07:00:09headiusnow that 1.1 is released, we'll be turning the performance thumbscrews again
07:00:36rueBut it is April Fools'
07:00:47rueOr Fool's, never bothered to find out which
07:02:48headiusyes, I hate this day because of all the fake news stories
07:05:26headiuswe've started to look into multi-threaded performance more
07:05:50be9 enters the room.
07:06:15headiusevan's in copenhagen now I suppose...how long will he be there?
07:06:22ezmobius10 days last i heard
07:06:26headiusI don't suppose he pushed his work anywhere...I was hoping to see it
07:07:04imajes leaves the room.
07:08:04rueHahaa, I take great glee in this
07:08:17ruecircumvents static for unit testing
07:14:31rueheadius: No, and I forgot to ask. He should be around occasionally though
07:16:19ezmobius leaves the room.
07:21:39headiusok...hopefully it will get pushed sometime soon
07:23:22rueMm, need to remind him to do it
07:24:27headiushow's the rails push going?
07:24:48headiusI got a number of questions about rubinius at euruko and realized I don't know the status anymore
07:26:54perdix enters the room.
07:30:42wmoxam leaves the room.
07:31:55rueheadius: Fairly constant progress but it is little bits at a time
07:33:57mutle enters the room.
07:34:20mutle leaves the room.
07:35:52brixenI do hope the new cpu has a sane bootstrap process
07:36:11brixenthe existing one is seemingly rather ad hoc and at time inscrutable
07:37:00agardiner leaves the room.
07:41:35_ezmobius_ enters the room.
07:43:54be9 leaves the room.
07:45:11nkpart leaves the room.
07:53:25w1rele55 enters the room.
07:57:35ezmobius_ leaves the room.
07:58:01wycats leaves the room.
08:01:11headius leaves the room.
08:01:44antares leaves the room.
08:08:18Skip enters the room.
08:10:00AndrewO leaves the room.
08:11:30thehcdreamer enters the room.
08:13:30benburkert leaves the room.
08:14:06_ezmobius enters the room.
08:16:33aotearoa enters the room.
08:19:26rueBreak
08:29:04be9 enters the room.
08:31:12aotearoa leaves the room.
08:42:57agile leaves the room.
08:43:19crossblaim enters the room.
08:44:06_ezmobius leaves the room.
08:44:07_ezmobius_ leaves the room.
08:46:36d2dchat leaves the room.
08:55:55crossblaim leaves the room.
08:56:56octopod enters the room.
08:57:14mutle enters the room.
09:01:11justinweiss_ enters the room.
09:01:11justinweiss leaves the room.
09:04:34hoopy_ enters the room.
09:05:53hoopy leaves the room.
09:09:10Arjen_ enters the room.
09:12:58VVSizinteresting, while Evan on rubyconf'2008 talks about how projects should be more open, rails gets even more strict about core contributors, removing less-active members from core team :)
09:15:44be9Evan != David, Rubinius != Rails
09:15:54rueFuture != Rails ? :)
09:16:15VVSizsure, just very opposite views on project "management" :)
09:16:26olabini leaves the room.
09:17:46boyscout2 commits by Brian Ford
09:17:47boyscout * Fix up language symbol specs.; 8dfece3
09:17:48boyscout * Constant lookup only searches class or module (#457).; 29cc22f
09:18:36be9"project management", huh? basecamp sucks :)
09:19:48ruebrixen: Hey, I was going to do quick PoCs: a force-compile load and add a conditional that allows omitting sections of code by the compiler
09:20:25rueUnless you have already worked around the former
09:21:22brixenrue: nope, we still need a force compile
09:21:39brixenrue: what's the conditional syntax look like?
09:22:17rueI figured something like Rubinius.conditional(variable) do ... end
09:22:38brixenahh, sure
09:22:40rueWell, s/variable/global/ or so
09:23:09brixennot Compiler.omit(condition) do ... end ?
09:24:01brixenCompiler.just_kidding(:here) do ... end :)
09:24:33rueI think we want to keep Rubinius the only magical constant
09:25:18rubuildius_amd64Brian Ford: 8dfece35e; 1844 files, 6261 examples, 22339 expectations, 0 failures, 0 errors; http://rafb.net/p/aEUQy592.html
09:25:38brixenok, sleep-time
09:27:24rue*wave
09:28:15mutle leaves the room.
09:28:49VVSizbrixen: heh, the new spec finds a bug in JRuby too... :File::TEST --> NoMethodError instead of TypeErorr :)
09:30:45rubuildius_ppcBrian Ford: 8dfece35e; 1844 files, 6264 examples, 22368 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/173656
09:34:49mutle enters the room.
09:49:47cypher23 enters the room.
10:09:31hoopy enters the room.
10:13:46crossblaim enters the room.
10:17:02hoopy_ leaves the room.
10:26:21cris_kiev enters the room.
10:28:50cris_kiev enters the room.
10:29:41cris_kievhi all, is this true that rubinius core will be overwritten from c to c++?
10:35:30BlackEdder enters the room.
10:37:29womblecris_kiev: I suspect that it might be an April Fools' thing.
10:42:02qwert666_ enters the room.
10:46:31cris_kievwomble: http://novemberain.com/2008/3/28/rubinius-the-crazy-mixture - dated at march 28, but i'm hope you are right :)
10:47:54womblecris_kiev: How odd. I haven't noticed big chunks of C++, but then again I don't tend to range around in shotgun unless I really have to. <grin>
10:52:03aotearoa enters the room.
10:52:11EugZol enters the room.
10:52:13octopodit's true, evan was discussing it here, have a look at the channel logs
10:53:25octopodhttp://donttreadonme.co.uk/rubinius-irc/rubinius.log.20080327.html from ~18:12
11:08:50jtoy leaves the room.
11:13:12rueI guess he was really crushed
11:36:48radarek enters the room.
11:37:03webmat enters the room.
11:40:21antares enters the room.
11:40:55antares leaves the room.
11:44:51ragnard enters the room.
11:51:37cypher23 leaves the room.
11:54:45cypher23 enters the room.
12:17:18perdiy enters the room.
12:17:18perdix leaves the room.
12:21:33ctennis leaves the room.
12:29:49NoKarma enters the room.
12:29:54NoKarmaheya
12:32:51rueMorning
12:33:34NoKarmarue: What's your sleep/work rhythm?
12:34:54NoKarmarue: You seem to be always around :)
12:36:18ctennis enters the room.
12:40:21wdperson enters the room.
12:44:28be9heh. it's mod_rubinius that should be up & running all the time, not rue :)
12:53:23NoKarmahaha
13:03:20lchin leaves the room.
13:06:09ttmrichter leaves the room.
13:07:18Fullmoon leaves the room.
13:07:24Fullmoon enters the room.
13:27:25rueWell, I have to keep the internet rolling by hand until that
13:33:01Skip leaves the room.
13:34:45scooprrolling? rick rolling?
13:35:46rueWtf is with the "rickrolling" in the last two days?
13:37:09BlackEdder leaves the room.
13:44:02RyanTM enters the room.
13:45:34jacenrickrolling == make them watch rick astley videos
13:46:00jacensome more-weirdo-than-usual-nerd-gag
13:50:32NoKarmauk.youtube.com redirects all clicks to featured videos to a rick roll
13:51:07jacenso funny.
13:59:57rueUrghh-
14:12:18wmoxam enters the room.
14:15:16VVSizso what's up with all the the rick astley affection? :) the joke seems to be very deep and non-trivial!
14:17:53rype enters the room.
14:19:41rueOr extremely shallow and trivial
14:23:21jtoy enters the room.
14:26:46macournoyer enters the room.
14:27:30rueHm, interesting
14:27:39rueI think this may have worked.
14:30:19rueDunno if it is useful in any way but just the same
14:31:38NoKarmarue: what
14:33:15webmatThere's even a link to a Rick video on the page for the brand new revolutionary service http://svnhub.com/,
14:34:04rueNoKarma: I was tinkering with conditional compilation
14:35:11be9omg svnhub.com! rotfl
14:35:15NoKarmalol
14:35:18NoKarmanice one
14:38:07webmathilarious comments to the blog post announcing it, too: http://github.com/blog/31-back-to-subversion :-)
14:40:13aotearoa leaves the room.
14:41:44probablycorey enters the room.
14:42:12perdiy leaves the room.
14:46:20perdix enters the room.
14:51:54nemerle leaves the room.
14:52:22AndrewO enters the room.
14:54:47chris2 enters the room.
14:56:07nemerle enters the room.
15:03:03JimMc enters the room.
15:03:22JimM1 enters the room.
15:04:32nicksieger enters the room.
15:05:34JimM1 enters the room.
15:07:43benburkert enters the room.
15:07:54nicksieger leaves the room.
15:08:39JimMc enters the room.
15:11:31d2dchat enters the room.
15:11:53nemerle_afk enters the room.
15:13:42qwert666__ enters the room.
15:13:55moofbong enters the room.
15:16:54boyscout2 commits by Eero Saynatkari
15:16:55boyscout * Conditional compilation. Rubinius.compile_if($DEBUG) { p somevariable }.; f58c67e
15:16:56boyscout * Specs to verify conditional compilation in the compiler.; 4f78ee2
15:18:24rueLet me know if it breaks/causes problems. Everything seemed OK here.
15:19:13nemerle leaves the room.
15:20:20agile enters the room.
15:20:28nemerle enters the room.
15:25:35rubuildius_amd64Eero Saynatkari: f58c67e33; 1845 files, 6263 examples, 22348 expectations, 0 failures, 0 errors; http://rafb.net/p/P4RKC966.html
15:28:13Skip enters the room.
15:30:20qwert666_ leaves the room.
15:31:11rubuildius_ppcEero Saynatkari: f58c67e33; 1845 files, 6266 examples, 22377 expectations, 0 failures, 0 errors;
15:31:22skaar enters the room.
15:36:08nemerle_afk leaves the room.
15:37:42BlackEdder enters the room.
15:41:31binary42 leaves the room.
15:48:03srbaker enters the room.
15:54:54benburkert leaves the room.
15:59:44justinweiss leaves the room.
16:02:39GMFlash leaves the room.
16:02:45GMFlash enters the room.
16:08:11KirinDav enters the room.
16:21:48nicksieger enters the room.
16:23:55chris2 leaves the room.
16:24:02benburkert enters the room.
16:36:35d2dchat leaves the room.
16:36:50d2dchat enters the room.
16:42:26tarcieri enters the room.
16:44:40ttmrichter enters the room.
16:45:21jtoy leaves the room.
16:48:15wycats enters the room.
16:49:06srbaker leaves the room.
16:54:41KirinDave leaves the room.
16:55:45srbaker enters the room.
16:56:39srbaker leaves the room.
16:57:00KirinDave enters the room.
17:04:53d2dchat leaves the room.
17:12:40arjen__ enters the room.
17:13:01RyanTM leaves the room.
17:14:18Arjen_ leaves the room.
17:14:23RyanTM enters the room.
17:20:30mutle leaves the room.
17:21:31srbaker enters the room.
17:21:38KirinDave leaves the room.
17:25:35lopex enters the room.
17:28:05ciscbrain enters the room.
17:28:24thehcdreamer leaves the room.
17:29:41headius enters the room.
17:30:52headiushowdy!
17:31:08djwhitthola
17:33:03BlackEdder enters the room.
17:42:34dysinger enters the room.
17:46:54srbaker leaves the room.
17:51:19justinweiss enters the room.
17:51:35loincloth enters the room.
17:52:39justinweiss_ enters the room.
17:52:39justinweiss leaves the room.
17:52:47dbussinkevening!
17:53:00Defilerafternoon!
17:53:11arjenEvening!
17:57:29nemerle leaves the room.
18:00:21rueThingy
18:00:39d2dchat enters the room.
18:01:49srbaker enters the room.
18:12:02djwhitthere's a nice test case: a=0;10.times{|i|;a+=i;class Fixnum;private :+;end};p
18:12:08djwhitt(from the JRuby channel)
18:12:18rueTest case for what, pingpong?
18:12:38djwhittchanging method visibility
18:12:40rue(Not sure why it reminded me of pingpong)
18:13:33djwhittshould be 'p a' at the end
18:14:13djwhittthat prints 45 on Rubinius
18:14:20djwhittthroughs an exception on MRI
18:14:26djwhitt*throws
18:16:28justinweiss_ leaves the room.
18:18:03KirinDav enters the room.
18:19:03djwhittwhere would a spec for that go?
18:19:35djwhittin private_spec.rb in the language directory?
18:22:52rueHm, this change costs ~2-3 seconds in CI
18:25:15djwhittwhat change is that?
18:27:22ctennis leaves the room.
18:27:22dgtized leaves the room.
18:27:22dbussink leaves the room.
18:27:22jammi leaves the room.
18:27:22rue leaves the room.
18:27:32ctennis enters the room.
18:27:32rue enters the room.
18:27:32dgtized enters the room.
18:27:32jammi enters the room.
18:27:32dbussink enters the room.
18:28:18DefilerUgh. That is a nasty visibility test
18:28:37rueYeah, made everyone drop
18:28:48Defilerhah
18:29:26ruedbussink: Force recompile
18:30:42peejaare there docs for using subtend?
18:31:05ruespec/subtend/ is probably as closes as we get
18:31:30rueFrom a user's point of view it should (eventually) be the same as a MatzRuby extension
18:32:38peejawhat do I have to do to compile against it instead of MRI?
18:33:03djwhittthis seems to be the simplest case for that visibility test: http://rafb.net/p/KWG7hW11.html
18:33:30djwhittif you remove that first call to a.foo it'll throw an exception on the second one
18:34:03antares enters the room.
18:34:06Defilerpeeja: Just make sure you pick up Rubinius's ruby.h instead of MRI's
18:36:56peejaok. I'll need to link against Rubinius too, right?
18:37:42DefilerThat's what you are doing by saying 'include ruby.h' generally
18:37:52DefilerAssuming you use Rubinius's version
18:38:07Defilerbut yeah, the include path is all that should need to change
18:38:13peejadon't I need to tell the compiler where to find the library?
18:39:13DefilerTheoretically, but the defaults have always worked fine for me
18:39:21rueShould be `shotgun/rubinius compile <extfile> -g`
18:39:31DefilerOh yeah, or that
18:39:35DefilerI've just been doing it with gcc
18:39:37rueWtf lag
18:40:26thewoolleyman enters the room.
18:41:58thehcdreamer enters the room.
18:45:21antaresHi everyone!
18:45:30rueEvening, slacker
18:46:09dbussinkrue: i see you closed #434, did you look into it any further?
18:46:37dbussinkrue: or was it not reproducible anymore?
18:48:02rueThe slowness in CI was gone; if there is still a problem with Generator on 64 should set up a separate ticket
18:48:18rueNot sure if djwhitt had had the chance to look at it
18:50:56dbussinkah ok, well the slowness was fixed by an exclusion, dunno if anyone looked into it any further
18:52:01rueThat I dunno
18:52:16headiusDefiler: the test is written like that to test whether inline caching gets flushed after a visibility change
18:52:34headiusor whether it otherwise sees the change, anyway
18:56:02djwhittrue: there is already a ticket about the Generator specs consuming lots of memory. I'll add some more details to it in a bit
18:56:26Defilerheadius: Oh yeah, I understood
18:56:31Defilerheadius: It's just clever/brutal
18:56:34rueCoolz0r
18:57:45thehcdreamer leaves the room.
18:58:11dbussinkdjwhitt: any idea what the cause is?
18:59:14djwhittdbussink: several people mentioned that Generator uses continuations
18:59:50djwhittso I guess I know the general area something might be going wrong, but I don't know why
19:00:27benburkert leaves the room.
19:00:27djwhittalso, if I remember correctly Generator consumes tons of memory on both 32bit and 64bit but only causes slowdowns on 64bit
19:00:59dbussinkdjwhitt: ah ok, so no general 64 bit problem actually
19:01:09dbussinkslowdown might be caused by swapping or something like that
19:01:25benburkert enters the room.
19:02:06benburkert leaves the room.
19:02:06djwhittdbussink: yeah, that's what I thought too, but I looked at memory usage and there was still close to 1GB free
19:02:54rueOh--test out the conditional compilation
19:03:15rueIf it does not break stuff, I want to start adding copious amounts of debug information
19:04:01djwhittdbussing: I'll try experimenting with it some more though and see if I can come up with some more definitive info
19:04:33rueantares: I did not get around to looking at contexts any further
19:06:29antaresrue: no problem, I keep moving. Documenting things here-n-there as I understand them.
19:10:44peejarue: in `rubinius compile <extfile> -g`, is <extfile> the .c or the extconf.rb?
19:11:36rueThe C file, I do not think we support extconf at all
19:11:52DefilerYeah, we don't have enough rbconfig.rb support yet to run extconf
19:11:52w1rele55 leaves the room.
19:12:02DefilerThough I fixed one thing that was preventing it from even loading
19:12:02peejaok, when I do that it says it can't find ruby.h... :/
19:12:22peeja(yeah, that explains the missing MAKEFILE_CONFIG)
19:13:38jayWHY enters the room.
19:13:54peejaalso, what does -g do? I don't see that option
19:15:12ciscbrain leaves the room.
19:16:22rueSorry, automatic pilot: -g is debug info, not strictly necessary
19:17:45rueIt should be taken care of by the compiler; are you building outside the Rubinius tree?
19:19:25Arjen_ leaves the room.
19:19:33peejaah, yes I am
19:19:41peejawhere should i be in the tree?
19:20:14peejaor can I do it outside?
19:20:25rueAnywhere beyond the root should be fine. Can you build and run the subtend specs?
19:20:51peejarunning builds them, right?
19:22:01peeja`spec spec/subtend/array_spec.rb` fails; is that the right way to run specs here?
19:22:55rueThat should be OK, it might still fail though :)
19:23:16peejaer, sorry, didn't mean fail :)
19:23:21peejait fails to run
19:23:33peeja"uninitialized constant Rubinius"
19:23:41peejain compile_extension
19:25:29dbussink./bin/mspec spec/file/to/run.rb
19:25:36dbussinkin the rubinius directory
19:26:01w1rele55 enters the room.
19:26:28rueOh, yeah--dangers of aliasing out the real RSpec :D
19:26:40peejaHeh :)
19:27:02peejaWell, now I've got another missing constant: Config::Rubinius
19:27:14peejafrom rbconfig.rb
19:28:19peejaOh, i see
19:28:43peejaIt means Rubinius, we're just in module Config there
19:29:06dbussinkpeeja: what command are you running?
19:29:10nemerle enters the room.
19:29:12dbussinkpeeja: and rake build was succesful?
19:29:37peejaas far as I remember, but I can try again
19:30:02peeja`./bin/mspec spec/subtend/array_spec.rb` was the command
19:30:39dbussinkstrange, it works ok here
19:31:35djwhittspec for visiblity test: http://rafb.net/p/Lom9PB85.html
19:31:42djwhittwhat on earth would you call that though
19:36:12dbussinkwell, could be if you want to hide stuff from a class for some obscure reason
19:36:19dbussinkand that class is already used during bootstrap
19:36:30dbussinkstill far fetched though
19:36:46dbussinkbut from the code i would also expect the behavior that mri exposes
19:44:36dodecaphonic enters the room.
19:46:21_ezmobius enters the room.
19:50:41anonuser enters the room.
19:54:00peejauh oh
19:54:07peejamy ci fails too
19:54:23justinweiss enters the room.
19:54:25peejathat's weird, this is a virgin build
19:55:19peejawait, the *only* trouble I get is Rubinius being uninitialized.
20:04:12dbussinkwhat happens if you run ./shotgun/rubinius ?
20:10:03peejaI get an irb, no errors
20:10:47dbussinkcould you pastie the ./bin/mspec ci output?
20:10:59radarek leaves the room.
20:12:13peejapasted http://rafb.net/p/o2WSuM34.html
20:12:37peejaover and over, for each ext/ spec
20:12:57dbussinkhmm, is this a daily tarball or a git clone?
20:13:34peejadaily
20:13:44dbussinkmaybe that's broken
20:13:51dbussinktry a git clone :)
20:14:05peejaok :)
20:14:56boyscout2 commits by David Whittington
20:14:57boyscout * Add tags for failing private keyword specs; 5d7a73a
20:14:59boyscout * Added a couple evil private keyword tests; 1b2f118
20:15:39djwhittok, back to "real" work now :)
20:16:18dbussinkdjwhitt: real, real, what's real? :P
20:16:47djwhittthe stuff I get paid for ;)
20:16:47peejaer, that's weird...
20:17:21peejabin/mspec ci gives me "shotgun/rubinius:100:in `exec': No such file or directory - rubinius (Errno::ENOENT)"
20:18:25dbussinktry rake build first
20:18:25brixenpeeja: did you clone and build?
20:19:11brixendbussink: any more nasty tickets for me today?
20:19:29dbussinkbrixen: i can try to find something :P
20:19:29peejaahehe. aheh. sorry.
20:19:53brixendbussink: I certainly hope the new vm has much more uniform handling of the existing obj->obj_type and obj->klass
20:20:12dbussinkit's a bit messy?
20:20:19brixendbussink: that ticket I estimated 1hr, took me like 4 and the solution is rather hacky I think
20:20:33brixendbussink: yeah, look at boostrap.c
20:20:39benburkert enters the room.
20:21:34brixendbussink: we don't uniformly set obj->obj_type, so there are at least RTYPE and ISA means to check an object's actual type
20:21:43brixenand those are littered over everything
20:21:50dbussinkbrixen: well, your commit doesn't look too hacky
20:22:11dbussinkbrixen: is there any semantic difference between them then?
20:22:18brixenyeah
20:22:19hipertracker enters the room.
20:22:51brixenRTYPE looks at obj->obj_type
20:23:22brixenwhich, e.g. is set on bootstrap.c:34 for BASIC_CLASS(class), but never set for BASIC_CLASS(module)
20:24:04Arjen_ enters the room.
20:24:51brixenISA uses object_kind_of_p which will look at obj->klass
20:25:08dbussinkyeah, well, dunno how much evan changed here
20:25:27dbussinkit's a bit "let's wait first", so we know what still needs to be fixed
20:25:32brixenheh, yeah
20:25:37dgtizeddoes anyone else have problems with spec/ruby/1.8/library/drb/start_service sometimes failing on the second spec because the server is still running from the first?
20:25:48rubuildius_ppcDavid Whittington: 5d7a73ae1; 1845 files, 6266 examples, 22377 expectations, 0 failures, 0 errors;
20:26:12brixenwell, the obj_type field is essentially an optimization
20:26:42brixendgtized: what does "failing" look like?
20:27:07brixendgtized: can't bind or something?
20:27:25rubuildius_amd64David Whittington: 5d7a73ae1; 1845 files, 6263 examples, 22348 expectations, 0 failures, 0 errors; http://rafb.net/p/oIKFVW48.html
20:27:33dbussinkbrixen: for what exactly?
20:28:07dgtizedbrixen: yes
20:28:13brixendbussink: quickly determining the type, obj->obj_type == ClassType for example
20:28:13dgtizedbrixen: unable to bind
20:28:38dgtizedbrixen: or, sometimes it messes with untaint, but I think that's a seperate bug
20:28:44brixendgtized: could we just use a different port?
20:28:46dbussinkbrixen: but is that so much faster then using ->klass?
20:28:58ruebrixen: Got both done, loading side is quite tentative though
20:29:07brixendbussink: object.h:31
20:29:13dgtizedbrixen: no, because the point of the spec is to see if we can bring up/ bring down that server
20:29:42dgtizedbrixen: so the fact that it is failing is that the spec is failing
20:29:46ruepeeja: Make sure you clean out any installed rubiniuses and librubiniuses
20:29:56dbussinkbrixen: ah, shortcutting for inheritance chains?
20:29:59brixendgtized: I'm not seeing that in the spec. where's the "bring down" part spec'd?
20:30:03brixendbussink: exactly
20:30:11dgtizedbrixen: after :each
20:30:30brixenblast!
20:30:38brixensuch things do not go in after/before
20:30:45brixenwhy do they keep finding their way there
20:31:00brixenif you have an expectation on it, it needs to be in a spec
20:31:05dgtizedbrixen: actually I think when I first wrote the spec it wasn't but someone moved it there
20:31:12brixenif it's in before/after, it's not an expectation
20:31:19dgtizedbrixen: but I didn't include an expectation that it be done I guess
20:31:35brixenyeah, over zealous DRY'ing up specs drives me batty
20:32:09brixenrue: saw the conditional compilation: cool :)
20:32:31brixenrue: although, I'm leery of debug code all over :/
20:32:43wycats leaves the room.
20:33:58brixendgtized: the stop_service_spec has nothing in it atm. I'd suggest we put the actual spec there, and not depend on .stop_service in the .start_service spec
20:34:07ruebrixen: Well, all over maybe not.. but there are quite a few if $DEBUGs in there already
20:34:14brixene.g. stop_service shouldn't matter in .start_service
20:34:26brixenrue: really?
20:34:32brixensearches
20:34:51ruePlus the various loading debugs and whatnot
20:35:33brixenwell, some behavior depends on $DEBUG being set (e.g. #warn iirc), but that's not suitable for cond comp
20:36:25brixenam I confusing cond execution with cond comp?
20:36:25rueIf someone cares about that, sure ;)
20:36:34brixencond comp means no bytecode is emitted, right?
20:36:40rueCorrect
20:36:56brixenok, well there are definitely 2 cases then for when $DEBUG is used
20:38:01brixenI'd rather have pragmas to the parser actually, but alas, that awaits a "useful" parser
20:38:39dgtizedok is there a nice quick reference chart on all the should expectations that we use?
20:38:43dgtizedshould_raise, etc?
20:38:50dgtizedor rather there isn't a should_raise
20:39:06brixenshould/should_not
20:39:09dgtizedbut anyway, I keep using the wrong ones because it's too close to english, but we only allow certain phrases
20:39:09brixenthe rest are matchers
20:39:18brixenmspec/matchers
20:39:47dgtizedI've looked there, and everytime I do it it's not at all obvious what we accept and what we don't
20:39:58dgtizedthis is not the sort of thing we should look at code to see
20:40:16dgtizedbut it's should raise(blah) you say?
20:40:19brixenmspec/matchers/base.rb has all the operators
20:40:37brixenshould raise_error(Exception, "message")
20:40:46brixenalthough, we do not spec the message
20:41:37brixenexcept for base, the matchers are named like the files
20:41:45rueCould jot down a quick note in the README, sec
20:41:47brixenraise_error.rb -> should raise_error
20:42:04brixenneed to add RDoc actually
20:42:11brixenthat's on the list with making it a gem
20:43:22brixenthere's any number of rspec cheat sheets around
20:43:36brixeneven a gem iirc
20:43:46brixenif we need to add other matchers, we can
20:43:49boyscout3 commits by Eero Saynatkari
20:43:50boyscout * Force recompiling .rb files with `load "lib.rb", :recompile => true`; ff21034
20:43:51boyscout * Sanity changes to #load specs to bring them up to date.; 4119fe8
20:43:52boyscout * Spec for forced recompiling through second parameter of Kernel#load.; 3b58cb3
20:44:04rueThis is the more experimental approach
20:44:53brixenahh, very interesting
20:45:39brixenso, MRI has wrap=false arg, so :recompile => true doesn't make it choke
20:45:51brixenheh, but what does MRI do then
20:46:23rueMatzRuby can go suck rocks ;)
20:46:57brixenwell, I did not know about the wrap options
20:47:03brixendo we support that?
20:47:05rueThis version works 100% this way. If someone tries to run our code on MatzRuby, it could break. Not that I know why they want to do that anyway
20:47:23rueNope; it should not be too hard to do but I am delaying those parts for now
20:47:39brixenwell, I use #load in mspec, so I could be using wrap=true to isolate the specs a bit
20:47:55VVSizbtw, there is a race condition in DRb.start_service/DRb.stop_service, visible in JRuby at least
20:48:26ruebrixen: That would work fine still. If you wanted both wrappers and reload, then :wrap => true, :recompile => true
20:48:47VVSizhttp://jira.codehaus.org/browse/JRUBY-2347 , so that the specs where DRb is started/stopped quickly might not close the socket...
20:48:47brainopia enters the room.
20:48:51ruebrixen: And that is still true-ish in MatzRuby so it will just wrap it since it cannot recompile. In case we care
20:49:37rueThink that may have come up before
20:49:37brixenrue: well, I'd say we care. I'd prefer something that impacts only the compiler rather than changing the sig of #load
20:50:18rueIt actually does not affect the compiler at all; the decision is made in Kernel
20:50:26brixenbesides, it seems odd for the *code* to care about recompiling
20:50:26rueTo be precise
20:50:32rubuildius_amd64Eero Saynatkari: ff21034f2; 1845 files, 6267 examples, 22357 expectations, 1 failure, 0 errors; http://rafb.net/p/eQUior24.html
20:51:57rueHm, I do not think that one is my fault..
20:52:14djwhittchecking...
20:52:45rueI am actually just downloading some distros to try out on VMWare. Should make this a bit easier
20:53:11dgtizedbah, there is definitely something weird going on in the way DRb cleans up it's servers
20:55:06peejagrr. same error on up-to-the-minute source, no (lib)rubiniuses installed
20:55:35peejaoh wait, I see a "looks like you loaded rubinius' rbconfig from ruby"
20:55:48peejahow do i stop that from happenning?
20:55:58dbussinkpeeja: what ruby version do you have/
20:56:04peejaoh, I see, that's the new name for the error... :)
20:56:34peejaRuby v1.8.6
20:56:39rubuildius_ppcEero Saynatkari: ff21034f2; 1845 files, 6270 examples, 22386 expectations, 0 failures, 0 errors;
20:58:38dbussinkpeeja: strange then
20:59:19brainopia leaves the room.
20:59:46djwhittrue: I just did a manual spec run and it looks clean
21:00:57djwhittfigures that stuff like this starts happenning as soon as I emails to the list setup
21:02:03peejadbussink: what does it mean that the backtrace ends at (r)ubygems.rb?
21:02:14dbussinkpeeja: what are you trying to run now? what's the exact command?
21:02:33peejabin/mspec ci
21:02:54djwhittpeeja: which rubygems file?
21:03:09djwhittthe one in the rubinius dir? or elsewhere?
21:03:23ruedjwhitt: Hehe, I will take a look at it. Should not be a big deal
21:03:24peejarubinius's lib/rubygems
21:04:28boyscout1 commit by Charles Comstock
21:04:29boyscout * DRb specs now attempt to check if server is up/down prior to each call to start_server; d6dfbd3
21:04:35djwhittpeeja: ah, nevermind I thought you might need to unset RUBYOPT or something
21:04:53djwhittpeeja: acutally you might still want to try that
21:04:59dbussinkpeeja: do you have anything configured for rubygems or whatever
21:05:00dbussink>
21:05:02dbussink?
21:05:25djwhittpeeja: try putting a RUBYOPT= in front of whatever command you're running
21:05:32peejaaha! yeah, hang on
21:05:50Fobaxdjwhitt: No, my question wasn't really answered yesterday.
21:05:56FobaxWe use quite a few gems, including a couple we wrote
21:06:26djwhittFobax_: I wouldn't recommend rubinius for production yet, but the rubygems system should work
21:06:38djwhittFobax_: whether or not the gems you're using work...
21:07:01FobaxIs it slow? unstable? incomplete? or just not proven?
21:07:48djwhittFobax_: incomplete mostly
21:08:08djwhittFobax_: slowness depends on what you're doing with it
21:08:12FobaxWhat all is missing?
21:09:01djwhittsubtend (MRI C API interface) isn't fully functional yet, so C based extensions may have trouble
21:09:05imajes enters the room.
21:09:14peejadjwhitt: it works! should have thought of that.
21:09:15dbussinkmay have? they will have problems ;)
21:09:19wycats enters the room.
21:09:31dbussinkstuff in IO and File is still missing
21:09:33djwhittdbussink: heh, well, I haven't really tried it
21:09:39peejaer, what kind of problems?
21:09:47djwhittlike not working
21:09:48djwhittat all
21:09:49djwhitthehe
21:09:55peejathat bad?
21:09:59dbussinkassigning values to arrays and strings etc.
21:10:25dbussinkit's on brixen's list, but i don't know whether he's working on it now
21:11:04peejawill really simple stuff (providing an interface to c functions) work?
21:11:14djwhittFobax_: if you have some time I recommend you just download it and try it. it's not hard to get it running
21:11:24FobaxI may just do that
21:11:46peejaFobax_: mak sure you don't set RUBYOPT=rubygems :)
21:12:11FobaxMRI just uses stupid amounts of memory. I tried a couple different garbage collector patches, and they slow it down a bit, while dropping memory usage by ~30%
21:12:18Fobaxbut that's still not as much as I was expecting
21:12:40dbussinkbrixen: i have a nice one again ;)
21:12:46FobaxWe've considered pulling Rubinius' garbage collector into MRI
21:13:05drbrainFobax_: good luck with that
21:13:08dbussinkFobax_: then you can better wait for rubinius to finish
21:13:25dbussinkFobax_: the funny thing is that evan has gone this entire road too
21:13:30FobaxAre they completely incompatible?
21:13:33dbussinkFobax_: and that's why he started rubinius
21:13:38Fobaxah
21:13:50djwhittFobax_: you could just contribute to Rubinius instead :)
21:13:53dgtizedbrixen: look at /spec/ruby/1.8/library/socket/tcpserver/accept_spec.rb -- speaking of DRY refactoring
21:14:26FobaxWe have considered hiring a rubinius programmer to try to get it to the point of being able to run our stuff...
21:14:43dodecaphonic leaves the room.
21:15:23dbussinkFobax_: well, i don't know how far it's from your expectations
21:15:33rubuildius_amd64Charles Comstock: d6dfbd3b0; 1845 files, 6266 examples, 22358 expectations, 0 failures, 0 errors; http://rafb.net/p/LfPqYl57.html
21:15:43FobaxI guess I'll give it a try
21:15:44rubuildius_ppcCharles Comstock: d6dfbd3b0; 1845 files, 6269 examples, 22387 expectations, 0 failures, 0 errors;
21:15:46rueOh man, an IRIX 6.5 distro.. sooooo tempted
21:15:54dbussinkFobax_: we're not in the phase where production use is the first goal, still experimenting going on
21:15:55be9 leaves the room.
21:16:00djwhittFobax_: here's a decent little write-up I saw today that has some benchmarks: http://programblings.com/2008/04/01/rubinius-for-the-layman-part-1-rubies-all-the-way-down/
21:16:15dbussinkrue: hehe, maybe we should try solaris first :)
21:16:44dbussinkrue: i have a vm with that but haven't touched it in a while
21:17:11VVSizhey folks. Has just executed rubyspecs aganist JRuby on Windows. It kind of works! :) there are 400 failures so far, and 2-3 hangups, but nothing major :)
21:17:27djwhittFobax_: I imagine real life performance will be a little worse than those benchmarks might lead you to believe, but you can see the core is pretty speedy now
21:18:05FobaxI'll give it a try. Do you know how its memory usage compares to MRI?
21:18:18FobaxI'm especially curious about the case of Forking
21:18:31dbussinkFobax_: well, one of the design principles is that it's copy on write friendly
21:18:31DefilerWe use a lot more memory than MRI right now
21:18:42DefilerUsually not more than 5x though
21:18:47Fobaxoh...
21:18:57dbussinkit all still needs work
21:19:04djwhittFobax_: so just make sure you fork at least 5 times and you should be fine ;)
21:19:07FobaxRight now Ruby uses 2-5x more than the equivalent php
21:19:10DefilerI doubt we will ever use less than 1.8
21:19:22DefilerSince many more things are instantiated
21:19:28Defiler(at startup)
21:19:32ezmobiusyeah the overhead of all the extra ruby object in the system will probably mean never less mem consumption then mri
21:19:35dbussinka lot more objects in ruby space
21:19:37DefilerI expect us to beat it handily running Rails apps
21:19:40ezmobiusbut cow forking and MVM shoudl help mitigate
21:19:47FobaxI'm testing MRI against the Fork friendly GC patch, and the GC patch only saves ~30% for us
21:20:08dbussinkeven if it's 3 times more in the end, it will beat mri with a couple of mongrels
21:20:12djwhittjust how "fork friendly" is that patch I would think it would save a lot more than that
21:20:24Fobaxhttp://izumi.plan99.net/blog/index.php/2008/01/14/making-ruby%E2%80%99s-garbage-collector-copy-on- write-friendly-part-7/
21:20:38FobaxIt changes to use a mark table instead of mark on the object
21:20:52