Index

Show enters and exits. Hide enters and exits.

00:00:21rueThis 4.2.1 -O2 issue is weird...going to open a ticket so I remember
00:00:42evancool
00:04:16evanbrain fart: how do you see gcc's default #defines
00:05:05rue-dM?
00:05:14evanyes
00:05:15evander
00:05:18evanwhy did I think it was -dP
00:05:20evananyway.
00:24:56boyscoutAdd 64bit version of Object::hash and String::hash - a9288de - Evan Phoenix
00:25:05evanrue: ok, that should be a better fix for #10
00:27:10rueHuh. I finally figured out how to change the tag colour for issues
00:36:06boyscoutFix String::hash to work on 64bit - 8c89bca - Evan Phoenix
00:50:22rueYup, better
00:51:41rueHm, odd. The homepage feed says mernen closed the issue, though the actual issue has correct data
00:51:55rueWonder if that is the same for all autocloses
00:52:18evanweird.
00:52:23evansince i closedit.
00:55:07rueMm. Seems it uses the reporter for autocloses
00:55:21rueOn the feed screen only, though
00:55:52evansounds like a bug
00:56:07evanwhich feed is this?
00:56:53rueThe default you see at github.com
00:57:02rue"Your dashboard"
00:57:23evanah yep
00:57:25evanthat must be a bug.
01:01:27rueLooks like there is a "discussion" open already
01:25:38rueevan: OK, <3 Signature
01:26:14evanhah
01:26:15evan:D
01:27:00evani particularly like Signature::<<(const char*)
01:27:08rueYes
01:27:28ruePoking around to see how easy it would be to rewrite the FFI stubbing
01:27:40evannice
01:27:57evanwe're spending a lot of time looping, setting up arguments for libffi
01:28:08evana lot, compared to the time the function itself takes
01:34:15rueOne alternative being generating individual wrappers
01:34:40evansure
01:34:44evanone wrapper per function
01:34:49evanlike we did with GNU lightning
01:35:07lopexwhat happened with lightning ?
01:35:18evaneven if the wrapper was just doing a series of call's to conversion functions
01:35:30evanthen a call + args to the external function
01:35:35evanthen a call to another conversion function
01:35:43evani'm betting that would be faster than the current method
01:36:02evanlopex: that was years ago my friend :)
01:36:21lopexevan: no optimizing facilities ?
01:36:25lopexetc ?
01:36:50lopexno ir ?
01:36:58evanbusted
01:37:06evani had hacks on hacks to make it work on darwin
01:37:10evanand it's completely C macros
01:37:14evanit's such a pain
01:37:16lopexah
01:37:25rueevan: 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:55evanrue: which ruby wrapper?
01:39:28lopexthe most funny thing is that ruby seems to have the most number of impl undergoing
01:39:45lopexincluding the SAP thing
01:39:47evanyeah
01:39:50evanthe SAP thing is weird
01:39:55rueErm, that did not make sense. I think I mean the executor
01:39:56lopexlol huh ?
01:40:03evani've not met anyone thats talked to anyone on that team
01:40:23evanrue: yes, thats what I mean too
01:40:34evanrue: generate a custom executor for each FFI function
01:40:53evanN calls to convert the args
01:40:58evancall the function
01:41:03evancall to convert the return value
01:41:04evanreturn
01:41:14evanonce thats done
01:41:18evanwe can play with getting fancier
01:41:28evanwrt putting some arg conversion inline
01:42:20rueYeh. I seem to have one more layer of indirection between the send and the executor in my mental model
01:42:39evanthere is the lookup
01:42:48evanbut we've worked hard to remove any other levels
01:43:02evaneven stuff like accessors for slots now have special executors
01:43:09evanthat install themselves after the first use
01:44:44lstollwhat SAP thing?
01:44:50rueMm, 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:11evanrue: ah yes, thats what we'd call the slow path
01:45:32evanthe NativeFunction::execute is generic, using libffi to do the actual calling
01:45:43evanwe'd create new executes and install them where the generic version was
01:46:04evanrue: this can even be done lazily
01:46:09brixenlstoll: http://www.infoq.com/news/2009/04/ruby-on-sap
01:46:15evanrue: we could put a simple call counter in NativeFunction
01:46:18evanand when it's used a bunch
01:46:25evangenerate a faster version and install it
01:47:02rueRight
01:47:22evanit's easy enough to shunt that to the background compiler thread too
01:47:52evanif(++calls > threshold) LLVMState::get(state)->compile_stub(this);
01:48:11brixenlstoll: the total rubyspec number in that article is way off though
01:48:21lstollsounds like buzzword compliance. I guess we can all call ourselves SAP consultants, and charge a arm and a leg, and then some
01:49:24lopex"buzzword compliance" I like that
01:49:25brixenwell, maybe not way off, but there's 5833 in core and over 14k total iirc
01:51:05lstolleither 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:52rueThe video thingy looked definitely like an R&D project
01:55:27lstollI do have bias against SAP people though
02:06:06boyscoutMinor refactoring of JIT code - eb19e6d - Evan Phoenix
02:24:19tarcierihmmm
02:24:26tarcieriso I'm sitting here with one of the PyPy guys
02:24:34tarcierisurrounded by pythonistas in general lol
02:28:31evantarcieri: where you at?
02:37:23tarcierievan: some "hack fest" thing at CU
02:50:11brixentarcieri: represent
02:50:22brixenoh wait, I guess that means reia :)
02:59:11tarcierihaha
02:59:32tarcierithey invited me there to talk about Reia but much like Erlang Factory I spent quite a bit of time talking about Ruby
02:59:40tarcieriit's total bizzaro world though
03:00:02tarcieri"we have all these tools that do the exact same things as you but with different names!"
03:00:32tarcieriit'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:42tarcierisame thing with continuous integration
03:00:45tarcierihe was showing off buildbot
03:00:52tarcieriwhose UI seemed rather ugly
03:01:19tarcierithis guy had automated packaging of his software across multiple environments but he didn't do that as part of continuous integration testing
03:02:32tarcieriof 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:09tarcierianyway, enough nerding out I guess... it's Friday night
03:23:05ddubfriday night is when you can truly nerd out
04:17:09rueIs it Friday?
06:15:39ddubrue: in some parts of the world
17:29:03seydarrue: dan of waves just said your name!
17:45:28rueI am clearly famous now
20:50:11ddubmy brain hurts
20:53:35scooprI sympathize
20:54:16rueI empathise
20:54:29scooprthat too
22:15:15seacreaturebrixen, evan: Had a long chat with david black today about the RubySpec web interface
22:15:31brixenseacreature: coool
22:15:38brixenwhat'd he say?
22:15:53seacreatureHe's really interested, and will either support by dedicating time, or talk to RubyCentral folks about other ways to support it
22:16:01brixennice
22:16:18seacreatureAlso, the guy I work for is in town for GoRuCo and staying with me over the weekend
22:16:25seacreatureso we are going to break ground on a dumb prototype
22:16:33seacreaturethat at least shows off some search and reporting functionality
22:16:42seacreaturewe will probably manually seed it, but with some real data
22:16:48brixensounds awesome
22:17:06seacreaturebrixen: http://pastie.org/495016
22:17:19brixenyou can use the -fy option and pull in yaml to your db
22:17:36seacreatureI'd appreciate feedback. I plan to announce this monday or tuesday, along with some working code
22:17:43seacreature(for some tiny subset of the problem)
22:18:08rueNice
22:18:17rueHow was the talk/rest of conf?
22:19:37seacreaturestill going on
22:19:53seacreatureit's been going awesome
22:20:04seacreaturelast main talk now (yehuda), then rejectconf
22:20:20seacreatureThe only thing that was unfortunate was that I didn't get to say much about any of the alt. implementations
22:20:33seacreatureI wanted to tell the story of the difficult atmosphere you guys are in
22:20:34Defilerrue: You got namedropped in the Waves talk, actually
22:20:40seacreatureand it was well received
22:20:47seacreaturethat's right. I wish I had a link to that code
22:20:58seacreatureI didn't see it closely but it looked very interesting
22:21:41rueDefiler: 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:58brixenseacreature: the write-up looks good, I like that you are evangelizing for the regular ruby dev
22:22:10rue^
22:22:15rueThere is only so much time
22:22:23brixenseacreature: it has always been my thought tha rubyspec is for all ruby devs, not just implementers
22:22:26Defilerrue: Yeah. I love this place
22:22:34seacreaturebrixen: I plan to start there and then go down the chain
22:23:03seacreatureUsually I think the message should run the other way (from the core out)
22:23:30seacreaturebut with something like this we need to reach the masses because their voice is what forms the perception of the community
22:23:59seacreatureand I'm secretly hoping to turn these folks into more hardcore geeks :)
22:24:09brixenheh, good plan :)
22:28:35evanrue: how were you name dropped?
22:28:55rueWith considerable difficulty, I imagine
22:29:05DefilerHe actually did OK with it
22:29:23Defilerbut rue came up for having contributed a Waves 'foundation' for REST stuff
22:29:26evanprops to whoever did the dropping.
22:29:34seacreaturecan someone link me to that code?
22:29:41seacreatureI only caught a tiny bit of it and wanted to look closer
22:30:53seacreatureevan, brixen, would you mind doing a short interview (via email) to help me justify my project?
22:30:59DefilerRubinius has come up surprisingly often here, actually
22:31:02seacreatureI'd post it on blog.rubybestpractices.com
22:31:08evanDefiler: wooop woop
22:31:11rueseacreature: 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:19evanDefiler: it's my blog posting hype
22:31:23evanit's got poower!
22:31:23DefilerAlso, man.. ffi is a slam dunk
22:31:30evanwoop * 2
22:31:51evanI think tomorrow I might get the FFI API's synced up
22:31:51DefilerI think I am going to finally release a gem that uses it, actually
22:33:30seacreatureI 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:36seacreatureBut it'd just be a few questions
22:33:37brixenseacreature: sure
22:34:29evanseacreature: it warms my heart that you're taking such an interest
22:34:58ddubevan: I thought you already had a pretty warm heart
22:35:03brixenheh
22:35:05evanit's pretty good, yeah.
22:35:09marcandreseacreature: interesting project!
22:35:15evannear 100 degrees actually!
22:35:15seacreatureYou guys have been doing a thankless job for a long time now. I just want to do my part to give back
22:35:32ddubyeah, god knows I don't give them any respect
22:35:36ddub;-)
22:36:04marcandreWill it show any current "ruby_bug" for MRI/YARV? BTW, these should probably be on one line, not two...
22:36:19seacreaturemarcandre: We'll do many rounds of brainstorming
22:36:22marcandreCoz otherwise it'll be "PASSING" all the time
22:36:26evanddub: thats what we've come to expect from you.
22:36:29evan*snarl*
22:36:36seacreaturethis weekend I plan to make something really basic
22:36:59marcandrek. I think the current ruby_bug would be nice to see there. Anyways, good luck with the project!
22:37:30seacreaturemarcandre: I agree
22:37:50seacreatureThe key to making this system really valuable is to have all sorts of different report types
22:38:10evanblarg
22:38:12seacreatureBut I need to get the data and look at it first to know what I can actually do right out the gate
22:38:19evanok, rubygems exposes a bug that I need to fix
22:38:27evani was upgrading us to 1.3.4
22:38:43evanappears that return in a block thats used as define_method is broken
22:38:48brixenseacreature: mspec doesn't emit the guard reporting data as yaml yet, but we can fix that
22:39:16seacreaturebrixen: I was going to investigate that this weekend
22:39:22seacreatureI definitely will need that stuff
22:39:34seacreatureIf you can make mspec emit as much crap as possible, it'll give me more possibilties
22:39:55seacreatureI 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:28brixenseacreature: sure, we can jazz it up
22:40:37seacreatureso if more is there, I can do more :)
22:40:38brixenseacreature: right now, you can get all the normal results as yaml
22:40:40evanok, off to brunch-a-lunch
22:40:54brixenevan: almost time for supper :)
22:41:11evani know
22:41:17evanabby and I slept WAY the fuck in today
22:41:24brixenheh, I guess
22:42:57brixenseacreature: 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:23brixenseacreature: so far, we've been using it to see if code passes, or code regresses, and that's the data we have
22:43:58seacreaturebrixen: let me start with what you have, and then prototype out what we need
22:44:03seacreaturemockup
22:44:12brixensure
22:44:30brixenI'm more talking about what to ponder
22:44:34brixenwe have a lot you can start with
22:45:00seacreaturebrixen: I'll definitely want to have that conversation soon. I'll get in touch as soon as we have something running
22:46:31brixencool
22:56:11seacreaturebrixen: 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:25seacreaturebecause I want to group the specs by them
22:56:34seacreature(in the reports)
23:20:20brixenseacreature: have you run the specs with --report or --report-on GUARD ?
23:20:53seacreatureI haven't done anything with this at all yet, distracted from the conf.
23:21:01seacreatureI'll try that tomorrow
23:21:29brixenok