Index

Show enters and exits. Hide enters and exits.

00:01:06heycarsten leaves the room.
00:03:29heissundfettig leaves the room.
00:05:42jasondewevan: would you be interested in talking at an SC ruby conf oct 18th?
00:06:02evanSC as in Southern California or South Carolina?
00:06:08jasondewsouth carolina -- columbia
00:06:26evanhm, probably not, thats my birthday.
00:06:34brapse enters the room.
00:06:38evanbut thanks for offer!
00:06:45jasondewah, np at all :)
00:06:54evanwe've got a couple other people, if you're interested in having a Rubinius talk
00:07:07drbrainwill there be strippers and beer by the podium?
00:07:36jasondewevan: very much so
00:07:57jasondewdrbrain: if by strippers you mean ruby devs and by beer you mean water, then yes!
00:08:05brixenjasondew: oct 18th is my girlfriend's b-day, so I'm out too
00:08:16evanjasondew: send me an email with details
00:08:20evanephoenix@engineyard.com
00:08:23evani'll see what I can do
00:08:40jasondewevan: will do -- we talked with someone from EY today about sponsorship, can't remember the name though
00:08:51evanleah probably
00:09:22jasondewhttp://scrubyconf.colaruby.com/ if anyone else is interested
00:10:18fbuilesv enters the room.
00:11:10binary42 enters the room.
00:12:21jackdempsey enters the room.
00:17:05heissund1ettig leaves the room.
00:17:05Vagabond leaves the room.
00:17:05RyanTM leaves the room.
00:17:05jbarnette leaves the room.
00:17:05fbuilesv_ leaves the room.
00:17:05wmoxam leaves the room.
00:17:05TheProkrammer leaves the room.
00:17:05sveiss leaves the room.
00:17:05jero5 leaves the room.
00:17:05loop leaves the room.
00:17:05dmpk2k leaves the room.
00:17:05Chrononaut leaves the room.
00:17:05dary leaves the room.
00:17:05brixen leaves the room.
00:17:05zenspider leaves the room.
00:17:05maharg leaves the room.
00:17:05Illocution leaves the room.
00:17:05imperator leaves the room.
00:17:05viimrles leaves the room.
00:17:24heissund1ettig enters the room.
00:17:24Vagabond enters the room.
00:17:24RyanTM enters the room.
00:17:24sveiss enters the room.
00:17:24dary enters the room.
00:17:24jbarnette enters the room.
00:17:24fbuilesv_ enters the room.
00:17:24wmoxam enters the room.
00:17:24jero5 enters the room.
00:17:24brixen enters the room.
00:17:24Chrononaut enters the room.
00:17:24viimrles enters the room.
00:17:24dmpk2k enters the room.
00:17:24zenspider enters the room.
00:17:24TheProkrammer enters the room.
00:17:24loop enters the room.
00:17:24imperator enters the room.
00:17:24Illocution enters the room.
00:17:24maharg enters the room.
00:18:32headius leaves the room.
00:19:00heissundfettig enters the room.
00:20:13shayarnett enters the room.
00:25:47aotearoa enters the room.
00:26:32fbuilesv_ leaves the room.
00:29:45imajes leaves the room.
00:32:34heissund1ettig leaves the room.
00:33:30mernen enters the room.
00:39:13shame leaves the room.
00:43:58wmoxam leaves the room.
00:45:39binary42 leaves the room.
00:45:58binary42 enters the room.
00:47:45williamsmith enters the room.
00:50:14williamsmith leaves the room.
00:52:02jasondew leaves the room.
00:52:47heissund1ettig enters the room.
00:53:45drbrainevan: ping
00:53:50evansup
00:53:56shame enters the room.
00:55:01drbrainsec, rafb.net/paste is broken
00:55:06evank
00:55:44drbrainhttp://pastie.org/238978
00:55:48drbrainis that sane?
00:57:09evanyou need to put the Ruby.primitive in the header file
00:57:12evannot in the .cpp file
00:57:28evanabove the declaration of the function
00:57:31drbrainok
00:57:36drbrainyaeh
00:57:49evanotherwise fine.
00:58:10drbrainsince I just wrote a bunch of code in a header file, I've not been paying attention to extensions
00:58:16dary leaves the room.
00:58:37jbarnette leaves the room.
00:58:44evanyep
00:58:48evani do the same sometimes
00:59:09twbray enters the room.
01:04:06dysinger leaves the room.
01:04:27heissundfettig leaves the room.
01:06:06ezmobius leaves the room.
01:06:08fbuilesv leaves the room.
01:06:39fbuilesv enters the room.
01:08:08sveiss leaves the room.
01:09:24brapse leaves the room.
01:19:16mernen leaves the room.
01:22:26heissundfettig enters the room.
01:23:13jewel leaves the room.
01:26:03nathansobo enters the room.
01:30:53aotearoa leaves the room.
01:36:51heissund1ettig leaves the room.
01:47:04heissund1ettig enters the room.
01:47:17Jesterman81 enters the room.
01:48:11brapse enters the room.
01:51:04twbray leaves the room.
01:55:49enebo leaves the room.
01:56:54jtoy enters the room.
01:59:33heissundfettig leaves the room.
02:03:05aotearoa enters the room.
02:04:58dfg59 leaves the room.
02:11:38dary enters the room.
02:12:30brapse_ enters the room.
02:12:53ijcd leaves the room.
02:13:47heissundfettig enters the room.
02:21:00headius enters the room.
02:24:06VVSiz_ enters the room.
02:24:43brapse leaves the room.
02:25:42dysinger enters the room.
02:27:14heissund1ettig leaves the room.
02:30:51headius leaves the room.
02:32:16wmoxam enters the room.
02:35:54heycarsten enters the room.
02:37:14heycarsten leaves the room.
02:40:27heissund1ettig enters the room.
02:40:57jackdempsey leaves the room.
02:41:46VVSiz leaves the room.
02:48:11jackdempsey enters the room.
02:50:06brapse_ leaves the room.
02:50:23trythil enters the room.
02:51:35heissundfettig leaves the room.
02:56:53trythil_ enters the room.
02:56:58headius enters the room.
02:58:15binary42 leaves the room.
02:58:55lchin enters the room.
03:03:05antares leaves the room.
03:05:15fbuilesv leaves the room.
03:05:16heissund1ettig leaves the room.
03:06:03heissundfettig enters the room.
03:07:49botanicus leaves the room.
03:13:08trythil leaves the room.
03:13:23jazen2 enters the room.
03:16:40nicksieger leaves the room.
03:18:02nicksieger enters the room.
03:18:51twbray enters the room.
03:21:40Jesterman81 leaves the room.
03:22:39jazen leaves the room.
03:24:01jazen enters the room.
03:33:44headius_ enters the room.
03:33:44headius leaves the room.
03:35:09headius leaves the room.
03:35:47heissund1ettig enters the room.
03:49:55heissundfettig leaves the room.
03:52:34qrush leaves the room.
03:57:52antares enters the room.
04:02:02wyhaines leaves the room.
04:03:07wyhaines enters the room.
04:06:35heissundfettig enters the room.
04:14:00twbray leaves the room.
04:17:44heissund1ettig leaves the room.
04:25:46trythil_ leaves the room.
04:26:14trythil enters the room.
04:26:54imperator2 enters the room.
04:30:04heissund1ettig enters the room.
04:35:47sveiss enters the room.
04:41:26sveiss leaves the room.
04:41:51heissundfettig leaves the room.
04:42:41sveiss enters the room.
04:45:22antares leaves the room.
04:48:56dysinger leaves the room.
04:49:06dysinger enters the room.
04:51:51shayarnett leaves the room.
04:56:48heissundfettig enters the room.
05:03:42sveiss leaves the room.
05:04:16sveiss enters the room.
05:08:33heissund1ettig leaves the room.
05:16:15dary leaves the room.
05:20:29heissund1ettig enters the room.
05:21:08sveiss leaves the room.
05:21:41sveiss enters the room.
05:27:03heycarsten enters the room.
05:33:50heissundfettig leaves the room.
05:34:46heycarsten leaves the room.
05:39:54imperator2 leaves the room.
05:41:13headius enters the room.
05:45:10heissundfettig enters the room.
05:46:46trythil_ enters the room.
05:47:25blakewatters enters the room.
05:52:07dfg59 enters the room.
05:55:36heissund1ettig leaves the room.
06:01:33trythil leaves the room.
06:09:28sambo82 enters the room.
06:11:43heissund1ettig enters the room.
06:18:03wyhaines leaves the room.
06:20:16mitchellvriley enters the room.
06:24:19heissundfettig leaves the room.
06:27:42thehcdreamer enters the room.
06:29:18brapse enters the room.
06:32:05binary42 enters the room.
06:33:01sveiss leaves the room.
06:33:35sveiss enters the room.
06:34:23heissundfettig enters the room.
06:38:55brixenheadius: can you tell me what's going on here? http://gist.github.com/1523
06:40:03headiusack, colloquy freaked out...what was that last line?
06:40:35brixencan you tell me what's going on here? http://gist.github.com/1523
06:42:34headiusheh, interesting
06:43:02headiushow bout running that full PATH line directly?
06:43:13brixenok, I'll try
06:43:23headiusthe expanded one
06:45:17jackdempsey leaves the room.
06:45:36brixensame as with unexpanded
06:45:47tarcieriis gist public now?
06:46:00brixentarcieri: seems to be
06:46:07headiushmmm
06:46:08tarcierinot that the amazingly hard to guess password was keeping it very private :P
06:46:08heissund1ettig leaves the room.
06:46:09brixentarcieri: as in, I didn't do anything special to access it
06:46:32headiusso it's something about passing it though an intermediate sh script
06:46:39brixentarcieri: well, I'm logged into my account
06:46:44headiusit could be guessing jruby location wrong and picking up an older one
06:47:04brixenheadius: why is the time output different is what I'm wondering
06:47:12brixennot the time, the format of the output
06:47:14tarcieriit worked in a browser I've never logged into it with, so...
06:47:21brixentarcieri: ah ok
06:47:23headiusoh!
06:47:26headiustime does that
06:47:33headiusI dunno why
06:47:38brixenoh heh, ok
06:47:41dfg59 leaves the room.
06:47:46brixenmystery slayed
06:47:47headiuswhenever you prefix it with an env string
06:48:03headiusprobably doesn't have the same effect in a script
06:48:05evandoes what? take twice as long?
06:48:12brixenno, changes the format
06:48:17headiusoh wait
06:48:22headiusright, in the script time isn't embedded
06:48:26headiusit's run directly from outside
06:48:31headiusyeah, that's all
06:48:33brixenk
06:48:44evanwhy did it take twice as long?
06:49:02brixennot sure, but I've messed with the file so much I probably won't be able to recreate
06:49:09headiusyeah, that's what I was interested in :)
06:49:26headiusnow that would be weird
06:49:32brixenwell, it was
06:53:13headiuswhatcha doin?
06:53:24brixenheh, I figured it out
06:53:46brixenheadius: http://gist.github.com/1551
06:53:53brixenI added the # m = i + 1
06:54:01brixenthat goes from ~17 sec to ~28 sec
06:54:14evanah
06:55:15headiusahh ok
06:56:35headiusyeah, doesn't double under --server but it's about 50% slower
06:56:37evanbrixen: for these diagrams
06:56:47evanbrixen: do you see any problem if i use an example instruction set
06:56:52evanbrixen: rather than the one we really use
06:56:57evanjust to illistrate how we do it
06:57:12brixennope, that's fine
06:57:43brixenheadius: adds about 35% to exec time under cpp vm
06:57:53evani'm going to use the example from my blog post
06:58:00evana simple, register based machine with 3 instructions
06:58:03evanset, add, ret
06:58:22headiusokeedoke
06:58:30headiuscpp vm can run this ok now?
06:59:36brixenyeah
06:59:50brixenevan: sounds good
07:00:12headiusnice
07:00:21brixenheadius: adds about 76% to shotgun
07:00:59headiusmmm about 4.4s here to jruby's 9, including startup of course
07:01:21evanwhats yarv at?
07:01:34brixenheadius: if I compile this with -J-server, I don't see much difference
07:01:42brixenevan: I can't build head, it's broken :(
07:01:48evandoh!
07:01:51brixen1.9 head
07:01:53brixenyeah
07:01:55evanyeah
07:01:55headiuswell one thing about doing this at the root of a script is that it doesn't get the same optz
07:02:04headiusroot always uses heap-allocated vars for example
07:02:05heissund1ettig enters the room.
07:02:14brixenheadius: oops, compile this: http://gist.github.com/1553
07:02:26brixenheadius: I meant that paste, not jruby
07:02:55headiuswhat are the times?
07:02:59yugui enters the room.
07:03:13headiusJVM most likely optimizes that code to do nothing
07:03:15headiusbecause it does nothing
07:04:07brixen~0.34 sec either way
07:04:31headiusfrom time?
07:04:35brixenyeah
07:04:39headiusprobably all startup
07:04:53headiusJVM would run that code in milliseconds, if it ran it
07:05:00sudoer enters the room.
07:05:28headiusbut I'm guessing either javac or the JIT just optimizes it away because the results are never used
07:06:07brixenwell, changing it to return m gives about the same times
07:06:24headiusJVM inlines across methods and can often still tell it's not used
07:06:30brixenbut yeah, gcc -O2 gives about 0.05 sec
07:06:34headiusit's hard to bench jvm with smal scripts like this
07:06:42brixenok
07:08:00jtoy leaves the room.
07:10:42williamsmith enters the room.
07:11:35headiushey, how can I confirm cpp vm is producing the right results?
07:11:39headiusp doesn't seem to work
07:11:46yroc enters the room.
07:11:53brixenheh, we're just guessing right now
07:12:12headiusahh, ok
07:12:41heissundfettig leaves the room.
07:12:56evanyou can actually
07:12:58evanclass Object
07:13:00evan def show
07:13:03thehcdreamer leaves the room.
07:13:05evan Ruby.primitive :object_show
07:13:06evan end
07:13:06evanend
07:13:08evanthrow that at the top
07:13:10brixensweet
07:13:10evanthen call obj.show
07:13:11headiusok
07:13:29evanthere is no p because there is no kernel being loaded right now
07:13:33evanit's an empty vessel.
07:13:42jtoy enters the room.
07:13:43evanmath ops work because of the shortcutting
07:13:53headiusshortcutting?
07:13:54drbrainready for a fresh, unborn soul
07:14:13drbrain1 + 2 vs 1.+(2)
07:14:17headiushmm, that complained about a lack of __add_method__
07:14:19evanheadius: the plus instruction, etc.
07:14:23drbrainparser knows what method to call
07:14:24evanheadius: you need to compile with -frbx-kernel
07:14:30headiusahh
07:14:40evanbrixen: paste in the line you're using to compile
07:14:41drbrainevan: you make it so complicated
07:15:01evandrbrain: i'm forging you in the fires of complexity
07:15:30drbrainsharpens his code-scalpel
07:15:51headiusyou probably want to run with similar optz in jruby if you're testing that
07:16:29headiusthough most of the speed difference here is from JRuby's lack of tagged ints
07:17:14yroc leaves the room.
07:17:57brixenevan: hrm, compiling with -frbx-kernel doesn't help with the [Unable to find: '__class_init__']
07:18:11headiusworked for me
07:18:31evanbrixen: it should...
07:21:16brixenevan: http://gist.github.com/1565
07:22:47headiusyarv looks like about 5.22s for the non m = i + 1 version
07:23:06evanthats... odd.
07:23:09evanbrixen: i dunno
07:23:10evanthat should work.
07:23:13brixenok
07:24:03headiusrbx cpp is about 3s
07:25:08brixenheadius: what's yarv with m = i + 1?
07:25:21brixenheadius: and what svn rev of yarv are you on?
07:28:23sudoer_ enters the room.
07:28:49heissundfettig enters the room.
07:29:00headiuslooks like yarv goes to about 8s
07:29:04headiusand my rev is fairly recent
07:29:33dysinger leaves the room.
07:31:54headiusjruby is just a bit better than yarv with all optz on and no warmup
07:32:06sudoer leaves the room.
07:32:13antares enters the room.
07:33:57brixenheadius: can you svn info and tell me the rev? head is broken and I'd like to be able to build
07:34:30headius17164
07:34:39brixencool, thanks
07:34:48headiuslooks like it's about 9 days old
07:35:12headiusbleh, sampling profiles are so misleading
07:35:16jgre_ enters the room.
07:36:25drbrain15873 might work too
07:36:51Arjen_ enters the room.
07:38:47drbrainhrm, that's weird, I wonder why my number is so much lower
07:38:52drbraindated 2008-07-19
07:39:03headiusthat is weird
07:39:34headiusttp://svn.ruby-lang.org/repos/ruby/trunk
07:39:41heissund1ettig leaves the room.
07:40:09trythil_ leaves the room.
07:40:10headius15873 seems to be from 2008-3-31
07:40:15headiusa commit by you, no less
07:40:17drbrainbut, svnversion reports 18179
07:40:33drbrainmaybe somethings broken with the version.h
07:46:35jtoy leaves the room.
07:48:00sambo82 leaves the room.
07:49:40headiushmm, I think I see why jruby's slower than it should be
07:50:26Arjen_ leaves the room.
07:51:03headiusoh man, yeah
07:51:24headiusif I make it one big while JRuby optzed time drops to about 1.5s
07:51:26headiuswtf did I screw up
07:51:53headiuswith m = i + 1 even
07:51:56headiusgrr.
07:57:25heissund1ettig enters the room.
08:00:51headiusAGH
08:01:08headiusjeezuz
08:01:37headiusit's using heap vars whenever it sees a local var being assigned in the code
08:01:42headiushow did I break that
08:02:52sveiss leaves the room.
08:03:26sveiss enters the room.
08:09:24heissundfettig leaves the room.
08:09:55thehcdreamer enters the room.
08:18:45blakewatters leaves the room.
08:18:50Maledictus enters the room.
08:22:07BlackEdder enters the room.
08:22:47brapse leaves the room.
08:25:10heissundfettig enters the room.
08:25:24robin_dewd leaves the room.
08:30:26antares leaves the room.
08:39:09heissund1ettig leaves the room.
08:46:13evanbrixen: just committed a graffle file
08:46:17evaninto vm/doc
08:46:29evanthat shows bytecode dispatch
08:46:38evanthe 4 techniques
08:47:15sudoer_ leaves the room.
08:48:12octopod enters the room.
08:48:23williamsmith leaves the room.
08:48:44gnufied leaves the room.
08:51:52heissund1ettig enters the room.
09:03:25heissundfettig leaves the room.
09:06:19imajes enters the room.
09:08:52twbray enters the room.
09:10:27twbray_ enters the room.
09:12:11NoKarma enters the room.
09:13:50headiushmm
09:14:03headiusis the + op for fixnum not checking for overflow to bignum yet?
09:14:09headiusseems to blow up if I let it roll off the top
09:14:58headiuscpp vm, btw
09:19:36heissundfettig enters the room.
09:21:19drbrainyeah, it's broken
09:23:11imajes leaves the room.
09:25:20headiusokeedoke
09:26:42twbray_ leaves the room.
09:31:44heissund1ettig leaves the room.
09:36:52twbray leaves the room.
09:43:06heissund1ettig enters the room.
09:46:27botanicus enters the room.
09:57:26heissundfettig leaves the room.
10:05:51mitchellvriley leaves the room.
10:12:54heissundfettig enters the room.
10:14:12yugui leaves the room.
10:16:30dbussinkheadius: that + should work in the cpp vm
10:16:35dbussinkprobably something else then
10:16:46headiusI haen't updated in a bit
10:17:10wvdschel enters the room.
10:17:43wvdschelhey, can anyone get an email alias?
10:17:52dbussinkheadius: well, i've written a bunch of tests for it
10:18:04dbussinkand builtin_fixnum.h has almost 100% coverage
10:18:10dbussinkso that part definitely works
10:18:38dbussinkheadius: you can see it in builtin_fixnum.h, it does do overflow detection there
10:18:48headiusyeah, I see it
10:18:54headiusbut when I run it it bus errors
10:19:15dbussinkit has to be at some other point in the vm then
10:19:19headiusi = 1_000_000_000 ; while true ; i += 1; end
10:22:55headius leaves the room.
10:24:58chris2 enters the room.
10:25:51heissund1ettig leaves the room.
10:28:26imajes_office leaves the room.
10:39:04imajes enters the room.
10:39:09antares enters the room.
10:41:37heissund1ettig enters the room.
10:55:53heissundfettig leaves the room.
10:58:02benny leaves the room.
11:08:13yugui enters the room.
11:10:27heissundfettig enters the room.
11:24:47heissund1ettig leaves the room.
11:29:09michalw enters the room.
11:36:19benny enters the room.
11:37:19heissund1ettig enters the room.
11:43:53jewel enters the room.
11:46:51pauldix enters the room.
11:51:26heissundfettig leaves the room.
12:04:50lchin leaves the room.
12:06:03heissundfettig enters the room.
12:06:38lchin enters the room.
12:20:24heissund1ettig leaves the room.
12:23:35sveiss leaves the room.
12:24:10sveiss enters the room.
12:24:17sveiss leaves the room.
12:24:49sveiss enters the room.
12:31:43heissund1ettig enters the room.
12:33:43qrush enters the room.
12:45:42heissundfettig leaves the room.
12:48:35aotearoa leaves the room.
12:51:11heissund1ettig leaves the room.
12:54:24heissundfettig enters the room.
13:06:06qrush leaves the room.
13:09:22naeu enters the room.
13:18:25BlackEdder enters the room.
13:18:51qrush enters the room.
13:19:25BlackEdder enters the room.
13:20:40qrush leaves the room.
13:21:18aotearoa enters the room.
13:21:59heissund1ettig enters the room.
13:27:05jazen leaves the room.
13:29:03jazen enters the room.
13:35:45heissundfettig leaves the room.
13:48:44heissundfettig enters the room.
13:53:18wvdschel leaves the room.
13:54:38benburkert enters the room.
13:55:40fbuilesv enters the room.
13:57:23benburkert leaves the room.
14:01:47lchin leaves the room.
14:03:05heissund1ettig leaves the room.
14:03:48wvdschel enters the room.
14:12:23heissund1ettig enters the room.
14:13:21shayarnett enters the room.
14:18:07binary42 leaves the room.
14:26:30heissundfettig leaves the room.
14:27:02aotearoa leaves the room.
14:27:04yasuhito enters the room.
14:34:18AndrewO enters the room.
14:35:03heissundfettig enters the room.
14:35:45hemulen enters the room.
14:43:36moofbong enters the room.
14:49:21heissund1ettig leaves the room.
14:51:15wyhaines enters the room.
14:58:12yasuhito leaves the room.
14:58:30binary42 enters the room.
14:58:47gnufied enters the room.
14:59:21hemulen leaves the room.
14:59:35heissund1ettig enters the room.
15:01:16filmprog enters the room.
15:06:16hemulen enters the room.
15:06:28benburkert enters the room.
15:06:38yugui leaves the room.
15:12:06heissundfettig leaves the room.
15:19:34wmoxam leaves the room.
15:24:19twbray enters the room.
15:26:10wmoxam enters the room.
15:26:15wmoxam leaves the room.
15:26:18heissundfettig enters the room.
15:26:34fbuilesv leaves the room.
15:28:28wmoxam enters the room.
15:30:50benburkert leaves the room.
15:32:48benburkert enters the room.
15:34:31twbray leaves the room.
15:38:38heycarsten enters the room.
15:40:40heissund1ettig leaves the room.
15:50:57heissund1ettig enters the room.
15:51:00antares leaves the room.
15:57:58gnufied leaves the room.
15:58:15gnufied enters the room.
16:03:33djwhittjust for humor: http://www.ohloh.net/projects/rubinius/contributors/16361677967561
16:03:44djwhittapparently I'm a shell scripting god
16:05:05heissundfettig leaves the room.
16:06:04djwhittheh, I figured it out. I regenerated the onig autoconfig stuff once
16:06:25sveiss leaves the room.
16:07:22gnufiedoffers some "shells" to dear god djwhitt
16:07:50djwhitthehe
16:10:43gnufiedjust between the gods, i am the ruby code, okay. http://www.ohloh.net/projects/rubinius/contributors/16359530448899
16:10:57gnufied;)
16:11:39jgre_ leaves the room.
16:13:38heissundfettig enters the room.
16:18:23benburkert leaves the room.
16:26:10jgre_ enters the room.
16:26:26heissund1ettig leaves the room.
16:32:52sveiss enters the room.
16:36:49yroc enters the room.
16:43:23heissund1ettig enters the room.
16:45:27benburkert enters the room.
16:45:43michalw leaves the room.
16:45:59michalw enters the room.
16:51:43twbray enters the room.
16:54:53twbray_ enters the room.
16:57:22heissundfettig leaves the room.
16:59:37binary42 leaves the room.
17:00:47brapse enters the room.
17:03:31twbray leaves the room.
17:06:43eventualbuddha enters the room.
17:08:05heissundfettig enters the room.
17:16:04foysavas enters the room.
17:17:05hemulen leaves the room.
17:17:16atduskgreg enters the room.
17:19:31dfg59 enters the room.
17:21:35lopex enters the room.
17:21:46heissund1ettig leaves the room.
17:22:19robin_dewd enters the room.
17:22:48heissundfettig leaves the room.
17:24:33jgre_ leaves the room.
17:24:53jgre_ enters the room.
17:26:38eventualbuddha leaves the room.
17:30:33hemulen enters the room.
17:31:21eventualbuddha enters the room.
17:43:38thehcdreamer leaves the room.
17:44:43brapse leaves the room.
17:45:26eventualbuddha leaves the room.
17:46:04binary42 enters the room.
17:48:18headius enters the room.
17:50:29nathansobo leaves the room.
17:50:42lal00 enters the room.
17:53:36headiusevan: how are you doing const caching right now?
17:53:38smparkes enters the room.
17:53:44evani'm not
17:53:47headiuswe still don't have any const cache, thinking about adding one
17:53:49headiusahh ok
17:53:57headiuslooks like yarv does, I'll have to poke around a bit more
17:54:00evanI coded up an experiment a long time ago
17:54:03headiusglobal serial-number based
17:54:07evanthat looked similar to yarvs
17:54:14evanit stuck constants in an inline cache
17:54:22evanbut it didn't support clearing the caches
17:54:25evanso I took it out
17:54:33headiusyeah
17:55:01headiusthat's the approach I'd take but with a global const serial number...however I dunno if there are apps that define constants frequently that might defeat it
17:55:22evanthe global serial number seems like it might be ok, but I don't know.
17:55:29evaneither it will settle and work fine
17:55:37evanor you'll just end up thrashing on it constantly
17:56:05headiusthrashing on an int wouldn't be particularly painful compared to the const assignment overhead
17:56:14evantrue
17:56:16headiusno worse than having no cache, at the very least
17:56:29evancould make it more fine grained probably
17:56:36evanper constant serial numbers
17:56:53headiusyeah, we started looking at that a bit
17:56:57evanby having each constant table store <serial, value> instead of just value
17:56:58headiusspace/time tradeoff
17:57:06evanyeah
17:57:16evani think they only way to find out how well it works is to implement it
17:57:21headiusyes
17:58:31octopod leaves the room.
18:00:26chad_ enters the room.
18:02:13ijcd enters the room.
18:02:41ijcd leaves the room.
18:03:14ijcd enters the room.
18:06:49benny leaves the room.
18:08:41Yurik enters the room.
18:11:26wvdschel leaves the room.
18:14:04atduskgr_ enters the room.
18:18:45twbray_ leaves the room.
18:21:06naeu leaves the room.
18:22:08benburkert leaves the room.
18:22:28benburkert enters the room.
18:22:35weepy enters the room.
18:22:44weepyelo everyone
18:23:13benburkert_ enters the room.
18:24:13drbrainhi
18:24:13naeu enters the room.
18:24:19brapse enters the room.
18:26:08weepywhat's going on in the world of rubinius ? the project has gone very quiet from a blog postings point of view ,,,,,
18:26:38nexcastellanI assure you, things are still moving along.
18:26:55weepynexcastellan: thats very good to hear
18:27:02weepyi thought as much - but wasn't sure
18:27:04nexcastellanWe can now load many Ruby gems with C extensions. Folks are hard at work porting the VM to C++.
18:27:11brixenweepy: unfortunately, none of us are big bloggers :/
18:27:17weepyheh
18:27:19weepyindeed
18:27:22nexcastellanThere are always regular fixes to make Rubinius more compatible with MRI.
18:27:38nexcastellanMost discussion takes place here, though, which means visibility to the outside world is a little lacking.
18:27:41weepyi imagine the VM -> C++ is a big job
18:27:50weepywhy C++ ?
18:28:20nexcastellanYou'd have to talk to Evan about that. He's using a new fancy compiler that results in a substantial speedup.
18:28:26brixenvarious reasons, one big one is the organization of the code is much better
18:28:29weepythe LLVM thingy
18:28:34brixenyeah, llvm too
18:28:42weepyah right gotcha
18:28:46brixenthe primitives are now regular methods on a c++ class
18:28:46nexcastellanllvm, yes. Worth looking at llvm even if you don't care about Rubinius. :)
18:29:06weepyi've heard many great things about it :D
18:29:07brixenthe built-in classes that shadow the Ruby classes are a big win
18:29:25weepyis the mod_rubinius project still going ahead ?
18:29:35brixenyep, 0.5 should release very soon
18:29:42weepyseemed it was Passengeresque?
18:29:53nexcastellanAnd as always, we (for a large definition of 'we') are producing more specs for RubySpecs with the result that MRI, Rubinius, and JRuby are getting more and more compatible.
18:29:57atduskgreg leaves the room.
18:30:30weepyyes those specs are fantastic for Ruby
18:30:43brixenweepy: I'm pretty fuzzy on the mod_rubinius arch, but rue can answer your questions when he's around
18:30:43nexcastellanFantastic for everyone concerned.
18:31:00atduskgr_ leaves the room.
18:31:07nexcastellanWeepy, what do you work on in the Ruby world, if anything?
18:31:10brixenweepy: ohh, and the c++ vm has tests! :)
18:31:18weepyheh
18:31:28weepyI write Rails stuff mostly
18:31:35weepydipping into Merb
18:32:17nexcastellanGood for you! Rubinius isn't in a state yet that will be a drop-in replacement for you, but hopefully one day!
18:32:25weepyI've been working on a new Rails/Merb based project that's a user generated Gaming framework
18:32:52weepyturn based (so Scrabble. Chess, Diplomacey etc)
18:33:12nexcastellanSort of like itsyourturn? (not that they are written in Ruby, of course)
18:33:19weepyum yeah
18:33:21weepya bit like that
18:33:25weepybut ++++
18:33:27weepybetter
18:33:42nexcastellanGood luck! Should be an interesting project.
18:33:44weepydid you see 64squar.es ?
18:33:53weepythat's my Chess site
18:34:21weepythe interesting bit is that the games are written in Javascript, and the game logic runs both in the browser and the server (via SpiderMonkey)
18:36:26nexcastellanLooks quite slick. :)
18:36:30pauldix leaves the room.
18:37:15weepythanks - i'll let you know when it (yumoov.com) is ready
18:37:17weepyif you are interested
18:38:28mkrauskopf enters the room.
18:38:48RyanTMIs it just me or is CGI::Cookie::parse TERRIBLY broken? http://gist.github.com/1824
18:39:26RyanTMin both cases
18:41:05RyanTMI guess this is more Ruby-lang related than rubinius related..
18:42:50brixenRyanTM: sorry, the gist paste isn't loading for me
18:43:00RyanTMbrixen: okay let me use pastie
18:44:14RyanTMthe output: http://pastie.org/239465 the code: http://pastie.org/239466
18:44:23benburkert leaves the room.
18:44:46brixeneeks
18:44:59brixendo we have any specs for this?
18:45:13brixenand what version of ruby are you using?
18:45:45gnufied leaves the room.
18:45:59smparkes leaves the room.
18:46:05brixenbtw, apple really messed up the most recent version of ruby. a benchmark that takes 44sec from compiled 1.8.6 HEAD takes 1m55s on apple's version
18:46:35drbrainif it's rails cookie parsing, it's not our problem
18:46:37RyanTMruby 1.8.6 (2007-09-24 patchlevel 111) [i486-linux]
18:46:47drbrainbrixen: remember, apple ruby is -Os and --enable-pthread
18:46:58headiusbrixen: told ya so
18:46:58RyanTMWell the rails cookie parsing does a better job than Ruby's
18:47:13RyanTMbut it's still not right, I think.
18:47:16headiusdrbrain: --enable-pthread didn't appear to have any effect on my machine, and macports set it too
18:47:28drbrainheadius: yeah
18:49:00robin_dewd leaves the room.
18:49:23RyanTMSo there seems to be two problems here, one is that it's splitting on , so the comma in Dates is throwing it off, and 2. it may or may not be handling duplicate keys correctly.
18:49:49drbrainis that a valid date for a Cookie?
18:50:19RyanTMdrbrain: good question. I'm trying to find a standard for Cookies
18:50:25drbrainah, yes it is
18:50:44drbrainhttp://209.85.173.104/search?q=cache:W6VJIqv-__MJ:wp.netscape.com/newsref/std/cookie_spec.html+coo kie+spec&hl=en&ct=clnk&cd=1&gl=us&client=safari
18:52:00RyanTMwait is it possible that CGI::Cookie::parse is only supposed to parse the Cookie header and not the Set-Cookie header?
18:52:15drbrainpossibly
18:53:00robin_dewd enters the room.
18:54:36blakewatters enters the room.
19:00:50dbussinkheadius: where you able to output a gdb backtrace for the fixnum overflow problem?
19:02:12twbray enters the room.
19:02:36smparkes enters the room.
19:03:46headiusno, moved on to other things
19:04:11twbray leaves the room.
19:05:11masswaves
19:09:10twbray enters the room.
19:11:11twbray_ enters the room.
19:12:37massthats an interesting hostname
19:15:04drbrainit's a freenode mask or ghost or something
19:19:11pauldix enters the room.
19:21:03mkrauskopf leaves the room.
19:21:26twbray_ leaves the room.
19:23:22BlackEdder enters the room.
19:32:47twbray_ enters the room.
19:35:08williamsmith enters the room.
19:36:31twbray leaves the room.
19:39:42mkrauskopf enters the room.
19:40:16yroc leaves the room.
19:42:21brapse_ enters the room.
19:47:53brapse leaves the room.
19:49:23michalw leaves the room.
19:49:38michalw enters the room.
19:51:08GemBob enters the room.
19:57:29GemBob leaves the room.
19:57:42GemBob enters the room.
20:00:53naeu leaves the room.
20:01:22Arjen_ enters the room.
20:02:07naeu enters the room.
20:02:45yasuhito enters the room.
20:03:59naeu leaves the room.
20:04:44pauldix leaves the room.
20:04:57twbray_ leaves the room.
20:04:59GemBob leaves the room.
20:05:14GemBob enters the room.
20:06:39GemBob leaves the room.
20:06:56GemBob enters the room.
20:07:21weepy leaves the room.
20:08:27GemBob leaves the room.
20:09:14wvdschel enters the room.
20:22:49imajes enters the room.
20:27:57neelance enters the room.
20:30:03williamsmith leaves the room.
20:44:25nicksieger leaves the room.
20:45:04nicksieger enters the room.
20:45:56benny enters the room.
20:50:05antares enters the room.
20:57:54yroc enters the room.
20:58:19brapse leaves the room.
21:02:33fbuilesv enters the room.
21:08:34heycarsten_ enters the room.
21:09:16heycarsten leaves the room.
21:09:35williamsmith enters the room.
21:21:43pth enters the room.
21:22:54atduskgreg enters the room.
21:24:06shayarnett leaves the room.
21:30:52yasuhito leaves the room.
21:32:08rue leaves the room.
21:42:38drbrainthe cpp tests are soooo sloooow
21:45:18drbrainhow do I fix:
21:45:27drbrainerror: failed to push some refs to 'git@git.rubini.us:code'
21:46:12drbrain ! [rejected] master -> master (non-fast forward)
21:46:17drbrainspecifically
21:46:19atduskgr_ enters the room.
21:46:28DefilerOne trick is just to ignore it
21:46:35Defiler(assuming you are intending to push cpp changes)
21:46:44atduskgreg leaves the room.
21:46:46drbrainyes, only on cpp
21:47:11DefilerWhat that is saying, apparently, is that master couldn't push because it wasn't up to date, etc.. but since it didn't talk about cpp, that went fine
21:47:26DefilerI'm not sure how to tell git-push how to ignore master though. git can be really stupid
21:47:56drbrains/can be/is
21:48:07drbrainit says so in the man page
21:48:54nexcastellanHahaha, it really does.
21:49:14drbrainfor the record, I still hate git
21:49:30drbrainsource control is not supposed to be hard or confusing
21:49:52drbraingit makes it both
21:49:56Defileroh apparently you can say "git push origin cpp" ?
21:50:07Defilerreading the git-push man page, near the bottom
21:50:38evanyeah
21:50:39evanyou can.
21:50:46drbrainhrm, that did not fix `rake git:push` (which gives me this error)
21:51:07evanwhat did not fix that?
21:51:12evanediting the rake task?
21:51:41drbrain ! [rejected] master -> master (non-fast forward)
21:51:50evanyou didn't answer my question
21:51:53drbrainwas not fixed by `git push origin cpp`
21:52:32drbraindid I answer it in the second line?
21:52:46evanso you editting the rake task
21:53:15drbrainno
21:53:20drbrainI ran it by hand
21:53:27drbrainshould I edit the rake task?
21:53:35evanno
21:53:49evanof course running it by hand isn't going to change what "rake git:push" outputs
21:54:17yasuhito enters the room.
21:55:06drbrainmy interactions with git have shown me that running certain git commands by hand affects something else
21:55:10drbrainmysteriously
21:55:33evanthis is not the case
21:55:43evanthat message is being output by 'git push'
21:55:54evani suppose we could change the rake task on the cpp branch to use 'git push origin cpp'
21:56:37drbrainyes, please, since it's causing the rake task to abort
21:56:42drbrainshould I make the change?
21:57:05qrush enters the room.
21:59:02rue enters the room.
21:59:49rueMeh, connection issues for a change
22:03:16masswaves
22:05:39drbrainhi
22:08:48thehcdreamer enters the room.
22:11:35antares leaves the room.
22:18:43roo enters the room.
22:19:20dfg59 leaves the room.
22:28:44jewel leaves the room.
22:28:54jgre_ leaves the room.
22:29:13eventualbuddha enters the room.
22:34:45headius leaves the room.
22:34:56headius enters the room.
22:36:13mkrauskopf leaves the room.
22:38:13drbrainI add rake missing_primitives to cpp branch
22:38:17drbrainadded
22:39:09evank
22:39:25drbrainit just prints out a list
22:41:33moofbong leaves the room.
22:45:10atduskgreg enters the room.
22:45:34atduskgr_ leaves the room.
22:48:56smparkes leaves the room.
22:51:48drbrainwhat is string_template and tuple_template about?
22:51:53drbrain(prims)
22:52:01ryanlowe enters the room.
22:52:16Defilerstrings have some wacky shit re: returning subclasses of themselves in subclasses
22:52:31Defilerand it has a 'helper' function to make that easier, at least currently
22:52:31drbrainHash and Array too
22:52:36Defileryeah
22:52:41Defilerfor similar reasons
22:52:52drbrainwhat's extra amazing is class MyHash < Hash then p MyHash.new
22:52:58drbrainit's boggling
22:53:15DefilerWhat's weird about that?
22:53:19drbraindo we really need the terminal_ prims?
22:53:25Defilerunlikely
22:53:27drbraincan't we handle that later with FFI?
22:53:30DefilerYeah
22:53:52DefilerMaybe evan has a reason why not, but surely we are FFI-tastic enough now to do that
22:54:11drbrainI had a mixed Hash and MyHash, and I couldn't figure out which was which, since they all print with { }
22:55:23Defilerwell Hash implements to_s and inspect
22:55:33evannah
22:55:36evanthey can be nuke
22:55:37evannuked
22:55:38Defilerso I'm not surprised to see a subclass of it work that way
22:55:40evanthey're old
22:55:49evanbefore we had a readline extension working
22:56:46drbrainnow, the _template ones?
22:56:58evanwhich?
22:57:10drbraintuple_template, string_template
22:57:17evani didn't write those
22:57:26evansomeone introduced them while I wasn't looking :)
22:57:38DefilerI think we still need them, until we refactor the kernel to not need them
22:57:40evantuple_template is dumb
22:57:44drbrainthy look like dup
22:57:47drbrainthy
22:57:51drbrainthey
22:57:56Defilerthey are all simple, and can probably be done differently
22:58:21evanthey were introduce to give the VM the opertunity to properly create certain objects
22:58:33evanin the C++ VM
22:58:34evanthat's handled automatically
22:58:36Defilerbut they are designed to create new 'bare' class or subclass instances
22:58:51DefilerSo yeah, it can be done differently now
22:58:57Defilerbut needs kernel changes to make it work
22:59:16brixenstring_template is useful, look at it's uses
22:59:23evanyeah
22:59:29brixenif you replace, maintain the same performance in the string benches
23:00:10evanso
23:00:15evanthis is something a bit more fundemental
23:00:19drbrainI'm looking at the end of my list, and was wondering what this _template stuff was about, thinking it might be all over
23:00:41evanso the C++ VM, for object in knows about, automatically handles allocate
23:01:04evanie, even though String.allocate is really Class.allocate
23:01:17jazen leaves the room.
23:01:19jazen3 enters the room.
23:01:27massman this internet connection sucks, I hope OSCON is better
23:01:28evanwhen allocate is called, the C++ VM automatically handles it in the proper way
23:01:51evanso the template stuff goes away
23:02:03evanbecause String.allocate can be used to create an empty string
23:02:23evanthats 'prebaked'
23:02:47AndrewO leaves the room.
23:02:47DefilerSo we'll do 'self.class.allocate' in the kernel where we currently have a call to the template
23:02:48drbrainso should I remove them from the list?
23:03:09evandrbrain: leave them for now
23:03:18drbrainok
23:03:19evanthis new allocate mechanism isn't in place yet
23:03:21evanwhen it is
23:03:24evanwe'll nuke the template prims
23:03:31brixenstring_template takes a size. does String.allocate?
23:03:41evanno
23:03:42brixener, size and "template"
23:03:42drbrainthen I should remove them from the list
23:03:43evanthats a good point
23:03:54drbrainso nobody works on something we're going to throw away
23:04:01brixenthere's no point to allocate 50 strings and concat them in " " * 50
23:04:06brixenstuff like that
23:04:12evanwell, sounds like we're not going to throw them away
23:04:17brixenbyte/char operations over an existing string are much faster
23:04:18evanthey have specific behaviors that allocate doesn't cover
23:04:20drbrainok
23:04:22evanso they're staying
23:04:26Defilerthis is related to the 'subclasses with different initialize arity' thing
23:04:28Defilerfrom a while back
23:04:54DefilerWhere we can't safely just say self.class.new blah in kernel code
23:05:41drbrainevan: can you document this allocate stuff in builtin_object.cpp?
23:06:02heycarsten_ leaves the room.
23:06:02cout leaves the room.
23:06:02rudebwoy leaves the room.
23:06:02zf leaves the room.
23:06:02josb leaves the room.
23:06:02fearoffish leaves the room.
23:06:02flori leaves the room.
23:06:02ko1_away leaves the room.
23:06:02evancertainly!
23:06:03evanit would be builtin_class.cpp
23:06:03drbrainif that's the appropriate place
23:06:04evanthough
23:06:11zf enters the room.
23:06:11fearoffish enters the room.
23:06:11flori enters the room.
23:06:11ko1_away enters the room.
23:06:11josb enters the room.
23:06:11rudebwoy enters the room.
23:06:11cout enters the room.
23:06:11heycarsten_ enters the room.
23:07:45drbraincan str_crypt go?
23:07:52drbrainseem like it should be FFI
23:08:07brixenyeah, should be
23:08:15drbrainsame with strftime
23:08:56evanyes and yes.
23:09:00evana lot of those are pre-FFI
23:09:49drbrainok, I'll delete a bunch from the list that look FFIable
23:09:58evank
23:10:09evanbe sure to note somewhere that they need to be implemented with FFI though
23:10:14evanticket or in ffi.rb or something
23:10:45wmoxam leaves the room.
23:13:30botanicus leaves the room.
23:14:59heycarsten_ leaves the room.
23:16:45twbray enters the room.
23:16:56cout leaves the room.
23:18:03dfg59 enters the room.
23:21:40atduskgreg leaves the room.
23:32:21binary42 leaves the room.
23:39:38shayarnett enters the room.
23:40:57thehcdreamer leaves the room.
23:41:14wvdschel leaves the room.
23:41:25foysavas leaves the room.
23:43:46wvdschel enters the room.
23:49:03imajes leaves the room.
23:49:26wvdschel leaves the room.
23:50:57Arjen_ leaves the room.
23:54:08hemulen leaves the room.
23:54:33nicksieger leaves the room.