Index

Show enters and exits. Hide enters and exits.

00:00:46antaresrue, I am jumping across the codebase because sometimes I need the idea of what this structure is like or what this function really does...
00:01:35ezmobius_ enters the room.
00:02:41antaresrue, what IP_TYPE *data in rubinius_cpu for? usages are not clear unfortunately
00:03:09_ADS_ leaves the room.
00:03:18ttmrichter_ enters the room.
00:03:36GMFlash leaves the room.
00:03:45GMFlash enters the room.
00:03:45rueThat is the bytecode being executed, I think
00:04:14headiuswhat do you guys use to edit the C code, btw
00:04:35antaresheadius, Emacs with etags for navigation
00:04:55antaresrue, look: #define IP_TYPE uint32_t — hm, I am still confused
00:05:07antaresrue, bytecode itself or reference somewhere or what? :)
00:05:23dctanner enters the room.
00:06:21rueheadius: Veem
00:06:25headiusetags lets you jump to, for example, the definition of a function being called?
00:06:53antaresheadius, right. It is precise in most of cases
00:07:27jessop enters the room.
00:07:30rueI am fixing the hash issue in case brixen went out
00:07:33_ezmobius_ enters the room.
00:08:10headiusantares: one of these days I'll have to try using etags
00:08:27headiusI've been using netbeans C/C++ support, which allows jumping around as well
00:08:38antaresheadius, but of course it uses string matching without any type inference. Though if you know the codebase it is fine
00:08:38headiusmacro defs, method defs, structures, typedefs, headers
00:08:43headiusahh
00:09:07headiusnetbeans actually parses all the files and makes judgments about what to jump to based on the whole codebase
00:09:25antaresheadius, netbeans is better for navigation but this is typical IDE vs editor dilemma
00:09:26headiusit will jump out into standard C headers as well
00:09:46antaresheadius, when you switch to another branch in git netbeans sometimes goes wild
00:09:54dctanner leaves the room.
00:10:17antaresheadius, I used netbeans for C. I just love Emacs but do not stick to a single tool.
00:10:50headiusI have not used netbeans much with git, but I know it tends to freak out if I pull in a lot of changes
00:10:56headiususually recovers ok though
00:11:44antaresheadius, yeah it works fine most of the times.
00:12:46antaresrue, ah is ip for instruction pointer?
00:13:28rueYep
00:13:34boyscout1 commit by Eero Saynatkari
00:13:35boyscout * Removed hash_rehash() that was causing the linker to fail. Build OK.; 1c77481
00:19:20rueI guess I should say I /hope/ the build is OK :P
00:22:10ttmrichter leaves the room.
00:22:45dctanner enters the room.
00:24:16rubuildiusEero Saynatkari: 1c7748110; 4824 examples, 17537 expectations, 0 failures, 0 errors
00:24:59headius_ enters the room.
00:28:39brixenthanks rue
00:29:03brixendynamic linking on osx
00:31:21headius leaves the room.
00:33:36crossblaim enters the room.
00:36:08antaresrue, by the way what are initial plans for mod_rubinius?
00:42:21rueantares: I am trying to decide between two models still :)
00:42:31dctanner leaves the room.
00:42:36rueMight just plug in both
00:42:40antaresrue, what are these?
00:43:17_ezmobiusembedding the rubinius vm in the apache proces or having rubinius vm run in a separate managed process
00:43:39rueMight offer both, too, I suppose
00:43:42oleganza enters the room.
00:43:45antaresezmobius, I mostly meant feature set
00:43:45oleganzahi all
00:43:56rueHeya
00:44:00antaresezmobius, like things you discussed on ruby on rails podcast
00:44:27oleganzasorry, guys. mod_rubinius is for nginx or apache?
00:44:35antaresezmobius, separation of say merb and merb applications to reduce memory footprint
00:44:36_ezmobiushopefully both
00:44:46oleganzagot it. thnx
00:45:32Yurik enters the room.
00:46:40oleganzaezra: i've recently came up with "nginxr": nice wrapper for nginx.conf in ruby DSL (on gitorious.org). I'm gonna try to create "yet-another" framework with controllers running in separate processes (tcp ports/unixsockets)
00:47:00oleganzai wonder, is it a smart idea?
00:47:03rue_ezmobius_: Not sure why wsgi dude thought putting everything in one 10k-line C file was a good idea
00:47:52tarcierihahahaha
00:48:06tarcierihates 10,000 line C files :(
00:49:14headiusI'd be interested in wiring up a mod_ruby sort of thing with JRuby
00:49:58headiusit basically works already for the most part...seems to me the biggest issue with such a model is that most frameworks don't play well with each other (or with themselves, as in Rails)
00:50:17headiusrue: what models are you considering
00:51:19crossblaim leaves the room.
00:52:11_ezmobiusrue: is that the apache mod_qsgi?
00:52:16_ezmobiuswsgi?
00:52:47_ezmobiusoleganza: what do you mean by yet aother framework?
00:53:09rue_ezmobius_: Yep
00:53:22_ezmobiuslame
00:54:13ragnardhehe... i just had to check it out: http://modwsgi.googlecode.com/svn/trunk/mod_wsgi/mod_wsgi.c
00:55:55oleganza_ezmobius_: i mean i need some framework for controlling heterogenous webservers in a single "routes.rb" which is nginx.conf for me. I use rails, mongrel handlers and some homebrewed eventmachine webservers. I need some tool to manage them all and update nginx.conf appropriately.
00:55:58rueheadius: In general, whether to run a daemon or embed into Apache. Think offering both is feasible. Then more specifically how to split up the threads and processes etc. Still trying to make up my mind, there are essentially two competing interests involved
00:57:01oleganza* well, mongrel handlers start up with rails mongrel, so it's not the case.
00:57:09headiusyes, it's not as simple as with php and such that don't have as large a footprint to prime an application and so many conflicts between apps
00:57:10oleganza* but i might use merb for some activities
00:57:36ragnard leaves the room.
00:57:43headiusin general I don't see how the embedded plugin gains you anything
00:58:06_ezmobiusyeah i think separate pool pf managed processes is going to work much better then embedded
00:58:15headiusnot to mention making apache less stable in the process
00:58:18_ezmobiusfor rails/merb apps at least
00:58:21headiusyeah
00:58:53langenberg enters the room.
00:59:06headiusof course once you have that I don't know why existing proxy plugins for apache aren't enough
00:59:26_ezmobiuswith proxies you have to parse the http headers twice
00:59:27headiusso you mostly would want to work on the "front daemon" that spins off requests into rubinius mvms
00:59:49headius_ezmobius_: I'd be absolutely stunned if that had any impact on a merb or rails app's overall performance
00:59:57headiusbut you're right
00:59:59_ezmobiusbasically my thoughts were when apache starts, it spanws a mod_rubinius master process, this master process can fork or spawn new vms form there
01:00:16_ezmobiusheadius: it does have a measurable impact
01:00:50_ezmobiusnginx with fcgi runing rails/merb is 8-20% faster
01:00:58_ezmobiusthen nginx + proxy to mongrels
01:01:03headiusthat's largely how most large Java EE apps are fronted, with apache proxying to Java app servers
01:01:10headiusand they can handle tens of thousands of requests
01:02:02_ezmobiusi think one of the main goals for mod_rubinius is to make it dead easy to run ruby apps
01:02:39_ezmobiusa one stop shop where you set it up in the apache or nginx conf and then it handles spawning/forking/monitoring of subprocesses
01:02:43headiuswell, let me play devils advocate for a moment...if we get the glassfish gem working perfectly, what more is needed
01:02:52oleganzawhat's the drawback of fastcgi?
01:02:58_ezmobiusfcgi is not stable
01:03:14oleganzarandom 500?
01:03:49headiussomething similar to the glassfish gem ought to be mostly possible with rubinius
01:04:00oleganzai've experienced random 500 errors on a cheap dreamhost account. What about highload production server?
01:04:10headiusmore footwork to implement the pieces, but the same model would work
01:04:19_ezmobiusyup
01:05:03ezmobius leaves the room.
01:05:07headiusso I think part of what I'm getting at is whether this couldn't be a common piece of code that depends only on a standard MVM API
01:05:31headiusa master VM in the process that manages a pool, is aware of the apps and their contexts and how to scale up/down
01:06:00headiusif it were built on the MVM APIs, the same code would work as well for JRuby fronted by glassfish
01:07:22antaresheadius, what is standard MVM API, is there any or you just stress the need for standartization?
01:07:31ezmobiusyeah how do you spawn a new vm in jruby?
01:08:01headiusruby = org.jruby.Ruby.new_instance
01:08:06gnufied leaves the room.
01:08:18headiusit's all available through Java integration currently...anything implemented in Java you can call from Ruby, so it's just a matter of constructing the same Java objects
01:08:31headiusbut it would take a few minutes to implement the rubinius MVM APIs
01:08:52ezmobiusor an abstracted api that delegated to the underlying vm impl
01:09:23headiusyes, that's my hope...we're (JRuby) working with ko1 on MVM stuff but I had ko1 add evan to that list
01:09:52headiusso I think we'll be able to come up with a standard API...and it seems like any hosting frontend should be based on that model
01:10:31rueheadius: While there is a performance aspect, I would say the main reason for the module is easy access to Apache itself
01:11:45headiusaccess for what purpose
01:12:06headiusany access to apache would limit usefulness in nginx, no?
01:13:58rueWell, it would BE OF limitED usefulness in nginx :P
01:14:54wycats_ enters the room.
01:14:54headiusso what does it gain you
01:15:07headiusI'm curious
01:15:15headiusputting any performance gain aside for now
01:15:34rueThe daemon should pretty much be constant, any direct server access would come separately (but it needs a backend)
01:15:51rueHooks, handlers etc.
01:17:34headiuscan you elaborate on that a bit? :)
01:19:31ezmobiusif we use rack as the interface to rubyland then we get middleware, hooks, cascades and all that stuff for 'free'
01:19:42wycats__ enters the room.
01:20:01headiusyeah, I could get behind something rack-like...we've already got a rack connector for Java app servers
01:20:12rueYep, I think Rack is a fine modus outputti
01:20:19ezmobiusthat's the tentative plan, to base it on rack
01:20:23ezmobiuswhich is based on wsgi
01:22:25menator leaves the room.
01:22:52headiuswell, I'd love to help with it
01:23:06rueheadius: mod_perl, for example, can be used to write Apache modules
01:23:13rueInstead of doing it in C
01:23:14headiuswe're trying out several of these models for JRoR stuff and it would be nice to work on a common system
01:23:24headiusrue: seems like a niche at best
01:23:52bitbckt enters the room.
01:24:42rueheadius: Oh, I dunno.. we are sort of fans of using high-level languages for what is considered to be a low-level domain ;)
01:24:52wycats___ enters the room.
01:25:12ezmobiusrue: i think for the first pass at least that deep apache integration is not a priority, especially if we just go rack all the way. you can pretty much do most things you woudl ever want to do in a ruby web app in a rack handler/adapter
01:25:45rueezmobius: Oh, sure. It is just another reason to integrate through a module
01:26:01rueIt does allow simplifying the config quite a bit too, obviously
01:26:25ezmobiustrue
01:27:01headiusanother reason to loosely tie apache and the daemon is that you might want only one or two apache machines handling static content and dispersal of requests across several backend daemon machines (or slices) that don't even run apache
01:27:44headiusthey can be brought up and down at will without affecting anything else
01:28:01d2dchat leaves the room.
01:29:26langenberg leaves the room.
01:30:17wycats leaves the room.
01:30:44antares leaves the room.
01:31:30rueWell, the daemon should not really care what (if anything) is driving it
01:31:43headiusabsolutely
01:32:10headiusso any tight binding to any specific front-end should be out of scope, a separate project
01:33:44rueIt is
01:33:49rue'S called mod_rubinius ;)
01:34:29headiuswell, if that's what mod_rubinius is supposed to be, I guess I'm not as interested :)
01:34:34rueI have not come up with a daemon nomenclature yet
01:35:00defunkt enters the room.
01:35:16headiusI'm interested in the webapp-serving side
01:36:47rueThat is kinda vague
01:37:36jeremydurham enters the room.
01:38:16headiusas is your current definition of mod_rubinius :) so I think we've got some wiggle room
01:39:06rueNo, mod_rubinius is well-defined in that sense. It is a module built into a webserver. It will either allow dispatching to a daemon, process as part of the webserver or both
01:39:15ezmobiusheadius: i think the main thing jruby would need to do to be compatible with all the apps that want to run on mod_rubinius woudl be to have a good rack interface for glasfish
01:39:37ezmobiussince rack is pretty much how any ruby code will interact with this system
01:39:52rueThe second component is the daemon, as yet unnamed
01:40:30headiusezmobius: that much exists now, along with a couple rails-specific adapters
01:41:56wycats__ leaves the room.
01:41:57ezmobiuscool, i know dudley is working to get the latest merb-core all running on glassfish
01:42:26rueI think I will call the daemon Rubicante
01:42:27headiusyeah, I want to scrap goldspike entirely
01:42:46headiusI just haven't gotten around to it hoping someone else would do it...but nicksieger has a rack version for glassfish that's probably the way to go
01:43:08rue(Working name only, to be changed should any abyssals complain.)
01:43:36headiusmy situation is that we can basically do everything we need to have a single daemon host as many apps as needed but this is an entirely new model for deploying ruby web apps, so we're treading new ground
01:43:49headiuswhatever the "second component" works out to be, it's the area we're trying to solidify too
01:44:31wycats_ leaves the room.
01:46:07b3b0p leaves the room.
01:46:26b3b0p enters the room.
01:48:02b3b0p leaves the room.
01:48:14b3b0p enters the room.
01:48:14b3b0p leaves the room.
01:48:22wycats___ leaves the room.
01:48:50b3b0p enters the room.
01:52:50bburcham leaves the room.
01:54:35ttmrichter_ leaves the room.
01:58:20wvl_ enters the room.
02:02:47headiusezmobius: I'm going to be in the bay for a few days next week, probably not up near you but I'd be up for getting dinner somewhere halfway
02:02:50RyanTM leaves the room.
02:03:49ezmobiuscool, this week is a bit crazy for me but we could probably work something out
02:05:08headiusok...we're staying at the W in newark, across the dumbarton from Menlo Park...Monday night is probably out, but Sunday or Tuesday might work
02:05:52headiusjust seems like we're solving the same problems, and I hate to see duplicated effort
02:07:05ezmobiusi think tuesday night we're having a little hackfest here in south park if you wanteds to come
02:09:54headiuswhere's that?
02:10:02headiusthat might be ideal
02:10:29headiusas in South Park, in SF?
02:10:35ezmobiusyes
02:10:40ezmobiusthats where the EY office is
02:10:44ezmobius82 South Park st
02:11:00ezmobiusin the soma
02:11:33headiusthat, that could work...few blocks from caltrain
02:11:57ezmobiusyup
02:12:19ezmobiusit;s at 8:30pm on tuesday, but if you wanted to come early to chat i'll be here
02:12:39headiusok...I have a few things to keep me and tom busy at Sun but it might be possible
02:12:42headiusI'll keep you posted
02:12:47ezmobiuscongrats on the rc2 release btw
02:12:54ezmobiuslooks like you got a lot done
02:13:04headiusthanks...yeah, that bug list astounds me
02:13:38headiuswe're rapidly approaching the point where the "Ruby" part of "JRuby" is mostly done
02:14:08wvl leaves the room.
02:27:52zenspiderYAY!!!!!!
02:28:14zenspiderlexer has gotten the beatdown!
02:31:17headiusdo tell!
02:31:24_ADS enters the room.
02:31:30headiusyour pure-ruby lexer?
02:35:34tarcieriA Ruby lexer that isn't completely insane?
02:35:54kofno enters the room.
02:36:05headiuszenspider: you ever get a chance to look at tom's refactored JRuby lexer?
02:36:20headiusit's a considerable improvement over the version you used for your port
02:37:29zenspiderheadius: no, I never looked at it
02:37:51zenspiderhere is my improvement:
02:37:57zenspider1.0.0: loc = 2751 flog = 3801.8
02:38:03zenspiderdev : loc = 2108 flog = 3140.5
02:38:10zenspiderdelta: loc = -643 flog = -661.3
02:39:08zenspiderI switched it over to stringscanner and cleaned it up a lot
02:39:19headiusnice...run any new numbers with it?
02:39:56headiusI've got some preliminary jvm bytecode generation utilities hanging around I'd like to eventually wire into a pure-ruby parser
02:40:11zenspidernumbers?
02:40:46headiuswell, simplified code ought to have some performance improvement, no?
02:40:50headiusespecially leaning on stringscanner
02:41:11zenspiderno clue
02:41:32zenspiderI don't really care about the performance at this point... it is MUCH more readable and debuggable
02:41:59headiusdid you get line numbers, newlines, etc in?
02:42:18headiustom mentioned that ruby 1.9 doesn't have newline nodes, and instead has a newline flag on all nodes
02:43:52zenspiderno, I'm still not doing positional yet
02:43:58zenspiderthat's probably next
02:44:28zenspiderI've been thinking I'd go the position on every node rather than the newline node stuff... newline nodes piss me off
02:45:13headiusI don't really care either way, though newline nodes are a bit of a hassle to represent cleanly
02:45:37VVSiz_ enters the room.
02:45:40headiusbut positioning is a must for tooling and backtraces
02:47:49zenspideryup.
02:49:17wycats enters the room.
02:49:33wifelette_ enters the room.
02:49:43_mutle enters the room.
02:52:27VVSiz leaves the room.
03:00:41wifelette leaves the room.
03:01:22ttmrichter enters the room.
03:05:24mutle leaves the room.
03:06:07headius leaves the room.
03:08:40edward_g leaves the room.
03:11:55eventualbuddha enters the room.
03:22:39headius enters the room.
03:25:03twbray enters the room.
03:27:09dodecaphonic leaves the room.
03:43:48Yurik leaves the room.
03:48:17femtowin enters the room.
03:55:14macournoyer enters the room.
03:59:42twbray leaves the room.
04:11:33technomancy enters the room.
04:14:10therealadam enters the room.
04:14:14therealadam leaves the room.
04:17:10ezmobius leaves the room.
04:17:11ezmobius_ leaves the room.
04:23:43menator enters the room.
04:30:21twbray enters the room.
04:31:44menator leaves the room.
04:35:45gdagley leaves the room.
04:41:41mernen leaves the room.
04:51:44rueEw, I think I have to use Linux :P
04:52:02rueWhat do the cool kids use now?
04:55:33headiusthe cool kids or the kids who have grown to old to futz about with configuring linux?
04:55:59headiusI'm in the latter camp, and I wouldn't choose anything but ubuntu right now
04:58:23tmm1ubuntu, gentoo or archlinux
04:58:58headiusgentoo might fit you better, ports and all
04:59:10tyler_ enters the room.
04:59:21tmm1rue: why do you have to use linux?
05:03:23headiusrue: use solaris :)
05:04:10technomancyhehe
05:05:01technomancyrue: the only thing icky about ubuntu is the way apt-get breaks up the ruby packages; if you install from source you won't notice much
05:05:13technomancywonky gem locations for the lose
05:05:45headiusyeah, that's a debian lunacy
05:05:56headiusI still think they're nuts
05:06:23technomancyit's better than it used to be, but i still like going from source
05:06:32macournoyer leaves the room.
05:06:35headiusI get tired of waiting
05:06:47headiusbut for a server I generally choose gentoo
05:07:02headiusmuch more static environment
05:07:05technomancyruby, emacs, and mozilla are where i spend 95% of my time; each is built from source except mozilla (it's too scary to build)
05:09:07rubymaverick_ enters the room.
05:20:21defunkt leaves the room.
05:25:34headius leaves the room.
05:27:36binary42 leaves the room.
05:27:57massI would agree that debian shouldn't be trying to do what they are doing with ruby and gem without having core developers of both as package maintainers
05:30:51eventualbuddha leaves the room.
05:30:52eventualbuddha_ enters the room.
05:31:01eventualbuddha_ leaves the room.
05:38:58eventualbuddha enters the room.
05:48:27Ingmar leaves the room.
05:48:59Ingmar enters the room.
05:50:30evanis in Santa Barbara
05:52:00aasmithhow are you liking it?
05:52:37gnufied enters the room.
05:52:47lstoll enters the room.
05:53:32technomancythat's a nice town. If i had stayed in CA i would have wanted to live there.
05:53:51technomancydoesn't wycats live there?
05:54:06aasmithyea, its funny that it's so nice, being to so close to LA. :)
05:54:16jeremydurhamI thought wycats lived in like NY or something :)
05:54:28wycatsevan: we should do dinner!
05:54:35wycatsI happen to be in SB atm
06:02:26rueYou hippies
06:04:06tbmcmullenWow. JRuby RC2 was released today, and meets or exceeds MRI 1.9 in most benchmarks.
06:05:17wycatswow... MatzRuby 1.9 is pretty fast
06:10:07jeremydurhamtbmcmullen: link?
06:10:21tbmcmullenhttp://headius.blogspot.com/2008/02/jruby-rc2-released-whats-next.html
06:10:49jeremydurhamI assume he is referring to compiled, not interpreted
06:14:04tizianobis enters the room.
06:21:45tbmcmullen leaves the room.
06:30:37TheVoice enters the room.
06:35:50technomancy leaves the room.
06:41:34tizianobis_ enters the room.
06:44:02jeremydurham leaves the room.
06:45:27_ADS leaves the room.
06:48:05felipecwhat's MRI?
06:48:15tbmcmullenMatz Ruby Interpreter
06:48:28tbmcmulleni.e. normal Ruby
06:50:23twbray leaves the room.
06:50:34srbaker leaves the room.
06:53:58tizianobis leaves the room.
07:00:11evanwycats: you going to be in SB tomorrow?
07:01:15wycatsevan: yeah
07:01:21wycatsthe movers are coming tomorrow
07:01:37evanlets have a meal tomorrow
07:02:36zf enters the room.
07:09:46wycatswhere are you staying?
07:10:01rueOh, here and there
07:11:03tizianobis_ leaves the room.
07:11:36wycatsevan: pm
07:14:27evangot it
07:14:35evanwycats: The Inn on East Beach
07:15:22ko1evan: how about RubyKaigi?
07:15:40evanko1_: just got your email, was about to reply
07:15:43evanko1_: i'd love to speak
07:15:54evanko1_: is there anything you'd like me to speak on?
07:16:10ko1evan: thank you! we love to :)
07:16:14ko1too
07:16:44ko1evan: introduction of rubinius?
07:16:54brixenrue: were you planning on migrating the rest of the benchmarks to the toplevel dir?
07:17:16wycatsevan: you gotta use heckle on your intro to rubinius talk
07:17:25wycatsmutate it for all these different events
07:17:59ruebrixen: Tomorrow
07:20:27brixenrue: cool
07:20:29ezmobius enters the room.
07:39:28twbray enters the room.
07:40:54lstoll leaves the room.
07:42:41lstoll enters the room.
07:42:44evanko1_: is it ok if I get you a proposal on my monday?
07:44:12srbaker enters the room.
07:44:26ko1evan: sure
07:55:27lstoll leaves the room.
07:55:42lstoll enters the room.
07:56:39oleganza leaves the room.
08:00:20twbray leaves the room.
08:01:51eventualbuddha leaves the room.
08:06:57smtlaissezfaire enters the room.
08:07:07fork_ leaves the room.
08:10:59fork enters the room.
08:11:06srbaker leaves the room.
08:12:14rby enters the room.
08:12:20rby_ enters the room.
08:12:35twbray enters the room.
08:18:34yipstar leaves the room.
08:27:04rby leaves the room.
08:27:04rby_ leaves the room.
08:31:13TheVoice leaves the room.
08:41:22ezmobius leaves the room.
08:46:50tbmcmullenso in looking at the CGI.unescapeHTML method in MRI... It appears to be missing a huge amount of the html entities that it could escape.
08:47:07tbmcmullenSo my question is... in porting it over, should I go above and beyond what MRI does? Or just leave it as is?
08:58:56smtlaissezfairetbmcmullen: Would you consider them bugs?
08:59:46tbmcmullensmtlaissezfaire: Not really sure. Perhaps it was intentional, though I can't imagine why.
09:00:03tbmcmullensmtlaissezfaire: perhaps due to the lack of unicode support there was no point to it...
09:03:42wifelette_ enters the room.
09:04:27smtlaissezfairetbcmullen: Isn't 2.0 supposed to support unicode?
09:05:01tbmcmullensmtlaissezfaire: Right. And I was wrong anyway... the html entities its missing are simple ASCII ones. Which makes it more strange.
09:07:20lstoll leaves the room.
09:11:14nathansobo enters the room.
09:16:34wycats leaves the room.
09:16:42wifelette leaves the room.
09:21:40ragnard enters the room.
09:31:45bitbckt leaves the room.
09:36:26smtlaissezfaire leaves the room.
09:38:09nathansobo leaves the room.
09:40:33twbray leaves the room.
09:42:39thehcdreamer enters the room.
09:43:01thehcdreamer leaves the room.
09:44:49dewd leaves the room.
09:58:58hassox enters the room.
09:59:16tbmcmullen leaves the room.
10:19:05crossblaim enters the room.
10:20:16crossblaimhello
10:25:46comboy enters the room.
10:33:42olabini enters the room.
10:53:28thehcdreamer enters the room.
10:54:17jp_tixhttp://pastie.textmate.org/153345 ← any ideas?
10:54:43lstoll enters the room.
10:56:25antares enters the room.
10:59:53antares leaves the room.
11:00:06antares enters the room.
11:08:35ragnardjp_tix: can you pastie your platform.conf?
11:11:25jp_tixragnard: http://pastie.caboo.se/153348
11:12:41ragnardjp_tix: huh. seems like the typegenerator didn't do its job...
11:12:44contextrubinius will run on my Amiga right ?
11:13:46context9223372036854775807 is the new infinity
11:13:48contextsexy
11:15:05thehcdreamer leaves the room.
11:15:23ragnardjp_tix: what do you get when doing this: http://pastie.caboo.se/153349
11:16:18jp_tixragnard: "rbx.platform.typedef.qaddr_t = pointer\nrbx.platform.typedef.caddr_t = pointer\n"
11:17:37ragnardjp_tix: this is on ppc, right?
11:17:42jp_tixyes
11:18:01ragnardi though dbussink got it running yesterday...
11:18:45dbussinkyeah, i got it running on a ppc system yesterday
11:18:58jp_tixwell, the build completes for me as well
11:19:14ragnardmaybe a missing -D...something...
11:19:18dbussinkwhat version are you on?
11:19:26dbussink10.5 or older?
11:19:31jp_tix10.5.2
11:19:36dbussinkhmm, strange
11:19:46ragnardjp_tix: try this
11:19:49dbussinkare you sure you have the latest version?
11:20:02jp_tixdbussink: latest version of rubinius?
11:20:08dbussinkyeah
11:20:10ragnardhttp://pastie.org/153350
11:20:25dbussinki've made some fixes to the types generator these last few days
11:20:47jp_tix`git pull` says I'm already up-to-date
11:21:09jp_tixand working directory is clean
11:21:15dbussinkwhat does it say when you run that pastie?
11:21:35jp_tixtypedef __int64_t __darwin_off_t;
11:21:35jp_tixtypedef __darwin_off_t off_t;
11:22:48dbussinkis that a copy past?
11:22:57dbussinkbecause it looks like there are spaces missing
11:23:10jp_tixyes, tabs gets messed up
11:23:23jp_tixhttp://pastie.caboo.se/private/wturj2hv5bwzj7lwezurkg
11:23:33jp_tixerr
11:23:36dbussinkhmm, there too :)
11:23:45jp_tixnow you got my grep coloring
11:23:50jp_tix:P
11:23:58ragnardmaybe that's it? grep coloring?
11:24:09dbussinkhmm, might be a problem
11:24:23jp_tixhttp://pastie.caboo.se/153352
11:24:47dbussinkprobably should convert this to something not using grep
11:25:10dbussinkdo the grepping in ruby, will be a bit slower but probably more often correct
11:25:20dbussinkjp_tix: does it work if you disable your grep coloring?
11:25:43dbussinki'm off for a shower, be back later
11:25:46ragnarddbussink: btw, i tracked down the openbsd sigsegv... really strange though
11:25:51ragnarddbussink: oh, later.
11:27:33jp_tixwhat do I need to do after disabling grep coloring?
11:28:06jp_tixdbussink: ↑
11:29:23ragnardjp_tix: you could just rm runtime/platform.conf
11:29:28jp_tixah, yes
11:29:44jp_tixthat's it, the TypesGenerator.generate has a lot more output now
11:29:59dctanner enters the room.
11:37:07dbussinkjp_tix: thnx for the debugging :)
11:38:57dbussinkjp_tix: i'll fix this right away :)
11:39:03jp_tixyay, it works now
11:39:09jp_tixgreat, thanks to you too :)
11:39:28dbussinkjp_tix: you also get some failures on File#truncate?
11:40:05jp_tixrunning tests now
11:40:17jp_tix`rake spec`, right?
11:42:16dbussink./bin/ci
11:42:18boyscout1 commit by Dirkjan Bussink
11:42:19boyscout * Remove grep dependency in TypesGenerator; c7450c3
11:42:25dbussinkjp_tix: the fix is in
11:42:35jp_tixcool
11:44:16jp_tixyeah, I have 10 errors on File#truncate
11:45:46cjheath leaves the room.
11:48:05_mutle leaves the room.
11:48:09mutle enters the room.
11:50:26dbussinkjp_tix: yeah, i found those too, no idea what's wrong though
11:50:40dctanner_ enters the room.
11:53:32thehcdreamer enters the room.
11:54:10graza enters the room.
11:54:16rubuildiusDirkjan Bussink: c7450c379; 4824 examples, 17537 expectations, 0 failures, 0 errors
11:55:54jp_tixdbussink: it works on Intel OS X?
12:02:12antares leaves the room.
12:03:38GMFlash leaves the room.
12:03:45GMFlash enters the room.
12:05:20contextjp_tix: try it ?
12:05:35jp_tixcontext: I don't have an intel machine :(
12:05:42contextoh :x
12:08:48dctanner leaves the room.
12:13:31boyscout1 commit by Vladimir Sizikov
12:13:32boyscout * New specs for RangeExceptions out of Fixnum and Array methods.; f43383a
12:13:37lstoll leaves the room.
12:15:22lstoll enters the room.
12:15:36lstoll leaves the room.
12:16:02lstoll enters the room.
12:17:03lstoll leaves the room.
12:24:11rubuildiusVladimir Sizikov: f43383a15; 4824 examples, 17537 expectations, 0 failures, 0 errors
12:25:03dbussinkjp_tix: yeah, no problems on intel and also works ok on linux
12:29:05Fullmoon leaves the room.
12:29:24jp_tixdbussink: perhaps an endianness issue?
12:29:40jp_tixor perhaps not
12:31:06dbussinkjp_tix: well, try FFI::TypeDefs[:off_t] in rubinius, that gives a sigbus for me
12:31:15dbussinkjp_tix: which isn't good :)
12:31:54dctanner_ leaves the room.
12:32:06jp_tixdbussink: no sigbus here
12:32:53dbussinkjp_tix: and on other types?
12:34:31jp_tix`shotgun/rubinius -e "p FFI::TypeDefs"` works fine
12:35:15thehcdreamer leaves the room.
12:36:44octopod enters the room.
12:41:08jp_tixI didn't rebuild after you removed the grep thing though, let me try that
12:49:47graza_ enters the room.
12:49:48graza leaves the room.
12:54:14jp_tixstill works fine
12:57:38geekounet leaves the room.
13:08:55crossblaim leaves the room.
13:21:42graza enters the room.
13:21:43graza_ leaves the room.
13:29:36rubymonk enters the room.
13:34:21graza_ enters the room.
13:34:22graza leaves the room.
13:37:22rby enters the room.
13:41:13Arjen_ enters the room.
13:45:45antares enters the room.
13:46:56graza enters the room.
13:46:57graza_ leaves the room.
13:53:28dbussinkjp_tix: hmm, strange, if i access some fields in FFI::TypeDefs or the whole hash, i get a sigbus at some point
13:59:06graza_ enters the room.
13:59:07graza leaves the room.
14:08:30edward_g enters the room.
14:12:18dbussinkjp_tix: looks like the gcc options break stuff
14:30:04graza_ leaves the room.
14:43:03imajes enters the room.
14:45:42langenberg enters the room.
15:02:21enebo enters the room.
15:03:37langenberg leaves the room.
15:09:06jp_tixdbussink: do you think this is related to the File#truncate errors?
15:09:20dbussinkjp_tix: probably not
15:10:46rby_ enters the room.
15:10:55rby leaves the room.
15:11:46jp_tixdbussink: so in rubinius, the kernel/core stuff is compiled, right? how do I recompile a single file?
15:14:07dbussinkjust do rake build after you changed something
15:20:30chris2 enters the room.
15:21:25rubyconsumer leaves the room.
15:22:56binary42 enters the room.
15:23:28rubyconsumer enters the room.
15:24:16RyanTM enters the room.
15:30:11srbaker enters the room.
15:31:17geekounet leaves the room.
15:35:03gnufied leaves the room.
15:35:28geekounet enters the room.
15:36:38jp_tixdbussink: this goes way over my head, no idea why ftruncate() would behave differently on intel vs ppc
15:36:52jp_tixI'll leave it to you guys :)
15:38:18kofno leaves the room.
15:59:55twbray enters the room.
16:01:01headius enters the room.
16:01:50be9 enters the room.
16:07:53menator enters the room.
16:09:24nemerle enters the room.
16:09:32twbray leaves the room.
16:15:10mutle leaves the room.
16:16:40mutle enters the room.
16:24:22ArjenIs rake build expected to fail at the moment?
16:24:49Arjenconfigure: error: C++ preprocessor "/lib/cpp" fails sanity check
16:30:52ArjenHmm, probably installed the wrong gcc package...
16:38:35mernen enters the room.
16:39:54crossblaim enters the room.
16:40:39crossblaimhi
16:47:31manverustrange...
16:47:48manveruone can't set nor alias $1
16:48:07manveruis that for speed reasons in 1.8?
17:01:31dewd enters the room.
17:11:08wycats enters the room.
17:20:28boyscout1 commit by oleg dashevskii
17:20:29boyscout * Cross-breed and update for, while & until language specs. Little fix for hash spec.; 02225da
17:22:35headius_ enters the room.
17:28:38headiusafternoon
17:29:16djwhittheadius: has anyone published benchmarks yet using the new JRuby?
17:29:27headiuspublished, not that I know of
17:29:47headiusthe benchmarks game/shootout will probably get updated pretty quickly
17:30:01djwhittah, cool, I suppose I could just run some myself too...
17:30:55VVSiznew specs, yay :)
17:30:58headiusyeah, go right ahead
17:31:08VVSizbtw, who is Oleg Dashevskii here?
17:33:15be9VVSiz: I am
17:33:21eventualbuddha enters the room.
17:33:48twbray enters the room.
17:34:01rubuildiusoleg dashevskii: 02225daa5; 4827 examples, 17543 expectations, 0 failures, 0 errors
17:34:32VVSizbe9: cool. :) I see that you've commented one spec out and was going to suggest ot use fails_on :rubinius to wrap it instead.... but it doesn't work in this case and still breaks rubinius
17:35:04therealadam enters the room.
17:35:36be9VVSiz: yeah, that's a compiler error
17:36:13wifelette enters the room.
17:36:26nathansobo enters the room.
17:36:31VVSizunderstood. it's just we use the specs over in #JRuby as well, so I keep en eye on them, just in case :)
17:38:05twbray leaves the room.
17:38:23headius leaves the room.
17:38:30VVSizbe9: do you think the compiler bug would be fixed soon?
17:38:49be9VVSiz: dunno
17:40:00menator leaves the room.
17:40:11VVSizhmmm, I can't come up with any way to enable this test for JRuby and MRI but disable for rbx...
17:40:33headiusbecause it's a compile problem?
17:41:14dbussinkVVSiz: it's not possible until we fix the compile problem
17:41:34djwhittcould you put it in another file that you require conditionally?
17:41:46headiusthat seems pretty cumbersome
17:42:00headiusI think it should just stay broken until the compiler is fixed
17:42:22VVSizyeah, it can wait, especially since the compiler bug is known and is going to be fixed
17:50:44headiushttp://blog.erichsen.net/2008/02/17/benchmarking-fun-with-jruby-11-rc2-glassfish-and-rails-202/
17:51:43wifelette_afk leaves the room.
17:52:23boyscout2 commits by Dirkjan Bussink
17:52:24boyscout * Replace unsafe sprintf and strcat with safe snprintf calls; 81c223d
17:52:25boyscout * Remove GCC inline optimizations; 2a8cf76
17:52:52wycats_ enters the room.
17:53:16wycats leaves the room.
17:56:22pietia enters the room.
17:59:49wycats_ leaves the room.
17:59:52wycats enters the room.
18:00:24wycats leaves the room.
18:00:52wycats enters the room.
18:03:59rubuildiusDirkjan Bussink: 81c223dc6; 4827 examples, 17543 expectations, 0 failures, 0 errors
18:07:20dbussinkheadius: nice
18:07:27boyscout1 commit by Dirkjan Bussink
18:07:28boyscout * Replace more unsafe sprintf calls with snprintf; 3857386
18:07:30dbussinkheadius: any ideas that the cause of the difference is?
18:07:38headiuswell, the benchmark has a lot of problems
18:07:49headiusbut it's possible his ruby instance is using the native mysql extension for one
18:08:17dbussinkprobably, i don't think anyone uses the pure ruby version in a production environment
18:08:51headiusas far as I can tell he's also running it in development mode, which would mean jruby's probably recompiling a lot of stuff
18:09:07headiusand btw, sorry for posting in here, I didn't realize I was pasting to #rubinius
18:09:39langenberg enters the room.
18:15:56kofno enters the room.
18:16:01dbussinkhehe, no problems, keeps us on our toes :)
18:17:46nathansobo leaves the room.
18:18:51rubuildiusDirkjan Bussink: 3857386b6; 4827 examples, 17543 expectations, 0 failures, 0 errors
18:19:26benburkert enters the room.
18:22:07wycats leaves the room.
18:22:36wmoxam enters the room.
18:23:36wycats enters the room.
18:36:11bitbckt enters the room.
18:42:49geekounet leaves the room.
18:42:59geekounet enters the room.
18:43:29rueMorning
18:45:15be9damn, these syntax errors narrow the abilities of speccing. I've just found out that rbx doesn't give a syntax error where it should: http://pastie.caboo.se/153436
18:45:19be9morning, rue
18:48:55wycatsbe9: that's a spec failure
18:48:56wycats;)
18:57:21lopex enters the room.
18:58:01headius leaves the room.
19:11:42dctanner enters the room.
19:17:51boyscout1 commit by oleg dashevskii
19:17:52boyscout * Update specs for calling methods.; b1d3ba9
19:24:43antaresrue, hey there :)
19:26:04pietia leaves the room.
19:26:38pietia enters the room.
19:28:51rubuildiusoleg dashevskii: b1d3ba9d1; 4842 examples, 17569 expectations, 0 failures, 0 errors
19:29:48geekounet leaves the room.
19:36:16antares leaves the room.
19:44:04rby_ leaves the room.
19:55:47geekounet leaves the room.
19:57:27wifelette_ enters the room.
19:59:35wycats_ enters the room.
20:03:12radarek enters the room.
20:07:50wycats leaves the room.
20:09:19twbray enters the room.
20:10:37wifelette leaves the room.
20:12:30wifelette_ leaves the room.
20:13:48evandbussink: you around?
20:13:50evanplease add those inline options back.
20:13:54evanthey DO make a difference.
20:14:02dbussinkevan: hmm, where do they make the difference?
20:14:15dbussinkevan: because the cause segbus errors on ppc
20:14:42evanthats very strange.
20:14:47evanhm
20:14:54evani guess they might not be necessary anymore
20:15:01evan-Winline should be left in though
20:15:14evanthose other options were required to get gcc to actually do the inlining
20:15:21dbussinki've tried it over and over on ppc and each it failed when adding those options
20:15:22evanwithout them, it decided that there was too much code to inline and would stop
20:15:45evanthats really odd
20:16:00dbussinkwell, i've run ./bin/bm and ./bin/ci a few times and saw no significant difference
20:16:04evanbecause they don't tell gcc to generate code any differently
20:16:11evanonly to work harder to inline
20:16:17evanleave -Winline on
20:16:25dbussinkwell, that's still in there
20:16:35evannot in your diff it's not
20:16:43dbussinkah no, wait i removed it because it did trigger those warnings indeed
20:16:47cjheath enters the room.
20:16:50evanright see
20:16:54dbussinkthat it stopped inlining becasue it would be too much
20:17:00evanright
20:17:01dbussinkbut where do these options make a difference?
20:17:13evanwhere we really do want gcc to inline
20:17:19evanbut it stops because it thinks it's too much
20:17:31evanit's fine for now i guess
20:17:31dbussinkbut what about the breakage?
20:17:36evani'll look at it when i get back home
20:17:45evanthe breakage is completely bizarre
20:17:49evanif you ask me
20:17:56evanif you could
20:18:01evantry them one option at a time.
20:18:17rueHow was the skydiving?
20:18:20evani used those options on PPC before
20:18:22evanand it worked fine
20:18:41evanrue: fun!
20:18:50evanmanaged to tweak my back a little though
20:18:51evan:/
20:19:03dbussinkwell, i could trigger them by simply doing FFI::TypeDefs[:off_t] and then FFI::TypeDefs in irb
20:19:14evanhuh?
20:19:22dbussinkthen i tested with DEV=1, and it didn't fail
20:19:32evanthe inline options were causing causing problems with Hash lookup?!
20:19:42evanwhats 'no significant difference'?
20:19:58evan1 second? .1 second? .01 second?
20:20:30dbussinkevan: well, i ran ./bin/bm and ./bin/ci a few times and the difference were within the margins of difference that each run has
20:21:07dbussinka 1 second difference can easily occur within two ./bin/ci runs that are exactly the same
20:21:10evanok, well, i guess we can leave it for now
20:21:19evanthose options used to make a significant difference
20:21:27dbussinki get 25 secs on a ./bin/ci right now
20:21:38evanperhaps the VM has been reworked enough now that that is not the case
20:21:39dbussinkand thats in the same ballpark as it was before
20:21:46dbussinki guess so
20:21:48headius enters the room.
20:22:11rueevan: Chute opening or landing?
20:22:11dbussinkbut i'm off, i could setup some proper profiling / testing somewhere in the next few days
20:22:20evanrue: not sure
20:22:22dbussinkto do a really good comparison
20:22:24dbussinklater
20:22:27rue*wave
20:22:43evanok, i gotta get some food.
20:22:51headiushowdy
20:23:08rueHola
20:24:59eventualbuddha leaves the room.
20:32:45antares enters the room.
20:33:29djwhitt enters the room.
20:35:08lvmc enters the room.
20:38:59wycats_ leaves the room.
20:39:45be9 leaves the room.
20:45:41rubyconsumer leaves the room.
20:56:51rubyconsumer enters the room.
21:00:49twbray leaves the room.
21:07:05felipec leaves the room.
21:07:25dodecaphonic enters the room.
21:10:22rby enters the room.
21:11:09headius leaves the room.
21:11:42meisdave enters the room.
21:13:00radarek leaves the room.
21:16:38twbray enters the room.
21:17:55jeremydurham enters the room.
21:18:48radarek enters the room.
21:20:47lopex leaves the room.
21:21:49smtlaissezfaire enters the room.
21:30:38graza enters the room.
21:37:50smtlaissezfaire leaves the room.
21:38:36enebo leaves the room.
21:39:21twshelton leaves the room.
21:41:47_ADS enters the room.
21:42:00wycats enters the room.
21:42:01agardiner enters the room.
21:44:55crossblaim leaves the room.
21:45:48crossblaim enters the room.
21:57:46graza_ enters the room.
21:57:47graza leaves the room.
21:59:07crossblaim leaves the room.
22:03:39lstoll enters the room.
22:03:55octopod leaves the room.
22:12:05lstoll leaves the room.
22:14:52ezmobius enters the room.
22:15:14crossblaim enters the room.
22:19:44RobJ enters the room.
22:19:56graza_ leaves the room.
22:24:33rby leaves the room.
22:25:24dc_ leaves the room.
22:25:59dodecaphonic leaves the room.
22:25:59pietia leaves the room.
22:27:59crossblaim leaves the room.
22:31:20twbray leaves the room.
22:32:30twbray enters the room.
22:34:15twbray leaves the room.
22:42:31Arjen_ leaves the room.
22:43:39RobJ leaves the room.
22:48:25Arjen_ enters the room.
22:49:14wycats_ enters the room.
22:50:32langenberg leaves the room.
22:51:46boyscout17 commits by Eero Saynatkari
22:51:47boyscout * Better randomization of possible large reverse-sorted, another 10x drop.; a586ac1
22:51:48boyscout * Small stupid heuristic to slash large reverse-sorted Array#sort times.; 38ab306
22:51:49boyscout * Added blurb about benchmark/ to README-DEVELOPERS.; 52812f0
22:51:50boyscout * Added array generation benchmark.; 70e3427
22:51:51boyscout * Renamed strategies to benchmark convention.; 381ce01
22:51:52boyscout ...
22:52:11djwhittegad!
22:52:14jeremydurhamrue: you are sick
22:52:16wycats__ enters the room.
22:52:17wycats leaves the room.
22:52:18djwhittnice work
22:53:37rueHeh, I think it looks more work than it is. I was mainly just moving stuff around.
22:54:13rueAlthough I am happy with the sort algo change. It does not regress on non-reverse-sorted either
22:54:21djwhittnice
22:55:34wycats__ leaves the room.
22:55:38crossblaim enters the room.
22:55:44wycats enters the room.
22:59:48AndrewO enters the room.
23:03:55rubuildiusEero Saynatkari: a586ac18b; 4842 examples, 17569 expectations, 0 failures, 0 errors
23:04:09djwhittinteresting, seems like I actually see a slight speed improvement
23:04:21djwhittI wouldn't have expected it from that sort change alone
23:07:27antaresrue, are you around?
23:07:36rueAndrewO: Yeah, hey
23:07:41rueantares: Erm ^
23:07:43eventualbuddha enters the room.
23:07:55ruedjwhitt: Improvement where?
23:08:02djwhittoh, just running ./bin/ci
23:08:06antaresrue, which args does machine_save_args save (it is in machine.c) ?
23:08:31antaresrue, just launch arguments it seems?
23:09:36antaresrue, got it, nevermind
23:09:58rueantares: Yep, minus of course the program name itself
23:10:12antaresrue, I see it is set to ARG0 Ruby constant
23:10:55ruedjwhitt: Hm, yeah, maybe a 1/30 here
23:11:16djwhittrue: yeah, that sounds about right
23:11:24rueantares: Yep
23:11:38ruedjwhitt: Could be directory sorting
23:12:05djwhittrue: yeah, I was wondering if it was something like that. doesn't seem like the specs themselves are that sort heavy
23:15:02wycats_ leaves the room.
23:23:06lvmcrue, mod_rubinius will be writer first for nginx or apache?
23:23:33ruelvmc: Apache
23:23:38lvmc;)
23:25:22hornbeck leaves the room.
23:25:33hornbeck enters the room.
23:27:58antaresrue, is there an overview of external libs shotgun uses?
23:30:14wycatsJRuby: "Nobody can question that JRuby is more compatible with Ruby 1.8.6 than any other Ruby implementation available."
23:30:15wycatsyay
23:32:09lstoll enters the room.
23:32:32rueantares: Not really. shotgun/external_libs/ has all of them
23:32:33lstoll leaves the room.
23:33:03lstoll enters the room.
23:34:19rubuildius_ppc enters the room.
23:36:30aotearoa enters the room.
23:39:10crafterm enters the room.
23:45:06jeremydurhamI am still just surprised by the performance comments. And hoping that regex is significantly faster (in JRuby)
23:45:43rueWhu?
23:46:30graza enters the room.
23:47:05ruegraza: Hey, was it you having issues with git?
23:47:22grazarue: yeah
23:47:37grazayou've seen my post on the forum?
23:49:14rueThe ML only
23:50:15rueI will be right back--did you try recompiling/reinstalling git and/or a different version?
23:50:32rueThe repo seemed to be fine when I tried on 1.5.3.7
23:52:16kofno leaves the room.
23:52:50crossblaim leaves the room.
23:53:26djwhittbenchmarks: http://pastie.org/153523
23:53:31djwhittjust in case anyone is interested
23:55:40chris2 leaves the room.
23:55:53crafterm enters the room.
23:55:57craftermhi all
23:56:14jeremydurhamthe ruby in this context is yarv or 1.8?
23:56:20jeremydurhamor sorry, 1.9 or 1.8? ;)
23:56:20grazarue: just checked git relnotes. there's a segfault fix in 1.5.4.2 that might help me.
23:56:57djwhittjeremydurham: 1.8
23:57:01wycats_ enters the room.
23:57:06djwhittI'll add that to the pastie