Show enters and exits. Hide enters and exits.
| 00:00:21 | rue | This 4.2.1 -O2 issue is weird...going to open a ticket so I remember |
| 00:00:42 | evan | cool |
| 00:04:16 | evan | brain fart: how do you see gcc's default #defines |
| 00:05:05 | rue | -dM? |
| 00:05:14 | evan | yes |
| 00:05:15 | evan | der |
| 00:05:18 | evan | why did I think it was -dP |
| 00:05:20 | evan | anyway. |
| 00:24:56 | boyscout | Add 64bit version of Object::hash and String::hash - a9288de - Evan Phoenix |
| 00:25:05 | evan | rue: ok, that should be a better fix for #10 |
| 00:27:10 | rue | Huh. I finally figured out how to change the tag colour for issues |
| 00:36:06 | boyscout | Fix String::hash to work on 64bit - 8c89bca - Evan Phoenix |
| 00:50:22 | rue | Yup, better |
| 00:51:41 | rue | Hm, odd. The homepage feed says mernen closed the issue, though the actual issue has correct data |
| 00:51:55 | rue | Wonder if that is the same for all autocloses |
| 00:52:18 | evan | weird. |
| 00:52:23 | evan | since i closedit. |
| 00:55:07 | rue | Mm. Seems it uses the reporter for autocloses |
| 00:55:21 | rue | On the feed screen only, though |
| 00:55:52 | evan | sounds like a bug |
| 00:56:07 | evan | which feed is this? |
| 00:56:53 | rue | The default you see at github.com |
| 00:57:02 | rue | "Your dashboard" |
| 00:57:23 | evan | ah yep |
| 00:57:25 | evan | that must be a bug. |
| 01:01:27 | rue | Looks like there is a "discussion" open already |
| 01:25:38 | rue | evan: OK, <3 Signature |
| 01:26:14 | evan | hah |
| 01:26:15 | evan | :D |
| 01:27:00 | evan | i particularly like Signature::<<(const char*) |
| 01:27:08 | rue | Yes |
| 01:27:28 | rue | Poking around to see how easy it would be to rewrite the FFI stubbing |
| 01:27:40 | evan | nice |
| 01:27:57 | evan | we're spending a lot of time looping, setting up arguments for libffi |
| 01:28:08 | evan | a lot, compared to the time the function itself takes |
| 01:34:15 | rue | One alternative being generating individual wrappers |
| 01:34:40 | evan | sure |
| 01:34:44 | evan | one wrapper per function |
| 01:34:49 | evan | like we did with GNU lightning |
| 01:35:07 | lopex | what happened with lightning ? |
| 01:35:18 | evan | even if the wrapper was just doing a series of call's to conversion functions |
| 01:35:30 | evan | then a call + args to the external function |
| 01:35:35 | evan | then a call to another conversion function |
| 01:35:43 | evan | i'm betting that would be faster than the current method |
| 01:36:02 | evan | lopex: that was years ago my friend :) |
| 01:36:21 | lopex | evan: no optimizing facilities ? |
| 01:36:25 | lopex | etc ? |
| 01:36:50 | lopex | no ir ? |
| 01:36:58 | evan | busted |
| 01:37:06 | evan | i had hacks on hacks to make it work on darwin |
| 01:37:10 | evan | and it's completely C macros |
| 01:37:14 | evan | it's such a pain |
| 01:37:16 | lopex | ah |
| 01:37:25 | rue | evan: I am wondering how far this can be taken...technically it should be possible to just transform the *ruby* wrapper to do the conversion + call |
| 01:37:55 | evan | rue: which ruby wrapper? |
| 01:39:28 | lopex | the most funny thing is that ruby seems to have the most number of impl undergoing |
| 01:39:45 | lopex | including the SAP thing |
| 01:39:47 | evan | yeah |
| 01:39:50 | evan | the SAP thing is weird |
| 01:39:55 | rue | Erm, that did not make sense. I think I mean the executor |
| 01:39:56 | lopex | lol huh ? |
| 01:40:03 | evan | i've not met anyone thats talked to anyone on that team |
| 01:40:23 | evan | rue: yes, thats what I mean too |
| 01:40:34 | evan | rue: generate a custom executor for each FFI function |
| 01:40:53 | evan | N calls to convert the args |
| 01:40:58 | evan | call the function |
| 01:41:03 | evan | call to convert the return value |
| 01:41:04 | evan | return |
| 01:41:14 | evan | once thats done |
| 01:41:18 | evan | we can play with getting fancier |
| 01:41:28 | evan | wrt putting some arg conversion inline |
| 01:42:20 | rue | Yeh. I seem to have one more layer of indirection between the send and the executor in my mental model |
| 01:42:39 | evan | there is the lookup |
| 01:42:48 | evan | but we've worked hard to remove any other levels |
| 01:43:02 | evan | even stuff like accessors for slots now have special executors |
| 01:43:09 | evan | that install themselves after the first use |
| 01:44:44 | lstoll | what SAP thing? |
| 01:44:50 | rue | Mm, oh, the executor calls the actual nfunc is the step I was thinking, but that comes after the point of insertion so it is taken care of |
| 01:45:11 | evan | rue: ah yes, thats what we'd call the slow path |
| 01:45:32 | evan | the NativeFunction::execute is generic, using libffi to do the actual calling |
| 01:45:43 | evan | we'd create new executes and install them where the generic version was |
| 01:46:04 | evan | rue: this can even be done lazily |
| 01:46:09 | brixen | lstoll: http://www.infoq.com/news/2009/04/ruby-on-sap |
| 01:46:15 | evan | rue: we could put a simple call counter in NativeFunction |
| 01:46:18 | evan | and when it's used a bunch |
| 01:46:25 | evan | generate a faster version and install it |
| 01:47:02 | rue | Right |
| 01:47:22 | evan | it's easy enough to shunt that to the background compiler thread too |
| 01:47:52 | evan | if(++calls > threshold) LLVMState::get(state)->compile_stub(this); |
| 01:48:11 | brixen | lstoll: the total rubyspec number in that article is way off though |
| 01:48:21 | lstoll | sounds like buzzword compliance. I guess we can all call ourselves SAP consultants, and charge a arm and a leg, and then some |
| 01:49:24 | lopex | "buzzword compliance" I like that |
| 01:49:25 | brixen | well, maybe not way off, but there's 5833 in core and over 14k total iirc |
| 01:51:05 | lstoll | either way, they are missing a large chunk. the whole thing sounds like the sales crap I had to deal with in my old job. |
| 01:51:52 | rue | The video thingy looked definitely like an R&D project |
| 01:55:27 | lstoll | I do have bias against SAP people though |
| 02:06:06 | boyscout | Minor refactoring of JIT code - eb19e6d - Evan Phoenix |
| 02:24:19 | tarcieri | hmmm |
| 02:24:26 | tarcieri | so I'm sitting here with one of the PyPy guys |
| 02:24:34 | tarcieri | surrounded by pythonistas in general lol |
| 02:28:31 | evan | tarcieri: where you at? |
| 02:37:23 | tarcieri | evan: some "hack fest" thing at CU |
| 02:50:11 | brixen | tarcieri: represent |
| 02:50:22 | brixen | oh wait, I guess that means reia :) |
| 02:59:11 | tarcieri | haha |
| 02:59:32 | tarcieri | they invited me there to talk about Reia but much like Erlang Factory I spent quite a bit of time talking about Ruby |
| 02:59:40 | tarcieri | it's total bizzaro world though |
| 03:00:02 | tarcieri | "we have all these tools that do the exact same things as you but with different names!" |
| 03:00:32 | tarcieri | it's kind of strange though... one of them was talking about some test coverage analysis tool and that was... novel to them all? |
| 03:00:42 | tarcieri | same thing with continuous integration |
| 03:00:45 | tarcieri | he was showing off buildbot |
| 03:00:52 | tarcieri | whose UI seemed rather ugly |
| 03:01:19 | tarcieri | this guy had automated packaging of his software across multiple environments but he didn't do that as part of continuous integration testing |
| 03:02:32 | tarcieri | of course there's the flipside... them asking things like "how easy is it to take a RubyGem and turn it into a native package for a bunch of Linux distributions like... (insert Python tool here, forget its name)" and it's like "Durr you really can't do that :/" |
| 03:04:09 | tarcieri | anyway, enough nerding out I guess... it's Friday night |
| 03:23:05 | ddub | friday night is when you can truly nerd out |
| 04:17:09 | rue | Is it Friday? |
| 06:15:39 | ddub | rue: in some parts of the world |
| 17:29:03 | seydar | rue: dan of waves just said your name! |
| 17:45:28 | rue | I am clearly famous now |
| 20:50:11 | ddub | my brain hurts |
| 20:53:35 | scoopr | I sympathize |
| 20:54:16 | rue | I empathise |
| 20:54:29 | scoopr | that too |
| 22:15:15 | seacreature | brixen, evan: Had a long chat with david black today about the RubySpec web interface |
| 22:15:31 | brixen | seacreature: coool |
| 22:15:38 | brixen | what'd he say? |
| 22:15:53 | seacreature | He's really interested, and will either support by dedicating time, or talk to RubyCentral folks about other ways to support it |
| 22:16:01 | brixen | nice |
| 22:16:18 | seacreature | Also, the guy I work for is in town for GoRuCo and staying with me over the weekend |
| 22:16:25 | seacreature | so we are going to break ground on a dumb prototype |
| 22:16:33 | seacreature | that at least shows off some search and reporting functionality |
| 22:16:42 | seacreature | we will probably manually seed it, but with some real data |
| 22:16:48 | brixen | sounds awesome |
| 22:17:06 | seacreature | brixen: http://pastie.org/495016 |
| 22:17:19 | brixen | you can use the -fy option and pull in yaml to your db |
| 22:17:36 | seacreature | I'd appreciate feedback. I plan to announce this monday or tuesday, along with some working code |
| 22:17:43 | seacreature | (for some tiny subset of the problem) |
| 22:18:08 | rue | Nice |
| 22:18:17 | rue | How was the talk/rest of conf? |
| 22:19:37 | seacreature | still going on |
| 22:19:53 | seacreature | it's been going awesome |
| 22:20:04 | seacreature | last main talk now (yehuda), then rejectconf |
| 22:20:20 | seacreature | The only thing that was unfortunate was that I didn't get to say much about any of the alt. implementations |
| 22:20:33 | seacreature | I wanted to tell the story of the difficult atmosphere you guys are in |
| 22:20:34 | Defiler | rue: You got namedropped in the Waves talk, actually |
| 22:20:40 | seacreature | and it was well received |
| 22:20:47 | seacreature | that's right. I wish I had a link to that code |
| 22:20:58 | seacreature | I didn't see it closely but it looked very interesting |
| 22:21:41 | rue | Defiler: Hah, seydar already told me :) Though I do not think it exactly qualifies as "name dropping" :P Good picture of Eric and you, by the way...enjoying NY? |
| 22:21:58 | brixen | seacreature: the write-up looks good, I like that you are evangelizing for the regular ruby dev |
| 22:22:10 | rue | ^ |
| 22:22:15 | rue | There is only so much time |
| 22:22:23 | brixen | seacreature: it has always been my thought tha rubyspec is for all ruby devs, not just implementers |
| 22:22:26 | Defiler | rue: Yeah. I love this place |
| 22:22:34 | seacreature | brixen: I plan to start there and then go down the chain |
| 22:23:03 | seacreature | Usually I think the message should run the other way (from the core out) |
| 22:23:30 | seacreature | but with something like this we need to reach the masses because their voice is what forms the perception of the community |
| 22:23:59 | seacreature | and I'm secretly hoping to turn these folks into more hardcore geeks :) |
| 22:24:09 | brixen | heh, good plan :) |
| 22:28:35 | evan | rue: how were you name dropped? |
| 22:28:55 | rue | With considerable difficulty, I imagine |
| 22:29:05 | Defiler | He actually did OK with it |
| 22:29:23 | Defiler | but rue came up for having contributed a Waves 'foundation' for REST stuff |
| 22:29:26 | evan | props to whoever did the dropping. |
| 22:29:34 | seacreature | can someone link me to that code? |
| 22:29:41 | seacreature | I only caught a tiny bit of it and wanted to look closer |
| 22:30:53 | seacreature | evan, brixen, would you mind doing a short interview (via email) to help me justify my project? |
| 22:30:59 | Defiler | Rubinius has come up surprisingly often here, actually |
| 22:31:02 | seacreature | I'd post it on blog.rubybestpractices.com |
| 22:31:08 | evan | Defiler: wooop woop |
| 22:31:11 | rue | seacreature: http://github.com/waves/edge/tree/master is the repo itself...I dunno if Dan showed some specific code, but his slides are not up |
| 22:31:19 | evan | Defiler: it's my blog posting hype |
| 22:31:23 | evan | it's got poower! |
| 22:31:23 | Defiler | Also, man.. ffi is a slam dunk |
| 22:31:30 | evan | woop * 2 |
| 22:31:51 | evan | I think tomorrow I might get the FFI API's synced up |
| 22:31:51 | Defiler | I think I am going to finally release a gem that uses it, actually |
| 22:33:30 | seacreature | I basically want you guys to give some responses to questions about your original vision for RubySpec, about the challenges you've had, and ask you for a wish list. |
| 22:33:36 | seacreature | But it'd just be a few questions |
| 22:33:37 | brixen | seacreature: sure |
| 22:34:29 | evan | seacreature: it warms my heart that you're taking such an interest |
| 22:34:58 | ddub | evan: I thought you already had a pretty warm heart |
| 22:35:03 | brixen | heh |
| 22:35:05 | evan | it's pretty good, yeah. |
| 22:35:09 | marcandre | seacreature: interesting project! |
| 22:35:15 | evan | near 100 degrees actually! |
| 22:35:15 | seacreature | You guys have been doing a thankless job for a long time now. I just want to do my part to give back |
| 22:35:32 | ddub | yeah, god knows I don't give them any respect |
| 22:35:36 | ddub | ;-) |
| 22:36:04 | marcandre | Will it show any current "ruby_bug" for MRI/YARV? BTW, these should probably be on one line, not two... |
| 22:36:19 | seacreature | marcandre: We'll do many rounds of brainstorming |
| 22:36:22 | marcandre | Coz otherwise it'll be "PASSING" all the time |
| 22:36:26 | evan | ddub: thats what we've come to expect from you. |
| 22:36:29 | evan | *snarl* |
| 22:36:36 | seacreature | this weekend I plan to make something really basic |
| 22:36:59 | marcandre | k. I think the current ruby_bug would be nice to see there. Anyways, good luck with the project! |
| 22:37:30 | seacreature | marcandre: I agree |
| 22:37:50 | seacreature | The key to making this system really valuable is to have all sorts of different report types |
| 22:38:10 | evan | blarg |
| 22:38:12 | seacreature | But I need to get the data and look at it first to know what I can actually do right out the gate |
| 22:38:19 | evan | ok, rubygems exposes a bug that I need to fix |
| 22:38:27 | evan | i was upgrading us to 1.3.4 |
| 22:38:43 | evan | appears that return in a block thats used as define_method is broken |
| 22:38:48 | brixen | seacreature: mspec doesn't emit the guard reporting data as yaml yet, but we can fix that |
| 22:39:16 | seacreature | brixen: I was going to investigate that this weekend |
| 22:39:22 | seacreature | I definitely will need that stuff |
| 22:39:34 | seacreature | If you can make mspec emit as much crap as possible, it'll give me more possibilties |
| 22:39:55 | seacreature | I will be fine with rolling up my sleeves and patching it myself, but it's more likely that I'll work with what's there at first |
| 22:40:28 | brixen | seacreature: sure, we can jazz it up |
| 22:40:37 | seacreature | so if more is there, I can do more :) |
| 22:40:38 | brixen | seacreature: right now, you can get all the normal results as yaml |
| 22:40:40 | evan | ok, off to brunch-a-lunch |
| 22:40:54 | brixen | evan: almost time for supper :) |
| 22:41:11 | evan | i know |
| 22:41:17 | evan | abby and I slept WAY the fuck in today |
| 22:41:24 | brixen | heh, I guess |
| 22:42:57 | brixen | seacreature: what would help me is knowing more about the ways you expect people to use rubyspec, from that I think we figure out what data we need, and finally how to get it |
| 22:43:23 | brixen | seacreature: so far, we've been using it to see if code passes, or code regresses, and that's the data we have |
| 22:43:58 | seacreature | brixen: let me start with what you have, and then prototype out what we need |
| 22:44:03 | seacreature | mockup |
| 22:44:12 | brixen | sure |
| 22:44:30 | brixen | I'm more talking about what to ponder |
| 22:44:34 | brixen | we have a lot you can start with |
| 22:45:00 | seacreature | brixen: I'll definitely want to have that conversation soon. I'll get in touch as soon as we have something running |
| 22:46:31 | brixen | cool |
| 22:56:11 | seacreature | brixen: thing I know off the top of my head is that I need basically as much of the guard data as you can give me |
| 22:56:25 | seacreature | because I want to group the specs by them |
| 22:56:34 | seacreature | (in the reports) |
| 23:20:20 | brixen | seacreature: have you run the specs with --report or --report-on GUARD ? |
| 23:20:53 | seacreature | I haven't done anything with this at all yet, distracted from the conf. |
| 23:21:01 | seacreature | I'll try that tomorrow |
| 23:21:29 | brixen | ok |