Show enters and exits. Hide enters and exits.
| 00:01:18 | nitay leaves the room. | |
| 00:03:16 | wmoxam leaves the room. | |
| 00:03:23 | heycarsten leaves the room. | |
| 00:03:23 | binary42 leaves the room. | |
| 00:06:04 | rue leaves the room. | |
| 00:08:47 | pauldix leaves the room. | |
| 00:13:43 | jackdempsey leaves the room. | |
| 00:24:10 | explody leaves the room. | |
| 00:32:08 | benburkert leaves the room. | |
| 00:32:12 | benburkert enters the room. | |
| 00:32:48 | Fullmoon_ enters the room. | |
| 00:36:57 | benburkert leaves the room. | |
| 00:37:02 | jackdempsey enters the room. | |
| 00:37:06 | cremes leaves the room. | |
| 00:38:01 | yasuhito leaves the room. | |
| 00:40:59 | benburkert enters the room. | |
| 00:44:13 | dysinger leaves the room. | |
| 00:46:45 | imajes enters the room. | |
| 00:47:27 | binary42 enters the room. | |
| 00:51:22 | Fullmoon leaves the room. | |
| 00:53:35 | stepheneb leaves the room. | |
| 00:55:59 | lopex enters the room. | |
| 00:58:54 | trythil enters the room. | |
| 01:00:39 | trythil leaves the room. | |
| 01:02:24 | jackdempsey leaves the room. | |
| 01:07:20 | yugui enters the room. | |
| 01:10:03 | imajes leaves the room. | |
| 01:16:52 | viimrles leaves the room. | |
| 01:24:56 | imajes enters the room. | |
| 01:37:10 | imajes leaves the room. | |
| 01:38:27 | hemulen leaves the room. | |
| 01:52:00 | jtoy enters the room. | |
| 01:53:15 | sudoer enters the room. | |
| 01:54:16 | dfg59 leaves the room. | |
| 02:08:19 | lopex leaves the room. | |
| 02:10:27 | jtoy leaves the room. | |
| 02:14:13 | blakewatters leaves the room. | |
| 02:21:24 | jackdempsey enters the room. | |
| 02:24:40 | VVSiz_ enters the room. | |
| 02:31:00 | Fullmoon_ leaves the room. | |
| 02:33:15 | blakewatters enters the room. | |
| 02:34:00 | stepheneb enters the room. | |
| 02:39:17 | ezmobius leaves the room. | |
| 02:41:53 | VVSiz leaves the room. | |
| 02:42:48 | trythil enters the room. | |
| 02:47:18 | ijcd leaves the room. | |
| 03:01:59 | stepheneb leaves the room. | |
| 03:05:29 | benburkert leaves the room. | |
| 03:11:24 | c0sin leaves the room. | |
| 03:14:36 | Taggard enters the room. | |
| 03:15:49 | stepheneb enters the room. | |
| 03:20:18 | wmoxam enters the room. | |
| 03:23:14 | benburkert enters the room. | |
| 03:24:15 | antares_ leaves the room. | |
| 03:28:37 | fbuilesv enters the room. | |
| 03:33:45 | rphillips leaves the room. | |
| 03:38:59 | benburkert leaves the room. | |
| 03:40:48 | benburkert enters the room. | |
| 03:43:45 | lchin enters the room. | |
| 03:44:08 | antares leaves the room. | |
| 03:46:02 | yugui leaves the room. | |
| 03:51:12 | seydar enters the room. | |
| 03:52:30 | seydar | howdy, y'all |
| 03:54:03 | fbuilesv | seydar: http://rubinius.lighthouseapp.com/projects/5089/tickets/541-macosx_deployment_target-misnamed-on-m ac-os-10-4 |
| 03:54:13 | fbuilesv | can't reproduce on 10.4 either :( |
| 03:54:27 | seydar | you dont have the bug? |
| 03:54:29 | seydar | or you do? |
| 03:54:37 | fbuilesv | I don't have it |
| 03:54:41 | seydar | wow |
| 03:54:52 | seydar | 10.4.11? |
| 03:54:57 | seydar | PPC? |
| 03:55:02 | drbrain | do you have the latest xcode? |
| 03:55:03 | fbuilesv | Intel |
| 03:55:43 | seydar | fbuilesv: thats our issue. it apparently *only* happens on Tiger/PPC |
| 03:55:43 | fbuilesv | and I'm using the XCode bundled with the 10.4 CD with I think one upgrade from Software Update |
| 03:55:50 | fbuilesv | ah damn |
| 03:55:51 | seydar | im using GCC |
| 03:56:24 | drbrain | xcode contains gcc |
| 03:56:32 | fbuilesv | ^^ |
| 03:56:50 | seydar | yea, but i *think* i installed a new version of gcc. cant remember though |
| 03:56:55 | seydar | would that be an issue? |
| 03:57:18 | fbuilesv | no idea, is the bug even an issue? I mean, can't you build because of it or something? |
| 03:57:32 | seydar | no, i just set the shell variable |
| 03:57:36 | seydar | and it works like a charm |
| 03:58:01 | fbuilesv | without setting it by hand it fails? |
| 03:58:49 | drbrain | there's somebody here that's more versed in the setting of this env var |
| 03:58:55 | drbrain | Defiler or evan, I think |
| 04:05:39 | seydar | its an issue in config.rake |
| 04:05:46 | seydar | and i'd like to find a way to determine it |
| 04:06:35 | fbuilesv | seydar: the only mentions I found are in libltdl |
| 04:06:49 | fbuilesv | not sure if that might be setting it |
| 04:08:10 | boyscout | 5 commits by Brian Ford |
| 04:08:11 | boyscout | * Updated more CI excludes.; a424ed8 |
| 04:08:12 | boyscout | * Converted shared specs to new RSpec-compatible form.; b0a7ffa |
| 04:08:12 | edwardam leaves the room. | |
| 04:08:13 | boyscout | * Updated CI tags for updated specs.; 2fe0593 |
| 04:08:14 | boyscout | * Updated RubySpec source to b897f30c.; 08e3566 |
| 04:08:15 | boyscout | * Updated MSpec source to 1c3ee1c8.; 946d56e |
| 04:08:32 | edwardam enters the room. | |
| 04:08:32 | brixen | crosses his fingers |
| 04:08:57 | seydar | gratz on the commit |
| 04:09:09 | brixen | the fruits of almost 12 solid horas on those damn specs today |
| 04:11:28 | seydar | beautiful |
| 04:11:51 | seydar | AND you got paid for it |
| 04:18:33 | seydar leaves the room. | |
| 04:22:25 | brixen | hmm, poor rubuildius_ey64 is all alone now |
| 04:23:17 | brixen | drbrain: are bots running that report to ci.rubini.us? |
| 04:23:22 | rubuildius_amd64 enters the room. | |
| 04:24:11 | drbrain | the rubuildius ones are not |
| 04:24:31 | drbrain | evan and zenspider know better what's running where |
| 04:24:45 | drbrain | I only performed a few sanity-check duties :( |
| 04:25:15 | brixen | ah ok |
| 04:26:27 | drbrain | I think there's only one bot running, maybe? |
| 04:28:13 | brixen | the ey64 bot appears to be hung on /cgi/html4fr/element_init_spec.rb |
| 04:28:20 | brixen | looks like amd64 just joined |
| 04:28:36 | brixen | whatever reports to ci.rubini.us doesn't appear to be reporting |
| 04:33:15 | drbrain | or, the cron hasn't run |
| 04:33:39 | brixen | ah yeah, could be |
| 04:36:17 | zenspider leaves the room. | |
| 04:39:32 | seydar enters the room. | |
| 04:53:36 | seydar | RDocing files is as simple as cut & pasting the stuff on ruby-doc.org, right? |
| 05:01:34 | brixen | seydar: should probably use the rdoc in the MRI source files |
| 05:02:04 | seydar | why? |
| 05:02:13 | seydar | not to seem rude... |
| 05:02:36 | rubuildius_ey64 leaves the room. | |
| 05:03:37 | rubuildius_ey64 enters the room. | |
| 05:03:53 | brixen | because it's in rdoc format? |
| 05:04:26 | seydar | hm.... excellent point, young sir |
| 05:04:32 | brixen | heh |
| 05:04:58 | seydar | well.... file.rb will just be oddly doc'd |
| 05:05:09 | seydar | because i did the whole thing, and it was good hard work |
| 05:07:45 | seydar | evan: you were right. south park IS awesome |
| 05:14:31 | rubuildius_ey64 | Brian Ford: a424ed86e; 2585 files, 8511 examples, 28539 expectations, 0 failures, 0 errors |
| 05:15:11 | brixen | running specs really eats memory on 64bit platforms |
| 05:17:31 | seydar | brixen: is it an MSpec issue? |
| 05:18:09 | brixen | not really |
| 05:18:21 | brixen | it's a too many objects issue |
| 05:19:45 | seydar | so the tests themselves are icky? |
| 05:19:55 | seydar | if the tests are sorta smallish (i assume they are) |
| 05:20:10 | seydar | then wouldn't the GC kill the excess objects every 8mb? |
| 05:21:11 | seydar | so if one test doesnt go above 8mb, then it shouldn't go above 8mb |
| 05:21:28 | seydar | someone tell me where im wrong |
| 05:21:36 | rphillips enters the room. | |
| 05:23:40 | brixen | it seems to me (unsupported by evidence yet) that the GC might no be reclaiming some objects |
| 05:24:14 | seydar | oh wait, my claims were based on MRI GC |
| 05:24:28 | seydar | so there is a bug in the Rubinius GC, i take it? |
| 05:25:27 | seydar | i s0 want to get into the GC. its just so... cool |
| 05:27:35 | ijcd enters the room. | |
| 05:27:36 | jicksta enters the room. | |
| 05:27:39 | seydar | brixen: funny.... gc.c is empty |
| 05:30:11 | seydar | evan: whats up with the gc.c being empty? |
| 05:31:33 | seydar | is it being replaced in object_memory.c? |
| 05:31:55 | brixen | seydar: it's an empty vessel for your soul |
| 05:32:01 | brixen | you can pour yourself into rubinius |
| 05:32:15 | seydar | then... i'll fill it with comments |
| 05:32:31 | seydar | and in a month when i return, evan's gonna be like 'wtf' |
| 05:35:15 | stepheneb leaves the room. | |
| 05:38:25 | edwardam_ enters the room. | |
| 05:38:45 | seydar | brixen: can i actually do that? |
| 05:39:17 | edwardam leaves the room. | |
| 05:40:18 | brixen | seydar: do you like detective work? |
| 05:40:24 | seydar | yea! |
| 05:40:42 | brixen | well, something you could work on, use lsof to ensure that the specs close all files they open |
| 05:41:07 | brixen | and ensure that all temp files are created with tmp("some_name") |
| 05:41:31 | brixen | files including sockets |
| 05:41:53 | brixen | sockets closed that is |
| 05:43:22 | seydar | alrighty |
| 05:43:27 | seydar | can't get to work on it now, though |
| 05:43:47 | seydar | so i'll try to sneak in some work tomorrow. else it'll be in *exactly* 1 month |
| 05:44:01 | seydar | so i'm gonna commit this vessel and head out |
| 05:44:17 | brixen | ok |
| 05:44:37 | brixen | why *exactly* 1 month? |
| 05:44:53 | seydar | hiking in alaska :-) |
| 05:45:01 | brixen | ahh cool! |
| 05:45:06 | seydar | yea! im psyched |
| 05:45:23 | brixen | any mountaineering or just hiking? |
| 05:45:37 | seydar | hiking, dont think any mountaineering. there might be |
| 05:45:50 | brixen | cool |
| 05:45:55 | jackdempsey leaves the room. | |
| 05:46:04 | brixen | beautiful country, from the pictures anyway :) |
| 05:46:30 | seydar | i'll take tons of pictures |
| 05:46:40 | brixen | sweet |
| 05:47:25 | boyscout | 1 commit by Ari Brown |
| 05:47:26 | boyscout | * poured my soul into rubinius, according to brixen; 70a7114 |
| 05:47:55 | brixen | heh |
| 05:48:08 | seydar | its part of NOLS, and i'm supposed to come back wildly more mature and have epiphanies. so i need to try not to think about rubinius. |
| 05:48:11 | seydar | alrighty |
| 05:48:14 | seydar | gnight brixen. |
| 05:57:18 | rubuildius_amd64 | Ari Brown: 70a711483; 2585 files, 8511 examples, 28539 expectations, 0 failures, 0 errors |
| 06:03:01 | vintrepid enters the room. | |
| 06:17:01 | loincloth enters the room. | |
| 06:19:24 | benburkert leaves the room. | |
| 06:19:30 | rubuildius_ey64 leaves the room. | |
| 06:20:23 | zenspider enters the room. | |
| 06:20:24 | edwardam leaves the room. | |
| 06:22:23 | rubuildius_ey64 enters the room. | |
| 06:27:17 | wmoxam leaves the room. | |
| 06:28:51 | boyscout | 1 commit by Brian Ford |
| 06:28:52 | boyscout | * Tagged unstable Resolv spec that intermittently hangs on 64bit.; 12312ef |
| 06:33:29 | nicksieger leaves the room. | |
| 06:42:08 | rubuildius_amd64 | Brian Ford: 12312ef2a; 2585 files, 8510 examples, 28537 expectations, 0 failures, 0 errors |
| 06:43:08 | yugui enters the room. | |
| 06:43:20 | rubuildius_ey64 | Brian Ford: 12312ef2a; 2585 files, 8510 examples, 28537 expectations, 0 failures, 0 errors |
| 06:43:21 | rubuildius_ey64 | Ari Brown: 70a711483; 2585 files, 8511 examples, 28539 expectations, 0 failures, 0 errors |
| 06:49:43 | atmos enters the room. | |
| 06:51:15 | yugui leaves the room. | |
| 06:57:40 | thehcdreamer leaves the room. | |
| 07:03:56 | rue enters the room. | |
| 07:12:35 | roo enters the room. | |
| 07:13:15 | trythil leaves the room. | |
| 07:17:59 | mkrauskopf enters the room. | |
| 07:28:30 | rue leaves the room. | |
| 07:37:05 | krsh enters the room. | |
| 07:38:33 | rue | Morning |
| 07:44:02 | vintrepid leaves the room. | |
| 07:53:36 | benny enters the room. | |
| 07:55:21 | brixen | morning rue |
| 07:55:30 | joachimm enters the room. | |
| 07:55:35 | rue | Evening |
| 07:58:22 | ijcd_ enters the room. | |
| 08:04:14 | ijcd_ leaves the room. | |
| 08:04:14 | ijcd_ enters the room. | |
| 08:04:14 | rue | Getting on the boat, so I will probably be working offline at times until I get back to land |
| 08:08:20 | ijcd_ leaves the room. | |
| 08:08:39 | ijcd_ enters the room. | |
| 08:10:11 | yugui enters the room. | |
| 08:12:09 | mkrauskopf leaves the room. | |
| 08:12:15 | wvdschel enters the room. | |
| 08:13:33 | ijcd_ leaves the room. | |
| 08:14:06 | ijcd_ enters the room. | |
| 08:17:46 | ijcd_ leaves the room. | |
| 08:17:48 | thehcdreamer enters the room. | |
| 08:22:31 | ijcd leaves the room. | |
| 08:31:27 | gnufied | offtopic warning: |
| 08:31:56 | gnufied | digit{3} @add_protocol_code space '<'; isn't capturing three digits in ragel, why? |
| 08:32:22 | gnufied | where as digit+ @add_protocol_code space '<'; does capture it |
| 08:34:30 | joachimm leaves the room. | |
| 08:36:49 | roo enters the room. | |
| 08:37:46 | loincloth leaves the room. | |
| 08:39:30 | joachimm enters the room. | |
| 08:41:23 | blakewatters leaves the room. | |
| 08:42:17 | rue leaves the room. | |
| 08:44:34 | BlackEdder enters the room. | |
| 08:46:25 | BlackEdder enters the room. | |
| 08:54:58 | Yurik leaves the room. | |
| 09:10:38 | joachimm leaves the room. | |
| 09:12:16 | octopod enters the room. | |
| 09:21:14 | roo leaves the room. | |
| 09:34:56 | yugui leaves the room. | |
| 10:04:12 | enebo leaves the room. | |
| 10:14:33 | headius | hey there, question of process, not strictly rbx related |
| 10:15:13 | headius | if someone commits a change that causes a regression, do you generally git revert it? I've got a couple regressions on JRuby, and I'm trying to decide if revert is clean/kosher as part of the process |
| 10:17:04 | headius | hmmm, dead calm |
| 10:21:19 | wmoxam enters the room. | |
| 10:32:07 | michalw enters the room. | |
| 10:39:48 | headius leaves the room. | |
| 10:41:07 | Maledictus enters the room. | |
| 11:10:44 | gnufied leaves the room. | |
| 11:13:45 | chris2 enters the room. | |
| 11:16:18 | sudoer leaves the room. | |
| 11:17:59 | michalw leaves the room. | |
| 11:18:34 | mkrauskopf enters the room. | |
| 11:20:16 | jero5 | headius: we have a strong pre-commit review process through lighthouse, so we rarely have regressions |
| 11:20:33 | michalw enters the room. | |
| 11:28:58 | imajes_office leaves the room. | |
| 11:32:04 | imajes enters the room. | |
| 11:42:18 | Fullmoon enters the room. | |
| 11:48:27 | imajes_ enters the room. | |
| 11:48:57 | krsh leaves the room. | |
| 11:52:12 | imajes_ leaves the room. | |
| 12:01:23 | pauldix enters the room. | |
| 12:02:09 | Maledictus leaves the room. | |
| 12:38:38 | Fullmoon leaves the room. | |
| 12:45:20 | yroc enters the room. | |
| 13:05:13 | tim_w enters the room. | |
| 13:16:52 | foysavas leaves the room. | |
| 13:21:30 | Fullmoon enters the room. | |
| 13:36:10 | stepheneb enters the room. | |
| 13:40:18 | yroc leaves the room. | |
| 13:44:47 | cremes enters the room. | |
| 13:46:51 | brainopia enters the room. | |
| 13:47:21 | foysavas enters the room. | |
| 13:48:39 | stepheneb leaves the room. | |
| 13:49:50 | yasuhito enters the room. | |
| 13:53:22 | benburkert enters the room. | |
| 13:57:26 | benburkert leaves the room. | |
| 14:05:33 | yasuhito leaves the room. | |
| 14:11:23 | jtoy enters the room. | |
| 14:11:30 | jackdempsey enters the room. | |
| 14:20:25 | jackdempsey leaves the room. | |
| 14:24:04 | hemulen enters the room. | |
| 14:27:39 | seydar enters the room. | |
| 14:28:09 | brainopia leaves the room. | |
| 14:31:03 | wmoxam leaves the room. | |
| 14:36:38 | binary42 leaves the room. | |
| 14:37:12 | Yurik enters the room. | |
| 14:40:33 | gnufied enters the room. | |
| 14:59:28 | moofbong enters the room. | |
| 15:06:22 | yugui enters the room. | |
| 15:08:39 | binary42 enters the room. | |
| 15:14:44 | jackdempsey enters the room. | |
| 15:16:30 | jtoy leaves the room. | |
| 15:16:37 | wmoxam enters the room. | |
| 15:20:03 | obvio171 enters the room. | |
| 15:20:10 | obvio171 leaves the room. | |
| 15:22:02 | jackdempsey leaves the room. | |
| 15:29:01 | michalw leaves the room. | |
| 15:29:11 | michalw enters the room. | |
| 15:30:08 | krsh enters the room. | |
| 15:30:10 | anonuser leaves the room. | |
| 15:33:11 | jtoy enters the room. | |
| 15:37:57 | heycarsten enters the room. | |
| 15:50:47 | madsimian enters the room. | |
| 15:51:54 | madsimian leaves the room. | |
| 15:55:51 | lchin leaves the room. | |
| 16:00:14 | wvdschel leaves the room. | |
| 16:16:12 | jtoy leaves the room. | |
| 16:18:17 | lopex enters the room. | |
| 16:26:31 | Fullmoon leaves the room. | |
| 16:38:40 | gnufied leaves the room. | |
| 16:38:59 | seydar enters the room. | |
| 16:39:40 | jackdempsey enters the room. | |
| 16:41:43 | brixen | hmm, the calm before the storm? |
| 16:42:33 | Defiler | listens for the breeze |
| 16:42:38 | brixen | heh |
| 16:42:49 | Defiler | becalmed! yarr! |
| 16:43:29 | brixen | hah, I shall stir the cauldron and summon the daemons |
| 16:46:12 | seydar | brixen, you are just full of deep, often fantasy-related, pearls of wisdom |
| 16:46:22 | mkrauskopf leaves the room. | |
| 16:46:33 | TheProkrammer | If MacBeth shows up, we're screwed. |
| 16:46:45 | Defiler | luckily the woods haven't moved |
| 16:47:08 | seydar | plus, we consider C-sections to be actual births now |
| 16:47:23 | seydar | oh wait, that would make macbeth invincible |
| 16:47:29 | TheProkrammer | right. |
| 16:47:30 | Defiler | Muhahaha |
| 16:47:44 | Defiler | It would have to be a chick fighting him then |
| 16:47:45 | TheProkrammer | Though, that "Man" that had the baby girl, may nullify that. |
| 16:48:56 | brixen | fresh fun with compiler bugs: http://rubinius.lighthouseapp.com/projects/5089-rubinius/tickets/662 |
| 16:49:55 | dfg59 enters the room. | |
| 16:50:31 | seydar | brixen: MRI doesn't evaluate the body either |
| 16:50:39 | seydar | oh wait, exception. right. |
| 16:50:47 | brixen | seydar: you might enjoy these pearls of wisdom more than mine own: http://www.brainyquote.com/quotes/authors/e/edsger_dijkstra.html |
| 16:51:06 | seydar | brixen: dijkstra's a cool dude. but wow, these are awesome |
| 16:51:15 | brixen | seydar: but you might want to shield your eyes when looking at the words of a god among mere mortals |
| 16:51:46 | seydar | you forget the fact that he's dutch |
| 16:51:52 | brixen | oh? |
| 16:52:14 | brixen | a dutch god among heathens? |
| 16:52:26 | brixen | confuses his cultures and religions endlessly |
| 16:52:46 | seydar | correct |
| 16:53:01 | seydar | you excited for D&D 4e? |
| 16:53:26 | brixen | heh, no idea what that is |
| 16:53:43 | brixen | love this: "Object-oriented programming is an exceptionally bad idea which could only have originated in California." |
| 16:53:44 | nexcastellan | I already reported but 662 as 660. :) |
| 16:53:52 | brixen | nexcastellan: oh good! |
| 16:54:06 | brixen | flagellates himself |
| 16:54:29 | seydar | brixen: dungeons and dragons? have you never been a geek? |
| 16:54:34 | brixen | nexcastellan: I shall review the stellar work of comrades in less sleep-induced haze in the future |
| 16:54:40 | nexcastellan | :) Hey, normally I just bring it up here, I'm only just starting to get good at also reporting on lighthouse. |
| 16:54:47 | brixen | nexcastellan: yep, thanks |
| 16:54:58 | brixen | seydar: I only pretend to be a geek online |
| 16:55:11 | seydar | you should fix that |
| 16:55:26 | brixen | nexcastellan: I do like my formatting better though :D |
| 16:55:41 | nexcastellan | Hahaha. |
| 16:56:02 | brixen | nexcastellan: but I fixed up yours, so it's all good now :) |
| 16:56:54 | seydar | can i guess the issue at heart here? |
| 16:57:28 | brixen | seydar: speak to me in code |
| 16:57:35 | seydar | # the () should make it obvious that there is an expression there |
| 16:57:59 | seydar | # so i think it's that an empty set of parenthesis are not considered an expression |
| 16:58:01 | hemulen leaves the room. | |
| 16:58:10 | brixen | heh |
| 16:58:39 | Defiler | that is funny as hell |
| 16:58:43 | nexcastellan | By the way, I have an "amusing" issue I'm trying to track down in Rubinius. It seems that Rubinius sometimes gets confused with a Thread class inside a module unrelated to the main Thread class. I'm seeing that sometimes a Thread.current[] call is trying to reference the wrong class. I can't yet isolate the problem to a nice test case. |
| 16:58:52 | BlackEdder enters the room. | |
| 16:59:04 | Defiler | Yeah, I guarantee we have bugs like that currently |
| 16:59:16 | Defiler | Any reproducing code would be greatly appreciated |
| 16:59:26 | Defiler | hot, sweaty pics of code |
| 16:59:40 | seydar | whoa there Defiler. keep it pg |
| 16:59:42 | nexcastellan | I wasn't able to get reproducing code yesterday though I certainly tried. Will try today as well. |
| 17:00:04 | nexcastellan | Oh great, Defiler you just made me spill coffee on myself. :) |
| 17:01:38 | seydar | where in the compiler does it describe what an expression *is*? I'm looking at nodes.rb, but its not very helpful |
| 17:04:12 | Defiler | the compiler only implements nodes for things the parser hands it |
| 17:04:19 | Defiler | so that is where the definition of 'expression' lies |
| 17:04:32 | Defiler | where none bethink to tread |
| 17:05:22 | brixen | seydar: you can compare e.g. echo "if (2) then 1 end" | bin/rbx describe with echo "if () then 1 end" | bin/rbx describe |
| 17:05:26 | seydar | i shall do it, sir! |
| 17:05:27 | brixen | and look at the sexp |
| 17:05:44 | seydar | although, i do not know the way... |
| 17:07:03 | jackdempsey leaves the room. | |
| 17:07:36 | TheProkrammer | You have my keyboard! |
| 17:07:39 | seydar | what does describe do again? |
| 17:08:29 | brixen | seydar: it lists the sexp and the bytecode |
| 17:08:42 | seydar | gotcha |
| 17:08:51 | seydar | yea, so the bug lies within the sexp parser |
| 17:08:52 | brixen | seydar: did you type the two commands in your shell? |
| 17:08:57 | seydar | brixen: yea |
| 17:09:00 | brixen | ok |
| 17:09:58 | seydar | run this: echo "if \n then 1 end" | bin/rbx describe |
| 17:10:59 | cremes | nexcastellan: fyi, i believe the dramatis gem exposes some threading bugs in rubinius where the thread @owner is missing; i saw that a few days ago when playing around |
| 17:11:19 | cremes | it's probably possible to build a reproducible case from that code |
| 17:12:34 | nexcastellan | Hhhhmm. thread.rb seemed to have some rather dubious code that would certainly lead to problems. |
| 17:12:46 | nexcastellan | What is the dramatis gem for? |
| 17:13:36 | nexcastellan | The Queue and SizedQueue are more likely to work now, but mostly on the basis that they had almost 0% chance of working before. |
| 17:13:45 | seydar | nexcastellan: actor implementation |
| 17:14:26 | seydar | brixen: did you run the snippet? |
| 17:15:07 | seydar | false alarm |
| 17:15:19 | stepheneb enters the room. | |
| 17:15:19 | seydar | it was reading the \n as though it was actually \ and a n |
| 17:15:24 | Maledictus enters the room. | |
| 17:23:32 | seydar | hmm... so we're looking for syd_add_to_parse_tree in the code |
| 17:23:54 | seydar | in grammar.y, its defined as a function thats supposed to exist yet has no body. |
| 17:25:38 | eventualbuddha enters the room. | |
| 17:25:46 | octopod leaves the room. | |
| 17:26:05 | headius enters the room. | |
| 17:27:15 | seydar | this is killing my brain |
| 17:29:21 | headius | death to brain |
| 17:30:14 | seydar | well said. grammar_runtime.c is the culprit |
| 17:30:26 | headius | wazzat |
| 17:30:34 | headius | parser-related I presume |
| 17:30:41 | seydar | but i have no skill points in decipher (heiroglyphics) |
| 17:31:02 | seydar | headius: yea. run: if () then 2 end |
| 17:31:16 | seydar | http://rubinius.lighthouseapp.com/projects/5089-rubinius/tickets/662 |
| 17:32:03 | brixen | seydar: sorry have to run to class, but I leave you in capable hands |
| 17:32:18 | seydar | hah! nice one |
| 17:32:19 | headius | () should just be a nil |
| 17:32:25 | seydar | yea |
| 17:32:29 | brixen | headius: btw, your earlier Q, we typically revert unless the fix is easy |
| 17:32:32 | seydar | but it doesn't even parse |
| 17:32:44 | seydar | brixen: ask two good questions for me. |
| 17:33:07 | headius | brixen: cool, thanks...I figured as much since it's just as easy to revert a revert and the twiddle it for modifications |
| 17:33:25 | brixen | seydar: not sure what ya mean. but I did compare the output to parse_tree_show and it seems rbx sexp is missing the [nil] |
| 17:33:37 | headius | seydar: hmm, looks like it parses here |
| 17:33:51 | headius | error I'm seeing comes in the compiler |
| 17:33:52 | brixen | seydar: or perhaps our sexp is just different for that construct |
| 17:34:35 | seydar | so the error is in the compiler, we agree on that? |
| 17:34:40 | brixen | yeah, compiler is not getting what it expects, that's the visible error |
| 17:34:57 | brixen | but I'm not saying what the root cause is |
| 17:35:02 | brixen | cus I don't know ;) |
| 17:35:18 | brixen | bbl... |
| 17:35:36 | seydar | later alligator |
| 17:35:52 | seydar | headius: could the problem be that () isn't getting parsed as an expression? |
| 17:36:02 | seydar | or its getting parsed as an improper expression? |
| 17:36:27 | seydar | its obviously getting parsed as something, because it results in the 'then' part as getting its good |
| 17:36:30 | seydar | goods* |
| 17:36:41 | headius | seydar: ultimately I doubt it's the parser since you guys just use ruby's parser |
| 17:36:52 | headius | but PT is probably outputting wrongness |
| 17:37:00 | headius | check PT under regular ruby and see what you get from it |
| 17:37:01 | seydar | PT? |
| 17:37:04 | headius | parsertree |
| 17:37:05 | headius | -r |
| 17:37:35 | NoKarma enters the room. | |
| 17:38:05 | seydar | kk |
| 17:38:15 | seydar | i *thought* that's what i was looking at |
| 17:38:23 | seydar | but clearly im not |
| 17:38:39 | seydar | following File::to_sexp, i got here |
| 17:39:19 | mass | irony: httpd.apache.org is down |
| 17:39:40 | Defiler | at last! |
| 17:39:40 | hemulen enters the room. | |
| 17:40:11 | seydar | headius: syd_add_to_parse_tree has comments that talk about sexp... so i think im in the right spot |
| 17:40:13 | Defiler | headius: We generally use the 'real deal' "git revert" command, yes |
| 17:40:15 | edwardam enters the room. | |
| 17:40:45 | headius | Defiler: danke |
| 17:41:26 | Defiler | whee a time capsule arrived |
| 17:41:28 | Defiler | should be fun |
| 17:42:21 | seydar | ok. line 248 begins the mess of hell (i think) |
| 17:42:22 | mass | hint: sync over a physical cable |
| 17:42:36 | mass | at least the first time |
| 17:42:46 | seydar | throw in some printf's and we should be able to see where this is screwing up |
| 17:42:53 | seydar | unfortunately, i have to leave |
| 17:43:16 | seydar | somebody want to take it over? |
| 17:43:47 | blakewatters enters the room. | |
| 17:44:53 | thehcdreamer leaves the room. | |
| 17:45:08 | eventualbuddha leaves the room. | |
| 17:45:15 | seydar | awesome, thanks for stepping up Defiler. |
| 17:45:21 | seydar leaves the room. | |
| 17:50:47 | tim_w enters the room. | |
| 17:50:52 | BlackEdder leaves the room. | |
| 17:54:06 | tim_w leaves the room. | |
| 17:59:30 | mkrauskopf enters the room. | |
| 18:04:57 | headius | you guys might find this interesting: http://mail.openjdk.java.net/pipermail/porters-dev/2008-July/000160.html |
| 18:05:02 | fbuilesv leaves the room. | |
| 18:05:04 | headius | in a roundabout way |
| 18:16:15 | gnufied enters the room. | |
| 18:17:39 | dysinger enters the room. | |
| 18:17:52 | mass | headius, what is going on with java 7 anyway? It seems to have no formal featureset or schedule |
| 18:18:31 | tim_w enters the room. | |
| 18:18:55 | antares enters the room. | |
| 18:20:47 | krsh leaves the room. | |
| 18:24:15 | ijcd enters the room. | |
| 18:25:46 | headius | mass: oh it's moving along |
| 18:26:01 | headius | I'm almost exclusively interested in the dynamic invocation work, naturally |
| 18:26:18 | headius | java-speed dispatch for ruby |
| 18:27:29 | eventualbuddha enters the room. | |
| 18:28:33 | eventualbuddha leaves the room. | |
| 18:32:54 | benburkert enters the room. | |
| 18:34:48 | mass | headius: the process is open but not well summarized, I got the feeling that jdk7 was a misnomer because a lot of work was going into repackaging and improving 6 |
| 18:35:10 | mass | so its more like jdk8 |
| 18:36:17 | headius | I think largely it's less concrete because of openjdk...there's a lot of challenges adapting this process and that large a code base to a new fully OSS model |
| 18:36:26 | headius | also, rather than having Sun occasionally toss updates and announcements over the wall, most discussion now happens on public lists |
| 18:36:39 | headius | so I think it's just different |
| 18:39:23 | mass | I'm still sorta expecting a JSR on features to come out at least half a year before a sun final binary hits their site |
| 18:39:31 | mass | I just want to start being able to require java 6 :) |
| 18:39:34 | moofbong_ enters the room. | |
| 18:50:11 | pauldix leaves the room. | |
| 18:53:00 | joachimm enters the room. | |
| 18:55:23 | moofbong leaves the room. | |
| 18:57:34 | c0sin enters the room. | |
| 19:00:56 | joachimm leaves the room. | |
| 19:02:40 | ezmobius enters the room. | |
| 19:04:56 | benburkert leaves the room. | |
| 19:07:59 | michalw leaves the room. | |
| 19:09:13 | benburkert enters the room. | |
| 19:19:00 | binary42 leaves the room. | |
| 19:19:43 | headius | mass: heheh...it's probably safe to do that right now, don'tcha think? |
| 19:20:11 | headius | but we still support java 5 too largely for that reason...always need to support at least one major java version back |
| 19:21:37 | stepheneb leaves the room. | |
| 19:22:09 | stepheneb enters the room. | |
| 19:22:47 | stepheneb leaves the room. | |
| 19:23:06 | stepheneb enters the room. | |
| 19:26:15 | fbuilesv enters the room. | |
| 19:28:48 | joachimm enters the room. | |
| 19:29:55 | cremes | headius: if you drop java5, that orphans anyone using OSX on PPC; there is no java6 release for ppc |
| 19:32:52 | headius | no plans to drop java 5 any time soon |
| 19:32:57 | dfg59 | cremes: is there a java6 release for intel macs? |
| 19:33:11 | headius | java 5 and java 6 are nearly identical as far as we're concerned (API-wise) |
| 19:33:33 | cremes | dfg59: yessir, apple released it about 6 weeks ago |
| 19:33:48 | cremes | headius: just an fyi... :) |
| 19:33:54 | headius | only for 64-bit intel macs though |
| 19:33:59 | headius | sucks 2 b me |
| 19:34:19 | dfg59 | cremes: how can i install it? i don't get it automagically through software update do i? |
| 19:34:46 | headius | if you want java 6 on mac but have 32-bit, you can use soylatte |
| 19:35:52 | cremes | dfg59: i don't recall; i *think* it came through via software update; what kind of mac are you on? |
| 19:36:05 | blakewatters leaves the room. | |
| 19:36:37 | dfg59 | cremes: hrmm, I'm on a mbp |
| 19:36:57 | cremes | and what release of osx? |
| 19:37:03 | cremes | you need leopard |
| 19:37:04 | dfg59 | cremes: java -version tells me 1.5.0_13 |
| 19:37:18 | dfg59 | i'm on 10.5.4 |
| 19:37:22 | cremes | okay, let's take this chat private |
| 19:37:44 | headius | yeah, not particularly relevant to #rubinius, at least not until we port it :) |
| 19:38:40 | pauldix enters the room. | |
| 19:42:23 | thehcdreamer enters the room. | |
| 19:46:19 | benburkert leaves the room. | |
| 19:47:45 | chris2 leaves the room. | |
| 19:49:51 | ezmobius leaves the room. | |
| 19:52:55 | pjstadig enters the room. | |
| 19:55:15 | twbray enters the room. | |
| 19:57:52 | rue_XIV | Hola |
| 19:57:55 | moofbong_ leaves the room. | |
| 19:58:48 | Defiler | roo-e the 14th, eh? |
| 19:58:50 | Defiler | that's pretty bad |
| 19:59:33 | rue | Eh, roo and rhubarb were apparently too difficult to associate with me :P |
| 20:01:15 | binary42 enters the room. | |
| 20:01:15 | Defiler | Which SHA1 library/function/universe should the new VM use? |
| 20:02:21 | drbrain | I'd use whichever C implementation is in lib/ext/digest/sha1 |
| 20:03:24 | nathansobo enters the room. | |
| 20:06:40 | Defiler | what about shotgun/lib/sha1.c? |
| 20:08:13 | tarcieri | hmmm, don't suppose evan has been around today... |
| 20:08:18 | tarcieri | had a crazy idea to discuss |
| 20:08:23 | Defiler | He is traveling |
| 20:08:27 | smparkes1 enters the room. | |
| 20:08:27 | tarcieri | aah |
| 20:08:29 | tarcieri | ok |
| 20:09:03 | tarcieri | I'm wondering if it'd be possible to do something sort of like the Erlang code server for managing the environments of multiple VMs (and eventually nodes) |
| 20:09:05 | drbrain | we aren't good enough for your crazy? |
| 20:09:23 | smparkes1 leaves the room. | |
| 20:09:41 | tarcieri | i.e. introspect the current environment and message pass the bytecode for all loaded modules / classes to another VM where a server there would load them back in |
| 20:09:53 | Defiler | You think you are bad ass enough for us not to be able to implement your ideas? ha ha ha the hubris |
| 20:10:03 | tarcieri | heh |
| 20:10:21 | joachimm leaves the room. | |
| 20:11:45 | drbrain | rue probably has half an idea of the possibility of that |
| 20:12:15 | Defiler | It doesn't sound like a challenge, unless the VM needs to keep running while it is dumping. heh |
| 20:12:25 | Defiler | that sounds fickle |
| 20:13:39 | tarcieri | it's really just having something that you can talk to using Actor messages which sticks an interface on what modules / classes or loaded and lets you either get or set the associated bytecode |
| 20:17:48 | moofbong enters the room. | |
| 20:19:05 | twbray leaves the room. | |
| 20:27:21 | ezmobius enters the room. | |
| 20:28:44 | atmos leaves the room. | |
| 20:28:47 | atmos enters the room. | |
| 20:31:27 | nathansobo | hey do you guys know of any good literature for implementing a VM for an actor-based language? i'm looking for the closest thing i can get to the Blue Book for actor based languages |
| 20:31:42 | nathansobo | i know you guys are doing actors in rubinius |
| 20:31:53 | nathansobo | but you're also doing some OO stuff |
| 20:31:55 | Defiler | Man, I can barely think of one book that could have that description |
| 20:31:57 | tarcieri | nathansobo: Actor-based like Scheme, or actor-based like Erlang? |
| 20:31:59 | nathansobo | maybe a stack based VM is ideal for moth |
| 20:32:01 | Defiler | That is pretty cutting-edge business |
| 20:32:04 | nathansobo | like erlang |
| 20:32:18 | nathansobo | i'm toying with building a scripting language |
| 20:32:21 | tarcieri | nathansobo: I don't know of many books on the matter, but there's tons of papers on BEAM / HiPE |
| 20:32:46 | nathansobo | that exposes erlangish semantics but doesn't make my eyes bleed |
| 20:32:48 | Defiler | There's some event-based stuff in one book I read |
| 20:32:48 | tarcieri | nathansobo: If you want to build a scripting language you may as well build it on BEAM / HiPE directly rather than writing your own VM... that's what I'm doing |
| 20:32:50 | nathansobo | would you consider BEAM the state of the art for actor based VMs? |
| 20:32:54 | Defiler | Which was interesting, but not really the same |
| 20:33:02 | dlee enters the room. | |
| 20:33:11 | tarcieri | nathansobo: It's the state of the art for concurrency and distribution |
| 20:33:12 | Defiler | Is there even a second actor-based VM to compare it to? |
| 20:33:12 | nathansobo | i kinda wanna make my own, just for interest's sake |
| 20:33:46 | tarcieri | Defiler: There's nothing else like the Erlang VM to my knowledge |
| 20:33:46 | nathansobo | so BEAM is basically the smalltalk VM of the actor world, to make a rough analogy |
| 20:33:59 | nathansobo | cool. any specific papers you'd suggest? |
| 20:34:02 | tarcieri | yeah, BEAM is the canonical Erlang VM |
| 20:34:19 | nathansobo | and perhpas the canonical actor vm, from what you're telling me |
| 20:34:32 | Defiler | erlang is the canonical actor language |
| 20:34:43 | Defiler | so I guess its canonical vm would also be the canonical actor vm |
| 20:34:43 | tarcieri | lots of people have lots of different ideas about the Actor model |
| 20:34:53 | tarcieri | http://www.erlang.se/publications/publications.shtml |
| 20:34:58 | tarcieri | ^^^ there's plenty of papers available there |
| 20:35:09 | nathansobo | cool. thanks a lot guys! |
| 20:35:20 | nathansobo | i look forward to sharing my thoughts with yall as things develop |
| 20:35:29 | nathansobo | after a taste of erlang i think there's so much more to do with these ideas |
| 20:35:41 | nathansobo | seems to me that the actor model really subsumes OO |
| 20:35:47 | tarcieri | nathansobo: you should check out Reia: http://reia-lang.org/ |
| 20:35:53 | nathansobo | i did a little |
| 20:35:56 | tarcieri | nathansobo: I don't think the two are incompatible |
| 20:36:05 | nathansobo | i just mean it's more general |
| 20:36:28 | nathansobo | i did check out reia a little: is that yours? |
| 20:36:31 | tarcieri | I think Erlang-style concurrency works more like how Alan Kay originally envisioned OO than anything we have presently |
| 20:36:33 | tarcieri | yes |
| 20:36:51 | nathansobo | sweet. we should def talk |
| 20:36:53 | Defiler | lots of things about programming still bug me, despite rubinius being the best thing |
| 20:36:54 | tarcieri | cool |
| 20:37:09 | tarcieri | Rubinius does an awesome job with concurrency |
| 20:37:28 | tarcieri | especially compared to the "stab my eyes out with a fork" implementation in MRI |
| 20:37:39 | tarcieri | rb_thread_schedule() is just silly |
| 20:37:40 | Defiler | Has anyone tried Rubinius out with real / semi-real concurrent code? |
| 20:37:50 | nathansobo | yeah i'm wondering if their actor design is a good example for a language based 100% on actors |
| 20:37:54 | nathansobo | the rubinius one |
| 20:38:20 | Defiler | It would be nice to kick the bugs out as our version number rises |
| 20:38:28 | tarcieri | Defiler: not yet... I'll be converting my Revactor projects over as soon as I can get an "inets" kinda thing going |
| 20:39:13 | tarcieri | Defiler: that is... something which processes incoming network I/O events and converts them to Actor messages |
| 20:39:22 | Defiler | cool |
| 20:39:31 | Defiler | That sounds like a good smoke-test |
| 20:39:43 | tarcieri | yeah |
| 20:39:48 | Defiler | an octopus of concurrent networking |
| 20:39:52 | tarcieri | I have a peer-to-peer media streaming server written using Ruby actors |
| 20:39:58 | tarcieri | so that should be a good acid test :) |
| 20:40:03 | Defiler | rise, kraken! |
| 20:40:17 | headius | tarcieri: are you familiar with the "proactor" model for IO? |
| 20:40:24 | tarcieri | headius: yeah |
| 20:40:31 | Defiler | you're just making up words now |
| 20:40:31 | tarcieri | headius: I wanted to do some proactors in C for Rev |
| 20:40:42 | tarcieri | headius: Scheduler can do proactor sort of stuff |
| 20:40:51 | headius | ok...NIO2 is supposed to provide a full proactor setup |
| 20:41:09 | tarcieri | headius: I think it'd be really nice to add libeio to Rubinius... and have high performance portable async file I/O |
| 20:41:17 | smparkes1 enters the room. | |
| 20:41:26 | headius | I haven't had a chance to look at the API, but it sounds like NIO2 is going to be the bee's knees |
| 20:41:32 | tarcieri | nice |
| 20:41:44 | tarcieri | yeah NIO seemed to get... halfway there :/ |
| 20:41:50 | headius | it was truly halfway |
| 20:42:04 | headius | too many of these potentially great APIs get kneecapped due to lack of resources |
| 20:44:44 | smparkes1 leaves the room. | |
| 20:45:42 | tarcieri | I think all you really need are these little observer objects for IO readiness (reactor) or actual IO (proactor) |
| 20:46:04 | tarcieri | and everything follows from there |
| 20:46:06 | tarcieri | that's what Rev does |
| 20:47:04 | tarcieri | I see people on the EventMachine mailing list like "I want to do thing X in the event loop"... some guy's trying to do raw sockets, which I guess Ruby doesn't support... but if you could wrap that into an IO object, Rev could wait for events |
| 20:49:37 | headius | rev ought to be trivial to build atop NIO then |
| 20:49:43 | headius | so many projects |
| 20:50:01 | tarcieri | indeed |
| 20:50:02 | tarcieri | heh |
| 20:50:09 | nathansobo leaves the room. | |
| 20:55:20 | blakewatters enters the room. | |
| 20:59:06 | rue | tarcieri: A code server would be useful and should be doable |
| 20:59:20 | nathansobo enters the room. | |
| 20:59:24 | tarcieri | rue: excellent |
| 20:59:49 | tarcieri | rue: in the end all I *really* want is a mechanism for cloning the current environment on another VM/node |
| 21:00:31 | antares_ enters the room. | |
| 21:00:34 | seydar enters the room. | |
| 21:01:03 | tarcieri | rue: basically what I'm thinking is when you create a new VM (or eventually a remote node) it starts the code server and an RPC service |
| 21:01:33 | benburkert enters the room. | |
| 21:01:35 | rue | Yeh |
| 21:01:36 | tarcieri | rue: then you're free to load whatever you want into the remote VM, and once you've got the environment set up you can use the RPC service to kick off whatever |
| 21:01:53 | tarcieri | rue: I'm gonna take another stab at a multi-VM mongrel this weekend |
| 21:01:57 | rue | Yep, very handy to have in many cases |
| 21:02:12 | nathansobo | where can i read about nio2 |
| 21:02:22 | nathansobo | google doesn't bring up much |
| 21:03:02 | nathansobo | it's a java api? |
| 21:03:10 | tarcieri | yes |
| 21:03:18 | rue | Cool, I am doing a little backtracking before getting into the C++ where we can do all the magic distributed stuff |
| 21:04:55 | tarcieri | rue: the hard part about a multi-VM Mongrel is getting the environment to the point where you can send messages directing the remote VMs to instantiate the proper HttpHandlers and add them to a VM-local instance of the HttpServer |
| 21:05:24 | tarcieri | if you just had one file to require to pull in the whole environment it'd be fine... that's what I'll do for now I guess :/ |
| 21:05:34 | dbussink | are the cpp tests running slow for other people too? |
| 21:05:47 | dbussink | or is it the whole llvm overhead that's causing this? |
| 21:06:07 | benburkert_ enters the room. | |
| 21:07:52 | seydar | evan said they were running 2x as fast |
| 21:09:43 | dbussink | that was vm performance |
| 21:09:56 | dbussink | most of the tests don't really do anything with the vm |
| 21:10:25 | dbussink | but the tests are definitely slower then before |
| 21:10:50 | headius | maybe there's a startup hit running atop llvm |
| 21:11:04 | dbussink | yeah, that's what i'm thinking too |
| 21:11:08 | dbussink | a first run performance hit |
| 21:11:21 | headius | seems like there would be....now tests are going to be parse + compile to rbc + translate to llvm bytecode + jit |
| 21:11:35 | headius | more stages in that pipeline than even in jruby |
| 21:12:02 | dbussink | yeah, but these are just the vm tests themselves |
| 21:12:16 | dbussink | which test the c++ code from the new vm |
| 21:12:24 | headius | ahh, well you're probably still right, llvm stuff has to add something to the end-to-end process |
| 21:12:56 | smparkes leaves the room. | |
| 21:15:41 | wycats leaves the room. | |
| 21:21:40 | nathansobo_ enters the room. | |
| 21:21:44 | benburkert leaves the room. | |
| 21:23:57 | seydar leaves the room. | |
| 21:27:00 | vjmp enters the room. | |
| 21:30:22 | Maledictus leaves the room. | |
| 21:32:18 | antares_ leaves the room. | |
| 21:33:50 | smparkes enters the room. | |
| 21:35:10 | smparkes leaves the room. | |
| 21:35:48 | seydar enters the room. | |
| 21:35:59 | seydar | asdf |
| 21:36:01 | seydar | (whoops) |
| 21:36:42 | vjmp leaves the room. | |
| 21:37:27 | vjmp enters the room. | |
| 21:37:53 | seydar | evan: for the compiler bug, why wouldn't it be when the sexp is formed? |
| 21:37:58 | nathansobo leaves the room. | |
| 21:38:51 | headius | what does parsetree output for that code? |
| 21:39:09 | smparkes enters the room. | |
| 21:39:18 | seydar | is there a pastie bot somewhere? |
| 21:39:28 | vjmp leaves the room. | |
| 21:39:45 | seydar | headius: http://pastie.org/235969 |
| 21:39:45 | smparkes leaves the room. | |
| 21:40:27 | headius | what's the order of args to if there? |
| 21:40:44 | headius | seems like the condition is missing |
| 21:40:59 | seydar | refresh it, i update the paste |
| 21:41:16 | headius | yep, condition is missing |
| 21:41:17 | benburkert_ leaves the room. | |
| 21:41:18 | headius | seems to be a PT bug |
| 21:41:32 | seydar | the ruby parser catches it, though |
| 21:41:36 | jicksta leaves the room. | |
| 21:41:42 | seydar | so grammar.y et al is fine |
| 21:41:45 | headius | oh sure |
| 21:41:53 | headius | obviously ruby can run this :) |
| 21:41:58 | headius | here it is in JRuby |
| 21:42:08 | seydar | i said maybe grammar_runtime.c, since thats the sexp conversion |
| 21:42:56 | enebo enters the room. | |
| 21:43:01 | headius | I suppose it could be the compiler |
| 21:43:28 | seydar | what do you mean by compiler? |
| 21:43:46 | headius | well, I dunno how rubinius compiler works |
| 21:43:53 | headius | it *seems* to me that that sexp is wrong |
| 21:44:00 | smparkes enters the room. | |
| 21:44:01 | headius | and that seems to match the error from the compiler |
| 21:44:13 | headius | but perhaps the compiler needs to be modified to handle if with only two children |
| 21:44:17 | smparkes leaves the room. | |
| 21:44:25 | headius | that would seem odd to me |
| 21:44:50 | nathansobo | are there any good discussion threads about the current state of rubinius's approach to concurrency? |
| 21:44:58 | headius | I'd expect it to be [:if, nil, [:newline, 1, "(eval)", [:lit, 1], nil] |
| 21:45:14 | headius | or [:lit, nil] |
| 21:45:21 | headius | I don't know how pt represents a literal nil |
| 21:45:46 | seydar | i think adding support for if to have 2 args is a bad idea |
| 21:46:17 | seydar | because i feel like this bug is lower level than that, and PT isn't assigning it to some correct thing |
| 21:46:45 | vjmp enters the room. | |
| 21:47:09 | seydar | but sure, squash 'em while we can |
| 21:47:45 | seydar | headius: do you know how to adjust IfNode appropriately? |
| 21:47:48 | brixen | if I read this right, our parse is different than parse_tree 2.1.1 (ours is missing [nil]) http://pastie.org/235972 |
| 21:47:58 | brixen | but I don't know how different our sexp is supposed to be from PT's |
| 21:48:00 | headius | seydar: not in the slightest :) |
| 21:48:17 | headius | honestly though, it doesn't seem like a two-arg if sexp is correct |
| 21:48:25 | seydar | aHAH! |
| 21:48:26 | seydar | i knew it |
| 21:48:34 | seydar | brixen: thank you thank you thank you! |
| 21:48:38 | brixen | nathansobo_: not really any threads on that per se, but you might google the IRC logs |
| 21:48:50 | brixen | nathansobo_: http://www.donttreadonme.co.uk/rubinius-irc/ |
| 21:49:21 | brixen | nathansobo_: Channels at the bottom, Tasks on top of that, Threads on top of that |
| 21:49:30 | brixen | but tarcieri can correct me if I'm wrong ;) |
| 21:49:36 | nathansobo | from what i gather: there's a pi calculus based model for communication between VMs running in different OS threads, and within each of these, there are green threads |
| 21:49:54 | nathansobo | so channels is handling communication between the individual machines |
| 21:50:11 | benburkert enters the room. | |
| 21:50:30 | brixen | oh, there's an primitive IPC between VMs in the multi-VM structure |
| 21:50:50 | tarcieri | there's more than primitive IPC |
| 21:50:55 | nathansobo | are those channels? |
| 21:50:55 | seydar | headius: how's Duby coming? |
| 21:51:08 | headius | it's not...maybe after jruby 1.1.3 is out I'll take some time on it |
| 21:51:11 | tarcieri | Actors can communicate over the VM message queue |
| 21:51:12 | brixen | tarcieri: primitive in the sense of only marshaling primitive types I thought |
| 21:51:16 | tarcieri | oh |
| 21:51:22 | smparkes enters the room. | |
| 21:51:56 | hemulen leaves the room. | |
| 21:53:00 | brixen | nathansobo_: we've got some specs for VMActor::Container#spawn_actor and a few specs for Actor, but not much :/ |
| 21:53:27 | vjmp | hi. question about vm test: should they all pass? I got: Failed 4 of 450 tests Success rate: 99% |
| 21:53:28 | brixen | nathansobo_: look in spec/library/actor|vmactor |
| 21:53:35 | nathansobo | okay |
| 21:53:42 | brixen | vjmp: afaik, there's 4-5 failures atm |
| 21:53:53 | vjmp | ok |
| 21:54:01 | stepheneb leaves the room. | |
| 21:54:39 | smparkes leaves the room. | |
| 21:54:51 | smparkes enters the room. | |
| 21:54:56 | brixen | nathansobo_: also, lib/actor.rb and lib/actor/filter.rb for your reading pleasure written in Ruby :) |
| 21:55:21 | vjmp | brixen: thank you |
| 21:55:32 | nathansobo | so tasks are basically a private stack and register set |
| 21:55:34 | brixen | vjmp: n/p |
| 21:56:23 | smparkes leaves the room. | |
| 21:56:50 | seydar | nathansobo_: yea, i think that's right |
| 21:57:19 | seydar | zenspider: ping |
| 21:57:31 | seydar | brixen: you know how to get PT 2.2 into rubinius? |
| 21:57:45 | vjmp | I see lots of c++ code in vm branch; is it still going to be ruby-in-ruby, or have plans changed? |
| 21:58:14 | brixen | seydar: no, I just parse_tree_show on an .rb file |
| 21:58:41 | seydar | interesting.... |
| 21:58:58 | brixen | vjmp: it's a mixture. the core VM is being rewritten in C++, the core libs are mostly ruby |
| 21:59:35 | hemulen enters the room. | |
| 21:59:42 | brixen | vjmp: we'll see how it goes writing the VM in some sort of Ruby that can be processed to do the low level bit twiddling that is needed |
| 21:59:57 | seydar | dibs |
| 22:00:00 | brixen | vjmp: for now, it's a C++ VM with comiler tool chain and core libs in Ruby |
| 22:00:07 | brixen | s/comiler/compiler/ |
| 22:00:41 | brixen | nathansobo_: crap, our rdoc task does not appear to generate for the .c files |
| 22:01:02 | brixen | nathansobo_: I think there's some additional code docs on Task, I'm looking |
| 22:01:17 | nathansobo | you are so gd helpful |
| 22:01:23 | nathansobo | i gg back to pairing with someone |
| 22:01:28 | nathansobo | thanks |
| 22:01:31 | vjmp | brixen: ok. so what about those ruby libs in main branch, is there any point of fixing thing there while c++ vm rewrite is going on? |
| 22:01:34 | nathansobo | i'll keep this open |
| 22:01:39 | brixen | nathansobo_: heh, n/p |
| 22:01:53 | brixen | nathansobo_: we'll expect the return favor on the Ruby PEG ;) |
| 22:02:13 | brixen | vjmp: absolutely, those ruby libs will go right over |
| 22:02:30 | brixen | vjmp: as soon as the new vm is loading everything |
| 22:03:01 | nathansobo | i feel so daunted by it right now. toying with making up a language at the moment |
| 22:03:06 | nathansobo | hence all my questions about concurrency |
| 22:03:14 | brixen | cool |
| 22:03:18 | nathansobo | i've come up with a cool sketch |
| 22:03:25 | seydar | nathansobo_: what are you designing? |
| 22:03:25 | vjmp | brixen: so if there is a failing spec in main branch, it fails in vm too? |
| 22:03:36 | nathansobo | i only have a syntax for it right now |
| 22:03:41 | nathansobo | no actual compiler or anything |
| 22:03:46 | nathansobo | i'll pastie something |
| 22:03:49 | brixen | vjmp: not necessarily, the c++ vm isn't to the point of running arbitrary ruby code yet |
| 22:04:22 | nathansobo | http://pastie.org/235986 |
| 22:04:24 | brixen | vjmp: if you're interested in fixing errors in core libs, go for it |
| 22:04:27 | nathansobo | calling it cast |
| 22:04:37 | nathansobo | it's basically a scripting language version of erlang/otp |
| 22:04:45 | brixen | heh eigenmodule |
| 22:04:47 | nathansobo | foo:bar is the cast operator |
| 22:04:52 | nathansobo | foo.bar is a call |
| 22:04:59 | vjmp | brixen: any knowledge when vm is about to handle ruby code? |
| 22:05:00 | nathansobo | meaning a cast and immediate receive |
| 22:05:04 | nathansobo | like gen_server:call |
| 22:05:21 | brixen | vjmp: WIP, nothing definite but a bunch of concurrent tasks being worked on |
| 22:07:45 | benburkert leaves the room. | |
| 22:07:53 | vjmp | brixen: ok. btw, what is Ruby PEG? URL? |
| 22:10:17 | brixen | vjmp: well, there's this: http://rubyforge.org/projects/ruby-tp-dw-gram |
| 22:10:38 | brixen | vjmp: but nathansobo_ wrote this http://treetop.rubyforge.org/ and kick around the idea of implementing a Ruby grammar in a Ruby PEG |
| 22:10:52 | brixen | and we kick* |
| 22:12:36 | brixen | nathansobo_: when you have time, in the rbx repo, git show be813e67 and 172952d2 |
| 22:12:46 | ljulliar enters the room. | |
| 22:14:46 | seydar | nathansobo_: nice job on treetop! |
| 22:15:10 | ljulliar | Does anybody know how to mimic an MRI hooked variable define at C level? |
| 22:15:41 | ljulliar | For instance $. (current line in file) is hooked to a setter function |
| 22:15:56 | ljulliar | rb_define_hooked_variable("$.", &lineno, 0, lineno_setter); |
| 22:16:15 | benburkert enters the room. | |
| 22:17:32 | drbrain | ljulliar: for $., look in kernel/core/io.rb |
| 22:18:00 | drbrain | in MRI, where you would call the hook, we just set the global |
| 22:18:49 | ljulliar | No that's not the case |
| 22:19:07 | ljulliar | you also have to set the gets_lineno variable that is needed in ARGF |
| 22:20:27 | drbrain | wouldn't you ask $. for the current line number and advance to it in ARGF? |
| 22:20:34 | drbrain | s/wouldn't/could you/ |
| 22:21:43 | ljulliar | Let me see... |
| 22:25:56 | nathansobo | the problem with the notion of writing a ruby PEG is that PEGs can't actually express ruby |
| 22:26:09 | nathansobo | so it's some novel research to figure out how to extend them to do so |
| 22:26:17 | nathansobo | and i got a bit burned out on it for a while |
| 22:26:22 | nathansobo | but i'm feeling the wind again |
| 22:27:12 | ljulliar | drbrain: The problem is when you say $. = 2000 you must set both @lineno from io.rb and @gets_lineno from argf.rbo. They have to be two different variable s |
| 22:27:29 | ljulliar | so you really need to hook a method as setter of $. |
| 22:27:46 | drbrain | ok |
| 22:27:56 | drbrain | let me look, I think there's something for this |
| 22:28:29 | drbrain | kernel/core/global.rb has GlobalVariable#set_hook |
| 22:28:35 | ljulliar | I though of extending the global variable with a method but this doesn't to work very well |
| 22:28:38 | pauldix leaves the room. | |
| 22:29:20 | drbrain | and kernel/core/kernel.rb is where various hooks are defined |
| 22:29:29 | drbrain | will that help? |
| 22:29:37 | moofbong leaves the room. | |
| 22:30:09 | mkescher enters the room. | |
| 22:30:34 | ljulliar | let me take a look |
| 22:32:38 | ljulliar | terrific! This is exactly what I need. Thanks! |
| 22:33:01 | drbrain | sure |
| 22:39:07 | seydar | i'll see you all in a month |
| 22:39:12 | seydar leaves the room. | |
| 22:39:28 | smparkes enters the room. | |
| 22:40:10 | drbrain | where is he going? |
| 22:40:38 | smparkes1 enters the room. | |
| 22:40:53 | ljulliar | drbrain: well... almost there! I couldn't find any exemple of a setter. Do you think one can pass a parameter ? |
| 22:41:09 | fbuilesv leaves the room. | |
| 22:41:15 | drbrain | I would think so |
| 22:41:43 | ljulliar | It doesn' to try, hey? |
| 22:41:53 | ljulliar | It doesn't hurt |
| 22:41:55 | drbrain | :) |
| 22:43:25 | headius | heh |
| 22:43:28 | headius | ➔ jruby -rjruby/vm -e "JRuby::VM.spawn('-e', 'puts 1').join" |
| 22:43:28 | headius | 1 |
| 22:43:47 | headius | btw, are the stdin etc on a VM intended to be pipes to the child VM's side? |
| 22:45:02 | tarcieri | yes |
| 22:45:06 | tarcieri | or at least, that's how it's implemented now |
| 22:45:25 | tarcieri | it's unfortunate that you can't multiplex them though :/ |
| 22:46:03 | headius | can't select etc? |
| 22:47:01 | tarcieri | oh, maybe it's just mixing read and write that's the issue |
| 22:50:12 | mkrauskopf leaves the room. | |
| 22:50:24 | headius | hmm, that's odd, why would that matter? |
| 22:52:10 | fbuilesv enters the room. | |
| 22:56:08 | tarcieri | headius: heh, never mind, I was just confused :/ |
| 22:56:17 | headius | ok :) |
| 22:56:52 | ljulliar | drbrain: don't you think there is a bug in kernel/core/global.rb, method def []=(key, data) |
| 22:56:55 | ljulliar | ? |
| 22:57:14 | drbrain | what bug? |
| 22:57:25 | jewel enters the room. | |
| 22:57:47 | ljulliar | when there is a setter associated, the setter is called but the result of th block is not stored in @internal[key] as it should, I think. |
| 22:58:06 | ljulliar | line 62 |
| 22:58:13 | drbrain | yes, that is a bug |
| 22:58:23 | vjmp leaves the room. | |
| 22:58:42 | ljulliar | Ok I'll make the change |
| 23:02:57 | eventualbuddha enters the room. | |
| 23:05:00 | headius | does the child vm get access to the parent ID somewhere? |
| 23:05:10 | smparkes1 leaves the room. | |
| 23:07:32 | vjmp enters the room. | |
| 23:07:39 | headius | I don't see that in the code |
| 23:09:41 | cremes leaves the room. | |
| 23:11:04 | headius | pastie |
| 23:11:18 | pastie | http://pastie.org/236049 by headius. |
| 23:12:09 | headius | wow, that pasted weird |
| 23:12:09 | headius | http://pastie.org/236050 |
| 23:17:26 | benny leaves the room. | |
| 23:19:41 | headius | tarcieri: are you using the VM stuff? |
| 23:19:42 | fbuilesv leaves the room. | |
| 23:21:55 | benny enters the room. | |
| 23:22:04 | michalw enters the room. | |
| 23:23:10 | tarcieri | headius: Not for anything practical... yet |
| 23:23:15 | headius | mm ok |
| 23:23:21 | headius | are there any more docs than the code? |
| 23:23:23 | tarcieri | VMActor is the only thing using it right now, afaic |
| 23:23:27 | headius | there's no rdoc or anything in there |
| 23:23:30 | tarcieri | err, afaik |
| 23:23:39 | tarcieri | in what? Rubinius::VM? |
| 23:24:00 | heycarsten leaves the room. | |
| 23:24:10 | headius | yeah |
| 23:24:24 | tarcieri | nope |
| 23:24:33 | tarcieri | I figured it out either by looking at the code or asking evan :/ |
| 23:25:29 | headius | heheh |
| 23:25:40 | headius | well so far the jruby version is all ruby |
| 23:25:53 | headius | so I'll probably try to doc it a bit more |
| 23:26:21 | tarcieri | oh nice, doing MVM for JRuby? |
| 23:26:35 | tarcieri | whatever became of the whole standard MVM interface initiative thingy? |
| 23:26:37 | headius | yeah, figured I'd finally write it up |
| 23:26:41 | headius | it's still going |
| 23:26:52 | headius | I think ko1 et al have had their hands full on the native side |
| 23:27:01 | headius | not a lot of work done by them on the API |
| 23:27:50 | tarcieri | I see |
| 23:29:00 | nathansobo | this is probably an oft-asked question, so excuse me if i'm annoying, but how close is rubinius to being faster than 1.9 |
| 23:29:26 | drbrain | it'll be a while |
| 23:29:42 | nathansobo | like a year? |
| 23:29:55 | nathansobo | we're thinking of porting to erlang but i really don't want to |
| 23:30:16 | drbrain | I would estimate no sooner than six months |
| 23:32:49 | headius | porting what? |
| 23:33:23 | headius | and you don't want to use 1.9 because of weak concurrency capabilities? |
| 23:33:57 | tarcieri | Concurrency on 1.9 is just fine, depending on your needs |
| 23:34:21 | headius | well, except that it isn't concurrent unless you twiddle stuff at the C level |
| 23:35:09 | mass | actual concurrent concurrency is overrated |
| 23:35:13 | tarcieri | If you can fit what you're doing into a coroutine model then Revactor provides nice concurrency on 1.9 |
| 23:35:27 | nathansobo | our application |
| 23:35:46 | nathansobo | it's super concurrent |
| 23:35:55 | headius | mass: well...peopl |