Index

Show enters and exits. Hide enters and exits.

00:08:32lopex leaves the room.
00:08:50blakewatters enters the room.
00:13:16imajes enters the room.
00:17:54imajes leaves the room.
00:19:33rue enters the room.
00:22:22rueMoobs
00:23:52tarcierinoobs?
00:24:41rueMoobs
00:27:17dfg59 leaves the room.
00:33:27ShayArnett enters the room.
00:34:46pauldix leaves the room.
00:34:50atduskgr_ enters the room.
00:35:10atduskgreg leaves the room.
00:36:23kw leaves the room.
00:43:46freels enters the room.
00:47:52michalw leaves the room.
00:49:44wyhaines leaves the room.
00:55:30atduskgr_ leaves the room.
00:56:36jbarnette leaves the room.
01:00:13zenspiderGAH. I hate _yacc_ based parsers!!!!
01:00:14ezmobius_ enters the room.
01:00:22zenspiderBUT! I fixed the damn thing
01:01:04Defilerwhadja fix?
01:02:39zenspiderDefiler: pls review (not that there is enough info to really provide feedback) http://pastie.org/214173
01:02:47zenspiderDefiler: I fixed: "a = []; a [42]"
01:02:54zenspiderin both ruby_parser and rubinius
01:02:59zenspiderstupid fucking edge case
01:03:06zenspiderbut the code actually exists in stdlib
01:03:20tarcieriheh what?
01:03:23tarcierithat didn't parse?
01:04:03tarcieri>> a = []; a [42]
01:04:03tarcierinil
01:04:06tarcieriworks in my language :)
01:04:28zenspiderdidn't in ruby_parser or rubinius, no.
01:04:43zenspiderbecause we BOTH had the same commented out block of code with # HACK on it
01:05:06zenspiderit is quite possibly the most offensive part of the lexer too
01:05:23tarcieriyeah Ruby's lexer sounds nuts
01:05:25zenspiderprior to this commit, my lexer code had no access to the parser
01:05:30zenspidernow it does. :/
01:05:41tarcierioh, so that's a part that requires feedback from the parser?
01:05:48zenspiderin reality, all it REALLY wants is access to the symbol table info
01:06:33zenspideryeah, the parser dips into the lexer state all the time, this is the only place I have that dips back
01:06:49zenspiderbut I can make them share the env table and at least the circularity goes away
01:06:56zenspiderDefiler: look at least "Meh" ?
01:07:39zenspiderfuck... it messes up some other stuff... damnit.
01:07:48zenspiderat least all MY parser tests pass. :)
01:11:09hemulen leaves the room.
01:11:15DefilerOh, sorry.. I had walked away for a sec :)
01:11:31DefilerHeaded to a movie right now, but I have that pastie open and I'll read it
01:11:40sambo82 enters the room.
01:12:03zenspiderDefiler: don't bother. it breaks general parsing...
01:12:10zenspiderI can't fix it in rubinius... everything is too old
01:12:19zenspiderI'm just gonna replace the parser insead. :)
01:12:24zenspiderI gotta run as well
01:12:28zenspiderlaters
01:13:22tarcieridoes TextMate have a git bundle?
01:13:56tarcieriparticularly one with git-svn stuffins
01:14:04rueGood plan
01:19:08blakewatters leaves the room.
01:19:17zenspiderYAY!!!
01:19:27zenspiderI dug into the original 1.8.2 sources and found the right equivalent fix
01:20:00zenspiderdie motherfucker! die!
01:22:56NoKarma leaves the room.
01:23:05atduskgreg enters the room.
01:24:45boyscout1 commit by Ryan Davis
01:24:46boyscout * DIE DIE DIEgit diff! fixed long lasting parser bug; 5c1b444
01:24:58blakewatters enters the room.
01:25:48zenspiderHAHAHA
01:25:56zenspiderstupid shell history replacement
01:26:00zenspiderhahahaha
01:26:03zenspiderlame
01:26:58zenspiderI gotta run
01:27:20zenspidersomeone sms me if I blewed it up. I did a safe_push, so it was clean on my side
01:27:20enebo enters the room.
01:27:25zenspiderso it should be fine
01:28:06fbuilesv leaves the room.
01:30:49wyhaines enters the room.
01:36:56rubuildius_amd64Ryan Davis: 5c1b44479; 2377 files, 7771 examples, 26835 expectations, 1 failure, 1 error; nopaste error: something bad happened, stack trace follows
01:37:03rueOops.
01:39:34rubuildius_ppcRyan Davis: 5c1b44479; 2377 files, 7770 examples, 26856 expectations, 0 failures, 0 errors
01:41:39enebo leaves the room.
01:47:56blakewatters leaves the room.
01:48:46blakewatters enters the room.
01:53:02zenspiderwas the previous build clean? my history doesn't go back that far
01:53:14zenspideroh... it might require a clean build... are these incr?
01:55:32binary42 enters the room.
01:57:53sambo82 leaves the room.
02:00:26Jzalae enters the room.
02:01:17anteaya enters the room.
02:02:30ezmobius leaves the room.
02:02:50kw enters the room.
02:06:59atduskgr_ enters the room.
02:07:37rueI think it is probably just broken
02:07:40atduskgreg leaves the room.
02:12:09moofbong enters the room.
02:18:04ezmobius leaves the room.
02:22:13ch0wda leaves the room.
02:24:58dfg59 enters the room.
02:28:54atduskgr_ leaves the room.
02:37:50cored enters the room.
02:38:23VVSiz_ enters the room.
02:38:54fbuilesv enters the room.
02:45:20VVSiz leaves the room.
02:53:40dfg59 leaves the room.
03:00:40cored leaves the room.
03:03:32wyhaines leaves the room.
03:05:17blakewatters leaves the room.
03:06:40blakewatters enters the room.
03:11:51atmos_ enters the room.
03:11:51Judofyr leaves the room.
03:12:21atmos_ leaves the room.
03:12:45Judofyr enters the room.
03:19:24Cosmos95 leaves the room.
04:00:19wmoxam enters the room.
04:20:09djwhitt leaves the room.
04:27:08elight enters the room.
04:32:32kw leaves the room.
04:34:39VVSiz enters the room.
04:36:54loincloth leaves the room.
04:40:23djwhitt enters the room.
04:40:23djwhitt leaves the room.
04:40:29djwhitt enters the room.
04:43:44djwhittwhoa, rafb.net seems to be down
04:45:46rueConfirmed
04:45:53djwhittzenspider: I checked the log. those are just the same old iconv errors that have been showing up for a while now
04:46:15djwhittwhat does it take to update the frozen specs these days?
04:46:24djwhittwould be nice to make those errors go away
04:47:07rue`rake spec:update` should do
04:47:29brixendjwhitt: just tag those specs
04:47:41brixenI've already updated the iconv specs and the iconv libraries are a mess
04:47:46brixenso, just tag them
04:48:11djwhittbrixen: ok, will do
04:48:24brixenmernen was looking into the issues with the libraries
04:49:16VVSiz_ leaves the room.
04:50:30brixendjwhitt: if you want to update frozen, there's instructions here:
04:50:32brixenhttp://rubinius.lighthouseapp.com/projects/5089/howto-develop-with-a-separate-rubyspec-repo
04:51:12brixendjwhitt: but you'll need to exclude language/def_spec.rb as it includes a spec that fails to compile
04:55:19djwhittbrixen: working on it ... trying to make sure I don't mess anything up ;)
04:55:39brixenheh, indeed
04:55:46brixenI just updated that page, actually
04:56:01brixenmake sure you rake clean build
04:57:41rueevan: It seems the least convoluted way to solve the rb_funcall issue would be to run the Init_* function as a native through nmc_activate() so that the proper nmc.system context gets set
04:59:02rueevan: I tried various other ways but the code organisation is getting in the way with the context handling in nmc_activate(). I assume there is a good reason for it, but I have not figured out what it is
05:05:37djwhittbrixen: think I'm going to try this again in the morning
05:05:58djwhittbrixen: I'm doing a spec run right now and it's hanging on readpartial_spec
05:05:59wyhaines enters the room.
05:06:10blakewatters leaves the room.
05:07:01brixendjwhitt: no worries
05:07:19djwhittgetting late here on the east side ;)
05:10:12drfreeze enters the room.
05:10:20drfreezeevan: Hi
05:13:43Judofyr leaves the room.
05:14:56Judofyr enters the room.
05:15:20rueHello, drfreeze
05:17:06ezmobius enters the room.
05:27:17eventualbuddha leaves the room.
05:28:32be9 enters the room.
05:28:50elight leaves the room.
05:46:06loincloth enters the room.
05:48:58mediogre enters the room.
05:49:15lstoll enters the room.
05:57:27lstoll leaves the room.
05:57:41lstoll enters the room.
06:07:54lchin enters the room.
06:07:59kw enters the room.
06:09:37kw leaves the room.
06:23:03freels leaves the room.
06:41:52wmoxam leaves the room.
06:42:32Chronona1t enters the room.
06:47:30olafski_ enters the room.
06:55:25masshiya all
06:56:32Chrononaut leaves the room.
06:57:14Guest60574 leaves the room.
06:59:50olafski leaves the room.
07:05:32Ski1 enters the room.
07:06:35atmos_ enters the room.
07:06:38atmos_ leaves the room.
07:06:43jtoy enters the room.
07:13:42lchin leaves the room.
07:17:06eventualbuddha enters the room.
07:20:04jicksta leaves the room.
07:29:17lchin enters the room.
07:30:18mediogre leaves the room.
07:34:03lchin leaves the room.
07:34:16lchin enters the room.
07:40:16lchin_ enters the room.
07:40:19hassox_ enters the room.
07:41:11lchin leaves the room.
07:44:51wyhaines leaves the room.
07:52:00rueHey, Mass
07:54:06hassox_ leaves the room.
07:58:33gnufied leaves the room.
08:05:29Fullmoon enters the room.
08:09:15lchin_ leaves the room.
08:11:42NoKarma enters the room.
08:11:55NoKarmamorning all
08:16:26ezmobius leaves the room.
08:28:51Maledictus enters the room.
08:31:21xhanjian leaves the room.
08:38:24loincloth leaves the room.
08:46:52mutle enters the room.
08:56:56lstoll leaves the room.
09:04:25rueMorning
09:06:49iamclovin enters the room.
09:20:24radarek enters the room.
09:24:39lchin enters the room.
09:38:32NoKarma leaves the room.
09:51:44BlackEdder enters the room.
10:35:21michalw enters the room.
10:43:59atduskgreg enters the room.
10:49:06wycatsmorning
10:51:18rueYou are up early
10:52:05wycatshaven't slept yet
10:52:36rueAh, sharing my timezone then :)
11:02:02wycatslol
11:11:50bitsweat leaves the room.
11:12:35wycatsrue: pm
11:13:05jtoy leaves the room.
11:13:37BlackEdder enters the room.
11:15:11krisps enters the room.
11:19:11mutle leaves the room.
11:19:15gnufied enters the room.
11:20:00mutle enters the room.
11:21:10qwert666 enters the room.
11:23:01NoKarma enters the room.
11:23:51qwert666 leaves the room.
11:33:05atduskgreg leaves the room.
12:15:23robertpostill enters the room.
12:23:12robertpostill leaves the room.
12:25:44robertpostill enters the room.
12:30:17dysinger leaves the room.
12:33:03iamclovin leaves the room.
12:36:08eventualbuddha leaves the room.
12:36:22eventualbuddha enters the room.
13:01:12moofbong_ enters the room.
13:01:12moofbong leaves the room.
13:07:18krisps leaves the room.
13:17:33gnufied leaves the room.
13:18:04Fullmoon leaves the room.
13:20:40Fullmoon enters the room.
13:24:52wyhaines enters the room.
13:28:28Yurik leaves the room.
13:35:43chris2 enters the room.
13:47:00qwert666 enters the room.
13:57:32pauldix enters the room.
14:00:53krisps enters the room.
14:03:07ch0wda enters the room.
14:05:14wmoxam enters the room.
14:07:44rue leaves the room.
14:07:57hemulen enters the room.
14:08:48moofbong_ leaves the room.
14:17:54qwert666_ enters the room.
14:21:55gnufied enters the room.
14:24:39AndrewO enters the room.
14:28:23qwert666 leaves the room.
14:30:26robertpostill leaves the room.
14:40:31wmoxam leaves the room.
14:40:36qwert666 enters the room.
14:42:23binary42 leaves the room.
14:45:20cschneid leaves the room.
14:45:32cschneid enters the room.
14:45:59elight enters the room.
14:46:12elight leaves the room.
14:55:15blakewatters enters the room.
15:05:42qwert666_ leaves the room.
15:09:09jorgenpt enters the room.
15:09:33jorgenptHiya cats! How's rubinius when it comes to being feature-complete?
15:11:24qwert666 leaves the room.
15:12:08binary42 enters the room.
15:12:27qwert666 enters the room.
15:13:15moofbong enters the room.
15:13:26moofbong leaves the room.
15:20:31wmoxam enters the room.
15:23:27blakewatters leaves the room.
15:29:06heycarsten enters the room.
15:30:11cschneid_ leaves the room.
15:31:35blakewatters enters the room.
15:31:38anteaya leaves the room.
15:31:41tizianobis enters the room.
15:31:51anteaya_ enters the room.
15:34:14Defilerjorgenpt: Getting there, for sure
15:34:35cschneid_ enters the room.
15:34:38Defilerjorgenpt: In recent days we even compile a bunch of C extensions like hricot and rmagick
15:34:42Defilernot sure if they run though hah
15:35:39jorgenptYou load them from platform-specific 'native' format - or you compile them to bytecode?
15:37:52kevwil enters the room.
15:37:55enebo enters the room.
15:38:03mkrauskopf enters the room.
15:39:17boyscout2 commits by Adam Gardiner
15:39:18boyscout * Tweak Debugger regex for matching method names; 80ddc76
15:39:19boyscout * Add cvars command to Debugger to show class variables; cd0d94e
15:42:49moofbong enters the room.
15:48:49rubuildius_amd64Adam Gardiner: 80ddc76fc; 2377 files, 7772 examples, 26839 expectations, 1 failure, 1 error; http://rafb.net/p/Buz1wB10.html
15:53:51rubuildius_ppcAdam Gardiner: 80ddc76fc; 2377 files, 7771 examples, 26860 expectations, 0 failures, 0 errors
15:58:15elight enters the room.
15:59:17gnufied leaves the room.
16:05:23mkrauskopf leaves the room.
16:05:38mkrauskopf enters the room.
16:11:50nicksieger leaves the room.
16:13:05nicksieger enters the room.
16:15:22kevwil leaves the room.
16:16:04krisps leaves the room.
16:18:58wvdschel enters the room.
16:19:15wvdschel leaves the room.
16:19:24wvdschel enters the room.
16:19:45brainopia enters the room.
16:20:29NoKarma enters the room.
16:24:27eventualbuddha_ enters the room.
16:25:07lchin leaves the room.
16:30:16scooprah, my excursion to world of americanism continues, now I actually bought poptarts :)
16:31:24tizianobis_ enters the room.
16:31:45ShayArnett enters the room.
16:32:49eventualbuddha leaves the room.
16:34:11krisps enters the room.
16:34:15Yurik enters the room.
16:34:26brixenscoopr: heh, what did you think of them? I think they're rather gross actually :)
16:34:27Fullmoon leaves the room.
16:35:15scooprbrixen, oh, haven't gotten to the actual tasting part yet :)
16:35:20webmat enters the room.
16:35:24brixenjorgenpt: the Ruby C-API extensions work in rubinius just like in MRI, i.e. you compile and link them against the executable and the executable loads them
16:35:28brixenscoopr: heh
16:35:42headius enters the room.
16:40:10eventualbuddha_ leaves the room.
16:41:17brainopia leaves the room.
16:41:57brainopia enters the room.
16:42:44brainopia leaves the room.
16:43:15brainopia enters the room.
16:43:43jtoy enters the room.
16:43:58brainopia leaves the room.
16:44:50moofbong leaves the room.
16:45:34mkrauskopf leaves the room.
16:45:46brainopia enters the room.
16:46:19tizianobis leaves the room.
16:48:47benny enters the room.
16:53:01chris2 leaves the room.
16:54:51atduskgreg enters the room.
17:17:49boyscout1 commit by Christopher Thompson
17:17:50boyscout * RMI extension compatibility fixes.; 7e2f179
17:19:53wyhaines_ enters the room.
17:21:49wyhaines leaves the room.
17:21:49mkrauskopf enters the room.
17:27:14moofbong enters the room.
17:28:51rubuildius_amd64Christopher Thompson: 7e2f1792f; 2377 files, 7772 examples, 26839 expectations, 1 failure, 1 error; http://rafb.net/p/rtTAAK40.html
17:29:01jtoy leaves the room.
17:29:42lopex enters the room.
17:31:29rubuildius_ppcChristopher Thompson: 7e2f1792f; 2377 files, 7771 examples, 26860 expectations, 0 failures, 0 errors
17:32:56jbarnette enters the room.
17:34:16tizianobis_ leaves the room.
17:45:57Yurik leaves the room.
17:47:20Yurik enters the room.
17:47:51jero5 leaves the room.
17:48:56binary42_ enters the room.
17:49:23binary42 leaves the room.
17:52:35jtoy enters the room.
17:54:00mutle leaves the room.
17:56:23bitsweat enters the room.
17:57:51hemulen leaves the room.
17:58:47wvdschel leaves the room.
18:04:44thehcdreamer enters the room.
18:05:22binary42_ leaves the room.
18:05:39jtoy leaves the room.
18:10:09shame leaves the room.
18:12:24atduskgreg leaves the room.
18:20:16boyscout1 commit by Christopher Thompson
18:20:17boyscout * Undo some changes to rb_type, subtend_get_global.; 478a780
18:20:48Fullmoon enters the room.
18:24:31binary42 enters the room.
18:25:03dgtizedwho is Christopher Thompson? Generally when you undo changes you should just do an actual revert instead of a seperate commit
18:25:18fizx enters the room.
18:25:37nexcastellanI'm Christopher Thompson.
18:26:02fizx leaves the room.
18:26:02nexcastellanIt was a partial undo. Should I revert then redo the previous commit without the problematic bits?
18:26:35dgtizedno I mean it's fine, it's just an indication that the original commit might have been too large
18:26:39explody leaves the room.
18:26:43dgtizedinsufficient granularity
18:27:10nexcastellanI agree on that point. It took me longer than I expected to get the previous commit in an acceptable format. I'll try smaller commits in the future.
18:28:04dgtizedyea remember that most of the add/commit/rebase take --interactive
18:28:21dgtizedso you can split it up into logical groups
18:28:45nexcastellanProvided the changes were to separate files, presumably.
18:28:53rubuildius_amd64Christopher Thompson: 478a78055; 2377 files, 7772 examples, 26839 expectations, 1 failure, 1 error; http://rafb.net/p/pqHKqX25.html
18:28:56dgtizedanyway just something to think about for the future
18:29:05nexcastellanDefinitely, thanks for pointing it out.
18:29:45rudebwoy leaves the room.
18:31:02enebo leaves the room.
18:32:17wmorgan leaves the room.
18:32:22hemulen enters the room.
18:35:19rubuildius_ppcChristopher Thompson: 478a78055; 2377 files, 7771 examples, 26860 expectations, 0 failures, 0 errors
18:36:13dysinger enters the room.
18:36:24evanmorning guys and gals
18:36:33evanactually, do we have any gals in here?
18:37:06jp_tix*silence*
18:37:27evanyeah, sadly, thats what I figured.
18:37:28VVSiznice lady once asked me about JRuby though... :)
18:37:34evanheheh
18:37:36jp_tixhaha
18:37:57evani wonder what it would be like if your mom was a programmer....
18:38:10tarcieriI liked how at RubyConf 2006 they plastered a big handwritten MEN sign over the women's bathroom
18:38:22evanyep.
18:38:29VVSizmy mom is a programmer
18:38:33evanreal classy.
18:38:35evanVVSiz: oh nice!
18:38:38evanhow is it?
18:38:43VVSizand my dad too
18:38:51evanyou guys talk about big O() over dinner?
18:39:13VVSizI remember all those discussions about PL/2 and OS/360 vividly :)
18:39:19evannice.
18:39:31evani'm jealous.
18:39:43evanmy mom is a murder mystery writer
18:39:49evanso we talked about ways to kill people over dinner.
18:39:50VVSizI was forbidden to take programming books from the shelf (children should have a life!) :)
18:39:58VVSizheheheheh
18:40:29VVSizfor a couple of years the biggest mistery of my life was the question: WHAT IS A FILE?!?! There is a name, but nobody can see them
18:40:48VVSizbut then I stole the Algol-60 book and finally figured it out ;)
18:41:24evanhahahahah
18:41:26evanthats awesome.
18:59:34atduskgreg enters the room.
19:01:20tizianobis_ enters the room.
19:18:44hemulen leaves the room.
19:30:08KirinDav enters the room.
19:36:12KirinDav leaves the room.
19:36:18nicksieger leaves the room.
19:40:33hemulen enters the room.
19:41:09Fullmoon leaves the room.
19:42:10wycats leaves the room.
19:42:23evangreat article on direct threading: http://pluskid.lifegoo.com/?p=368
19:42:27evanit's in chinese though
19:42:32evanbut google translate works pretty well on it
19:42:36evanwhich was surprising
19:42:49evani guess it's written in simplified, technical chinese
19:44:29jp_tixgoogle translate is cool
19:46:36wvdschel enters the room.
19:48:29dgtizedevan: so what's major that's remaining for switching to the C++ vm?
19:48:51evanneed to finish fleshing out the primitives
19:48:53tarcieriwhat's the I/O situation like now?
19:49:03evani'm working on LLVM integration now.
19:49:17dgtizedLLVM integration before wiring it on it's own?
19:49:22evantarcieri: o/~ same as it ever was o/~
19:49:23dgtizedI thought that was step 2
19:49:31tarcieriheh
19:49:32dgtizedor are we going straight to step 3 profit
19:49:40evani'd love to, but sadly no
19:49:45evanthis is phase 1 LLVM usage
19:49:50dgtizedah
19:50:01evantransforming bytecode into a very managed LLVM function
19:50:31evanI just wrote the new Task::execute loop though
19:50:33evanit looks like this
19:50:36evanfor(;;) {
19:50:42evan active->vmm->resume(this, active);
19:50:43evan}
19:50:45evandone!
19:50:58dgtizedthat's pretty nice
19:51:06evanresume is
19:51:15evan c_func(task, ctx->stack, &ctx->ip)
19:51:19evanthats all.
19:51:35evanbasically, we loop, constantly resuming LLVM generated functions
19:51:42evanlike coroutines
19:52:03evanthe LLVM functions manipulate the task state (repointing active), then return
19:54:58dgtizedso what is the vmm field doing? is that for threads or no?
19:55:23evanactive is a MethodContext* object
19:55:28evanvmm is a VMMethod* object.
19:55:49evanit's an internal C++ object that represents how to actually run the method.
19:56:04evanactive->vmm is created from active->cm, which is a CompiledMethod object
19:56:38djwhittthis stuff is going into the C++ branch?
19:56:49evanyep.
19:57:09djwhittah, that's cool. I thought you had said at one point you were going to do it in shotgun first
19:57:22djwhittI might have just misinterpreted though
19:57:23evannah
19:57:25evantoo disruptive.
19:58:03dgtizedwhat was the conclusions from all the matz discussions about multi VM api's?
19:58:08dgtizedor is that resolved at all yet
19:58:22dgtizedor is everyone just waiting for something to be written to see how it works
19:59:13evani suspect we'll talk about it at ruby Kaigi next weekend in Japan
19:59:21evanwe decided on a few semantics
19:59:30evanbasically, API height
19:59:44evanpeople were happy with the very simple API we currently have
19:59:53evanand were looking into just adopting it into other VMs
20:00:52enebo enters the room.
20:01:33dgtizedhuh
20:01:59evanenebo: hi tom.
20:02:14enebo evan: howdy
20:02:15Judofyr leaves the room.
20:02:30evanenebo: when you guys flying over?
20:02:41eneboI am flying over in July
20:02:53evani mean to Japan
20:02:57eneboyeah me too
20:02:57evanyou're not going to Kaigi?
20:03:08eneboUnfortunately, I am not able too :(
20:03:18evandang.
20:03:21eneboCharlie I believe will be in on 19
20:03:22Judofyr enters the room.
20:03:30eneboyeah I was looking forward to it
20:03:33evanwe can't get charlie drunk on sake then :/
20:04:01eneboWell you still can anyways....
20:04:07evanhehe
20:04:20eneboIf you want to get charlie drunk take him to Belgo
20:04:32eneboWeirdest beer pouring in the world
20:04:34evanwhere is that?
20:04:55eneboIt is not far from Cerulean tower
20:05:03evanah
20:05:10evani don't think i'll be in Tokyo the same time as him
20:05:12eneboBelgian beer place...probably only one in Tokyo
20:05:22evanbut aaron patterson and I will go!
20:05:56be9 leaves the room.
20:06:09be9 enters the room.
20:06:59eneboyeah it is a fun place
20:08:11be9 leaves the room.
20:08:40radarek leaves the room.
20:10:23mkrauskopf leaves the room.
20:12:27eneboOh yeah Belgo is in Shibuya
20:12:46eneboThat is a fun area because it has all the big screen tvs at that one intersection
20:13:32evanoh fun.
20:20:44TheVoice enters the room.
20:23:26ezmobius enters the room.
20:26:00wycats enters the room.
20:28:26wycatshaha
20:28:29wycatsVVSiz: lol
20:28:46wycatsmy dad taught me how to make simple adders using chips :)
20:28:55wycatsthat was my fifth grade science project
20:29:01wycatsa binary adder on a breadboard
20:29:05wycatsthe inputs were flip flops
20:29:06wycatslol
20:29:11wycatsLEDs ftw
20:38:30wycats_ enters the room.
20:39:04agardiner enters the room.
20:40:51agardinerevenin
20:45:19dgtizedwait I just read back over nextcastallen's latest subtend stuff
20:45:28dgtizedwhy is he creating an entirely new hash table?
20:45:46dgtizedand not just accessors to use the rubinius one?
20:45:57VVSiz_ enters the room.
20:46:54VVSiz leaves the room.
20:49:20rudebwoy enters the room.
20:52:40drbrain enters the room.
20:54:52wycats leaves the room.
21:01:25brainopia leaves the room.
21:04:19tizianobis leaves the room.
21:05:54jbarnette leaves the room.
21:06:46nexcastellandgtized: you are wondering wtf st.c and st.h is doing in there?
21:07:25nexcastellanThe problem is that some of the extensions seem to be directly manipulating the underlying structure. Stuff like json.
21:08:46nexcastellanInitially, I just provided an st_lookup reimplementation but (a) it didn't actually work properly and (b) someone pointed out that other extensions may well use much more from MRI's st.h, and eventually we'd end up reimplementing the whole damn thing.
21:09:33nexcastellanSo I sort of skipped forward. You are MORE than welcome to change anything you want, including stripping out st.h entirely, so long as you don't break compatibility with the json extension. Or at least, I'll complain if you do. :)
21:09:51nexcastellan(the end)
21:20:30nexcastellanWhat's the command to pull in the (unfrozen) ruby specs on a clean checkout (well, a clean git clone)?
21:20:54fbuilesvrake spec:update
21:21:06nexcastellanThanks.
21:22:11fbuilesvnp
21:24:54dctanner enters the room.
21:25:30shame enters the room.
21:31:47ch0wda leaves the room.
21:36:06bitsweat leaves the room.
21:36:26bitsweat enters the room.
21:37:22yipstar enters the room.
21:43:58headius leaves the room.
21:44:30headius enters the room.
21:50:36dalee enters the room.
21:55:15jbarnette enters the room.
22:01:59ShayArnett enters the room.
22:01:59ShayArnett leaves the room.
22:04:34boyscout1 commit by Christopher Thompson
22:04:35boyscout * for_fd takes two (optional) parameters, not one.; 7a71551
22:06:15webmat leaves the room.
22:13:48rubuildius_amd64Christopher Thompson: 7a7155168; 2377 files, 7772 examples, 26839 expectations, 1 failure, 1 error; http://rafb.net/p/WSjMhH67.html
22:14:10blakewatters leaves the room.
22:17:30dctanner leaves the room.
22:18:54dgtizednexcastellan: my issue is more that I don't see why the methods for writing to st don't write back to the original structure
22:19:21dgtizednexcastellan: I haven't looked at how st is used in MRI though so I may just be missing something
22:20:38rubuildius_ppcChristopher Thompson: 7a7155168; 2377 files, 7771 examples, 26860 expectations, 0 failures, 0 errors
22:24:51nexcastellandgtized: Bringing over st.h and st.c let me write just a short RHASH() and whatever the function in handle.c is called, without having to worry about the structure differences between MRI and Rubinius. I thought they were significantly different underneath and if so, this is by far the quickest way (by programmer time).
22:25:18evannexcastellan: thats a fine way to do it
22:25:20evanfor now.
22:25:26evanjust be sure you copy between them properly.
22:26:26nexcastellanThe obvious downside is that any extension that regularly deals with hash tables, particularly large hash tables, is going to be seriously slowed down by my approach.
22:26:44moofbong leaves the room.
22:27:16AndrewO leaves the room.
22:27:18nexcastellanMuch of st.h would map on to Rubinius's hash.h, so that's a better long-term approach if we run into issues.
22:29:36qwert666 leaves the room.
22:31:18dgtizedk, and we have specs for ensuring we copy back and forth correctly?
22:32:09nexcastellanNot yet, but we will. I can explain why I'm helping Rubinius, if you like, so you can understand my approach.
22:32:41nexcastellanAnd for my future work, I'm getting the specs in BEFORE I'm writing the code so everyone is happy.
22:33:23dctanner enters the room.
22:35:33mitchellvriley enters the room.
22:38:00dgtizednexcastellan: sorry not trying to discourage you, we greatly appreciate the help, just trying to check for bugs/simplification as things get checked in that's all
22:38:54nexcastellandgtized, no worries. I expect constructive criticism and certainly have no objections to people modifying or even removing anything I submit.
22:38:56brixenhmm, this should be interesting as we were planning on implementing Hash only in ruby
22:39:20qwert666 enters the room.
22:39:53nexcastellanbrixen, at least json needs access to hash tables. Or at least, st_lookup. I forget what else it does. Quite possibly it doesn't actually write to the hash table.
22:40:03cremes leaves the room.
22:40:15nexcastellanNot that this would be impossible to handle with a Ruby hash table implementation, of course.
22:40:24brixenwell, the issue for us is that we can't call e.g. #eql? on the object when it's inserted into the hash table
22:40:42brixenbut from subtend we should be able to
22:40:55nexcastellanHeck, the approach I ended up taking, copying everything into an st_table, would work with only minor changes with a ruby hash table. :)
22:41:08brixenheh, cool! :)
22:41:44nexcastellanI could be wrong, of course. It's a fairly safe assumption given my limited exposure so far to Rubinius. :)
22:41:51brixenfrom subtend we can rb_funcall into ruby code, but we can't from e.g. hash.c
22:42:31nexcastellanAhhh, good point.
22:43:33nexcastellanIn the end, I don't think json should be using st_lookup anyway, it should be calling rb_hash_table_lookup if MRI has a function like that. Otherwise, if MRI changes the underlying implementation of hash tables, json is screwed anyway.
22:44:19brixenyeah
22:44:31nexcastellanBut then, I think our own Ruby extension was doing some things at a rather low level as well, so I shouldn't throw stones. :)
22:44:32brixenthe Ruby C-API has always been a little undefined
22:44:52brixenwe're hoping to fix that with a specific set of Ruby C-API specs :)
22:45:34nexcastellanYou know, even if Rubinius totally fails (and I obviously hope this does not happen), the specs alone are worth all the effort.
22:45:59evanthats our general feeling too.
22:46:22evanRubinius has already produced some great stuff
22:46:39evanspecs, a community philosophy, etc.
22:46:44brixenyeah definitely
22:47:56brixenoh, and we might actually have a first here: the first compatible Ruby C-API outside of MRI :)
22:48:17brixenRSN that is, heh
22:48:30agardinerRSN?
22:48:34nexcastellanHey, it's "somewhat compatible" right now. :)
22:48:36brixenreal soon now :)
22:48:49brixenagardiner: you just lurking now? :P
22:48:50nexcastellanAt least to the point of compiling a number of significant extensions, at least. :)
22:48:51agardinerahh.. right! I was thinking Rubinius ...?
22:48:57agardinernah, not really
22:48:57brixenagardiner: I'm used to you be so active, heh
22:49:18agardinerthe time zone change to london screws my ability to be online at the right times
22:49:29brixenahh, yeah, quite a bit different
22:49:32agardinerjust finished watching some TV with the wife
22:49:36brixenno longer a day ahead of us :)
22:49:49agardinerhehe, feels like I'm weeks behind now!
22:49:56brixenheh
22:50:26brixenit was fun getting all those contributes from the future :)
22:50:35brixens/contributes/contributions/
22:50:51agardinerhehe, yeah impressed myself with the stuff i was going to write :-)
22:51:01brixen:)
22:52:10agardinerso, now that the kids are in bed and you west coasters are awake... there's a coupla things i wanted to discuss
22:52:33evansup?
22:52:51agardinerevan, Defiler: Looks like there is still a problem with cvars and metaclasses
22:53:17agardineri've isolated it down to a fairly simple test case
22:53:20agardinerlemme pastie
22:54:57agardinerhttp://pastie.org/214798
22:56:26agardinerlooks like the cvar created in map2 is getting lost
22:56:51agardinerinterestingly, the bytecode generated for map1 and map2 appears to be identical?!
22:57:12evanyeah
22:57:13evanit would be
22:57:21evancvar's are handled 100% at runtime
22:57:25nexcastellanAnyone know if MagLev is shooting for MRI C-API compatibility?
22:58:03evandunno
22:58:07brixennexcastellan: haven't heard any word afaik
22:58:07evanthey haven't said I don't think
22:59:03nexcastellanSounds like they are a way behind Rubinius at the moment in any case. :)
22:59:40agardinerthey may be way ahead in some areas though... ;-)
23:00:05nexcastellanYeah, that wouldn't surprise me at all. They can leverage a LOT of work from their other products in ways that Evan obviously can't.
23:00:07agardineri think their smalltalk compatibility is better than ours :-D
23:00:33tarcieriheh
23:03:39evanour Rubinius bytecode compat is MUCH better though :D
23:06:27wmoxam leaves the room.
23:12:55cschneid leaves the room.
23:15:33dctanner_ enters the room.
23:16:54dctanner leaves the room.
23:17:22elight leaves the room.
23:22:01rue enters the room.
23:24:21rueUgh. How is Friday?
23:25:03evanit's nice here today.
23:25:42pauldix leaves the room.
23:26:01rubuildius_amd64 leaves the room.
23:26:11brixenrue: we actually saw the sun this morning, but the clouds are filling it
23:26:23brixenfolks have taken to calling it june-uary around here
23:26:44evanit's pretty damn nice here.
23:26:44tarcieriheh
23:26:56tarcieriit's finally nice here again
23:26:57tarcieriin the '80s
23:26:59evancourse, thats why I live in LA.
23:27:04rubuildius_amd64 enters the room.
23:28:04rueBig storms here. Plus hunching down with the laptop earned me an extraordinarily nasty tension headache
23:28:30evanug.
23:28:36rueBut I got to explore native methods
23:28:56evanthat code is scary
23:28:57evani know.
23:29:08michalw leaves the room.
23:29:25nexcastellanOnly +13C here, sunny Edmonton Alberta is reminding me of England with the overcast and the rain, grumble grumble.
23:29:43evanyou're in Edmonton?
23:29:49nexcastellanYeppers.
23:29:55evannice.
23:30:22agardinerhehe, we were due rain today, but this morning it was glorious
23:30:26evanI grew up in Montana
23:30:28nexcastellanWe get four seasons, that's for sure. Many days below -30C in the winter, many days above +30C in the summer. :)
23:30:37evanso I consider Edmonton a sort of neighbor.
23:31:22nexcastellan:) I've been to Montana. Not for ages, but it is just south of our province after all.
23:31:30evanyep.
23:31:40agardinerbrixen: not sure if you've got my github id for rubyspecs... but its agardiner if you don't
23:32:18brixenagardiner: ahh, one sec!
23:32:59nexcastellanRight now in signal.rb, we map "EXIT" to signal number 0. Then we drop down to ev.c and ev_signal_start asserts that w->signum > 0. Should I be removing that assert and calling atexit (?) if signum == 0?
23:33:18nexcastellan(MRI allows you to trap EXIT and Rubinius clearly means to)
23:33:28brixenagardiner: added. in rbx repo, rake spec:update spec:committer
23:33:47agardinerk - thanks!
23:33:52brixenn/p
23:34:04evannexcastellan: the EXIT thing is weird
23:34:10evani only recently found out about it
23:34:16nexcastellanYeah, confused me because it isn't a real signal.
23:34:16evanEXIT isn't a signal at all
23:34:24nexcastellanTimo had to fill me in. :)
23:34:27evanour Signal.trap needs to handle it specially.
23:34:28evanis all.
23:34:39nexcastellanOkay, rather than dropping down to ev.c?
23:34:43evaneasiest it to just take the block at pass it to at_exit
23:34:46evannexcastellan: yeah
23:34:49evandon't touch the C code.
23:35:02evanSignal.trap('EXIT') { }
23:35:08evanis pre-at_exit existing
23:35:09evanI think
23:35:09shame leaves the room.
23:35:46evanEXIT should be mapped to :exit or something
23:35:48evannot a number
23:35:51evanso it can be easily detected.
23:36:02evanand since it's not actually a signal number.
23:36:06nexcastellanOkay, thanks.
23:36:25nexcastellanOh! at_exit_spec.rb. Wonder if that shows us we break.
23:36:28rubuildius_amd64 leaves the room.
23:37:36rubuildius_amd64 enters the room.
23:41:14agardinerevan: do you want me to add a spec for this cvar issue?
23:41:24evanyeah
23:41:46agardinerk... any suggestions for the description? :-)
23:42:03evanum...
23:42:05evan:)
23:42:08evanyou'll think of something
23:42:32agardineri'm sure i will... but it'll probably only be meaningful to me! :-)
23:42:33brixenagardiner: it "find class_variables right" do ..
23:42:43brixenagardiner: j/k, please don't use that! :P
23:43:22agardinerhow do i describe the difference between self.map and class << self; def map?
23:43:49agardinerthat's the bit i'm hung up on
23:44:13rueWell, one is a method definition and one is a call ;)
23:44:45brixenwithout knowing 'self' in self.map, it's impossible to say
23:44:55dbussinkanother dutch victory at the european soccer championships :)
23:44:59agardineroops - i meant def self.map for the first one
23:44:59dbussink4-1 against france :P
23:45:36brixendbussink: congrats :)
23:45:40brixenagardiner: ahh
23:45:44evandbussink: congrats!
23:45:50evandbussink: who do ya play next?
23:46:05dbussinkromania, but we're qualified for the next round anyway
23:46:35dbussinkreally brilliant goals too :)
23:46:42agardinerthumping victory there!
23:46:43rueI just found out that ESPN is broadcasting :)
23:46:44evanoh, i thought it was single elimination
23:46:46evani guess not.
23:46:56agardinerstill the pool round
23:46:57dbussinkevan: first part is 4 groups of 4
23:47:04evanah
23:47:08evanso you just have to do well in the group
23:47:09dbussinkevan: all play one match against each other, top two progress
23:47:18evancongrats!
23:47:24dbussinkafter that it's elimination rounds
23:47:26evanyou guys must be 3-0 then!
23:47:50dbussinktwo victories now
23:47:54dbussinkitaly and france
23:47:57hemulen leaves the room.
23:48:03dbussinkthe finalists of worldcup 2006 :P
23:48:21rueYou had a pretty tough group too
23:48:32dbussinkyeah, they call it the group of death
23:48:47evanhah
23:48:50dbussinkwe were actually in the same qualifying pool as romania and finished there second
23:48:52evanwell, congrats then!
23:49:12rueItaly is my team so it looks like I have to look for a new one :)
23:49:13evanwho else is moving on? or do they not know yet
23:49:24dbussinkrue: just support us ;)
23:49:24rueevan: http://www.euro2008.uefa.com/
23:49:25agardinerboo italy!
23:49:40dbussinkagardiner: austrian pain from 2006 i guess :)
23:49:42evanbrixen: you must be pro-italy
23:49:42agardiner(for knocking the aussies out of the world cup)
23:49:43evanha!
23:49:45evanthats funny actually
23:49:51agardineryeah
23:49:51evani'm wearing a french jersey today
23:49:55evani totally forgot too
23:50:00dbussinkagardiner: was definitely rooting for australia in that match, dutch coach :0
23:50:02dbussink:)
23:50:20agardineryeah, we love gus
23:50:28dbussinkguus ;)
23:50:49agardineryeah, him too! :-)
23:50:52enebo leaves the room.
23:50:59dbussinkhe actually comes from a little town close to where my parents live, after world cup 2002 they made a museum there for him
23:51:10evanthe dutch motto should be: "We made orange cool."
23:51:16dbussinksouth koreans were flooding the place
23:51:39dbussinkevan: there are sports psychologists who say that orange is one of the best colors
23:51:54dbussinkto put your opponents off balance
23:52:00rueI like France except for Zizou so good thing he is gone now :) The NL is fairly popular in Finland from the old Litmanen Ajax days
23:54:03dbussinkrue: well, if we lose against romania both france and italy are out
23:55:00nexcastellanCan't set EXIT => :exit, makes it fail a spec. :)
23:55:06evan:P
23:57:44rueevan: Before I sally forth, do you know of issues that would arise if I just hook the Init_ functions as nmethods too? It sets up the system context nicely so that rb_funcall() et al. can be used inside the Init_
23:58:13evanthats what you should do.
23:58:25ruePlus you get a handy backtrace :P 0x1413460 <none>#Init_subtend_internal_funcall+885 in /Users/ruerue/code/rubinius/working/spec/subtend/ext/subtend_internal_funcall.bundle:0
23:58:30evani probably didn't explain that well enough last time you asked.
23:59:04evanOnce that goes away, there will be one way to run nmethod's
23:59:07evanwhich is a good thing.
23:59:13rueI have a slightly more comprehensive view of how the whole thing works together. The three places to look for arg counts took me a while :)
23:59:26evanheh
23:59:42evanthat was the source of a recent bug
23:59:50evanargs_you_exception != args_you_got