Show enters and exits. Hide enters and exits.
| 00:01:06 | heycarsten leaves the room. | |
| 00:03:29 | heissundfettig leaves the room. | |
| 00:05:42 | jasondew | evan: would you be interested in talking at an SC ruby conf oct 18th? |
| 00:06:02 | evan | SC as in Southern California or South Carolina? |
| 00:06:08 | jasondew | south carolina -- columbia |
| 00:06:26 | evan | hm, probably not, thats my birthday. |
| 00:06:34 | brapse enters the room. | |
| 00:06:38 | evan | but thanks for offer! |
| 00:06:45 | jasondew | ah, np at all :) |
| 00:06:54 | evan | we've got a couple other people, if you're interested in having a Rubinius talk |
| 00:07:07 | drbrain | will there be strippers and beer by the podium? |
| 00:07:36 | jasondew | evan: very much so |
| 00:07:57 | jasondew | drbrain: if by strippers you mean ruby devs and by beer you mean water, then yes! |
| 00:08:05 | brixen | jasondew: oct 18th is my girlfriend's b-day, so I'm out too |
| 00:08:16 | evan | jasondew: send me an email with details |
| 00:08:20 | evan | ephoenix@engineyard.com |
| 00:08:23 | evan | i'll see what I can do |
| 00:08:40 | jasondew | evan: will do -- we talked with someone from EY today about sponsorship, can't remember the name though |
| 00:08:51 | evan | leah probably |
| 00:09:22 | jasondew | http://scrubyconf.colaruby.com/ if anyone else is interested |
| 00:10:18 | fbuilesv enters the room. | |
| 00:11:10 | binary42 enters the room. | |
| 00:12:21 | jackdempsey enters the room. | |
| 00:17:05 | heissund1ettig leaves the room. | |
| 00:17:05 | Vagabond leaves the room. | |
| 00:17:05 | RyanTM leaves the room. | |
| 00:17:05 | jbarnette leaves the room. | |
| 00:17:05 | fbuilesv_ leaves the room. | |
| 00:17:05 | wmoxam leaves the room. | |
| 00:17:05 | TheProkrammer leaves the room. | |
| 00:17:05 | sveiss leaves the room. | |
| 00:17:05 | jero5 leaves the room. | |
| 00:17:05 | loop leaves the room. | |
| 00:17:05 | dmpk2k leaves the room. | |
| 00:17:05 | Chrononaut leaves the room. | |
| 00:17:05 | dary leaves the room. | |
| 00:17:05 | brixen leaves the room. | |
| 00:17:05 | zenspider leaves the room. | |
| 00:17:05 | maharg leaves the room. | |
| 00:17:05 | Illocution leaves the room. | |
| 00:17:05 | imperator leaves the room. | |
| 00:17:05 | viimrles leaves the room. | |
| 00:17:24 | heissund1ettig enters the room. | |
| 00:17:24 | Vagabond enters the room. | |
| 00:17:24 | RyanTM enters the room. | |
| 00:17:24 | sveiss enters the room. | |
| 00:17:24 | dary enters the room. | |
| 00:17:24 | jbarnette enters the room. | |
| 00:17:24 | fbuilesv_ enters the room. | |
| 00:17:24 | wmoxam enters the room. | |
| 00:17:24 | jero5 enters the room. | |
| 00:17:24 | brixen enters the room. | |
| 00:17:24 | Chrononaut enters the room. | |
| 00:17:24 | viimrles enters the room. | |
| 00:17:24 | dmpk2k enters the room. | |
| 00:17:24 | zenspider enters the room. | |
| 00:17:24 | TheProkrammer enters the room. | |
| 00:17:24 | loop enters the room. | |
| 00:17:24 | imperator enters the room. | |
| 00:17:24 | Illocution enters the room. | |
| 00:17:24 | maharg enters the room. | |
| 00:18:32 | headius leaves the room. | |
| 00:19:00 | heissundfettig enters the room. | |
| 00:20:13 | shayarnett enters the room. | |
| 00:25:47 | aotearoa enters the room. | |
| 00:26:32 | fbuilesv_ leaves the room. | |
| 00:29:45 | imajes leaves the room. | |
| 00:32:34 | heissund1ettig leaves the room. | |
| 00:33:30 | mernen enters the room. | |
| 00:39:13 | shame leaves the room. | |
| 00:43:58 | wmoxam leaves the room. | |
| 00:45:39 | binary42 leaves the room. | |
| 00:45:58 | binary42 enters the room. | |
| 00:47:45 | williamsmith enters the room. | |
| 00:50:14 | williamsmith leaves the room. | |
| 00:52:02 | jasondew leaves the room. | |
| 00:52:47 | heissund1ettig enters the room. | |
| 00:53:45 | drbrain | evan: ping |
| 00:53:50 | evan | sup |
| 00:53:56 | shame enters the room. | |
| 00:55:01 | drbrain | sec, rafb.net/paste is broken |
| 00:55:06 | evan | k |
| 00:55:44 | drbrain | http://pastie.org/238978 |
| 00:55:48 | drbrain | is that sane? |
| 00:57:09 | evan | you need to put the Ruby.primitive in the header file |
| 00:57:12 | evan | not in the .cpp file |
| 00:57:28 | evan | above the declaration of the function |
| 00:57:31 | drbrain | ok |
| 00:57:36 | drbrain | yaeh |
| 00:57:49 | evan | otherwise fine. |
| 00:58:10 | drbrain | since I just wrote a bunch of code in a header file, I've not been paying attention to extensions |
| 00:58:16 | dary leaves the room. | |
| 00:58:37 | jbarnette leaves the room. | |
| 00:58:44 | evan | yep |
| 00:58:48 | evan | i do the same sometimes |
| 00:59:09 | twbray enters the room. | |
| 01:04:06 | dysinger leaves the room. | |
| 01:04:27 | heissundfettig leaves the room. | |
| 01:06:06 | ezmobius leaves the room. | |
| 01:06:08 | fbuilesv leaves the room. | |
| 01:06:39 | fbuilesv enters the room. | |
| 01:08:08 | sveiss leaves the room. | |
| 01:09:24 | brapse leaves the room. | |
| 01:19:16 | mernen leaves the room. | |
| 01:22:26 | heissundfettig enters the room. | |
| 01:23:13 | jewel leaves the room. | |
| 01:26:03 | nathansobo enters the room. | |
| 01:30:53 | aotearoa leaves the room. | |
| 01:36:51 | heissund1ettig leaves the room. | |
| 01:47:04 | heissund1ettig enters the room. | |
| 01:47:17 | Jesterman81 enters the room. | |
| 01:48:11 | brapse enters the room. | |
| 01:51:04 | twbray leaves the room. | |
| 01:55:49 | enebo leaves the room. | |
| 01:56:54 | jtoy enters the room. | |
| 01:59:33 | heissundfettig leaves the room. | |
| 02:03:05 | aotearoa enters the room. | |
| 02:04:58 | dfg59 leaves the room. | |
| 02:11:38 | dary enters the room. | |
| 02:12:30 | brapse_ enters the room. | |
| 02:12:53 | ijcd leaves the room. | |
| 02:13:47 | heissundfettig enters the room. | |
| 02:21:00 | headius enters the room. | |
| 02:24:06 | VVSiz_ enters the room. | |
| 02:24:43 | brapse leaves the room. | |
| 02:25:42 | dysinger enters the room. | |
| 02:27:14 | heissund1ettig leaves the room. | |
| 02:30:51 | headius leaves the room. | |
| 02:32:16 | wmoxam enters the room. | |
| 02:35:54 | heycarsten enters the room. | |
| 02:37:14 | heycarsten leaves the room. | |
| 02:40:27 | heissund1ettig enters the room. | |
| 02:40:57 | jackdempsey leaves the room. | |
| 02:41:46 | VVSiz leaves the room. | |
| 02:48:11 | jackdempsey enters the room. | |
| 02:50:06 | brapse_ leaves the room. | |
| 02:50:23 | trythil enters the room. | |
| 02:51:35 | heissundfettig leaves the room. | |
| 02:56:53 | trythil_ enters the room. | |
| 02:56:58 | headius enters the room. | |
| 02:58:15 | binary42 leaves the room. | |
| 02:58:55 | lchin enters the room. | |
| 03:03:05 | antares leaves the room. | |
| 03:05:15 | fbuilesv leaves the room. | |
| 03:05:16 | heissund1ettig leaves the room. | |
| 03:06:03 | heissundfettig enters the room. | |
| 03:07:49 | botanicus leaves the room. | |
| 03:13:08 | trythil leaves the room. | |
| 03:13:23 | jazen2 enters the room. | |
| 03:16:40 | nicksieger leaves the room. | |
| 03:18:02 | nicksieger enters the room. | |
| 03:18:51 | twbray enters the room. | |
| 03:21:40 | Jesterman81 leaves the room. | |
| 03:22:39 | jazen leaves the room. | |
| 03:24:01 | jazen enters the room. | |
| 03:33:44 | headius_ enters the room. | |
| 03:33:44 | headius leaves the room. | |
| 03:35:09 | headius leaves the room. | |
| 03:35:47 | heissund1ettig enters the room. | |
| 03:49:55 | heissundfettig leaves the room. | |
| 03:52:34 | qrush leaves the room. | |
| 03:57:52 | antares enters the room. | |
| 04:02:02 | wyhaines leaves the room. | |
| 04:03:07 | wyhaines enters the room. | |
| 04:06:35 | heissundfettig enters the room. | |
| 04:14:00 | twbray leaves the room. | |
| 04:17:44 | heissund1ettig leaves the room. | |
| 04:25:46 | trythil_ leaves the room. | |
| 04:26:14 | trythil enters the room. | |
| 04:26:54 | imperator2 enters the room. | |
| 04:30:04 | heissund1ettig enters the room. | |
| 04:35:47 | sveiss enters the room. | |
| 04:41:26 | sveiss leaves the room. | |
| 04:41:51 | heissundfettig leaves the room. | |
| 04:42:41 | sveiss enters the room. | |
| 04:45:22 | antares leaves the room. | |
| 04:48:56 | dysinger leaves the room. | |
| 04:49:06 | dysinger enters the room. | |
| 04:51:51 | shayarnett leaves the room. | |
| 04:56:48 | heissundfettig enters the room. | |
| 05:03:42 | sveiss leaves the room. | |
| 05:04:16 | sveiss enters the room. | |
| 05:08:33 | heissund1ettig leaves the room. | |
| 05:16:15 | dary leaves the room. | |
| 05:20:29 | heissund1ettig enters the room. | |
| 05:21:08 | sveiss leaves the room. | |
| 05:21:41 | sveiss enters the room. | |
| 05:27:03 | heycarsten enters the room. | |
| 05:33:50 | heissundfettig leaves the room. | |
| 05:34:46 | heycarsten leaves the room. | |
| 05:39:54 | imperator2 leaves the room. | |
| 05:41:13 | headius enters the room. | |
| 05:45:10 | heissundfettig enters the room. | |
| 05:46:46 | trythil_ enters the room. | |
| 05:47:25 | blakewatters enters the room. | |
| 05:52:07 | dfg59 enters the room. | |
| 05:55:36 | heissund1ettig leaves the room. | |
| 06:01:33 | trythil leaves the room. | |
| 06:09:28 | sambo82 enters the room. | |
| 06:11:43 | heissund1ettig enters the room. | |
| 06:18:03 | wyhaines leaves the room. | |
| 06:20:16 | mitchellvriley enters the room. | |
| 06:24:19 | heissundfettig leaves the room. | |
| 06:27:42 | thehcdreamer enters the room. | |
| 06:29:18 | brapse enters the room. | |
| 06:32:05 | binary42 enters the room. | |
| 06:33:01 | sveiss leaves the room. | |
| 06:33:35 | sveiss enters the room. | |
| 06:34:23 | heissundfettig enters the room. | |
| 06:38:55 | brixen | headius: can you tell me what's going on here? http://gist.github.com/1523 |
| 06:40:03 | headius | ack, colloquy freaked out...what was that last line? |
| 06:40:35 | brixen | can you tell me what's going on here? http://gist.github.com/1523 |
| 06:42:34 | headius | heh, interesting |
| 06:43:02 | headius | how bout running that full PATH line directly? |
| 06:43:13 | brixen | ok, I'll try |
| 06:43:23 | headius | the expanded one |
| 06:45:17 | jackdempsey leaves the room. | |
| 06:45:36 | brixen | same as with unexpanded |
| 06:45:47 | tarcieri | is gist public now? |
| 06:46:00 | brixen | tarcieri: seems to be |
| 06:46:07 | headius | hmmm |
| 06:46:08 | tarcieri | not that the amazingly hard to guess password was keeping it very private :P |
| 06:46:08 | heissund1ettig leaves the room. | |
| 06:46:09 | brixen | tarcieri: as in, I didn't do anything special to access it |
| 06:46:32 | headius | so it's something about passing it though an intermediate sh script |
| 06:46:39 | brixen | tarcieri: well, I'm logged into my account |
| 06:46:44 | headius | it could be guessing jruby location wrong and picking up an older one |
| 06:47:04 | brixen | headius: why is the time output different is what I'm wondering |
| 06:47:12 | brixen | not the time, the format of the output |
| 06:47:14 | tarcieri | it worked in a browser I've never logged into it with, so... |
| 06:47:21 | brixen | tarcieri: ah ok |
| 06:47:23 | headius | oh! |
| 06:47:26 | headius | time does that |
| 06:47:33 | headius | I dunno why |
| 06:47:38 | brixen | oh heh, ok |
| 06:47:41 | dfg59 leaves the room. | |
| 06:47:46 | brixen | mystery slayed |
| 06:47:47 | headius | whenever you prefix it with an env string |
| 06:48:03 | headius | probably doesn't have the same effect in a script |
| 06:48:05 | evan | does what? take twice as long? |
| 06:48:12 | brixen | no, changes the format |
| 06:48:17 | headius | oh wait |
| 06:48:22 | headius | right, in the script time isn't embedded |
| 06:48:26 | headius | it's run directly from outside |
| 06:48:31 | headius | yeah, that's all |
| 06:48:33 | brixen | k |
| 06:48:44 | evan | why did it take twice as long? |
| 06:49:02 | brixen | not sure, but I've messed with the file so much I probably won't be able to recreate |
| 06:49:09 | headius | yeah, that's what I was interested in :) |
| 06:49:26 | headius | now that would be weird |
| 06:49:32 | brixen | well, it was |
| 06:53:13 | headius | whatcha doin? |
| 06:53:24 | brixen | heh, I figured it out |
| 06:53:46 | brixen | headius: http://gist.github.com/1551 |
| 06:53:53 | brixen | I added the # m = i + 1 |
| 06:54:01 | brixen | that goes from ~17 sec to ~28 sec |
| 06:54:14 | evan | ah |
| 06:55:15 | headius | ahh ok |
| 06:56:35 | headius | yeah, doesn't double under --server but it's about 50% slower |
| 06:56:37 | evan | brixen: for these diagrams |
| 06:56:47 | evan | brixen: do you see any problem if i use an example instruction set |
| 06:56:52 | evan | brixen: rather than the one we really use |
| 06:56:57 | evan | just to illistrate how we do it |
| 06:57:12 | brixen | nope, that's fine |
| 06:57:43 | brixen | headius: adds about 35% to exec time under cpp vm |
| 06:57:53 | evan | i'm going to use the example from my blog post |
| 06:58:00 | evan | a simple, register based machine with 3 instructions |
| 06:58:03 | evan | set, add, ret |
| 06:58:22 | headius | okeedoke |
| 06:58:30 | headius | cpp vm can run this ok now? |
| 06:59:36 | brixen | yeah |
| 06:59:50 | brixen | evan: sounds good |
| 07:00:12 | headius | nice |
| 07:00:21 | brixen | headius: adds about 76% to shotgun |
| 07:00:59 | headius | mmm about 4.4s here to jruby's 9, including startup of course |
| 07:01:21 | evan | whats yarv at? |
| 07:01:34 | brixen | headius: if I compile this with -J-server, I don't see much difference |
| 07:01:42 | brixen | evan: I can't build head, it's broken :( |
| 07:01:48 | evan | doh! |
| 07:01:51 | brixen | 1.9 head |
| 07:01:53 | brixen | yeah |
| 07:01:55 | evan | yeah |
| 07:01:55 | headius | well one thing about doing this at the root of a script is that it doesn't get the same optz |
| 07:02:04 | headius | root always uses heap-allocated vars for example |
| 07:02:05 | heissund1ettig enters the room. | |
| 07:02:14 | brixen | headius: oops, compile this: http://gist.github.com/1553 |
| 07:02:26 | brixen | headius: I meant that paste, not jruby |
| 07:02:55 | headius | what are the times? |
| 07:02:59 | yugui enters the room. | |
| 07:03:13 | headius | JVM most likely optimizes that code to do nothing |
| 07:03:15 | headius | because it does nothing |
| 07:04:07 | brixen | ~0.34 sec either way |
| 07:04:31 | headius | from time? |
| 07:04:35 | brixen | yeah |
| 07:04:39 | headius | probably all startup |
| 07:04:53 | headius | JVM would run that code in milliseconds, if it ran it |
| 07:05:00 | sudoer enters the room. | |
| 07:05:28 | headius | but I'm guessing either javac or the JIT just optimizes it away because the results are never used |
| 07:06:07 | brixen | well, changing it to return m gives about the same times |
| 07:06:24 | headius | JVM inlines across methods and can often still tell it's not used |
| 07:06:30 | brixen | but yeah, gcc -O2 gives about 0.05 sec |
| 07:06:34 | headius | it's hard to bench jvm with smal scripts like this |
| 07:06:42 | brixen | ok |
| 07:08:00 | jtoy leaves the room. | |
| 07:10:42 | williamsmith enters the room. | |
| 07:11:35 | headius | hey, how can I confirm cpp vm is producing the right results? |
| 07:11:39 | headius | p doesn't seem to work |
| 07:11:46 | yroc enters the room. | |
| 07:11:53 | brixen | heh, we're just guessing right now |
| 07:12:12 | headius | ahh, ok |
| 07:12:41 | heissundfettig leaves the room. | |
| 07:12:56 | evan | you can actually |
| 07:12:58 | evan | class Object |
| 07:13:00 | evan | def show |
| 07:13:03 | thehcdreamer leaves the room. | |
| 07:13:05 | evan | Ruby.primitive :object_show |
| 07:13:06 | evan | end |
| 07:13:06 | evan | end |
| 07:13:08 | evan | throw that at the top |
| 07:13:10 | brixen | sweet |
| 07:13:10 | evan | then call obj.show |
| 07:13:11 | headius | ok |
| 07:13:29 | evan | there is no p because there is no kernel being loaded right now |
| 07:13:33 | evan | it's an empty vessel. |
| 07:13:42 | jtoy enters the room. | |
| 07:13:43 | evan | math ops work because of the shortcutting |
| 07:13:53 | headius | shortcutting? |
| 07:13:54 | drbrain | ready for a fresh, unborn soul |
| 07:14:13 | drbrain | 1 + 2 vs 1.+(2) |
| 07:14:17 | headius | hmm, that complained about a lack of __add_method__ |
| 07:14:19 | evan | headius: the plus instruction, etc. |
| 07:14:23 | drbrain | parser knows what method to call |
| 07:14:24 | evan | headius: you need to compile with -frbx-kernel |
| 07:14:30 | headius | ahh |
| 07:14:40 | evan | brixen: paste in the line you're using to compile |
| 07:14:41 | drbrain | evan: you make it so complicated |
| 07:15:01 | evan | drbrain: i'm forging you in the fires of complexity |
| 07:15:30 | drbrain | sharpens his code-scalpel |
| 07:15:51 | headius | you probably want to run with similar optz in jruby if you're testing that |
| 07:16:29 | headius | though most of the speed difference here is from JRuby's lack of tagged ints |
| 07:17:14 | yroc leaves the room. | |
| 07:17:57 | brixen | evan: hrm, compiling with -frbx-kernel doesn't help with the [Unable to find: '__class_init__'] |
| 07:18:11 | headius | worked for me |
| 07:18:31 | evan | brixen: it should... |
| 07:21:16 | brixen | evan: http://gist.github.com/1565 |
| 07:22:47 | headius | yarv looks like about 5.22s for the non m = i + 1 version |
| 07:23:06 | evan | thats... odd. |
| 07:23:09 | evan | brixen: i dunno |
| 07:23:10 | evan | that should work. |
| 07:23:13 | brixen | ok |
| 07:24:03 | headius | rbx cpp is about 3s |
| 07:25:08 | brixen | headius: what's yarv with m = i + 1? |
| 07:25:21 | brixen | headius: and what svn rev of yarv are you on? |
| 07:28:23 | sudoer_ enters the room. | |
| 07:28:49 | heissundfettig enters the room. | |
| 07:29:00 | headius | looks like yarv goes to about 8s |
| 07:29:04 | headius | and my rev is fairly recent |
| 07:29:33 | dysinger leaves the room. | |
| 07:31:54 | headius | jruby is just a bit better than yarv with all optz on and no warmup |
| 07:32:06 | sudoer leaves the room. | |
| 07:32:13 | antares enters the room. | |
| 07:33:57 | brixen | headius: can you svn info and tell me the rev? head is broken and I'd like to be able to build |
| 07:34:30 | headius | 17164 |
| 07:34:39 | brixen | cool, thanks |
| 07:34:48 | headius | looks like it's about 9 days old |
| 07:35:12 | headius | bleh, sampling profiles are so misleading |
| 07:35:16 | jgre_ enters the room. | |
| 07:36:25 | drbrain | 15873 might work too |
| 07:36:51 | Arjen_ enters the room. | |
| 07:38:47 | drbrain | hrm, that's weird, I wonder why my number is so much lower |
| 07:38:52 | drbrain | dated 2008-07-19 |
| 07:39:03 | headius | that is weird |
| 07:39:34 | headius | ttp://svn.ruby-lang.org/repos/ruby/trunk |
| 07:39:41 | heissund1ettig leaves the room. | |
| 07:40:09 | trythil_ leaves the room. | |
| 07:40:10 | headius | 15873 seems to be from 2008-3-31 |
| 07:40:15 | headius | a commit by you, no less |
| 07:40:17 | drbrain | but, svnversion reports 18179 |
| 07:40:33 | drbrain | maybe somethings broken with the version.h |
| 07:46:35 | jtoy leaves the room. | |
| 07:48:00 | sambo82 leaves the room. | |
| 07:49:40 | headius | hmm, I think I see why jruby's slower than it should be |
| 07:50:26 | Arjen_ leaves the room. | |
| 07:51:03 | headius | oh man, yeah |
| 07:51:24 | headius | if I make it one big while JRuby optzed time drops to about 1.5s |
| 07:51:26 | headius | wtf did I screw up |
| 07:51:53 | headius | with m = i + 1 even |
| 07:51:56 | headius | grr. |
| 07:57:25 | heissund1ettig enters the room. | |
| 08:00:51 | headius | AGH |
| 08:01:08 | headius | jeezuz |
| 08:01:37 | headius | it's using heap vars whenever it sees a local var being assigned in the code |
| 08:01:42 | headius | how did I break that |
| 08:02:52 | sveiss leaves the room. | |
| 08:03:26 | sveiss enters the room. | |
| 08:09:24 | heissundfettig leaves the room. | |
| 08:09:55 | thehcdreamer enters the room. | |
| 08:18:45 | blakewatters leaves the room. | |
| 08:18:50 | Maledictus enters the room. | |
| 08:22:07 | BlackEdder enters the room. | |
| 08:22:47 | brapse leaves the room. | |
| 08:25:10 | heissundfettig enters the room. | |
| 08:25:24 | robin_dewd leaves the room. | |
| 08:30:26 | antares leaves the room. | |
| 08:39:09 | heissund1ettig leaves the room. | |
| 08:46:13 | evan | brixen: just committed a graffle file |
| 08:46:17 | evan | into vm/doc |
| 08:46:29 | evan | that shows bytecode dispatch |
| 08:46:38 | evan | the 4 techniques |
| 08:47:15 | sudoer_ leaves the room. | |
| 08:48:12 | octopod enters the room. | |
| 08:48:23 | williamsmith leaves the room. | |
| 08:48:44 | gnufied leaves the room. | |
| 08:51:52 | heissund1ettig enters the room. | |
| 09:03:25 | heissundfettig leaves the room. | |
| 09:06:19 | imajes enters the room. | |
| 09:08:52 | twbray enters the room. | |
| 09:10:27 | twbray_ enters the room. | |
| 09:12:11 | NoKarma enters the room. | |
| 09:13:50 | headius | hmm |
| 09:14:03 | headius | is the + op for fixnum not checking for overflow to bignum yet? |
| 09:14:09 | headius | seems to blow up if I let it roll off the top |
| 09:14:58 | headius | cpp vm, btw |
| 09:19:36 | heissundfettig enters the room. | |
| 09:21:19 | drbrain | yeah, it's broken |
| 09:23:11 | imajes leaves the room. | |
| 09:25:20 | headius | okeedoke |
| 09:26:42 | twbray_ leaves the room. | |
| 09:31:44 | heissund1ettig leaves the room. | |
| 09:36:52 | twbray leaves the room. | |
| 09:43:06 | heissund1ettig enters the room. | |
| 09:46:27 | botanicus enters the room. | |
| 09:57:26 | heissundfettig leaves the room. | |
| 10:05:51 | mitchellvriley leaves the room. | |
| 10:12:54 | heissundfettig enters the room. | |
| 10:14:12 | yugui leaves the room. | |
| 10:16:30 | dbussink | headius: that + should work in the cpp vm |
| 10:16:35 | dbussink | probably something else then |
| 10:16:46 | headius | I haen't updated in a bit |
| 10:17:10 | wvdschel enters the room. | |
| 10:17:43 | wvdschel | hey, can anyone get an email alias? |
| 10:17:52 | dbussink | headius: well, i've written a bunch of tests for it |
| 10:18:04 | dbussink | and builtin_fixnum.h has almost 100% coverage |
| 10:18:10 | dbussink | so that part definitely works |
| 10:18:38 | dbussink | headius: you can see it in builtin_fixnum.h, it does do overflow detection there |
| 10:18:48 | headius | yeah, I see it |
| 10:18:54 | headius | but when I run it it bus errors |
| 10:19:15 | dbussink | it has to be at some other point in the vm then |
| 10:19:19 | headius | i = 1_000_000_000 ; while true ; i += 1; end |
| 10:22:55 | headius leaves the room. | |
| 10:24:58 | chris2 enters the room. | |
| 10:25:51 | heissund1ettig leaves the room. | |
| 10:28:26 | imajes_office leaves the room. | |
| 10:39:04 | imajes enters the room. | |
| 10:39:09 | antares enters the room. | |
| 10:41:37 | heissund1ettig enters the room. | |
| 10:55:53 | heissundfettig leaves the room. | |
| 10:58:02 | benny leaves the room. | |
| 11:08:13 | yugui enters the room. | |
| 11:10:27 | heissundfettig enters the room. | |
| 11:24:47 | heissund1ettig leaves the room. | |
| 11:29:09 | michalw enters the room. | |
| 11:36:19 | benny enters the room. | |
| 11:37:19 | heissund1ettig enters the room. | |
| 11:43:53 | jewel enters the room. | |
| 11:46:51 | pauldix enters the room. | |
| 11:51:26 | heissundfettig leaves the room. | |
| 12:04:50 | lchin leaves the room. | |
| 12:06:03 | heissundfettig enters the room. | |
| 12:06:38 | lchin enters the room. | |
| 12:20:24 | heissund1ettig leaves the room. | |
| 12:23:35 | sveiss leaves the room. | |
| 12:24:10 | sveiss enters the room. | |
| 12:24:17 | sveiss leaves the room. | |
| 12:24:49 | sveiss enters the room. | |
| 12:31:43 | heissund1ettig enters the room. | |
| 12:33:43 | qrush enters the room. | |
| 12:45:42 | heissundfettig leaves the room. | |
| 12:48:35 | aotearoa leaves the room. | |
| 12:51:11 | heissund1ettig leaves the room. | |
| 12:54:24 | heissundfettig enters the room. | |
| 13:06:06 | qrush leaves the room. | |
| 13:09:22 | naeu enters the room. | |
| 13:18:25 | BlackEdder enters the room. | |
| 13:18:51 | qrush enters the room. | |
| 13:19:25 | BlackEdder enters the room. | |
| 13:20:40 | qrush leaves the room. | |
| 13:21:18 | aotearoa enters the room. | |
| 13:21:59 | heissund1ettig enters the room. | |
| 13:27:05 | jazen leaves the room. | |
| 13:29:03 | jazen enters the room. | |
| 13:35:45 | heissundfettig leaves the room. | |
| 13:48:44 | heissundfettig enters the room. | |
| 13:53:18 | wvdschel leaves the room. | |
| 13:54:38 | benburkert enters the room. | |
| 13:55:40 | fbuilesv enters the room. | |
| 13:57:23 | benburkert leaves the room. | |
| 14:01:47 | lchin leaves the room. | |
| 14:03:05 | heissund1ettig leaves the room. | |
| 14:03:48 | wvdschel enters the room. | |
| 14:12:23 | heissund1ettig enters the room. | |
| 14:13:21 | shayarnett enters the room. | |
| 14:18:07 | binary42 leaves the room. | |
| 14:26:30 | heissundfettig leaves the room. | |
| 14:27:02 | aotearoa leaves the room. | |
| 14:27:04 | yasuhito enters the room. | |
| 14:34:18 | AndrewO enters the room. | |
| 14:35:03 | heissundfettig enters the room. | |
| 14:35:45 | hemulen enters the room. | |
| 14:43:36 | moofbong enters the room. | |
| 14:49:21 | heissund1ettig leaves the room. | |
| 14:51:15 | wyhaines enters the room. | |
| 14:58:12 | yasuhito leaves the room. | |
| 14:58:30 | binary42 enters the room. | |
| 14:58:47 | gnufied enters the room. | |
| 14:59:21 | hemulen leaves the room. | |
| 14:59:35 | heissund1ettig enters the room. | |
| 15:01:16 | filmprog enters the room. | |
| 15:06:16 | hemulen enters the room. | |
| 15:06:28 | benburkert enters the room. | |
| 15:06:38 | yugui leaves the room. | |
| 15:12:06 | heissundfettig leaves the room. | |
| 15:19:34 | wmoxam leaves the room. | |
| 15:24:19 | twbray enters the room. | |
| 15:26:10 | wmoxam enters the room. | |
| 15:26:15 | wmoxam leaves the room. | |
| 15:26:18 | heissundfettig enters the room. | |
| 15:26:34 | fbuilesv leaves the room. | |
| 15:28:28 | wmoxam enters the room. | |
| 15:30:50 | benburkert leaves the room. | |
| 15:32:48 | benburkert enters the room. | |
| 15:34:31 | twbray leaves the room. | |
| 15:38:38 | heycarsten enters the room. | |
| 15:40:40 | heissund1ettig leaves the room. | |
| 15:50:57 | heissund1ettig enters the room. | |
| 15:51:00 | antares leaves the room. | |
| 15:57:58 | gnufied leaves the room. | |
| 15:58:15 | gnufied enters the room. | |
| 16:03:33 | djwhitt | just for humor: http://www.ohloh.net/projects/rubinius/contributors/16361677967561 |
| 16:03:44 | djwhitt | apparently I'm a shell scripting god |
| 16:05:05 | heissundfettig leaves the room. | |
| 16:06:04 | djwhitt | heh, I figured it out. I regenerated the onig autoconfig stuff once |
| 16:06:25 | sveiss leaves the room. | |
| 16:07:22 | gnufied | offers some "shells" to dear god djwhitt |
| 16:07:50 | djwhitt | hehe |
| 16:10:43 | gnufied | just between the gods, i am the ruby code, okay. http://www.ohloh.net/projects/rubinius/contributors/16359530448899 |
| 16:10:57 | gnufied | ;) |
| 16:11:39 | jgre_ leaves the room. | |
| 16:13:38 | heissundfettig enters the room. | |
| 16:18:23 | benburkert leaves the room. | |
| 16:26:10 | jgre_ enters the room. | |
| 16:26:26 | heissund1ettig leaves the room. | |
| 16:32:52 | sveiss enters the room. | |
| 16:36:49 | yroc enters the room. | |
| 16:43:23 | heissund1ettig enters the room. | |
| 16:45:27 | benburkert enters the room. | |
| 16:45:43 | michalw leaves the room. | |
| 16:45:59 | michalw enters the room. | |
| 16:51:43 | twbray enters the room. | |
| 16:54:53 | twbray_ enters the room. | |
| 16:57:22 | heissundfettig leaves the room. | |
| 16:59:37 | binary42 leaves the room. | |
| 17:00:47 | brapse enters the room. | |
| 17:03:31 | twbray leaves the room. | |
| 17:06:43 | eventualbuddha enters the room. | |
| 17:08:05 | heissundfettig enters the room. | |
| 17:16:04 | foysavas enters the room. | |
| 17:17:05 | hemulen leaves the room. | |
| 17:17:16 | atduskgreg enters the room. | |
| 17:19:31 | dfg59 enters the room. | |
| 17:21:35 | lopex enters the room. | |
| 17:21:46 | heissund1ettig leaves the room. | |
| 17:22:19 | robin_dewd enters the room. | |
| 17:22:48 | heissundfettig leaves the room. | |
| 17:24:33 | jgre_ leaves the room. | |
| 17:24:53 | jgre_ enters the room. | |
| 17:26:38 | eventualbuddha leaves the room. | |
| 17:30:33 | hemulen enters the room. | |
| 17:31:21 | eventualbuddha enters the room. | |
| 17:43:38 | thehcdreamer leaves the room. | |
| 17:44:43 | brapse leaves the room. | |
| 17:45:26 | eventualbuddha leaves the room. | |
| 17:46:04 | binary42 enters the room. | |
| 17:48:18 | headius enters the room. | |
| 17:50:29 | nathansobo leaves the room. | |
| 17:50:42 | lal00 enters the room. | |
| 17:53:36 | headius | evan: how are you doing const caching right now? |
| 17:53:38 | smparkes enters the room. | |
| 17:53:44 | evan | i'm not |
| 17:53:47 | headius | we still don't have any const cache, thinking about adding one |
| 17:53:49 | headius | ahh ok |
| 17:53:57 | headius | looks like yarv does, I'll have to poke around a bit more |
| 17:54:00 | evan | I coded up an experiment a long time ago |
| 17:54:03 | headius | global serial-number based |
| 17:54:07 | evan | that looked similar to yarvs |
| 17:54:14 | evan | it stuck constants in an inline cache |
| 17:54:22 | evan | but it didn't support clearing the caches |
| 17:54:25 | evan | so I took it out |
| 17:54:33 | headius | yeah |
| 17:55:01 | headius | that'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:22 | evan | the global serial number seems like it might be ok, but I don't know. |
| 17:55:29 | evan | either it will settle and work fine |
| 17:55:37 | evan | or you'll just end up thrashing on it constantly |
| 17:56:05 | headius | thrashing on an int wouldn't be particularly painful compared to the const assignment overhead |
| 17:56:14 | evan | true |
| 17:56:16 | headius | no worse than having no cache, at the very least |
| 17:56:29 | evan | could make it more fine grained probably |
| 17:56:36 | evan | per constant serial numbers |
| 17:56:53 | headius | yeah, we started looking at that a bit |
| 17:56:57 | evan | by having each constant table store <serial, value> instead of just value |
| 17:56:58 | headius | space/time tradeoff |
| 17:57:06 | evan | yeah |
| 17:57:16 | evan | i think they only way to find out how well it works is to implement it |
| 17:57:21 | headius | yes |
| 17:58:31 | octopod leaves the room. | |
| 18:00:26 | chad_ enters the room. | |
| 18:02:13 | ijcd enters the room. | |
| 18:02:41 | ijcd leaves the room. | |
| 18:03:14 | ijcd enters the room. | |
| 18:06:49 | benny leaves the room. | |
| 18:08:41 | Yurik enters the room. | |
| 18:11:26 | wvdschel leaves the room. | |
| 18:14:04 | atduskgr_ enters the room. | |
| 18:18:45 | twbray_ leaves the room. | |
| 18:21:06 | naeu leaves the room. | |
| 18:22:08 | benburkert leaves the room. | |
| 18:22:28 | benburkert enters the room. | |
| 18:22:35 | weepy enters the room. | |
| 18:22:44 | weepy | elo everyone |
| 18:23:13 | benburkert_ enters the room. | |
| 18:24:13 | drbrain | hi |
| 18:24:13 | naeu enters the room. | |
| 18:24:19 | brapse enters the room. | |
| 18:26:08 | weepy | what's going on in the world of rubinius ? the project has gone very quiet from a blog postings point of view ,,,,, |
| 18:26:38 | nexcastellan | I assure you, things are still moving along. |
| 18:26:55 | weepy | nexcastellan: thats very good to hear |
| 18:27:02 | weepy | i thought as much - but wasn't sure |
| 18:27:04 | nexcastellan | We can now load many Ruby gems with C extensions. Folks are hard at work porting the VM to C++. |
| 18:27:11 | brixen | weepy: unfortunately, none of us are big bloggers :/ |
| 18:27:17 | weepy | heh |
| 18:27:19 | weepy | indeed |
| 18:27:22 | nexcastellan | There are always regular fixes to make Rubinius more compatible with MRI. |
| 18:27:38 | nexcastellan | Most discussion takes place here, though, which means visibility to the outside world is a little lacking. |
| 18:27:41 | weepy | i imagine the VM -> C++ is a big job |
| 18:27:50 | weepy | why C++ ? |
| 18:28:20 | nexcastellan | You'd have to talk to Evan about that. He's using a new fancy compiler that results in a substantial speedup. |
| 18:28:26 | brixen | various reasons, one big one is the organization of the code is much better |
| 18:28:29 | weepy | the LLVM thingy |
| 18:28:34 | brixen | yeah, llvm too |
| 18:28:42 | weepy | ah right gotcha |
| 18:28:46 | brixen | the primitives are now regular methods on a c++ class |
| 18:28:46 | nexcastellan | llvm, yes. Worth looking at llvm even if you don't care about Rubinius. :) |
| 18:29:06 | weepy | i've heard many great things about it :D |
| 18:29:07 | brixen | the built-in classes that shadow the Ruby classes are a big win |
| 18:29:25 | weepy | is the mod_rubinius project still going ahead ? |
| 18:29:35 | brixen | yep, 0.5 should release very soon |
| 18:29:42 | weepy | seemed it was Passengeresque? |
| 18:29:53 | nexcastellan | And 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:57 | atduskgreg leaves the room. | |
| 18:30:30 | weepy | yes those specs are fantastic for Ruby |
| 18:30:43 | brixen | weepy: I'm pretty fuzzy on the mod_rubinius arch, but rue can answer your questions when he's around |
| 18:30:43 | nexcastellan | Fantastic for everyone concerned. |
| 18:31:00 | atduskgr_ leaves the room. | |
| 18:31:07 | nexcastellan | Weepy, what do you work on in the Ruby world, if anything? |
| 18:31:10 | brixen | weepy: ohh, and the c++ vm has tests! :) |
| 18:31:18 | weepy | heh |
| 18:31:28 | weepy | I write Rails stuff mostly |
| 18:31:35 | weepy | dipping into Merb |
| 18:32:17 | nexcastellan | Good for you! Rubinius isn't in a state yet that will be a drop-in replacement for you, but hopefully one day! |
| 18:32:25 | weepy | I've been working on a new Rails/Merb based project that's a user generated Gaming framework |
| 18:32:52 | weepy | turn based (so Scrabble. Chess, Diplomacey etc) |
| 18:33:12 | nexcastellan | Sort of like itsyourturn? (not that they are written in Ruby, of course) |
| 18:33:19 | weepy | um yeah |
| 18:33:21 | weepy | a bit like that |
| 18:33:25 | weepy | but ++++ |
| 18:33:27 | weepy | better |
| 18:33:42 | nexcastellan | Good luck! Should be an interesting project. |
| 18:33:44 | weepy | did you see 64squar.es ? |
| 18:33:53 | weepy | that's my Chess site |
| 18:34:21 | weepy | the 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:26 | nexcastellan | Looks quite slick. :) |
| 18:36:30 | pauldix leaves the room. | |
| 18:37:15 | weepy | thanks - i'll let you know when it (yumoov.com) is ready |
| 18:37:17 | weepy | if you are interested |
| 18:38:28 | mkrauskopf enters the room. | |
| 18:38:48 | RyanTM | Is it just me or is CGI::Cookie::parse TERRIBLY broken? http://gist.github.com/1824 |
| 18:39:26 | RyanTM | in both cases |
| 18:41:05 | RyanTM | I guess this is more Ruby-lang related than rubinius related.. |
| 18:42:50 | brixen | RyanTM: sorry, the gist paste isn't loading for me |
| 18:43:00 | RyanTM | brixen: okay let me use pastie |
| 18:44:14 | RyanTM | the output: http://pastie.org/239465 the code: http://pastie.org/239466 |
| 18:44:23 | benburkert leaves the room. | |
| 18:44:46 | brixen | eeks |
| 18:44:59 | brixen | do we have any specs for this? |
| 18:45:13 | brixen | and what version of ruby are you using? |
| 18:45:45 | gnufied leaves the room. | |
| 18:45:59 | smparkes leaves the room. | |
| 18:46:05 | brixen | btw, 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:35 | drbrain | if it's rails cookie parsing, it's not our problem |
| 18:46:37 | RyanTM | ruby 1.8.6 (2007-09-24 patchlevel 111) [i486-linux] |
| 18:46:47 | drbrain | brixen: remember, apple ruby is -Os and --enable-pthread |
| 18:46:58 | headius | brixen: told ya so |
| 18:46:58 | RyanTM | Well the rails cookie parsing does a better job than Ruby's |
| 18:47:13 | RyanTM | but it's still not right, I think. |
| 18:47:16 | headius | drbrain: --enable-pthread didn't appear to have any effect on my machine, and macports set it too |
| 18:47:28 | drbrain | headius: yeah |
| 18:49:00 | robin_dewd leaves the room. | |
| 18:49:23 | RyanTM | So 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:49 | drbrain | is that a valid date for a Cookie? |
| 18:50:19 | RyanTM | drbrain: good question. I'm trying to find a standard for Cookies |
| 18:50:25 | drbrain | ah, yes it is |
| 18:50:44 | drbrain | http://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:00 | RyanTM | wait is it possible that CGI::Cookie::parse is only supposed to parse the Cookie header and not the Set-Cookie header? |
| 18:52:15 | drbrain | possibly |
| 18:53:00 | robin_dewd enters the room. | |
| 18:54:36 | blakewatters enters the room. | |
| 19:00:50 | dbussink | headius: where you able to output a gdb backtrace for the fixnum overflow problem? |
| 19:02:12 | twbray enters the room. | |
| 19:02:36 | smparkes enters the room. | |
| 19:03:46 | headius | no, moved on to other things |
| 19:04:11 | twbray leaves the room. | |
| 19:05:11 | mass | waves |
| 19:09:10 | twbray enters the room. | |
| 19:11:11 | twbray_ enters the room. | |
| 19:12:37 | mass | thats an interesting hostname |
| 19:15:04 | drbrain | it's a freenode mask or ghost or something |
| 19:19:11 | pauldix enters the room. | |
| 19:21:03 | mkrauskopf leaves the room. | |
| 19:21:26 | twbray_ leaves the room. | |
| 19:23:22 | BlackEdder enters the room. | |
| 19:32:47 | twbray_ enters the room. | |
| 19:35:08 | williamsmith enters the room. | |
| 19:36:31 | twbray leaves the room. | |
| 19:39:42 | mkrauskopf enters the room. | |
| 19:40:16 | yroc leaves the room. | |
| 19:42:21 | brapse_ enters the room. | |
| 19:47:53 | brapse leaves the room. | |
| 19:49:23 | michalw leaves the room. | |
| 19:49:38 | michalw enters the room. | |
| 19:51:08 | GemBob enters the room. | |
| 19:57:29 | GemBob leaves the room. | |
| 19:57:42 | GemBob enters the room. | |
| 20:00:53 | naeu leaves the room. | |
| 20:01:22 | Arjen_ enters the room. | |
| 20:02:07 | naeu enters the room. | |
| 20:02:45 | yasuhito enters the room. | |
| 20:03:59 | naeu leaves the room. | |
| 20:04:44 | pauldix leaves the room. | |
| 20:04:57 | twbray_ leaves the room. | |
| 20:04:59 | GemBob leaves the room. | |
| 20:05:14 | GemBob enters the room. | |
| 20:06:39 | GemBob leaves the room. | |
| 20:06:56 | GemBob enters the room. | |
| 20:07:21 | weepy leaves the room. | |
| 20:08:27 | GemBob leaves the room. | |
| 20:09:14 | wvdschel enters the room. | |
| 20:22:49 | imajes enters the room. | |
| 20:27:57 | neelance enters the room. | |
| 20:30:03 | williamsmith leaves the room. | |
| 20:44:25 | nicksieger leaves the room. | |
| 20:45:04 | nicksieger enters the room. | |
| 20:45:56 | benny enters the room. | |
| 20:50:05 | antares enters the room. | |
| 20:57:54 | yroc enters the room. | |
| 20:58:19 | brapse leaves the room. | |
| 21:02:33 | fbuilesv enters the room. | |
| 21:08:34 | heycarsten_ enters the room. | |
| 21:09:16 | heycarsten leaves the room. | |
| 21:09:35 | williamsmith enters the room. | |
| 21:21:43 | pth enters the room. | |
| 21:22:54 | atduskgreg enters the room. | |
| 21:24:06 | shayarnett leaves the room. | |
| 21:30:52 | yasuhito leaves the room. | |
| 21:32:08 | rue leaves the room. | |
| 21:42:38 | drbrain | the cpp tests are soooo sloooow |
| 21:45:18 | drbrain | how do I fix: |
| 21:45:27 | drbrain | error: failed to push some refs to 'git@git.rubini.us:code' |
| 21:46:12 | drbrain | ! [rejected] master -> master (non-fast forward) |
| 21:46:17 | drbrain | specifically |
| 21:46:19 | atduskgr_ enters the room. | |
| 21:46:28 | Defiler | One trick is just to ignore it |
| 21:46:35 | Defiler | (assuming you are intending to push cpp changes) |
| 21:46:44 | atduskgreg leaves the room. | |
| 21:46:46 | drbrain | yes, only on cpp |
| 21:47:11 | Defiler | What 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:26 | Defiler | I'm not sure how to tell git-push how to ignore master though. git can be really stupid |
| 21:47:56 | drbrain | s/can be/is |
| 21:48:07 | drbrain | it says so in the man page |
| 21:48:54 | nexcastellan | Hahaha, it really does. |
| 21:49:14 | drbrain | for the record, I still hate git |
| 21:49:30 | drbrain | source control is not supposed to be hard or confusing |
| 21:49:52 | drbrain | git makes it both |
| 21:49:56 | Defiler | oh apparently you can say "git push origin cpp" ? |
| 21:50:07 | Defiler | reading the git-push man page, near the bottom |
| 21:50:38 | evan | yeah |
| 21:50:39 | evan | you can. |
| 21:50:46 | drbrain | hrm, that did not fix `rake git:push` (which gives me this error) |
| 21:51:07 | evan | what did not fix that? |
| 21:51:12 | evan | editing the rake task? |
| 21:51:41 | drbrain | ! [rejected] master -> master (non-fast forward) |
| 21:51:50 | evan | you didn't answer my question |
| 21:51:53 | drbrain | was not fixed by `git push origin cpp` |
| 21:52:32 | drbrain | did I answer it in the second line? |
| 21:52:46 | evan | so you editting the rake task |
| 21:53:15 | drbrain | no |
| 21:53:20 | drbrain | I ran it by hand |
| 21:53:27 | drbrain | should I edit the rake task? |
| 21:53:35 | evan | no |
| 21:53:49 | evan | of course running it by hand isn't going to change what "rake git:push" outputs |
| 21:54:17 | yasuhito enters the room. | |
| 21:55:06 | drbrain | my interactions with git have shown me that running certain git commands by hand affects something else |
| 21:55:10 | drbrain | mysteriously |
| 21:55:33 | evan | this is not the case |
| 21:55:43 | evan | that message is being output by 'git push' |
| 21:55:54 | evan | i suppose we could change the rake task on the cpp branch to use 'git push origin cpp' |
| 21:56:37 | drbrain | yes, please, since it's causing the rake task to abort |
| 21:56:42 | drbrain | should I make the change? |
| 21:57:05 | qrush enters the room. | |
| 21:59:02 | rue enters the room. | |
| 21:59:49 | rue | Meh, connection issues for a change |
| 22:03:16 | mass | waves |
| 22:05:39 | drbrain | hi |
| 22:08:48 | thehcdreamer enters the room. | |
| 22:11:35 | antares leaves the room. | |
| 22:18:43 | roo enters the room. | |
| 22:19:20 | dfg59 leaves the room. | |
| 22:28:44 | jewel leaves the room. | |
| 22:28:54 | jgre_ leaves the room. | |
| 22:29:13 | eventualbuddha enters the room. | |
| 22:34:45 | headius leaves the room. | |
| 22:34:56 | headius enters the room. | |
| 22:36:13 | mkrauskopf leaves the room. | |
| 22:38:13 | drbrain | I add rake missing_primitives to cpp branch |
| 22:38:17 | drbrain | added |
| 22:39:09 | evan | k |
| 22:39:25 | drbrain | it just prints out a list |
| 22:41:33 | moofbong leaves the room. | |
| 22:45:10 | atduskgreg enters the room. | |
| 22:45:34 | atduskgr_ leaves the room. | |
| 22:48:56 | smparkes leaves the room. | |
| 22:51:48 | drbrain | what is string_template and tuple_template about? |
| 22:51:53 | drbrain | (prims) |
| 22:52:01 | ryanlowe enters the room. | |
| 22:52:16 | Defiler | strings have some wacky shit re: returning subclasses of themselves in subclasses |
| 22:52:31 | Defiler | and it has a 'helper' function to make that easier, at least currently |
| 22:52:31 | drbrain | Hash and Array too |
| 22:52:36 | Defiler | yeah |
| 22:52:41 | Defiler | for similar reasons |
| 22:52:52 | drbrain | what's extra amazing is class MyHash < Hash then p MyHash.new |
| 22:52:58 | drbrain | it's boggling |
| 22:53:15 | Defiler | What's weird about that? |
| 22:53:19 | drbrain | do we really need the terminal_ prims? |
| 22:53:25 | Defiler | unlikely |
| 22:53:27 | drbrain | can't we handle that later with FFI? |
| 22:53:30 | Defiler | Yeah |
| 22:53:52 | Defiler | Maybe evan has a reason why not, but surely we are FFI-tastic enough now to do that |
| 22:54:11 | drbrain | I had a mixed Hash and MyHash, and I couldn't figure out which was which, since they all print with { } |
| 22:55:23 | Defiler | well Hash implements to_s and inspect |
| 22:55:33 | evan | nah |
| 22:55:36 | evan | they can be nuke |
| 22:55:37 | evan | nuked |
| 22:55:38 | Defiler | so I'm not surprised to see a subclass of it work that way |
| 22:55:40 | evan | they're old |
| 22:55:49 | evan | before we had a readline extension working |
| 22:56:46 | drbrain | now, the _template ones? |
| 22:56:58 | evan | which? |
| 22:57:10 | drbrain | tuple_template, string_template |
| 22:57:17 | evan | i didn't write those |
| 22:57:26 | evan | someone introduced them while I wasn't looking :) |
| 22:57:38 | Defiler | I think we still need them, until we refactor the kernel to not need them |
| 22:57:40 | evan | tuple_template is dumb |
| 22:57:44 | drbrain | thy look like dup |
| 22:57:47 | drbrain | thy |
| 22:57:51 | drbrain | they |
| 22:57:56 | Defiler | they are all simple, and can probably be done differently |
| 22:58:21 | evan | they were introduce to give the VM the opertunity to properly create certain objects |
| 22:58:33 | evan | in the C++ VM |
| 22:58:34 | evan | that's handled automatically |
| 22:58:36 | Defiler | but they are designed to create new 'bare' class or subclass instances |
| 22:58:51 | Defiler | So yeah, it can be done differently now |
| 22:58:57 | Defiler | but needs kernel changes to make it work |
| 22:59:16 | brixen | string_template is useful, look at it's uses |
| 22:59:23 | evan | yeah |
| 22:59:29 | brixen | if you replace, maintain the same performance in the string benches |
| 23:00:10 | evan | so |
| 23:00:15 | evan | this is something a bit more fundemental |
| 23:00:19 | drbrain | I'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:41 | evan | so the C++ VM, for object in knows about, automatically handles allocate |
| 23:01:04 | evan | ie, even though String.allocate is really Class.allocate |
| 23:01:17 | jazen leaves the room. | |
| 23:01:19 | jazen3 enters the room. | |
| 23:01:27 | mass | man this internet connection sucks, I hope OSCON is better |
| 23:01:28 | evan | when allocate is called, the C++ VM automatically handles it in the proper way |
| 23:01:51 | evan | so the template stuff goes away |
| 23:02:03 | evan | because String.allocate can be used to create an empty string |
| 23:02:23 | evan | thats 'prebaked' |
| 23:02:47 | AndrewO leaves the room. | |
| 23:02:47 | Defiler | So we'll do 'self.class.allocate' in the kernel where we currently have a call to the template |
| 23:02:48 | drbrain | so should I remove them from the list? |
| 23:03:09 | evan | drbrain: leave them for now |
| 23:03:18 | drbrain | ok |
| 23:03:19 | evan | this new allocate mechanism isn't in place yet |
| 23:03:21 | evan | when it is |
| 23:03:24 | evan | we'll nuke the template prims |
| 23:03:31 | brixen | string_template takes a size. does String.allocate? |
| 23:03:41 | evan | no |
| 23:03:42 | brixen | er, size and "template" |
| 23:03:42 | drbrain | then I should remove them from the list |
| 23:03:43 | evan | thats a good point |
| 23:03:54 | drbrain | so nobody works on something we're going to throw away |
| 23:04:01 | brixen | there's no point to allocate 50 strings and concat them in " " * 50 |
| 23:04:06 | brixen | stuff like that |
| 23:04:12 | evan | well, sounds like we're not going to throw them away |
| 23:04:17 | brixen | byte/char operations over an existing string are much faster |
| 23:04:18 | evan | they have specific behaviors that allocate doesn't cover |
| 23:04:20 | drbrain | ok |
| 23:04:22 | evan | so they're staying |
| 23:04:26 | Defiler | this is related to the 'subclasses with different initialize arity' thing |
| 23:04:28 | Defiler | from a while back |
| 23:04:54 | Defiler | Where we can't safely just say self.class.new blah in kernel code |
| 23:05:41 | drbrain | evan: can you document this allocate stuff in builtin_object.cpp? |
| 23:06:02 | heycarsten_ leaves the room. | |
| 23:06:02 | cout leaves the room. | |
| 23:06:02 | rudebwoy leaves the room. | |
| 23:06:02 | zf leaves the room. | |
| 23:06:02 | josb leaves the room. | |
| 23:06:02 | fearoffish leaves the room. | |
| 23:06:02 | flori leaves the room. | |
| 23:06:02 | ko1_away leaves the room. | |
| 23:06:02 | evan | certainly! |
| 23:06:03 | evan | it would be builtin_class.cpp |
| 23:06:03 | drbrain | if that's the appropriate place |
| 23:06:04 | evan | though |
| 23:06:11 | zf enters the room. | |
| 23:06:11 | fearoffish enters the room. | |
| 23:06:11 | flori enters the room. | |
| 23:06:11 | ko1_away enters the room. | |
| 23:06:11 | josb enters the room. | |
| 23:06:11 | rudebwoy enters the room. | |
| 23:06:11 | cout enters the room. | |
| 23:06:11 | heycarsten_ enters the room. | |
| 23:07:45 | drbrain | can str_crypt go? |
| 23:07:52 | drbrain | seem like it should be FFI |
| 23:08:07 | brixen | yeah, should be |
| 23:08:15 | drbrain | same with strftime |
| 23:08:56 | evan | yes and yes. |
| 23:09:00 | evan | a lot of those are pre-FFI |
| 23:09:49 | drbrain | ok, I'll delete a bunch from the list that look FFIable |
| 23:09:58 | evan | k |
| 23:10:09 | evan | be sure to note somewhere that they need to be implemented with FFI though |
| 23:10:14 | evan | ticket or in ffi.rb or something |
| 23:10:45 | wmoxam leaves the room. | |
| 23:13:30 | botanicus leaves the room. | |
| 23:14:59 | heycarsten_ leaves the room. | |
| 23:16:45 | twbray enters the room. | |
| 23:16:56 | cout leaves the room. | |
| 23:18:03 | dfg59 enters the room. | |
| 23:21:40 | atduskgreg leaves the room. | |
| 23:32:21 | binary42 leaves the room. | |
| 23:39:38 | shayarnett enters the room. | |
| 23:40:57 | thehcdreamer leaves the room. | |
| 23:41:14 | wvdschel leaves the room. | |
| 23:41:25 | foysavas leaves the room. | |
| 23:43:46 | wvdschel enters the room. | |
| 23:49:03 | imajes leaves the room. | |
| 23:49:26 | wvdschel leaves the room. | |
| 23:50:57 | Arjen_ leaves the room. | |
| 23:54:08 | hemulen leaves the room. | |
| 23:54:33 | nicksieger leaves the room. |