Show enters and exits. Hide enters and exits.
| 00:05:48 | yasuhito enters the room. | |
| 00:06:14 | antares leaves the room. | |
| 00:12:28 | yasuhito leaves the room. | |
| 00:25:03 | rue leaves the room. | |
| 00:26:06 | nari leaves the room. | |
| 00:30:17 | jackdempsey enters the room. | |
| 00:32:27 | benburkert_ leaves the room. | |
| 00:37:26 | evan | stupid question, are the C++ test runs clean now? |
| 00:37:36 | evan | or still a few failures? |
| 00:41:21 | brixen | 2 failures |
| 00:41:29 | brixen | in task |
| 00:42:06 | brixen | evan: so what do you think of me making a Sampler cpp class and have it output the stats to shm on the ticks? |
| 00:42:23 | brixen | so you can start it as you would the sampler or from RBX env var |
| 00:42:38 | evan | sure, thats fine. |
| 00:42:41 | brixen | k |
| 00:43:37 | lopex leaves the room. | |
| 00:44:12 | brixen | haha http://xkcd.com/263/ |
| 00:44:30 | brixen | greek symbols ftw |
| 00:45:52 | GemBob | evan: I finally got a linux build done (thanks to explody) - what linux distros are you building on? |
| 00:46:23 | dysinger enters the room. | |
| 00:46:25 | brixen | gentoo, for various values of gentoo |
| 00:46:27 | dysinger leaves the room. | |
| 00:46:40 | brixen | ubuntu 8.x |
| 00:46:57 | dysinger enters the room. | |
| 00:47:30 | brixen | I've got a freebsd 7.0 image, but haven't built in a while on it |
| 00:48:12 | GemBob | brixen: thanks, fwiw suse 10's glibc is too old. Build was successful on ubuntu. |
| 00:48:18 | GemBob | hardy heron |
| 00:48:23 | brixen | cool |
| 00:48:35 | brixen | I started to work on opensuse, but never finished it |
| 00:48:42 | explody | libev seems to need glibc 2.5+ |
| 00:48:48 | Yurik leaves the room. | |
| 00:48:49 | explody | SLES uses 2.4 |
| 00:49:29 | brixen | I guess like a plant, we tend to grow up and then out :) |
| 00:49:43 | GemBob | :) |
| 00:50:02 | evan | that can be disabled inside libev |
| 00:50:05 | evan | or should be able to be |
| 00:50:11 | evan | so it just uses select |
| 00:50:48 | explody | I figured it was something minor, it was just easier to move to ubuntu than it was to mess with the C |
| 00:50:57 | evan | oh man |
| 00:51:09 | evan | 'git update' is SO much nicer than rebasing directly |
| 00:51:11 | evan | i love it. |
| 00:51:39 | nari enters the room. | |
| 00:52:05 | GemBob | brixen: where would I look for a list of rubyspecs that you've tagged to skip? |
| 00:52:49 | brixen | GemBob: spec/tags |
| 00:52:53 | trythil enters the room. | |
| 00:53:00 | GemBob | Cool. |
| 00:53:15 | brixen | GemBob: or you could run them with bin/mspec -g fails -g unstable -fs --dry-run spec |
| 00:53:54 | GemBob | brixen: Ah! that looks like the way to go. |
| 00:54:47 | GemBob | brixen: have you thought anymore about eliminating optparse? |
| 00:54:57 | evan | GemBob: he has |
| 00:55:02 | evan | but optparse is only used in the frontend |
| 00:55:05 | evan | that runs in MRI |
| 00:55:23 | GemBob | evan: indeed, that's true. |
| 00:55:38 | brixen | GemBob: yes, it will be eliminated |
| 00:55:42 | evan | unless you're trying to run some other way |
| 00:55:52 | brixen | just haven't decided whether to use getoptlong or rue's custom option parser |
| 00:56:42 | mass | what is 'OH:' on twitter? |
| 00:57:01 | mass | overheard? |
| 00:57:11 | GemBob | I'm wanting to run it via the mri frontend, but we don't have optparse loading yet. |
| 00:57:17 | evan | mass: yeah |
| 00:57:28 | evan | GemBob: you don't need to run optparse |
| 00:57:34 | evan | the frontend does that |
| 00:57:36 | brixen | GemBob: you can comment out the option parsing in mspec-run and just hard-code what you want |
| 00:58:07 | GemBob | evan: yes, we've already got the essential bits running (thanks to avibryant) |
| 00:58:12 | brixen | GemBob: the most common option is just the files to run |
| 00:58:16 | evan | GemBob: ok, good. |
| 01:04:27 | brixen | GemBob: can you load getoptlong? |
| 01:05:10 | GemBob | brixen: haven't tried. |
| 01:05:14 | nicksieger enters the room. | |
| 01:05:29 | evan | nicksieger: wassup nick! |
| 01:06:29 | GemBob | brixen: I'll try it and will let you know |
| 01:06:31 | nicksieger | evan :) |
| 01:06:33 | nicksieger | saw your update. been having a nice summer? |
| 01:06:38 | edwardam enters the room. | |
| 01:06:47 | evan | yeah! |
| 01:06:57 | evan | summer is always a funny time for programmers |
| 01:06:58 | evan | i think. |
| 01:07:14 | headius enters the room. | |
| 01:07:16 | evan | since the idea of working in the park is tempting, but it never works out in practice. |
| 01:07:30 | nicksieger | hehe. nice weather screws with our "burrow in a dark cave" nature |
| 01:07:34 | mass | evan: non-glossy screen |
| 01:07:37 | evan | nicksieger: exactly |
| 01:07:40 | evan | mass: even that. |
| 01:07:46 | evan | doesn't work as well. |
| 01:07:46 | mass | you're doing it wrong |
| 01:07:49 | evan | hah |
| 01:07:49 | mass | :) |
| 01:07:49 | brixen | GemBob: yes, please do |
| 01:07:55 | brixen | pastie: for GemBob |
| 01:07:58 | nicksieger | not that the weather in LA ever varies much |
| 01:08:06 | evan | though, at comic-con, I did some answering emails and such on my iphone in the direct sunlight |
| 01:08:10 | evan | that worked out. |
| 01:08:20 | evan | nicksieger: true enough :) |
| 01:08:20 | mass | I think I'm getting an iphone next week |
| 01:08:22 | pastie | GemBob: http://pastie.org/242854 by brixen. |
| 01:08:26 | nicksieger | yeah, i find iphone screen to be readable in sunlight |
| 01:08:29 | mass | it better change my life, thats all I'll say |
| 01:08:44 | nicksieger | although the polarization filter in my sunglasses makes landscape mode difficult :) |
| 01:08:52 | evan | nicksieger: yeah, I think they've put something behind/into the screen so it's not completely washed out |
| 01:09:10 | evan | ha! there's a good product idea |
| 01:09:18 | evan | special sunglasses and filter for an iphone |
| 01:09:26 | brixen | GemBob: if you could, also try loading the ruby in that pastie and let me know. thanks :) |
| 01:09:30 | evan | to polarize it |
| 01:09:30 | mass | rotating lenses? |
| 01:09:48 | mass | evan, I think it already is polarized, wouldn't that be the problem? :) |
| 01:09:55 | nicksieger | while you're at it, a special website with sekrit codez that can only be read w/ the glasses |
| 01:10:11 | evan | mass: only if you polarize it at 90 degrees from the current polarization |
| 01:10:22 | evan | since then, nothing gets through (oh photons, you crazy things) |
| 01:10:27 | GemBob | brixen: will do, but probably won't get to it until tomorrow. |
| 01:10:39 | brixen | GemBob: k, no problem |
| 01:10:40 | mass | real-d and imax 3d are both based on two projectors emitting polarized light at 90 degree angles, onto a special screen |
| 01:10:55 | mass | at least, AFAIK |
| 01:11:00 | evan | nice |
| 01:11:28 | mass | photons are just punks |
| 01:12:16 | evan | partical or wave |
| 01:12:21 | evan | MAKE UP YOUR MIND |
| 01:12:33 | shayarnett enters the room. | |
| 01:13:07 | GemBob | thanks for the tips today guys, gotta hit the road. |
| 01:13:22 | evan | later |
| 01:13:40 | mass | my bamboo plant is turning yellow :( |
| 01:13:48 | brixen | evan: they have the luxury of being both, tyrant :P |
| 01:13:49 | mass | after a year and a half, I think it got a bacterial infection |
| 01:14:00 | benburkert enters the room. | |
| 01:14:02 | nicksieger | gem bob been hanging out much? haven't heard a thing about maglev since railsconf |
| 01:14:04 | mass | :'( |
| 01:14:33 | evan | brixen: i don't have a problem with the concept after reading and finally absorbing enough quantum stuff |
| 01:14:44 | brixen | nicksieger: you wouldn't expect to hear much right, electromagnetic fiels are mostly silent :) |
| 01:14:56 | nicksieger | haha |
| 01:14:58 | evan | after all, there aren't really curves either. |
| 01:15:11 | evan | they're just jagged on a level you can't see. |
| 01:15:13 | headius leaves the room. | |
| 01:15:22 | mass | I prefer to take the sciences on faith |
| 01:15:32 | mass | it seems to be the sort of thing that would piss off everyone |
| 01:15:43 | evan | do you say a few words about science before dinner each night? |
| 01:15:57 | mass | thank you newton for inventing gravity |
| 01:16:56 | mass | you know what I always say, "Quantum mechanics work in mysterious ways" |
| 01:17:04 | mass | ooh, another good business card job title |
| 01:17:08 | mass | Quantum Mechanic |
| 01:17:14 | brixen | dirac, please send antimatter to my enemies and annihilate them |
| 01:17:56 | nicksieger | mass: i like it. |
| 01:17:56 | mass | A guy I used to know who worked at apple at the beginning said they got to choose their business card titles, he was "Question Authority" |
| 01:18:17 | mass | I keep telling the company I work for that they should make me a Director |
| 01:18:20 | mass | "Director of Traffic" |
| 01:18:57 | mass | apparently the Finder team also had a poster that read "Quality is Job 1.1" |
| 01:20:15 | nari leaves the room. | |
| 01:20:28 | nari enters the room. | |
| 01:26:10 | twbray leaves the room. | |
| 01:29:15 | brapse leaves the room. | |
| 01:30:01 | shayarnett leaves the room. | |
| 01:38:15 | twbray enters the room. | |
| 01:39:11 | twbray leaves the room. | |
| 01:41:56 | ezmobius leaves the room. | |
| 01:49:32 | brapse enters the room. | |
| 01:52:29 | binary42 enters the room. | |
| 01:52:57 | twbray enters the room. | |
| 01:53:03 | brapse leaves the room. | |
| 01:53:41 | enebo enters the room. | |
| 01:54:52 | twbray leaves the room. | |
| 01:54:53 | enebo leaves the room. | |
| 01:56:24 | enebo enters the room. | |
| 01:57:18 | trythil leaves the room. | |
| 02:01:02 | antares_ leaves the room. | |
| 02:02:16 | jicksta enters the room. | |
| 02:04:37 | dfg59 leaves the room. | |
| 02:07:39 | blakewatters enters the room. | |
| 02:10:07 | brapse enters the room. | |
| 02:13:31 | benny enters the room. | |
| 02:15:17 | evan | Defiler: ok, new instructions setup is in. |
| 02:16:05 | gramos enters the room. | |
| 02:16:11 | jbarnette leaves the room. | |
| 02:16:36 | mernen enters the room. | |
| 02:22:48 | moofbong enters the room. | |
| 02:24:09 | moofbong leaves the room. | |
| 02:25:09 | VVSiz_ enters the room. | |
| 02:26:49 | jazen leaves the room. | |
| 02:27:18 | jazen enters the room. | |
| 02:33:03 | ijcd leaves the room. | |
| 02:33:44 | c0sin leaves the room. | |
| 02:42:30 | VVSiz leaves the room. | |
| 02:44:37 | blakewatters leaves the room. | |
| 02:46:42 | nicksieger leaves the room. | |
| 02:49:01 | shayarnett enters the room. | |
| 02:53:32 | lchin enters the room. | |
| 03:03:47 | gramos leaves the room. | |
| 03:08:36 | brixen | interesting stuff http://kurtstephens.com/node/60 |
| 03:09:52 | fbuilesv enters the room. | |
| 03:10:44 | evan | brixen: reading now. |
| 03:10:59 | brixen | also see the link at the end to node/52 |
| 03:11:59 | enebo leaves the room. | |
| 03:12:44 | evan | k |
| 03:12:56 | evan | hm, they suggest that making nil == 0x0 is a good thing |
| 03:12:58 | evan | interesting. |
| 03:15:53 | brixen | didn't know you could (dis|en)able tagged pointers in pypy with a cmd line switch |
| 03:16:37 | josb leaves the room. | |
| 03:19:58 | brixen | evan: what happened to printing a ruby bt when shotgun dies from a segfault? |
| 03:20:10 | brixen | or in this case, illegal instruction |
| 03:20:13 | evan | had to take it out. |
| 03:20:27 | evan | because it can cause cascading segfaults |
| 03:20:31 | brixen | ah |
| 03:20:41 | evan | so i figured it was better to require the person to drop in with gdb to get it |
| 03:20:42 | brixen | a veritable waterfall of segfaults |
| 03:20:49 | brixen | k |
| 03:21:11 | brixen | cgi specs cause illegal instruction faults |
| 03:21:16 | brixen | stabs cgi |
| 03:24:56 | josb enters the room. | |
| 03:27:17 | imajes leaves the room. | |
| 03:33:22 | edwardam leaves the room. | |
| 03:33:39 | edwardam enters the room. | |
| 03:34:34 | brixen | evan: suggestions for tracking something like this down? http://pastie.org/242921 |
| 03:36:15 | brapse leaves the room. | |
| 03:36:54 | brapse enters the room. | |
| 03:37:47 | shayarnett leaves the room. | |
| 03:41:35 | shayarnett enters the room. | |
| 03:47:19 | aotearoa enters the room. | |
| 03:50:35 | twbray_ enters the room. | |
| 03:51:55 | twbray_ leaves the room. | |
| 03:54:28 | ryanlowe leaves the room. | |
| 03:58:21 | djwhitt leaves the room. | |
| 03:59:39 | brapse leaves the room. | |
| 04:00:40 | wmoxam enters the room. | |
| 04:01:02 | mernen leaves the room. | |
| 04:03:09 | sunblush leaves the room. | |
| 04:04:28 | sunblush enters the room. | |
| 04:05:31 | jackdempsey leaves the room. | |
| 04:07:37 | boyscout | 5 commits by Brian Ford |
| 04:07:38 | boyscout | * Re-enable spec/library for full CI runs.; 5df391f |
| 04:07:39 | boyscout | * Fix up Rubinius specific library specs.; d83d1c1 |
| 04:07:40 | boyscout | * Tag unstable CGI specs.; 140b64f |
| 04:07:41 | boyscout | * Temp fix to use --gdb with mspec.; 0411620 |
| 04:07:42 | boyscout | * Removed inadvertently added files from mspec.; 2af0a49 |
| 04:09:32 | rubuildius_amd64 | Brian Ford: 5df391f6d; build failed! http://rafb.net/p/GCwJvH34.html |
| 04:10:07 | brixen | hmm |
| 04:11:03 | brixen | that bot's missing a dir to clone from |
| 04:13:39 | jackdempsey enters the room. | |
| 04:14:14 | djwhitt enters the room. | |
| 04:18:04 | rubuildius_amd64 leaves the room. | |
| 04:18:20 | rubuildius_amd64 enters the room. | |
| 04:18:25 | rubuildius_amd64 leaves the room. | |
| 04:18:37 | rubuildius_amd64 enters the room. | |
| 04:18:47 | rubuildius_ey64 | Brian Ford: 5df391f6d; 2629 files, 8609 examples, 28695 expectations, 0 failures, 0 errors |
| 04:20:08 | srbaker enters the room. | |
| 04:28:21 | rubuildius_amd64 | Brian Ford: 5df391f6d; 2629 files, 8609 examples, 28695 expectations, 0 failures, 0 errors |
| 04:36:51 | qrush_ enters the room. | |
| 04:36:52 | qrush leaves the room. | |
| 04:38:52 | twbray enters the room. | |
| 04:45:35 | rodimius leaves the room. | |
| 04:45:36 | shayarnett leaves the room. | |
| 04:51:20 | jbarnette enters the room. | |
| 04:51:30 | jackdempsey leaves the room. | |
| 04:57:35 | benburkert leaves the room. | |
| 05:06:14 | benburkert enters the room. | |
| 05:19:00 | twbray leaves the room. | |
| 05:20:42 | binary42 leaves the room. | |
| 05:21:15 | jackdempsey enters the room. | |
| 05:27:07 | rodimius enters the room. | |
| 05:30:31 | shame leaves the room. | |
| 05:30:58 | jackdempsey leaves the room. | |
| 05:33:52 | shame enters the room. | |
| 05:36:40 | srbaker leaves the room. | |
| 05:43:21 | qrush_ leaves the room. | |
| 05:50:45 | nicksieger enters the room. | |
| 05:52:46 | MyIRCBot enters the room. | |
| 05:53:21 | MyIRCBot leaves the room. | |
| 05:57:02 | MyIRCBot enters the room. | |
| 05:57:05 | evan | !git |
| 05:57:09 | evan | blah. |
| 05:57:19 | evan | !about |
| 05:57:20 | MyIRCBot | Insulter version 1.0 (7-4-08) by Tim Morgan: An Autumn Leaf. Insults copyright (c)1996 Main Strike Telecommunications, Inc. |
| 05:57:23 | evan | ha. |
| 05:57:35 | MyIRCBot leaves the room. | |
| 06:01:39 | aotearoa leaves the room. | |
| 06:05:09 | binary42 enters the room. | |
| 06:21:39 | enebo enters the room. | |
| 06:24:26 | enebo_ enters the room. | |
| 06:26:51 | enebo_ leaves the room. | |
| 06:26:58 | enebo_ enters the room. | |
| 06:29:03 | enebo_ leaves the room. | |
| 06:29:46 | enebo_ enters the room. | |
| 06:32:07 | enebo_ leaves the room. | |
| 06:32:34 | enebo_ enters the room. | |
| 06:33:56 | enebo_ leaves the room. | |
| 06:35:21 | enebo_ enters the room. | |
| 06:37:35 | enebo_ leaves the room. | |
| 06:37:52 | enebo_ enters the room. | |
| 06:39:40 | wyhaines leaves the room. | |
| 06:40:16 | enebo leaves the room. | |
| 06:50:37 | headius enters the room. | |
| 06:52:23 | srbaker enters the room. | |
| 06:54:08 | aotearoa enters the room. | |
| 07:03:05 | benburkert leaves the room. | |
| 07:03:08 | benburkert enters the room. | |
| 07:04:30 | boyscout leaves the room. | |
| 07:04:45 | boyscout enters the room. | |
| 07:04:57 | boyscout leaves the room. | |
| 07:05:27 | boyscout enters the room. | |
| 07:05:39 | boyscout leaves the room. | |
| 07:06:18 | boyscout enters the room. | |
| 07:06:31 | boyscout leaves the room. | |
| 07:07:06 | brixen | boyscout getting a tune-up? |
| 07:07:06 | boyscout enters the room. | |
| 07:07:10 | evan | yep |
| 07:07:21 | boyscout | 4 commits |
| 07:07:21 | brixen | nice |
| 07:07:22 | boyscout | * Re-enable spec/library for full CI runs.; 5df391f |
| 07:07:23 | boyscout | * Fix up Rubinius specific library specs.; d83d1c1 |
| 07:07:24 | boyscout | * Remove debugging code; ff648ca |
| 07:07:25 | boyscout | * Adjust Rakefile deps and flags; 27dd827 |
| 07:07:31 | evan | there we go. |
| 07:07:40 | evan | reports master and cpp now |
| 07:07:45 | brixen | ahh, yep |
| 07:07:55 | brixen | dropped the author? |
| 07:08:00 | evan | yeah |
| 07:08:05 | evan | it makes the code more confusing. |
| 07:08:13 | evan | i could try and add it back in |
| 07:08:22 | brixen | maybe just append after the hash? |
| 07:08:46 | brixen | Re-enable spec/library for full CI runs.; 5df391f - Brian Ford |
| 07:08:50 | brixen | or something |
| 07:09:15 | evan | sure. |
| 07:09:17 | evan | one sec. |
| 07:12:44 | bitsweat enters the room. | |
| 07:16:27 | rsk23 enters the room. | |
| 07:26:40 | evan | check. |
| 07:26:56 | boyscout | 2 commits in head |
| 07:26:57 | boyscout | * Re-enable spec/library for full CI runs.; 5df39 - Brian Ford |
| 07:26:58 | boyscout | * Fix up Rubinius specific library specs.; d83d1 - Brian Ford |
| 07:26:59 | boyscout | 2 commits in C++ |
| 07:27:00 | boyscout | * Remove debugging code; ff648 - Brian Ford |
| 07:27:01 | boyscout | * Adjust Rakefile deps and flags; 27dd8 - Brian Ford |
| 07:27:06 | evan | hows thaht? |
| 07:29:56 | rue enters the room. | |
| 07:32:38 | jgre enters the room. | |
| 07:35:08 | srbaker leaves the room. | |
| 07:36:28 | brixen | hmm, author is off |
| 07:36:36 | brixen | but format looks good :) |
| 07:40:37 | evan | oh hm. |
| 07:40:38 | evan | thats odd. |
| 07:42:36 | evan | boyscout: check |
| 07:42:58 | boyscout | 2 commits in head |
| 07:42:59 | boyscout | * Re-enable spec/library for full CI runs.; 5df39 - Brian Ford |
| 07:43:00 | boyscout | * Fix up Rubinius specific library specs.; d83d1 - Brian Ford |
| 07:43:01 | boyscout | 2 commits in C++ |
| 07:43:02 | boyscout | * Remove debugging code; ff648 - Evan Phoenix |
| 07:43:03 | boyscout | * Adjust Rakefile deps and flags; 27dd8 - Evan Phoenix |
| 07:43:08 | brixen | woot |
| 07:43:10 | evan | there we go. |
| 07:51:47 | benburkert leaves the room. | |
| 07:51:48 | aotearoa leaves the room. | |
| 07:55:51 | aotearoa enters the room. | |
| 08:09:09 | inspired enters the room. | |
| 08:26:11 | headius leaves the room. | |
| 08:34:46 | enebo_ leaves the room. | |
| 08:49:39 | aotearoa leaves the room. | |
| 09:02:43 | aotearoa enters the room. | |
| 09:32:01 | lstoll enters the room. | |
| 09:34:22 | thehcdreamer enters the room. | |
| 09:35:17 | thehcdreamer leaves the room. | |
| 09:46:57 | headius enters the room. | |
| 09:54:44 | lstoll enters the room. | |
| 09:57:59 | Maledictus enters the room. | |
| 10:07:35 | octopod enters the room. | |
| 10:09:57 | nari leaves the room. | |
| 10:16:17 | rue leaves the room. | |
| 10:16:36 | Fullmoon enters the room. | |
| 10:22:01 | headius_ enters the room. | |
| 10:22:01 | headius leaves the room. | |
| 10:22:59 | headius_ leaves the room. | |
| 10:25:20 | dysinger leaves the room. | |
| 10:28:27 | Fullmoon leaves the room. | |
| 10:28:32 | chris2 enters the room. | |
| 10:32:40 | Fullmoon enters the room. | |
| 10:40:26 | pauldix enters the room. | |
| 10:41:51 | nari enters the room. | |
| 10:46:48 | benny leaves the room. | |
| 11:02:31 | michalw enters the room. | |
| 11:04:02 | BlackEdder enters the room. | |
| 11:06:24 | pauldix leaves the room. | |
| 11:12:29 | blacktower enters the room. | |
| 11:17:26 | robin_dewd leaves the room. | |
| 11:30:10 | Fullmoon leaves the room. | |
| 11:31:39 | botanicus enters the room. | |
| 11:33:56 | Fullmoon enters the room. | |
| 11:35:12 | Fullmoon leaves the room. | |
| 11:47:25 | thehcdreamer enters the room. | |
| 11:48:48 | thehcdreamer leaves the room. | |
| 12:05:45 | pauldix enters the room. | |
| 12:08:50 | rue enters the room. | |
| 12:23:16 | pauldix leaves the room. | |
| 12:23:38 | pauldix enters the room. | |
| 12:26:05 | Fullmoon enters the room. | |
| 12:47:09 | lstoll leaves the room. | |
| 12:52:19 | NoKarma enters the room. | |
| 12:56:20 | hemulen leaves the room. | |
| 12:58:46 | lchin_ enters the room. | |
| 12:59:34 | lchin leaves the room. | |
| 13:02:47 | sunblush enters the room. | |
| 13:07:29 | pth leaves the room. | |
| 13:10:28 | Defiler | evan: Got any objection to me moving the generator code out into instruction_generator.rb so that instructions.rb can be all test and impl? |
| 13:10:59 | antares_ enters the room. | |
| 13:14:06 | hemulen enters the room. | |
| 13:16:52 | aotearoa leaves the room. | |
| 13:17:02 | hemulen leaves the room. | |
| 13:18:56 | hemulen enters the room. | |
| 13:18:59 | dbussink | evan: i've found the problem with vlad |
| 13:19:07 | dbussink | Defiler: i mean you of course :P |
| 13:19:11 | Defiler | Cool |
| 13:19:34 | dbussink | the problem is that datamapper and vlad both use repository through the same kind of set construct |
| 13:19:44 | dbussink | to set a variable for a task |
| 13:21:33 | Defiler | Right |
| 13:21:54 | Defiler | Vlad has a 'global' (class variable) hash of options set via 'set' |
| 13:22:05 | lchin_ leaves the room. | |
| 13:23:09 | dbussink | yeah, and apparently that overrides something deep in datamapper |
| 13:23:27 | dbussink | which seems weird, because the code just calls a method in the same class |
| 13:26:04 | rue | Did you ever resolve the mysterious code path with DM? |
| 13:31:36 | Defiler | dbussink: so, the problem is that with datamapper loaded, vlad doesn't work? or vice versa, etc |
| 13:32:57 | dbussink | with vlad loaded dm rake tasks don't work anymore |
| 13:32:57 | dbussink | normal code seems to work fine |
| 13:32:57 | dbussink | as do the specs for my project |
| 13:32:57 | dbussink | rue: well, i've been able to spec it in a relatively simple case |
| 13:32:57 | dbussink | rue: still marked as a dm bug though :P |
| 13:34:04 | Defiler | Can you paste me some --trace output from a task failing? |
| 13:35:14 | Fullmoon leaves the room. | |
| 13:39:00 | robin_dewd enters the room. | |
| 13:43:04 | dbussink | Defiler: http://pastie.org/243160 |
| 13:46:06 | benburkert enters the room. | |
| 13:50:36 | Fullmoon enters the room. | |
| 13:50:55 | Defiler | Hrm.. maybe DM is doing a Kernel method call somewhere |
| 13:51:05 | Defiler | where they think they are doing a namespaced one |
| 13:51:55 | Defiler | because 'set' shouldn't interfere with more-specific defs that happen to have the same name |
| 13:58:51 | benny enters the room. | |
| 14:00:43 | dbussink | Defiler: yeah, but the repository call at that line doesn't seem weird |
| 14:00:53 | dbussink | because there is actually a repository method a few lines down |
| 14:02:46 | wmoxam leaves the room. | |
| 14:02:49 | Fullmoon leaves the room. | |
| 14:03:35 | yasuhito enters the room. | |
| 14:05:56 | AndrewO enters the room. | |
| 14:16:37 | binary42 leaves the room. | |
| 14:22:09 | yasuhito leaves the room. | |
| 14:29:46 | Defiler | dbussink: I wonder if 'default' is the method causing the fun |
| 14:29:51 | Defiler | I guess I need to read the DM code to see |
| 14:37:56 | blacktower leaves the room. | |
| 14:42:29 | blakewatters enters the room. | |
| 14:49:01 | nicksieger leaves the room. | |
| 14:51:31 | binary42 enters the room. | |
| 15:04:50 | mutle enters the room. | |
| 15:08:59 | yasuhito enters the room. | |
| 15:15:39 | wmoxam enters the room. | |
| 15:36:34 | fbuilesv leaves the room. | |
| 15:39:24 | obvio171 enters the room. | |
| 15:39:25 | foysavas leaves the room. | |
| 15:39:36 | foysavas enters the room. | |
| 15:41:54 | sunblush leaves the room. | |
| 15:42:39 | botanicus leaves the room. | |
| 15:43:05 | botanicus enters the room. | |
| 15:45:16 | botanicus leaves the room. | |
| 15:45:32 | botanicus enters the room. | |
| 15:49:08 | wyhaines enters the room. | |
| 15:52:20 | lopex enters the room. | |
| 15:58:02 | twbray enters the room. | |
| 15:58:24 | benburkert leaves the room. | |
| 15:59:34 | edwardam leaves the room. | |
| 16:09:46 | chris2 leaves the room. | |
| 16:17:21 | twbray leaves the room. | |
| 16:25:30 | sunblush enters the room. | |
| 16:31:00 | inspired leaves the room. | |
| 16:36:02 | yasuhito leaves the room. | |
| 16:39:09 | GemBob enters the room. | |
| 16:43:06 | benburkert_ enters the room. | |
| 16:46:00 | wvdschel enters the room. | |
| 16:50:02 | hemulen_ enters the room. | |
| 16:53:54 | hemulen leaves the room. | |
| 16:54:46 | hemulen enters the room. | |
| 16:55:39 | moofbong enters the room. | |
| 16:56:00 | imajes_ enters the room. | |
| 16:56:30 | jbarnette leaves the room. | |
| 17:01:20 | dysinger enters the room. | |
| 17:01:43 | blacktower enters the room. | |
| 17:03:43 | imajes leaves the room. | |
| 17:06:43 | jgre leaves the room. | |
| 17:08:02 | evan | Defiler: thats fine |
| 17:08:54 | hemulen_ leaves the room. | |
| 17:21:33 | jbarnette enters the room. | |
| 17:24:49 | brixen | evan: did you see the fonc reply about tagging? |
| 17:24:51 | brixen | evan: http://sbcl-internals.cliki.net/tag%20bit |
| 17:30:35 | evan | interesting. |
| 17:30:49 | evan | i guess they align objects on 8bit boundaries |
| 17:31:47 | brixen | hmm, list reply says 8byte |
| 17:32:00 | evan | er |
| 17:32:01 | evan | yeah |
| 17:32:06 | brixen | ah ok |
| 17:32:06 | evan | so that the bottom 3 bits aren't used. |
| 17:32:09 | brixen | yeah |
| 17:32:45 | evan | ha, funny |
| 17:33:01 | evan | says that originally, the did this because they could use special SPARC instructions |
| 17:33:04 | evan | that performed tagging |
| 17:33:09 | brixen | heh yeah |
| 17:33:25 | brixen | so, can we use the base+offset memory mode like they talk about? |
| 17:33:34 | brixen | memory address mode |
| 17:35:22 | evan | well |
| 17:35:29 | evan | hopefully we never have to operate at that level. |
| 17:40:53 | twbray enters the room. | |
| 17:42:02 | evan | twbray: nice job in the sumo suit |
| 17:42:04 | dbussink | hmm wouldn't the addition of fixnums be useful though to do without taking tags into consideration? |
| 17:42:49 | twbray | sucker weighed like 75 pounds |
| 17:42:54 | evan | hehe |
| 17:42:55 | evan | i'll bet |
| 17:44:25 | edwardam enters the room. | |
| 17:46:00 | hemulen leaves the room. | |
| 17:50:30 | josb leaves the room. | |
| 17:57:41 | headius enters the room. | |
| 18:03:00 | Defiler | What's the deal with the different tags for odd and even fixnums? |
| 18:03:12 | Yurik enters the room. | |
| 18:05:56 | mass | waves |
| 18:06:00 | mass | Defiler: ? |
| 18:09:34 | Yurik leaves the room. | |
| 18:10:10 | Defiler | mass: Yo. I was referring to this sbcl link from a little earlier |
| 18:10:26 | josb enters the room. | |
| 18:11:29 | jgre enters the room. | |
| 18:11:31 | dbussink | Defiler: just because they allocated three bytes |
| 18:11:40 | dbussink | but actually use 2 for the fixnum tag |
| 18:11:51 | dbussink | so they labelled them "odd fixnums" and "even fixnums" :P |
| 18:13:59 | nicksieger enters the room. | |
| 18:14:07 | boyscout | 1 commit in C++ |
| 18:14:08 | boyscout | * Move 'missing_primitives' task to the vm directory and correct output; f7ba3 - Wilson Bilkovich |
| 18:14:20 | Defiler | dbussink: oh haha funny |
| 18:14:31 | evan | zing! new boyscout! |
| 18:14:40 | Defiler | wikked |
| 18:15:38 | dbussink | evan: what do you think of being able to do fixnum adding / subtraction without having to tag? |
| 18:16:37 | dbussink | or isn't it worth the trouble? |
| 18:17:55 | evan | well, there is always a tag |
| 18:18:05 | evan | do ya just mean a shift, no tag? |
| 18:18:25 | dbussink | well, the shifting is not necessary if the tag bytes are all zeroes |
| 18:18:49 | octopod leaves the room. | |
| 18:19:02 | NoKarma leaves the room. | |
| 18:19:23 | bricolage enters the room. | |
| 18:24:13 | twbray leaves the room. | |
| 18:24:18 | boyscout | 1 commit in C++ |
| 18:24:19 | boyscout | * Reorganize instructions.rb, add docs; bb67d - Evan Phoenix |
| 18:24:31 | evan | Defiler: there ya go. |
| 18:28:24 | Defiler | Cool |
| 18:28:52 | heycarsten enters the room. | |
| 18:28:55 | dbussink | hmm, how should we handle primitive renames? because when i wrote some of the math stuff i made it more consistent |
| 18:29:04 | Defiler | Are we still going to have 'direct threaded' and non-dt versions? |
| 18:29:13 | dbussink | so some of the primitive names are there, but the rake tasks are still missing |
| 18:29:26 | dbussink | i mean the rake task says they're missing |
| 18:29:28 | Defiler | Yeah |
| 18:29:33 | antares_ leaves the room. | |
| 18:29:38 | Defiler | You can just go edit shotgun_instructions.txt for now if you want |
| 18:29:58 | Defiler | We'll need a ticket to remind us to edit the kernel code though |
| 18:30:27 | c0sin enters the room. | |
| 18:30:33 | Defiler | We should think about what we will do when the time comes to update the copy of the kernel that the cpp branch has |
| 18:31:35 | dbussink | i can put a comment in that file perhaps |
| 18:31:35 | dbussink | to have it somewhere |
| 18:32:06 | hemulen enters the room. | |
| 18:35:30 | ijcd enters the room. | |
| 18:38:00 | imajes enters the room. | |
| 18:39:09 | dgtized | I'm getting undefined references to strlcpy and strlcat |
| 18:39:20 | dgtized | where are those from -- man pages don't believe they exist |
| 18:41:11 | dgtized | ah found them in our source -- but they don't seem to be compiled in time for ffi.h to find them |
| 18:42:51 | michalw leaves the room. | |
| 18:43:13 | michalw enters the room. | |
| 18:48:46 | rue | It should be using the system ones anyway |
| 18:49:14 | imajes leaves the room. | |
| 18:52:29 | Defiler | dbussink: If you put a comment there, you will need to adjust the rakefile to ignore commented lines |
| 18:54:10 | dbussink | rue: those are not default c functions |
| 18:57:06 | dgtized | yea man -k strlcpy returns nothing |
| 18:57:42 | evan | it's an openbsd funciton |
| 18:57:45 | evan | it's not in linux. |
| 18:57:49 | evan | we have a private copy though |
| 18:57:50 | evan | in vm/ |
| 18:57:53 | drbrain | http://www.freebsd.org/cgi/man.cgi?query=strlcpy |
| 18:57:58 | drbrain | BSDism |
| 18:58:05 | dgtized | yes, but it's getting undefined reference errors during compiling |
| 18:58:54 | evan | dgtized: please pastie the compilation |
| 18:59:29 | dgtized | http://gist.github.com/3134 |
| 19:00:33 | evan | perhaps zenspider messed it up |
| 19:00:34 | evan | one sec. |
| 19:01:43 | evan | hm. |
| 19:03:17 | dgtized | I mean it's including strlcpy.o in the list of objects |
| 19:03:29 | evan | hrm. |
| 19:03:30 | dgtized | and there is a strlcpy.o that is in the directory |
| 19:03:30 | evan | yeah. |
| 19:04:04 | dgtized | size_t is an unsigned int right? |
| 19:04:28 | evan | i think so. |
| 19:04:30 | evan | hm |
| 19:04:39 | evan | maybe linux's ld requires the .o's to be in the right order. |
| 19:04:45 | dgtized | ? |
| 19:04:59 | dgtized | oh dependency wise? |
| 19:05:06 | evan | ffi.o is before strlcpy.o |
| 19:05:09 | evan | on the cmdline |
| 19:05:10 | evan | yeah |
| 19:05:35 | dgtized | ugh |
| 19:06:13 | evan | oh wait. |
| 19:09:30 | evan | dgtized: could ya do a 'rake clean && rake' |
| 19:09:32 | evan | just to be sure |
| 19:11:15 | dbussink | hmm, anyone who can explain why shotgun has float_eql and float_equal ? they are not exactly the same, but is there a rationale behind the fact that they both exist? |
| 19:11:35 | dgtized | evan: I've done several rake distcleans |
| 19:11:45 | evan | ok |
| 19:11:58 | dgtized | evan: I'll do it again, but I haven't been able to compile cpp branch in 3 weeks I think |
| 19:13:22 | dgtized | yup tried it again, same error |
| 19:13:56 | imajes enters the room. | |
| 19:15:50 | headius leaves the room. | |
| 19:15:54 | headius enters the room. | |
| 19:17:11 | headius leaves the room. | |
| 19:17:22 | headius enters the room. | |
| 19:17:45 | dfg59 enters the room. | |
| 19:28:29 | dbussink | evan: any idea on that question about the float_eql / float_equal primitives? |
| 19:28:43 | evan | hm, nope. |
| 19:28:48 | evan | need to ask brixen |
| 19:33:20 | bricolage leaves the room. | |
| 19:33:26 | dbussink | brixen: pokey poke :P |
| 19:40:04 | imajes leaves the room. | |
| 19:42:59 | headius_ enters the room. | |
| 19:42:59 | headius leaves the room. | |
| 19:43:29 | headius_ leaves the room. | |
| 19:43:57 | headius enters the room. | |
| 19:44:07 | headius leaves the room. | |
| 19:44:34 | evan | EARTHQUAKE! |
| 19:48:04 | wmoxam | http://survey.hamptoncatlin.com/ <--- Survey! |
| 19:49:11 | pauldix leaves the room. | |
| 20:10:32 | rubuildius_amd64 leaves the room. | |
| 20:11:21 | ezmobius enters the room. | |
| 20:11:34 | rubuildius_amd64 enters the room. | |
| 20:13:11 | rubuildius_ey64 leaves the room. | |
| 20:13:47 | rubuildius_ey64 enters the room. | |
| 20:15:42 | rubuildius_ey64 leaves the room. | |
| 20:16:14 | rubuildius_ey64 enters the room. | |
| 20:17:41 | rubuildius_amd64 leaves the room. | |
| 20:18:43 | rubuildius_amd64 enters the room. | |
| 20:19:33 | nicksieger leaves the room. | |
| 20:20:42 | rubuildius_ey64 leaves the room. | |
| 20:21:14 | rubuildius_ey64 enters the room. | |
| 20:21:53 | nicksieger enters the room. | |
| 20:22:41 | rubuildius_amd64 leaves the room. | |
| 20:23:43 | rubuildius_amd64 enters the room. | |
| 20:24:34 | GemBob | brixen: Good news, I've loaded the options.rb file you sent yesterday and also optparselong.rb :) |
| 20:25:42 | rubuildius_ey64 leaves the room. | |
| 20:26:03 | boyscout leaves the room. | |
| 20:26:15 | rubuildius_ey64 enters the room. | |
| 20:26:38 | evan leaves the room. | |
| 20:27:30 | GemBob | USGS estimates the quake at 5.8 - hope all is well down there! |
| 20:27:51 | rubuildius_amd64 leaves the room. | |
| 20:28:37 | shevy enters the room. | |
| 20:28:53 | rubuildius_amd64 enters the room. | |
| 20:30:41 | rubuildius_ey64 leaves the room. | |
| 20:30:43 | drbrain | LA eats 5.8s for breakfast |
| 20:30:54 | imajes enters the room. | |
| 20:30:59 | pauldix enters the room. | |
| 20:31:14 | rubuildius_ey64 enters the room. | |
| 20:32:08 | imajes leaves the room. | |
| 20:32:25 | GemBob | drbrain: just another day in the life, eh? |
| 20:32:51 | rubuildius_amd64 leaves the room. | |
| 20:33:53 | rubuildius_amd64 enters the room. | |
| 20:35:41 | rubuildius_ey64 leaves the room. | |
| 20:36:13 | rubuildius_ey64 enters the room. | |
| 20:37:51 | rubuildius_amd64 leaves the room. | |
| 20:38:53 | rubuildius_amd64 enters the room. | |
| 20:40:41 | rubuildius_ey64 leaves the room. | |
| 20:41:13 | rubuildius_ey64 enters the room. | |
| 20:42:16 | headius enters the room. | |
| 20:42:18 | headius | hey |
| 20:42:22 | mass | hi headius |
| 20:42:34 | headius | bringing it up again because we're probably going to fix it today...need a way to specify calling convention in FFI |
| 20:42:50 | headius | I can twiddle jruby-ffi to have something in probably just a few minutes |
| 20:42:51 | rubuildius_amd64 leaves the room. | |
| 20:43:15 | headius | but trying to figure best way to wire it in |
| 20:43:35 | headius | set_ffi_call_convention :stdcall? |
| 20:43:49 | headius | a parameter to attach_function seems excessive |
| 20:43:53 | rubuildius_amd64 enters the room. | |
| 20:44:23 | mass | headius: calling convention for C functions can be specified per-function for most compilers |
| 20:44:57 | headius | yes, I suppose that's true |
| 20:44:58 | headius | so perhaps it does need to be an optional param to attach_* |
| 20:45:41 | rubuildius_ey64 leaves the room. | |
| 20:46:04 | rue | headius: Look at #attach_foreign |
| 20:46:07 | mass | headius: for visual C++, http://msdn.microsoft.com/en-us/library/984x0h58.aspx |
| 20:46:13 | rubuildius_ey64 enters the room. | |
| 20:46:47 | mass | (they moved __pascal, __fortran and __syscall to the graveyard a while back) |
| 20:46:50 | rue | headius: If you like it, maybe we can overcome the irrational aversion to the style |
| 20:47:00 | rue | mass: How are things? |
| 20:47:08 | mass | rue: always busy :) |
| 20:47:36 | rue | headius: So attach_foreign ..., :call_convention => |
| 20:47:38 | mass | getting an iphone soon, and starting some iphone app dev. |
| 20:47:51 | rubuildius_amd64 leaves the room. | |
| 20:48:07 | rue | mass: Ah, cool! Have you looked at the devkit? How is it? |
| 20:48:07 | headius | rue: is the primary difference here the options hash then? |
| 20:48:40 | mass | right now, I'm actually figuring out safari and firefox behavior on www-authenticate: negotiate,ntlm,basic |
| 20:48:53 | rubuildius_amd64 enters the room. | |
| 20:48:53 | rue | headius: Yeah. Plus the layout is [ret] [name] [args, ..] |
| 20:48:57 | mass | since they seem to work sanely, its time to see if IE also does |
| 20:49:02 | mass | unfortunately that is more doubtful :) |
| 20:50:41 | rubuildius_ey64 leaves the room. | |
| 20:51:12 | rue | headius: I wrote _foreign initially to support specifying the library to load from |
| 20:51:13 | rubuildius_ey64 enters the room. | |
| 20:51:32 | headius | I have no particular style concerns |
| 20:51:46 | headius | but attach_foreign does open up the possibility of a :cc => :stdcall option |
| 20:52:06 | headius | I've just had three people come into JRuby today asking how to call win32 API |
| 20:52:24 | rue | headius: I think the hash args style is better than have eight different set_ffi_* methods |
| 20:52:46 | headius | well the concern I have is when binding, say, system32.dll |
| 20:52:51 | rubuildius_amd64 leaves the room. | |
| 20:52:58 | headius | nobody will want to have to specify cc for every single function |
| 20:53:10 | rue | Naturally, by last count, I think I was in the minority |
| 20:53:11 | headius | ideally there should be a way to set a default for a whole module |
| 20:53:53 | rubuildius_amd64 enters the room. | |
| 20:53:58 | rue | Yeah. I think this would have best been resolved through the platform abstraction but I lost that argument too |
| 20:54:36 | rue | headius: If using the include style, it would be a bit more natural: include FFI::Win32 or something |
| 20:54:48 | headius | that's not bad |
| 20:55:04 | headius | except we're talking a module body |
| 20:55:20 | headius | include would have to be extend or something, and that starts to seem a little odd |
| 20:55:38 | headius | actually the "set" should go away anyway |
| 20:55:41 | Norgg | /q aanand |
| 20:55:41 | rubuildius_ey64 leaves the room. | |
| 20:55:43 | headius | ffi_lib 'c' |
| 20:55:44 | Norgg | Erk. |
| 20:55:52 | headius | ffi_call_convention :stdcall |
| 20:56:03 | headius | set is redundant |
| 20:56:08 | rue | How about going the Integer route? |
| 20:56:14 | rubuildius_ey64 enters the room. | |
| 20:56:39 | rue | class Foo; FFI :C, 'libc'; end |
| 20:57:04 | rue | I just like the capital method name to indicate the special status |
| 20:57:13 | headius | maybe so |
| 20:57:51 | rubuildius_amd64 leaves the room. | |
| 20:58:53 | rubuildius_amd64 enters the room. | |
| 20:58:54 | headius | how about just "ffi_stdcall" |
| 20:59:01 | headius | like public/private toggles |
| 20:59:17 | headius | ffi_stdcall ; attach_function ... |
| 20:59:50 | rue | It should be a block, I think.. otherwise the scope looks ambiguous. Is it local, global? |
| 21:00:06 | headius | ambiguous like public/private? ) |
| 21:00:07 | headius | :) |
| 21:00:22 | headius | not that I'm particularly a fan of magic thread-unsafe toggles |
| 21:00:41 | rubuildius_ey64 leaves the room. | |
| 21:00:44 | rue | Yep |
| 21:01:08 | headius | stdcall { ... } |
| 21:01:13 | rubuildius_ey64 enters the room. | |
| 21:02:50 | rubuildius_amd64 leaves the room. | |
| 21:03:53 | rubuildius_amd64 enters the room. | |
| 21:05:41 | rubuildius_ey64 leaves the room. | |
| 21:06:14 | rubuildius_ey64 enters the room. | |
| 21:06:36 | rue | Perhaps overthinking it, but is there then a risk of "losing" the FFI stuff in a jumble of letters? There would be visual benefit from separating the foreign functions into a class; class A; class Functions < FFI; library 'libc'; ... |
| 21:07:05 | headius | actually I strongly agree that FFI bits shouldn't be mixed with regular bits |
| 21:07:26 | headius | like there should be a ZlibFFI module that Zlib can mix in perhaps |
| 21:07:51 | rubuildius_amd64 leaves the room. | |
| 21:07:59 | headius | it also increases the amount of code ends up in the generated output |
| 21:08:15 | headius | most of the zlib.rb code is identical from platform to platform |
| 21:08:31 | rue | Yeah |
| 21:08:41 | headius | in JRuby we have it split a bit differently |
| 21:08:53 | rubuildius_amd64 enters the room. | |
| 21:08:59 | headius | all the FFI stuff is in site_ruby/1.8/ffi/platform/[PLATFORM] |
| 21:09:11 | headius | and zlib.rb, syslog.rb, etc require in the correct one |
| 21:09:31 | rue | Apparently we will cross that bridge when we come to it and not plan it ahead :) |
| 21:09:51 | headius | the agile manifesto: let shit blindside you every day |
| 21:10:41 | rubuildius_ey64 leaves the room. | |
| 21:10:44 | VVSiz | hey, guys, just a heads-up. syslog is not really working at the moment. all those #log, #info, #warning methods raise an error |
| 21:11:13 | rubuildius_ey64 enters the room. | |
| 21:11:26 | rue | Maybe that is on purpose? |
| 21:12:01 | headius | a const missing error :) |
| 21:12:20 | headius | it would be an unusual purpose |
| 21:12:38 | VVSiz | hmm, I can't seem to pull the latest rubinius code... |
| 21:12:46 | VVSiz | ssh: git.rubini.us: Name or service not known |
| 21:12:51 | rubuildius_amd64 leaves the room. | |
| 21:13:10 | jgre leaves the room. | |
| 21:13:26 | rue | Taking really long here |
| 21:13:54 | rubuildius_amd64 enters the room. | |
| 21:13:57 | rue | Hoshi might be offline, evan is |
| 21:15:33 | rue | VVSiz: There is always the Github mirror |
| 21:15:41 | rubuildius_ey64 leaves the room. | |
| 21:15:46 | rue | Which we really should be using as the main repository.. |
| 21:15:53 | evan enters the room. | |
| 21:15:54 | headius | yeah, why haven't you guys moved anyway |
| 21:16:03 | evan | arg. |
| 21:16:12 | evan | my servers are not doing very well these days. |
| 21:16:14 | rubuildius_ey64 enters the room. | |
| 21:16:16 | rue | Ha, my magical PSI worked |
| 21:16:23 | VVSiz | :) |
| 21:17:46 | rubuildius_amd64 leaves the room. | |
| 21:17:51 | rue | evan: Was there anything in particular holding back from using Github? |
| 21:18:13 | evan | well, we were going to do some organizational things |
| 21:18:17 | headius | ok looks like most of our FFI is implemented in Ruby also |
| 21:18:19 | evan | related to EY |
| 21:18:27 | evan | i was going to do them at the same time |
| 21:18:33 | evan | but I'm thinking we should just move now. |
| 21:18:43 | evan | i'm going to work on it a bit today. |
| 21:18:46 | headius | looks like our attach_fuction calls attach_foreign anyway, btw |
| 21:18:48 | rubuildius_amd64 enters the room. | |
| 21:19:17 | evan | headius: we never used attach_foreign |
| 21:19:24 | evan | rue wrote it, but it was never used. |
| 21:20:41 | rubuildius_ey64 leaves the room. | |
| 21:21:02 | rue | Technically it is mostly a matter of switching the remote URL and adding collaborators, no? |
| 21:21:13 | rubuildius_ey64 enters the room. | |
| 21:21:30 | evan | rue: it's pretty easy, eyah. |
| 21:22:48 | headius | evan: I'm adding a basic way to specify call convention to our FFI |
| 21:22:51 | rubuildius_amd64 leaves the room. | |
| 21:23:02 | headius | at the moment just through attach_foreign with :convention => :stdcall |
| 21:23:35 | headius | had a few people in #jruby today asking if they could call win32 from jruby |
| 21:23:53 | rubuildius_amd64 enters the room. | |
| 21:25:41 | rubuildius_ey64 leaves the room. | |
| 21:26:13 | rubuildius_ey64 enters the room. | |
| 21:27:28 | imajes enters the room. | |
| 21:27:47 | rubuildius_amd64 leaves the room. | |
| 21:27:58 | evan | headius: thats funny |
| 21:28:08 | evan | since I was planning to delete attach_foreign |
| 21:28:49 | rubuildius_amd64 enters the room. | |
| 21:29:43 | headius | well I'm open to suggestions on where to specify call convention |
| 21:29:59 | headius | we tossed around a few ideas |
| 21:30:00 | evan | you shouldn't have to |
| 21:30:08 | evan | it should be infered automatically, right? |
| 21:30:09 | headius | how do you figure |
| 21:30:20 | evan | ie, if you're on win32 platform, you use win32 call convention |
| 21:30:22 | evan | automatically. |
| 21:30:41 | rubuildius_ey64 leaves the room. | |
| 21:30:42 | headius | you can mix stdcall and normal calling in the same process |
| 21:30:50 | rue | It is possible to have libraries with different conventions |
| 21:30:55 | evan | headius: sure, but who does? |
| 21:30:58 | headius | even in the same library |
| 21:31:13 | evan | sounds like a terrible way to develop a C library |
| 21:31:14 | rubuildius_ey64 enters the room. | |
| 21:31:15 | evan | personally. |
| 21:31:15 | headius | evan: anyone linking dlls built with different compilers |
| 21:31:42 | evan | i guess win32 people actually change the call convention then? |
| 21:31:48 | headius | even windows libraries use __cdecl some places |
| 21:32:00 | evan | and i've been living in a blissful world of unix call conventions? |
| 21:32:08 | VVSiz | just in case: http://rubyspec.org/issues/show/47 |
| 21:32:45 | headius | I've monkeyed with enough win32 stuff to know that we absolutely need a way to specify call convention |
| 21:32:51 | rubuildius_amd64 leaves the room. | |
| 21:33:26 | evan | that sucks. |
| 21:33:34 | evan | and it has to be PER symbol? |
| 21:33:53 | rubuildius_amd64 enters the room. | |
| 21:34:18 | headius | no |
| 21:34:23 | rue | It could be, though I imagine that would be rare |
| 21:34:30 | headius | I think it should be possible to specify per symbol, but probably have a way to set a default |
| 21:34:52 | evan | headius: if you add support for that |
| 21:34:54 | evan | we need to as well. |
| 21:34:58 | rue | I am leaning on using an explicit subclass |
| 21:34:59 | headius | it's not uncommon to have two libs with different conventions, but functions within the same lib having different is pretty rare |
| 21:35:03 | evan | I, again, hesitate to use attach_foreign |
| 21:35:06 | evan | since it's never been used |
| 21:35:15 | evan | nothing written against FFI uses attach_foreign |
| 21:35:30 | headius | well perhaps we should settle that then |
| 21:35:41 | rubuildius_ey64 leaves the room. | |
| 21:36:15 | rubuildius_ey64 enters the room. | |
| 21:36:27 | headius | rue seemed to hope people would migrate toward _foreign |
| 21:36:52 | evan | i find it unnecessary |
| 21:36:59 | headius | I don't have a particular style preference, but it is more typing |
| 21:37:03 | rue | I think it is a better option than _function and what seem haphazard set_ functions |
| 21:37:23 | evan | it's SO un-dry though. |
| 21:37:30 | headius | that's another point I wanted to bring up...set_ffi_lib seems like it could just be ffi_lib |
| 21:37:36 | headius | and any other sets as well |
| 21:37:41 | evan | having to pass the library in on every call to it |
| 21:37:45 | headius | ffi_convention :stdcall |
| 21:37:45 | evan | all the keys |
| 21:37:51 | rubuildius_amd64 leaves the room. | |
| 21:37:54 | rue | ffi_lib :libc do ... end maybe |
| 21:38:02 | evan | why a block? |
| 21:38:06 | evan | that seems unnecessary. |
| 21:38:31 | rue | But I would favour class A; class Foreign < FFI; library :libc; ... over the rest |
| 21:38:45 | rue | evan: Because without the block it is not obvious what the scope of the method is |
| 21:38:53 | rubuildius_amd64 enters the room. | |
| 21:38:55 | evan | it's the module |
| 21:39:00 | evan | i think it's obvious and simple. |
| 21:39:20 | evan | i'd prefer to NOT invent a brand new API |
| 21:39:20 | rue | You know it, I know it, but it is not an innately obvious name |
| 21:39:38 | evan | we can certainly do that later, but taht doesn't in any way make it "common" |
| 21:39:43 | evan | if we rewrite the API. |
| 21:39:50 | rue | Then we end up with attach_function and eighteen different ffi_ methods |
| 21:39:58 | evan | we have one ffi_ method. |
| 21:40:06 | rue | Two |
| 21:40:11 | evan | what is the other? |
| 21:40:23 | rue | Calling convention. Next week it might be 3 |
| 21:40:38 | evan | wait |
| 21:40:41 | rubuildius_ey64 leaves the room. | |
| 21:40:53 | evan | so you're saying taht having to put them on the end of every call to attach_foreign is better than typing them once at the top? |
| 21:41:11 | evan | i'd don't personally care how many ffi_ methods there are. |
| 21:41:14 | rubuildius_ey64 enters the room. | |
| 21:41:25 | evan | we'd talked about making FFI a mixin |
| 21:41:30 | evan | rather than always having the methods on Module |
| 21:41:39 | evan | then who cares how many there are |
| 21:41:46 | headius | that does blunt some of the concern about lots of ffi_ methods |
| 21:42:23 | drbrain | nobody does private do ... end, but every body understands how it works |
| 21:42:29 | drbrain | I am not a fan of extra blocks |
| 21:42:35 | rue | I am not sure why I am rehashing this argument |
| 21:42:38 | rue | You all figure it out |
| 21:42:51 | rubuildius_amd64 leaves the room. | |
| 21:43:04 | headius | there's also an argument for saying you can't mix calling conventions in a given ffi module |
| 21:43:15 | headius | it's not a hard leap to make |
| 21:43:43 | headius | so it's normal by default and you can specify stdcall if you want to use stdcall for everything |
| 21:43:53 | rubuildius_amd64 enters the room. | |
| 21:43:56 | evan | headius: sure. |
| 21:45:42 | rubuildius_ey64 leaves the room. | |
| 21:45:59 | benny enters the room. | |
| 21:46:13 | rubuildius_ey64 enters the room. | |
| 21:46:49 | headius | twould also be nice if we could decide before Jruby 1.1.4 if _foreign is in or out |
| 21:46:58 | headius | once it's out there it's a pain to remove it |
| 21:47:21 | evan | well, we've got it in there, but have never used it. |
| 21:47:37 | evan | i don't like that it reverses the order of things |
| 21:47:39 | evan | myself |
| 21:47:46 | evan | and it's not used. |
| 21:47:51 | rubuildius_amd64 leaves the room. | |
| 21:48:53 | rubuildius_amd64 enters the room. | |
| 21:49:14 | headius | could we settle on ffi_lib and ffi_convention for now then? |
| 21:49:51 | evan | sure |
| 21:49:52 | evan | well |
| 21:50:03 | evan | they should be set_ too |
| 21:50:08 | headius | the set_ seems unnecessary to me |
| 21:50:15 | evan | otherwise we have to go back and change everything that uses set_ffi_lib |
| 21:50:22 | headius | what's wrong with tht |
| 21:50:23 | evan | of which there are things |
| 21:50:33 | headius | gotta be maybe one line per file |
| 21:50:35 | evan | i'm lazy. |
| 21:50:41 | rubuildius_ey64 leaves the room. | |
| 21:51:14 | rubuildius_ey64 enters the room. | |
| 21:52:22 | headius | well, I like ffi_lib better...set_ is such a non-rubyism |
| 21:52:47 | rubuildius_amd64 leaves the room. | |
| 21:52:52 | headius | and conventions for in-class modifiers is to just have them act like simple toggles |
| 21:53:14 | evan | well |
| 21:53:19 | evan | are you going to make it a mixin too? |
| 21:53:34 | headius | well I think we should |
| 21:53:39 | headius | we're not making any changes unilaterally though |
| 21:53:49 | rubuildius_amd64 enters the room. | |
| 21:53:54 | evan | ok |
| 21:54:03 | evan | since we're going to make both of those changes |
| 21:54:09 | evan | seems fine. |
| 21:55:03 | headius | ok |
| 21:55:32 | evan | since we'll no doubt make API changes in the future |
| 21:55:41 | evan | we should stamp a version number on the current API |
| 21:55:42 | rubuildius_ey64 leaves the room. | |
| 21:55:48 | headius | so ffi_lib, ffi_convention with say :default and :stdcall for now, and FFI as an extend'able mixin |
| 21:56:07 | evan | yeah. |
| 21:56:10 | rubuildius_amd64 leaves the room. | |
| 21:56:13 | rubuildius_ey64 enters the room. | |
| 21:56:26 | headius | sounds good |
| 21:56:37 | evan | lets go ahead and call this version 1 |
| 21:56:48 | imajes leaves the room. | |
| 21:56:52 | evan | the version with the changes |
| 21:57:00 | headius | I could toss this on rbx mailing list if you like |
| 21:57:05 | evan | please |
| 21:57:07 | headius | I'm filing a jruby bug for wmeissner now |
| 21:57:13 | rubuildius_amd64 enters the room. | |
| 21:57:26 | evan | brb. |
| 21:57:27 | evan leaves the room. | |
| 21:57:30 | imajes enters the room. | |
| 21:58:03 | evan enters the room. | |
| 21:58:17 | drbrain | a cop just hit a parked car outside robot |
| 21:58:50 | boyscout enters the room. | |
| 21:59:02 | evan | hah |
| 22:02:04 | headius | evan: any chance we could allow symbols for the function name for "version 1"? |
| 22:02:18 | headius | I still feel like that's going to trip a lot of people up |
| 22:02:34 | rue | Maybe you can add #ffi_allow_symbol_names |
| 22:02:50 | headius | it almost feels like attach_function is an analog to alias_method |
| 22:03:07 | headius | but you're giving a callable name to a C function |
| 22:06:34 | evan | headius: oh sure |
| 22:06:35 | evan | why not |
| 22:06:36 | evan | :D |
| 22:08:13 | headius | hooray |
| 22:08:46 | headius | ok, I sent out my email...one last suggestion/open question I added was to swap <c func name> and <bound name> in the arg list |
| 22:08:56 | headius | so that the specifiers for the C func are always next to each other |
| 22:09:21 | headius | attach_function :getuid, [], :uint or attach_function :my_getuid, :getuid, [], :uint |
| 22:09:52 | headius | the latter being a bit more in line with alias_method :new_name, :old_name |
| 22:10:37 | headius | obviously it's a larger change to twiddle existing ffi libs |
| 22:10:59 | headius | but this is one that's going to be pretty much set in stone once released...can't really change arg ordering later |
| 22:11:31 | brixen | dbussink: you still around? |
| 22:12:37 | brixen | headius: that seems reasonable to me |
| 22:12:55 | blakewatters leaves the room. | |
| 22:13:11 | brixen | it's not that big a deal to change those now |
| 22:13:16 | brixen | I'll volunteer :) |
| 22:14:06 | brixen | dbussink: if you read the logs, ri Float#== and you'll see why there are two primitives |
| 22:16:11 | evan | headius: i think the current order is the correct order. |
| 22:16:20 | evan | headius: i went back and forth and settled on the current one |
| 22:16:35 | evan | because it binds the C name to the C argtypes |
| 22:16:43 | evan | in the order. |
| 22:16:53 | headius | that doesn't change |
| 22:17:09 | headius | the order of the C related stuff is the same |
| 22:17:29 | headius | and better, it's guaranteed to be name, params, return regardless of whether you specify a different ruby name to bind it to |
| 22:18:00 | headius | it's the stuffing of that optional ruby name in the middle of the c-related args that seems kinda jarring to me |
| 22:18:21 | headius | bind getuid, with params...oh wait, bind to this name...with params X, return value Y |
| 22:21:14 | evan | sorry |
| 22:21:16 | evan | i don't follow. |
| 22:21:32 | evan | oh |
| 22:21:36 | headius | the ruby name should come first, if it's specified at all, rather than after the C name |
| 22:21:39 | evan | you don't like that the optional is at the front? |
| 22:21:48 | headius | wait, maybe I'm wrong |
| 22:21:49 | evan | would you rather there be no optional? |
| 22:21:55 | headius | I thought it was the second arg that was the optional ruby name |
| 22:21:56 | evan | thats just more typing |
| 22:22:03 | evan | it is |
| 22:22:12 | headius | ok, that's all I'm saying then...I think it shoudl be the first arg |
| 22:22:28 | evan | i think it is. |
| 22:22:31 | evan | didn't we dump the first arg? |
| 22:22:38 | headius | attach_function [optional ruby name], <c name>, <c args>, <c return> |
| 22:22:54 | evan | thats what it is. |
| 22:24:51 | evan | ew. |
| 22:25:05 | headius | I don't think so |
| 22:25:07 | evan | i don't like that someone made Module#env in ffi.rb |
| 22:25:11 | evan | headius: it is |
| 22:25:14 | evan | i'm looking at the code now. |
| 22:25:31 | headius | ➔ ../rubinius/bin/rbx -e "module Foo; attach_function 'getuid', :my_getuid, [], :uint; end; p Foo.my_getuid" |
| 22:25:31 | headius | 501 |
| 22:25:43 | headius | it's the second arg there |
| 22:25:48 | evan | huh? |
| 22:25:59 | evan | oh oh |
| 22:26:01 | headius |