Index

Show enters and exits. Hide enters and exits.

<
00:02:07ezmobiusrue: good /contribute page
00:09:48crossaway leaves the room.
00:09:53rueThanks!
00:10:13rueApparently Firefox is using 150% of CPU time
00:10:22rueI need to replicate this and sell it!
00:11:07therealadam leaves the room.
00:20:02cypher23 leaves the room.
00:24:08joshbuddy enters the room.
00:28:07rueWell, no-one knows for sure
00:33:15agardinerthis is an interesting history, if you haven't seen it before: http://www.strongtalk.org/history.html
00:33:32lopex leaves the room.
00:33:41rueIs there pillaging?
00:33:45wmoxam enters the room.
00:34:05brixenrue: yes
00:34:10brixenit's called jvm ;)
00:40:53rueHmm, I was hoping ninjas or vikings
00:41:24agardiner;-)
00:42:14joshbuddy leaves the room.
00:44:45Skip leaves the room.
00:46:57jicksta enters the room.
00:49:43joshbuddy enters the room.
00:50:39rubbish leaves the room.
00:53:51jicksta leaves the room.
00:55:03AndrewO enters the room.
00:57:48brixenhmm, this is looking a bit more sane
00:57:51rueevan: Whenever you catch up, I think there is some potential to make the sexp macro framework generic (and distinct from plugins.) Looks like the system is about a 5% overhead (for compilation time, not overall) although I have not tried abusing exceptions. /me continues tinkering
01:01:10rubbish enters the room.
01:02:19antares enters the room.
01:04:11scoopr leaves the room.
01:06:27jicksta enters the room.
01:06:39jicksta leaves the room.
01:07:42scoopr enters the room.
01:10:43d2dchat enters the room.
01:14:00agile leaves the room.
01:14:43agardineroooh! a sexp macro framework sounds sexy! :-D
01:15:05agardineror should that be sexp-y?
01:15:08agardiner:-)
01:16:03rueHeh
01:16:04brixenheh, indeed
01:16:23brixenrue: you are such a sexp-y coder :)
01:17:14agardinercoupled (unintentional pun) with holding the sexp on the CM, this could open some really interesting possibilities...
01:20:09agardiner... true lisp-style macros anyone?
01:21:14brixenhmm, this sounds like anarchy with all this freedom and possibilities
01:21:33agardinerrubinius: breeding anarchy through code freedom!
01:21:43brixenmabye we're getting too far away from solid, reliable languages like java :P
01:22:25agardinerpictures coders leaping for joy in green fields as they run away from "solid, reliable languages like java"
01:23:15chris2 leaves the room.
01:24:19brixenslide 47 http://www.slideshare.net/evanphx/rubyconf-2007-rubinius-10/
01:24:29brixen:)
01:24:38cored enters the room.
01:25:19EugZol enters the room.
01:27:25agardinerhehe, not quite the image i had in mind (mine was more a sound of music flavour), but that works too... :-)
01:27:37brixenheh!
01:28:35brixenwell, clean ci run, I guess I didn't break it too badly
01:29:20jlindley enters the room.
01:37:36chop3 enters the room.
01:38:10loincloth leaves the room.
01:45:16rueAh.. mine was a bit more "The Clash" than "Sound of Music"...
01:46:06agardinerhehe... this is one of those times that sound on IRC would be useful! :-)
01:50:21joshbuddy leaves the room.
02:01:10jlindley leaves the room.
02:11:43brixendrbrain: do you know if the bin/autotest/* or bin/autotestng.rb used presently?
02:12:11antares leaves the room.
02:12:26drbrainbrixen: I have no idea what that is
02:12:34brixenok
02:13:38kirindave leaves the room.
02:13:52drbrainit looks mostly broken and slow
02:14:01drbrainit does a SHA1 on every file?
02:15:09drbrainand, less featurful
02:16:32brixenyeah, it's very old
02:16:33rueThink that was the limited version from when it was needed
02:16:43brixenyeah, I think I shall delete it
02:16:53drbrainI concur
02:16:59brixencool
02:17:05rueI move it to be forwarded to committee
02:17:21drbrain:P
02:17:43brixenrue: I'll add a motion to forward ticket for you
02:17:46brixenso you don't forget
02:17:57rueSeconded
02:22:48wdperson enters the room.
02:26:43agile enters the room.
02:43:30wdperson leaves the room.
02:44:26VVSiz leaves the room.
02:44:31cored leaves the room.
02:50:26kofno enters the room.
02:53:51loincloth leaves the room.
02:56:26ko1_away leaves the room.
03:05:02joshbuddy enters the room.
03:06:05joshbuddy leaves the room.
03:07:23wdperson enters the room.
03:09:46EugZol leaves the room.
03:12:31MenTaLguY enters the room.
03:18:14Fishy5 enters the room.
03:20:12ko1_away enters the room.
03:29:09rubbish leaves the room.
03:34:27rubbish enters the room.
03:35:25hassox leaves the room.
03:37:48wdperson leaves the room.
03:45:40jayWHY leaves the room.
03:46:39jayWHY enters the room.
03:47:07jayWHY leaves the room.
03:49:54Fishy5 leaves the room.
03:55:07rubbish leaves the room.
04:02:10ezmobius leaves the room.
04:19:42rueOut for a bit, need to mull this over
04:23:36tarcierievan's back?
04:26:50jlindley enters the room.
04:30:40ruetarcieri: Sunday, I think. He popped in shortly this morning
04:31:51ruedrbrain: Can you check #461?
04:32:17boyscout1 commit by Paul Thornthwaite
04:32:18boyscout * Specs for Set#superset and Set#proper_superset added; d250939
04:32:50drbrainrue: I think zenspider checked in a better fix
04:35:38tarcierirue: ok cool
04:35:50ruedrbrain: Thanks
04:35:51drbrainyeah
04:36:04drbrainI forgot to remove the require
04:40:55rubuildius_amd64Paul Thornthwaite: d25093906; 1845 files, 6277 examples, 22371 expectations, 0 failures, 0 errors; http://rafb.net/p/LQ0to158.html
04:43:28boyscout3 commits by Federico Builes
04:43:29boyscout * Updated tags for REXML specs; ba2ca41
04:43:30boyscout * Fixes whitespace in REXML::Element specs; 09c080b
04:43:31boyscout * More specs for REXML::Element; 3a997bc
04:50:57rubuildius_amd64Federico Builes: ba2ca41cb; 1850 files, 6297 examples, 22397 expectations, 0 failures, 0 errors; http://rafb.net/p/iEvwyY71.html
04:58:21rubuildius_ppcFederico Builes: ba2ca41cb; 1850 files, 6300 examples, 22426 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/175038
04:58:22rubuildius_ppcPaul Thornthwaite: d25093906; 1845 files, 6280 examples, 22400 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/175034
04:59:30cremes_ enters the room.
04:59:41jlindley leaves the room.
05:00:06boyscout2 commits by David Yip
05:00:07boyscout * Reset StringIO's EOF on rewind. Closes #465.; 2bea534
05:00:07boyscout * Added spec: full contents of StringIO stream should be accessible after rewind.; 773a13e
05:00:56eventualbuddha leaves the room.
05:08:52vborjaguys, is there a way to stdout the sexp that rubinius sees for an expression ?
05:09:40brixenvborja: you can do "some code".to_sexp
05:09:53vborjaok, thanks
05:09:57rueSure, several. You can use `shotgun/rubinius lib/compiler/describe.rb [file]`, "blah".to_sexp, file.to_sexp
05:10:26agardineror you can use the (experimental) debugger command sexp on a method, e.g. sexp Float#==
05:10:55rubuildius_amd64David Yip: 2bea534cf; 1850 files, 6298 examples, 22399 expectations, 0 failures, 0 errors; http://rafb.net/p/bC8yJl36.html
05:11:47rubuildius_ppcDavid Yip: 2bea534cf; 1850 files, 6301 examples, 22428 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/175046
05:11:53rueRubinius, now with 80% more sexp!
05:11:55brixenwhile we're on the topic, just: shotgun/rubinius describe <file> works too
05:12:19brixenrubinius is one sexp-y implementation
05:12:26agardinerRubinius: the sexp-y Ruby implementation
05:12:31brixenheh
05:12:36agardinerhehe...
05:12:39agardinerjinx
05:12:42boyscout1 commit by Nolan Darilek
05:12:43boyscout * Clean up require statements in bin/rar.rb.; 3b37746
05:12:50brixenyou want to be sexp-y, you better use Rubinius
05:15:00RyanTM leaves the room.
05:20:56rubuildius_amd64Nolan Darilek: 3b37746fc; 1850 files, 6298 examples, 22399 expectations, 0 failures, 0 errors; http://rafb.net/p/qEy9ii75.html
05:23:33rubuildius_ppcNolan Darilek: 3b37746fc; 1850 files, 6301 examples, 22428 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/175049
05:30:06be9 enters the room.
05:31:38AndrewO leaves the room.
05:31:52trythil enters the room.
05:43:11jtoy enters the room.
05:45:06boyscout4 commits by Brian Ford
05:45:07boyscout * Removed obsolete bin/autotest stuffs.; 2f0f09c
05:45:09boyscout * Add config file for and rework MSpec runners.; 5dd9b0e
05:45:09boyscout * Added unconditionally failing flunk method to MSpec.; f09ec96
05:45:10boyscout * Remove non-functioning simple runner from MSpec for now.; a096d85
05:45:30hassox enters the room.
05:46:05rueFsking hate apache
05:46:21brixenhmm, I can never consistently use past or present tense
05:55:34rubuildius_amd64Brian Ford: 2f0f09cd1; 1850 files, 6298 examples, 22398 expectations, 0 failures, 1 error; http://rafb.net/p/XuFfKG95.html
05:55:56loincloth enters the room.
05:56:25brixenhmm, I don't get that
05:56:54rubuildius_ppcBrian Ford: 2f0f09cd1; 1850 files, 6301 examples, 22427 expectations, 0 failures, 1 error; http://pastie.caboo.se/paste/175058
05:59:03rueYou broked it
05:59:20ruebrixen: Oh, bin/mspec tag --list [opt_directory]
05:59:39rueHow are you speccing those?
06:00:26brixenrue: I don't
06:00:37brixenwaiting for some genius to show me the path :)
06:01:09brixenrue: do you get that failure on os x?
06:01:10Gerardo enters the room.
06:01:23Gerardohi
06:01:46Gerardokernel/core/string.rb:149
06:02:07Gerardothere is a note about MRI doing it in a different way
06:02:28rueHeyap
06:02:33GerardoI have compared it with Ruby 1.9
06:02:46Gerardoand both look like they do the same
06:03:06Gerardowhat am I missing...
06:03:38rueDid you look at the spec?
06:03:54Gerardohmmm, not yet
06:04:16Gerardoand I've just remembered I have to update my ruby1.9 source tree
06:04:46brixenI don't know what's up with the comment. if we don't behave differently, it doesn't matter if we follow MRI implementation
06:05:16Gerardowhich spec rue?
06:05:25Gerardocompare_subs*
06:05:31kofno leaves the room.
06:06:03rueAaaargh. Fsking Ruby conflicts on mac
06:06:32brixenGerardo: I'm guessing string/equal_value_spec.rb
06:07:03rueAnd string/shared/equal_value_spec.rb
06:07:20brixenhmm, I just update and ran bin/mspec ci on ey slice and I have 0/0
06:07:39brixenwaiting for ppc run to complete
06:08:18Gerardohmm... I was looking in /spec
06:08:41Gerardolet's see...
06:08:59brixenGerardo: spec/ruby/1.8/core/string/equal_value_spec.rb
06:09:22brixenit would be .../string/shared/equal_value.rb
06:09:49Gerardothanks
06:10:42Gerardohmm, I couldn't run equal*rb from its directory
06:10:59Gerardocouldn't find a required file
06:11:53brixenbin/mspec spec/ruby/1.8/core/string/equal_value_spec.rb
06:12:10brixenuse -tr to run it with mri instead
06:12:29Gerardothanks for the patience
06:13:31boyscout1 commit by Gerardo Santana
06:13:32boyscout * libexecinfo is no longer needed on FreeBSD and OpenBSD; 01e0095
06:14:22Gerardogood
06:14:36Gerardothe spec ran fine
06:14:44Gerardowith -tr and without it
06:14:50brixencool
06:14:52rueGerardo: I think the comment might mean "why not just do `return self.<=>(other) == 0`" because #== uses the same logic
06:15:14brixenrue: yeah, that's how I read it too
06:15:23brixenbut again, we don't care *how* mri does it
06:15:30brixenjust what the result is
06:15:34brixenI'd nix the comment
06:15:34Gerardoand I read it like "MRI does it in a differenty way, why we are doing all this?"
06:15:45Gerardook
06:15:49Gerardoright
06:16:43rueGerardo: So in a case like this, you want to first verify what the correct behaviour is. Check the specs we have, test it out on MatzRuby to find out (ri is sometimes unreliable)
06:16:47ezmobius enters the room.
06:17:26Gerardorue: and verify it means running mspec <spec-file> with and without -tr
06:17:29brixencan anyone repro that reported spec failure? I've tried ox x intel (my machine), gentoo 64, and os x ppc, they all pass
06:17:30Gerardois that correct?
06:18:07rueGerardo: Yeap, as well as take a look at what it actually does (if there is a suspicion it is incomplete/broken)
06:18:18brixenodd that both the bots would choke on the same spec
06:18:24Gerardook
06:18:42brixenohh, didn't try rake spec:ci
06:18:43brixenhmm
06:18:59ruebrixen: Once I reinstall ruby
06:19:33rueVery
06:19:46rueMostly because you would be ducking me and a baseball bat
06:19:53brixenhm, rake spec:ci fine on os x intel
06:20:12rueIn that case, it should be doable
06:20:34rubuildius_amd64Gerardo Santana: 01e0095a9; 1850 files, 6298 examples, 22398 expectations, 0 failures, 1 error; http://rafb.net/p/rvsrvl47.html
06:20:56rueGerardo: The implementation we target with the specs is generally the latest stable Ruby. Right now that is 1.8.6-p111 (p114 is broken)
06:21:23brixenwth is up with those bots
06:21:42rueGerardo: If you want to spec 1.9/2.0 specifically, we would want to set up a spec/ruby/1.9 for that. No-one has really done any 1.9 speccing at this point
06:21:49brixenbin/mspec ci and rake spec:ci clean on 3 diff machines
06:22:54brixenhmm, but I'm only updating, not fresh cloning
06:23:06rueAlright, that is 5 tickets for me today
06:24:55Gerardorue, now I'm not so sure to track 1.9/2.0 ... it's a moving target AFAIK
06:25:13GerardoI took 1.9 because that's what I had at the moment.
06:25:16rubuildius_ppcGerardo Santana: 01e0095a9; 1850 files, 6301 examples, 22427 expectations, 0 failures, 1 error; http://pastie.caboo.se/paste/175069
06:25:23Gerardowhat do you think
06:25:29rueGerardo: Yeah. I would definitely recommend 1.8.6 unless you specifically want to do 1.9 for some reason
06:25:36Gerardook
06:26:02Gerardomspec -tr uses the ruby binary in my path?
06:26:33rueYeap
06:26:46Gerardogood
06:27:15brixenGerardo: but you can do -tpath/to/some/other if you want
06:27:26Gerardoah
06:28:22Gerardo'k. I appreciate your help. I really want to contribute, and it takes time to feel at home with the source tree
06:28:35brixenok, that's 4 machines with 0/0. this must be a repo thing
06:28:43brixenGerardo: absolutely
06:28:55brixenGerardo: feel free to ask questions whenever
06:29:21Gerardo:) great
06:30:31brixenGerardo: my plan is to start 1.9 specs when the 1.8 ones have solidified a bit more
06:30:43GerardoI'm a CVS guy. It's taking time to be familiar with git also. But I've been doing fine with three patches.
06:30:47brixenand so far, core matzruby team doesn't care about running them, so meh
06:30:57ruebrixen: I cannot reproduce the failure
06:31:12brixenrue: ok, thanks for trying
06:31:28brixenI've just cloned locally, built, waiting for mspec to run
06:32:05brixenrue: where the heck is the command the bot runs?
06:32:46brixenrubuildius_amd64: commands
06:33:48Gerardobrixen, hmmm, so, spec'ing ruby1.9 would be a good idea, to spot ruby1.9 bugs or changes in behavior, that rubinius should take into account
06:34:14brixenGerardo: yeah, we will eventually. top priority is getting 1.8 compat done
06:34:57brixenrue: I've cloned and built, still with no error
06:35:07brixenpiss off build bots :P
06:36:50Gerardogit pull is like cvs up?
06:37:20rueI wonder if it is hitting the wrong version
06:38:25brixenohh, damn bot is still using bin/ci
06:38:48brixenI wish we could control these bots
06:39:33rueGerardo: Sort of: it does a `git fetch` first and then `git merge` on those patches
06:40:11GerardoI should have seen a conflict then
06:40:44GerardoI saw that my patch was commited, and I haven't moved my modified INSTALL away
06:41:21brixendid you rake git:pull ?
06:41:25Gerardogit voodoo...
06:41:42Gerardonot yet, trying now
06:41:48brixenwth, bin/ci worked fine too
06:41:51rueA conflict?
06:42:06Gerardoaha
06:42:24Gerardoerror: patch failed: INTALL:40
06:42:33GerardoI suppose that's a conflict in git ...
06:42:51Gerardois it?
06:44:03rueYeah
06:44:22rueIf you look at the man pages for git-apply and git-am there are options for merging
06:44:46rueAnother option, if this is something that builds on top of the change you are merging in, is to git-rebase
06:44:49Gerardoeven for already commited patches?
06:45:01GerardoI was thinking of just removing INSTALL and rake git:pull
06:45:28Gerardo(I didn't create a branch, it was a single modification)
06:45:37Gerardo(single file, I mean)
06:45:46rueSure, you can reset to HEAD
06:45:57rueThere are about twenty-eleven different options to resolve it :)
06:47:10benburkert leaves the room.
06:48:36brixenfinally, I've reproduced it
06:48:44ruezenspider is away?
06:49:21drbrainrue: yes
06:50:48rueHumm, just as well.. I think I forgot what I needed him for anyway
06:52:27rueOh, parser stuff. Highly non-urgent
06:55:15agardinerbrixen: can we make the default spec runner the spinner? Its vastly superior to a sea of dots! :-)
06:55:34agardiners/runner/formatter/
06:56:25agardinernice to know how far there is still to go
06:57:12agardineroh, and i've got the same failure now on gutsy
06:57:18Gerardook, I messed it up
06:57:40GerardoI removed the INSTALL file.
06:57:41rueagardiner: I do not think it adequately shows the vast amount of specs that are running
06:57:52Gerardoand I can't fetch it again
06:58:14agardinerwell, i think once you get a screenful of dots, you kinda lose track of how many are being run anyway
06:58:15rueGerardo: OK, you can do `git checkout INSTALL` to grab the one that is stored as the HEAD version
06:58:16GerardoI tried rake git:pull, git pull, git fetch
06:58:36Gerardooh my
06:58:41Gerardo:)
06:58:51rueMore generally, `git checkout <path>` recursively "resets" that path to HEAD version
06:59:08rueYou can specify a different version too, if you like. All sorts of fun stuff.
06:59:12Gerardoaha, that's what I was looking for
06:59:17Gerardothank you
06:59:18brixenagardiner: sure
06:59:33brixenagardiner: I'm working on the failure
06:59:53agardineri've got a push ready to go... do you want me to hold off?
06:59:54brixenagardiner: if it's the same as the bots are reporting
07:00:10rueGerardo: Aaaand of course it is a bit overloaded: `git checkout <branch>` moves you between branches instead of changing the working directory status
07:00:19agardineryeah, its the same failure on GetoptLong
07:00:31brixenagardiner: nah, you can push, it will take me a while yet to figure out this spec
07:00:35agardinerok
07:00:47Gerardorue, got it
07:00:58boyscout1 commit by Adam Gardiner
07:00:59boyscout * Fix stepping to a target IP or line; 08a0668
07:01:01rueI only glanced at it but the set_error raise should be caught
07:03:59loincloth leaves the room.
07:10:10brixenthe mixture of tabs and spaces in MRI code is maddening
07:10:17brixenwho thinks of these tortures?
07:10:33rubuildius_amd64Adam Gardiner: 08a0668e8; 1850 files, 6298 examples, 22398 expectations, 0 failures, 1 error; http://rafb.net/p/wmJUKi67.html
07:10:52agardinerok, time to run... later!
07:10:59brixenagardiner: later!
07:11:04agardiner leaves the room.
07:11:57rubuildius_ppcAdam Gardiner: 08a0668e8; 1850 files, 6301 examples, 22427 expectations, 0 failures, 1 error; http://pastie.caboo.se/paste/175083
07:12:08Gerardohow did you get this output rue, http://rafb.net/p/rvsrvl47.html
07:12:16brixenok, fixes coming up
07:12:39brixenGerardo: the specs are messed up
07:12:46brixenI'll push a fix in a moment
07:12:51brixenthey expect ARGV to be []
07:13:24brixenyou can get it by bin/mspec ci -f m
07:14:15Gerardothe known good specs
07:14:31brixenyeah
07:14:35rueHum, interesting
07:17:15Gerardowhat does '-f m' stand for
07:17:30brixen-f formatter, m is summary
07:17:37brixeni.e. no dots, just the time and results
07:17:49Gerardocouldn't see that flag in bin/mspec/bin/mspec
07:17:51brixenbin/mspec ci -h
07:17:59Gerardook
07:18:05brixenyeah, it's in mspec/bin/options.rb
07:18:31GerardoI understand now the reference to 'a see of dots'
07:18:35Gerardosea
07:19:01brixenanyone present object to default formatter being spinner instead of dots?
07:19:08brixenif you're not present, you can't vote :P
07:19:39brixendrbrain: autotest is explicitly using -fu right?
07:19:52rueEh, I like the verbose dots but it is not of radical importance
07:20:05brixenheh, I like dots too
07:20:11brixenthat's why it's the default :D
07:20:17drbrainbrixen: yes, autotest uses -fu
07:20:21drbrainI like dots
07:20:21Gerardo-f m is not docummented
07:20:23brixendrbrain: k
07:20:46GerardoI vote for spinner
07:20:59brixenhmm 2 to 2
07:21:00Gerardo:)
07:21:05brixenwho will be the tie breaker?
07:21:25ezmobiusspinner +1
07:21:30brixenhehe
07:21:52brixenc'mon folks, the dots are going down to defeat
07:21:56rueActually yeah, I think the docs are missing m and whatever the immediate reporter is if it still exists
07:21:57brixenrally!
07:22:05brixenrue: nixed immediate
07:22:11Gerardorue, let me modify options.rb to add m to the list
07:22:24brixensummary reporter is a dark option
07:22:29brixenyou're not supposed to know about it :P
07:22:44brixendots, going once, going twice....
07:22:50brixendamn, sold to the spinner
07:23:43Gerardooh my... it's late
07:23:58Gerardosorry, I didn't make the change in options.rb
07:24:01GerardoI have to go
07:24:05brixenGerardo: no problem
07:24:13brixenI'm making it now
07:24:18Gerardosee you guys, I'll try to be around more
07:24:22Gerardobye
07:24:26Gerardoand thanks
07:24:27brixenlater
07:24:35Gerardo leaves the room.
07:27:32brixendang, load "~/.mspecrc" doesn
07:27:36brixen't work yet
07:27:40brixenin rubinius
07:28:43brixenbut File.expand_path does, yay
07:37:25jartz enters the room.
07:38:03gnufied enters the room.
07:43:41joachimm_ leaves the room.
07:44:02brixenok, dots will remain default, but you can now have a ~/.mspecrc e.g. http://pastie.org/175091
07:46:21imajes_ enters the room.
07:52:54boyscout4 commits by Brian Ford
07:52:55boyscout * Put personal MSpec runner config options in ~/.mspecrc.; 6578299
07:52:56boyscout * Fixed GetoptLong specs to not depend on value of ARGV.; 3a547c2
07:52:57boyscout * Removed tabs from lib/getoptlong.rb.; 2c9a510
07:52:58boyscout * Update bin/ci. This really will be going away soon. Forewarned.; 2f232ae
07:56:35tokengeek enters the room.
07:57:13rueIt shoudl work
07:57:17rueShould too
08:00:34rubuildius_amd64Brian Ford: 65782997e; 1850 files, 6298 examples, 22399 expectations, 0 failures, 0 errors; http://rafb.net/p/FAIlT563.html
08:03:59rubuildius_ppcBrian Ford: 65782997e; 1850 files, 6301 examples, 22428 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/175095
08:05:44drbrainha!
08:05:47drbrainFAIl
08:05:57gnufiedanybody feels here implementation of flush in ruby is wrong
08:06:08drbrainhow so?
08:06:08brixendrbrain: ?
08:06:23drbrainhttp://rafb.net/p/FAIlT563.html
08:06:35gnufieddrbrain, imho sock.flush should raise exception like its C counterpart
08:06:40brixenahh heh
08:06:51rueDwhe?
08:07:03gnufiedman 3 fflush
08:07:16drbrainI only see EBADF
08:07:22drbrainwhich isn't really possible in ruby
08:08:05ruebrixen: Another thing I am playing with using the macro system: executable commenting format that can be disabled
08:08:09gnufiedThe function fflush() may also fail and set errno for any of the errors specified for the routine write(2).
08:08:18rueSomething like commie "Hi, this is a comment"
08:08:26drbrainwrite(2) can raise a bunch of stuff, but I think they should all be handled except ENOSPC or EPIPE
08:08:26octopod enters the room.
08:08:27gnufieddrbrain, why is EBADF not possible
08:08:37brixenrue: cool!
08:08:41rueOr, say, commie.parameters :a, "is a whatever"
08:09:24drbraingnufied: because you have a valid file descriptor
08:09:35drbrainif somebody closed it behind your back, you get IOError
08:10:21nkpart leaves the room.
08:10:37gnufiedmy problem is even after underlying server is shutdown, immediate next write succeeds giving me false impression that request reached server. write also doesn't throw any excpetion because of buffered io
08:11:00gnufiedimmediate next write from open socket at client
08:11:21drbrainwhich side should raise?
08:11:38gnufiedclient
08:11:47drbrainyou can't call fflush on a socket
08:12:24gnufiedwhy so? socket is a steam isn't it?
08:12:32gnufiedstream
08:12:40drbrainfflush() only works on FILE
08:13:08drbrainor am I wrong?
08:13:35gnufiedi thought everything is a file in UNIX
08:13:45drbrainoh, my bad
08:13:59headiusruby fdopens everything
08:14:06headiusso you can use normal buffered IO
08:15:13gnufiedcoming back to write, because of buffered IO, socket that I opened from client for connecting to server successfully writes to the socket even after server is down
08:15:35gnufiedin fact number of bytes written is also non-zero
08:15:41headiusyes, write should verify the descriptor is still open
08:15:49drbrain"The function fflush() forces a write of all buffered data for the given output or update stream via the stream's underlying write() function"
08:15:51headiusbefore writing
08:16:12drbrainwhat is that sentence supposed to mean?
08:16:26drbrainI see an rb_thread_fd_writable() here in MRI io.c
08:16:43drbrainwhich calls select()
08:16:44headiusit just means fflush uses a normal unbuffered fd write to write the data
08:17:05headiusthat thread stuff is just used to allow threads to reschedule
08:17:15drbrainwhich, I think, means that it only checks to see if there's space in the local socket buffer
08:17:38drbrainheadius: it also calls select()
08:17:48headiusselect checks for data in the system's buffer for the fd, not in the FILE buffer
08:18:03headiusyeah
08:18:10drbrainheadius: not for writing
08:18:12VVSiz enters the room.
08:18:17gnufiedheadius, so do i assume that write should raise an exception if server socket is closed?
08:18:35headiusgnufied: yeah, I believe that should be EBADF
08:18:50headiusyou could test it easily enough by closing the server side and trying to do something on the client
08:19:10gnufiedyes next immediate write succeeds silently, which sucks
08:19:20headiusit definitely shouldn't do that
08:19:21thehcdreamer enters the room.
08:19:22drbrainstrace may help here, to see if ruby is swallowing the exception, or if you never get it
08:20:04headiusbefore almost all of those operations MRI checks if the fd is closed and readable/writable
08:20:48headiusI believe if it sees that the socket is closed, it's an IOError...if it's closed after checking but before using it, the system might result in EBADF which Ruby will report
08:21:19drbrainheadius: but, if the other end closes it's receive channel, what's supposed to happen on your end?
08:21:48gnufiedwrite should definitely fail
08:21:48headiuspretty sure the kernel shuts down your socket
08:22:22headiusbut yeah, buffered or unbuffered write should fail at that point
08:22:28gnufiedwhat happens to client socket? does it becomes invalid?
08:22:50headiusit should appear to be a closed descriptor at that point
08:23:06gnufiedhmm, then we have a bug in ruby
08:23:26headiusyou have a test case for this?
08:23:45ezmobius leaves the room.
08:23:59gnufiedhalf a moment, i am doing this in BackgrounDRb currently. but I can reproduce one.
08:24:20headiusit gets more complicated with nonblocking IO, so don't take this all as rote
08:24:21drbraingnufied: there's nothing here that says the exception gets swallowed
08:24:54gnufiedheadius, yes, I was coming to that. what happens if server socket was in non blocking IO
08:25:09drbrainoh, no, it does ignore errno if n != EOF
08:25:31drbrainn = fflush(f); if (n != EOF) break;
08:25:49gnufieddrbrain, which file io.c?
08:25:56drbrainso that's why you don't get an exception
08:26:00drbrainio.c
08:26:08drbrainio_fflush
08:26:15drbrainI think that's what you want
08:26:40drbrainat least, it's definitely intentional
08:27:10headiusI'm thinking it's more some problem in the writable/closed checks above
08:27:36headiusthe errnos you'd expect to come from a closed fd should be avoided by the closed check
08:28:06drbrainheadius: couldn't you still race?
08:28:15headiussurely
08:28:26headiusbut if it's repeatable it seems less likely
08:28:46headiusyou'd have to close it between those checks and the fflush call
08:29:03headiusthen you lose the errno and things go tweaky
08:29:17headiusplus that wouldn't explain if you can do multiple writes in a row that silently succeed
08:29:32drbrainthe kernel could say "the other end shut down" between the time you check if it's closed and the time you try to write
08:29:41headiusyep, sure could
08:30:15headiusit's worth mentioning though that buffered writes are obviously not guaranteed to always get there
08:30:33headiusso there's probably some wiggle room here for when the error should get raised
08:30:35drbrainwe're not talking about a buffered write
08:32:12headiusyou're talking about a flush
08:32:35drbrainwhich calls write(2) on the underlying fd
08:32:41headiusyes
08:33:25drbrainisn't that unbuffered?
08:33:52gnufiedyeah, but according to fflush os may buffer data as well
08:34:19headiusyes, it is unbuffered, but there can be OS buffers like gnufied said
08:34:35gnufiedbut we are not concerned with that in ruby
08:34:39headiusno
08:34:52headiusgot a test case? I have to run but I would try it in jruby
08:35:05headiusif the socket's down it seems like the closed check should fail
08:35:38gnufiedi am sorry, one sec, i was following up this conversation and reading code
08:35:50headiusotherwise it seems like errno should not be ignored...but I know ruby ignores errno in other places like when shutting down a stream...doesn't want flush to raise errors if you're closing for example
08:38:28headiusoh!
08:38:40headiusI jumped out of shower with a realization
08:39:00headiusEOF == -1 == return value if there's errno
08:39:06headiusso that's not ignoring errno
08:39:35drbrainoh, duh
08:39:36headiusit's attempting to wait for the stream to be writable again, only then raising error
08:39:48headiusI don't like that overloading of EOF myself
08:39:50headiusmisleading
08:39:51headiusbrb
08:42:07gnufiedheadius, okay got the case
08:43:11gnufiedheadius, http://pastie.caboo.se/175134
08:43:41gnufiedor am i hallucinating?
08:45:05gnufieddrbrain, finally is this behaviour correct? you mentioned it could be intentional!
08:45:27drbraingnufied: I'm certain it is intentional, correct, I don't know
08:46:19gnufiedlast bit, so how do i know/tell client that sorry your message was lost and couldn't reach server
08:46:40gnufiedit also means that when server restarts one more message will be lost
08:46:49gnufiedi don't like that
08:47:17headiusI dont' see where you're closing the socket
08:47:17drbrainI'm only good at reading man pages and C code, I'm not sure how to solve it
08:48:28gnufiedheadius, put close, it won't make a damn difference
08:48:46gnufiedalso, i actually ran client and server seperately
08:49:21headiusoh, ok, I was gonna say
08:49:48ruegnufied: What is the number of bytes it is returning?
08:49:53rue~for you
08:50:22trythil leaves the room.
08:50:46gnufiedrue, 5 and 5 in both cases from client
08:50:50Skip enters the room.
08:51:00headiusif I leave the socket open, it blocks trying to read the rest
08:51:01headiuser
08:51:04headiustrying to write the rest
08:52:34headiusthis is jruby now...with a close, the client script ends, but no error
08:52:38gnufiedheadius, but server is shutting down after reading first 4 bytes
08:52:50cypher23 enters the room.
08:53:04wycats leaves the room.
08:53:07headiusyeah
08:53:44gnufiedand here on linux even if I don't excpictly close the socket write succeeds in client
08:53:55gnufied*explicitly
08:54:19headiusyeah, confirmed
08:54:40gnufiedheadius, can we consider this as bug?
08:55:16headiusthat I don't know :)
08:55:18d2dchat leaves the room.
08:55:19headiusand I have to run
08:55:39gnufiedhe he...
08:55:45gnufiedthis is funny!
08:56:38headiusadd some checks in there to see if the client socket is closed before the last right
08:56:39headiuswrite
08:56:58wycats enters the room.
08:57:05headiusif it doesn't show up as closed, then socket IO may require both ends to explicitly close...seems contrary to what I'd have expected though
08:58:11gnufiedhow do you check is client socket is closed?
08:58:36gnufiedfrom ruby.
08:58:47headiusIO#closed?
08:59:02headiusbrb
08:59:13mutle enters the room.
08:59:57jartz leaves the room.
09:00:01gnufieddoesn't make a difference, it doesn't show up as closed
09:00:31zimbatm_ enters the room.
09:02:16zimbatm leaves the room.
09:06:47drbrainclosed? will only return true if you closed it on your end
09:08:00wycats leaves the room.
09:15:14gnufiedgoing to post on ruby-core anyways
09:15:38crossblaim enters the room.
09:15:59crossblaimhi
09:21:33Chrononaut leaves the room.
09:25:19sfaxon enters the room.
09:25:25wycats enters the room.
09:40:59Arjen_ enters the room.
09:41:38headius leaves the room.
09:43:27jartz enters the room.
09:44:06srbaker leaves the room.
09:44:34srbaker enters the room.
09:55:46hassox leaves the room.
09:57:11BlackEdder enters the room.
10:01:30jartz leaves the room.
10:04:20graza enters the room.
10:06:12rueHah, these are some ludicrous build rules
10:06:13Skip leaves the room.
10:21:49yaroslav enters the room.
10:22:42VVSizrue: btw, that tig thing is pretty handy
10:24:18rueYeah, it is a good one. Dunno why it is not better-known
10:26:20graza_ enters the room.
10:26:20graza leaves the room.
10:29:37Skip enters the room.
10:32:25sfaxon leaves the room.
10:32:30boyscout1 commit by Paul Thornthwaite
10:32:31boyscout * Updated specs for Set library; 2d600c0
10:40:33rubuildius_amd64Paul Thornthwaite: 2d600c012; 1850 files, 6310 examples, 22411 expectations, 0 failures, 0 errors; http://rafb.net/p/zLz18s36.html
10:41:48graza enters the room.
10:41:48graza_ leaves the room.
10:48:35rueGreat. `ruby -e 'require "~/path/to/file.rb"'` puts the unexpanded ~ in $", `require "~/path/to/file"` does not
10:49:36VVSizmagic!
10:51:12rueYou misspelled "stupid" :)
10:51:19VVSizheheh
10:51:42VVSizI can't even compile latest MRI l_8 branch, its broken
10:52:29chris2 enters the room.
10:52:35Chrononaut enters the room.
10:53:09rubuildius_ppcPaul Thornthwaite: 2d600c012; 1850 files, 6313 examples, 22440 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/175164
10:59:12imajes_ leaves the room.
11:05:39graza_ enters the room.
11:05:39graza leaves the room.
11:07:04dbussinkozy`: there is going to be
11:07:56rueMorning
11:08:08dbussinkafternoon here already :)
11:08:22rueozy`: I was just cursing at Apache for trying to thwart my plans
11:08:23dbussinkrue: nice thing, shell escaping and replacing, isn't it? ;)
11:08:46rueFor certain values of nice
11:09:02gnufied leaves the room.
11:09:24boyscout2 commits by Eero Saynatkari
11:09:25boyscout * Fixed ~/ expansion for #require, #load.; bbb8edb
11:09:26boyscout * Specs for ~/ expansion in #require, #load. It has broken at some point.; 38eb679
11:09:31dbussinkozy`: rue is our mod_rubinius guy
11:12:57rueA few, though it is not quite at the point to make such plans right now
11:14:34ruedbussink: I started pushing to my github "fork" of Rubinius; I figured I would try to update it once a day at least. I suppose I could just add it as a remote too.
11:14:54rueWonder if it makes any difference anywhere :P
11:15:05hassox enters the room.
11:15:09dbussinkhehe, probably doesn't, but people look there more often
11:15:24olabini leaves the room.
11:16:35rue193 pages of commits
11:18:14VVSizhmmm, mspec seems to be broken for me
11:18:27imajes_ enters the room.
11:18:29VVSizpastie:
11:18:59pastiehttp://pastie.org/175169 by VVSiz.
11:20:02VVSizbrixen: you there? probably not, but this is just a ping, to bring your attention to the mspec problem above.
11:20:34rubuildius_amd64Eero Saynatkari: bbb8edb41; 1850 files, 6313 examples, 22418 expectations, 0 failures, 0 errors; http://rafb.net/p/lqyYU688.html
11:20:44rubuildius_ppcEero Saynatkari: bbb8edb41; 1850 files, 6316 examples, 22447 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/175170
11:22:09rueVVSiz: Should be easy, sec
11:23:39w1rele55 leaves the room.
11:24:11rueHm, looks like he does not have tests for these
11:27:26jtoy leaves the room.
11:29:37boyscout1 commit by Eero Saynatkari
11:29:38boyscout * Fixed typo in MSpec exclude config.; 2fd818f
11:29:58rueVVSiz: ^^ Should work
11:30:08imajes_ leaves the room.
11:30:24VVSizyep, works. thanks, that was fast! :)
11:31:45rueNop; bother brixen to add specs for that part
11:32:29srbaker leaves the room.
11:32:45srbaker enters the room.
11:32:59agardiner enters the room.
11:35:53VVSizdamn, those specs with ~/ exponsion all fail for JRuby
11:40:21graza enters the room.
11:40:21graza_ leaves the room.
11:40:34rubuildius_amd64Eero Saynatkari: 2fd818f4d; 1850 files, 6313 examples, 22418 expectations, 0 failures, 0 errors; http://rafb.net/p/27S9rw89.html
11:40:43rubuildius_ppcEero Saynatkari: 2fd818f4d; 1850 files, 6316 examples, 22447 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/175177
11:42:08w1rele55 enters the room.
11:47:21imajes_ enters the room.
11:49:22webmat enters the room.
11:51:29imajes_ leaves the room.
11:53:08imajes_ enters the room.
11:58:13graza_ enters the room.
11:58:13graza leaves the room.
11:59:50imajes_ leaves the room.
12:01:06rueAlright, nites.
12:01:33agardinernite!
12:02:14imajes_ enters the room.
12:06:47zimbatm leaves the room.
12:07:09agardiner leaves the room.
12:12:28graza enters the room.
12:12:28graza_ leaves the room.
12:18:00antares enters the room.
12:18:07antares leaves the room.
12:27:59graza_ enters the room.
12:28:00graza leaves the room.
12:28:32ctennis leaves the room.
12:28:33tokengeekHi all. Is anything written down about handling specs for known changes between Ruby 1.8.6 and 1.9 ?
12:29:52VVSiztokengeek: at the moment the focus on 1.8 specs. for 1.9, it was said, there will be a spearate place
12:30:02VVSizsince way to many spec changes between 1.8 and 1.9
12:30:25tokengeekOkay. Wasn't sure if it was worth flagging them as non-compliant now or not.
12:33:23olabini enters the room.
12:39:33kofno enters the room.
12:41:49binary42 enters the room.
12:43:58rubbish enters the room.
12:44:59JimMc leaves the room.
12:47:31imajes_ leaves the room.
12:59:05hassox leaves the room.
13:02:27imajes_ enters the room.
13:02:28graza_ leaves the room.
13:02:36graza enters the room.
13:05:56yaroslav leaves the room.
13:06:34yaroslav enters the room.
13:06:49skaar enters the room.
13:14:00ttmrichter_ enters the room.
13:14:17qwert666 enters the room.
13:16:04obvio enters the room.
13:17:33ch0wda enters the room.
13:18:42ttmrichter leaves the room.
13:20:54chris2 leaves the room.
13:24:01obvio171 enters the room.
13:25:04obvio leaves the room.
13:30:32chop3 leaves the room.
13:31:39jlindley enters the room.
13:33:50graza_ enters the room.
13:33:50graza leaves the room.
13:38:00VVSizrue: btw, you changes for ~/ expansion can't handle things like ~vvs/ 8-P
13:39:30yaroslav leaves the room.
13:40:09yaroslav enters the room.
13:41:39RyanTM enters the room.
13:41:48yaroslav leaves the room.
13:43:45ch0wda leaves the room.
13:43:49headius enters the room.
13:44:19rubbish leaves the room.
13:44:57enebo enters the room.
13:45:25jtoy enters the room.
13:53:01yaroslav enters the room.
13:59:52imajes_ leaves the room.
14:00:26graza enters the room.
14:00:43graza_ leaves the room.
14:06:42imajes_ enters the room.
14:12:01graza_ enters the room.
14:12:01graza leaves the room.
14:12:11wdperson enters the room.
14:12:29olabini enters the room.
14:13:55headius leaves the room.
14:19:14probablycorey enters the room.
14:21:18wmoxam leaves the room.
14:22:24hassox enters the room.
14:27:21zimbatm enters the room.
14:30:10AndrewO enters the room.
14:32:14graza enters the room.
14:32:14graza_ leaves the room.
14:33:47enebo leaves the room.
14:41:25imajes_ leaves the room.
14:43:58sudoer enters the room.
14:44:02macournoyer enters the room.
14:45:55imajes_ enters the room.
14:51:35VVSizbrixen: oh, one more thing. tagging in the latest mspec doesn't work
14:52:35wmoxam enters the room.
14:53:21binary42 leaves the room.
14:59:17sudoer leaves the room.
15:01:54moofbong enters the room.
15:11:54graza_ enters the room.
15:11:55graza leaves the room.
15:13:32jtoy leaves the room.
15:15:48binary42 enters the room.
15:21:16jartz enters the room.
15:24:25ch0wda enters the room.
15:25:44wdperson leaves the room.
15:27:37wdperson enters the room.
15:29:11naeu enters the room.
15:32:08acm leaves the room.
15:34:51wdperson_ enters the room.
15:36:23trythil enters the room.
15:38:32jlindley leaves the room.
15:38:53brweber2 enters the room.
15:44:58gdagley enters the room.
15:52:29graza enters the room.
15:52:29graza_ leaves the room.
15:55:08wdperson leaves the room.
15:58:16w1rele55 leaves the room.
16:00:50therealadam enters the room.
16:01:37imajes_ leaves the room.
16:05:18graza leaves the room.
16:05:59graza enters the room.
16:09:02jlindley enters the room.
16:15:48jartz leaves the room.
16:19:18imajes_ enters the room.
16:22:53binary42 leaves the room.
16:36:16benburkert enters the room.
16:38:38joachimm enters the room.
16:41:57headius enters the room.
16:42:35imajes_ leaves the room.
16:43:20graza leaves the room.
16:48:02dodecaphonic enters the room.
16:52:39naeu leaves the room.
16:54:14brixenVVSiz: heh, I woke up this morning and that was my first thought. shit, tagger can't work, I forgot a move a couple lines :P
16:54:41VVSizheheheh :)
16:55:15brixenVVSiz: what was the other problem in your ping?
16:55:16VVSizrue also quickly fixed another problem, earlier (couldn't start mspec at all)
16:55:53VVSiztypo in sources caused it. He said I should bug you so that you'd write some tests for that :)
16:56:08brixenk, I'll look at the commits
16:56:23brixentesting scripts is a huge pain, not sure how to do it well
16:56:35VVSizthe third problem was that bin/mspec stopped working for us in JRuby build.
16:57:04brixendo you know why?
16:57:09VVSizthe reason is that now bin/mspec *exec*s mspec/bin/mspec. but in our case we untar the tgz binary, and it doesn't preserve the +x bit
16:57:16lopex enters the room.
16:57:29brixenugh
16:57:43brixencan you add that to your untar script?
16:57:50VVSizthat's probably Ant's/Java's thing to not preserve the execution bits. So, now we just invoke chmod on mspec explicitly
16:57:53brixenwhy doesn't tar preserve x bit?
16:57:59brixenahh ok
16:58:15VVSizso, 2 probs down, one to go (tagging)
16:58:19brixenis there no switch for it? that seems like a real pita?
16:58:29brixenoh, tagging will be fixed in a jiffy
16:58:36brixenjust forgot to migrate 3 loc
16:59:18brixenrue is so awesome
16:59:22brixenthanks rue :)
16:59:36brixenhe's probably still awake, just idling for a minute hehe
16:59:37shame leaves the room.
17:00:04VVSizI *think* that the +x bit is specific to the way ant uses java-specific untar mechanism (and Ant manual even says so - the attributes are not preserved)
17:00:26VVSiz*normal* tar should have no problems
17:01:32brixenhmm, yeah, never had problem with normal tar
17:04:27binary42 enters the room.
17:05:33brixenVVSiz: if you integrated the specs into your tree, you could save your own equivalent to bin/mspec rather than using ours
17:05:45brixenVVSiz: also, I'm getting closer to an mspec gem
17:06:52VVSizbrixen: sure, I was just reusing what worked :) and it's easier for me that way, since most of the time I actually run specs out of rubinius repo, not imported ones
17:07:35brweber2_ enters the room.
17:07:51brixenahh, I see
17:07:53mutle leaves the room.
17:12:16headiusearlier Java versions could not set executable bit
17:12:24headiusso Java-based tar could not set executable bit
17:12:36headiusbbl
17:12:37headius leaves the room.
17:15:43brixenhmm, I guess the new structure of the scripts makes it possible to spec them rather easily
17:15:50brixenat least aspects of them
17:19:16oweff enters the room.
17:21:10lopex leaves the room.
17:22:44kofno leaves the room.
17:23:13brixenVVSiz: did you fix the ~/ expansion in jruby yet?
17:23:22VVSizyep, today
17:23:43brixenok, I'll switch mspec to use it rather than File.expand_path
17:23:47brweber2 leaves the room.
17:24:50yaroslav leaves the room.
17:26:10eventualbuddha enters the room.
17:26:38dodecaphonic leaves the room.
17:27:08brixenor not, this is retarded. in mri: load "~/.mspecrc" works but File.exist?("~/.mspecrc") => false
17:29:10dodecaphonic enters the room.
17:30:46brixenhere must be a race in the Process.kill specs
17:30:57brixenI am still sporadically getting a failure
17:32:14EugZol enters the room.
17:32:52lopex enters the room.
17:33:52boyscout2 commits by Brian Ford
17:33:53boyscout * Tweak MSpec config loading an absolute-ish path.; c29b485
17:33:54boyscout * Fix MSpec tagging script to actually instantiate the tagger.; 659e648
17:34:51thehcdreamer leaves the room.
17:37:07joachimm_ enters the room.
17:40:26agile enters the room.
17:40:34rubuildius_amd64Brian Ford: c29b485d6; 1850 files, 6313 examples, 22418 expectations, 0 failures, 0 errors; http://rafb.net/p/Uv4pPa27.html
17:41:20KirinDave enters the room.
17:43:11benburkert_ enters the room.
17:43:47joachimm leaves the room.
17:44:25joachimm_ leaves the room.
17:44:39benburkert_ leaves the room.
17:45:10rubuildius_ppcBrian Ford: c29b485d6; 1850 files, 6316 examples, 22447 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/175363
17:45:45joachimm enters the room.
17:52:39lopex leaves the room.
17:55:07headius enters the room.
17:55:39Arjen_ leaves the room.
17:58:30benburkert_ enters the room.
17:59:47Yurik enters the room.
18:00:02xif leaves the room.
18:00:36benburkert leaves the room.
18:00:39xif enters the room.
18:06:04den1jay enters the room.
18:06:18den1jayHi
18:07:04den1jayi have a simple question ... what editors or ides do you guys use to write rubinius code?
18:07:13den1jayI am on mac
18:07:40den1jayi use Aptana+radRails for my daily rails stuff
18:09:11gdagley_ enters the room.
18:11:01brixenden1jay: I know there's a few emacs and vim dinosaurs around :P
18:11:10brixenI use emacs, vim, but most often textmate
18:11:20gdagley leaves the room.
18:11:49den1jaythx brian .. i have aquamacs .. i'll use that
18:12:37brixenthere's a vim for os x that's really nice I hear
18:12:51brixenI only use vim when I ssh to a machine that doesn't have emacs
18:13:37rby enters the room.
18:15:09den1jay leaves the room.
18:17:21den1jay enters the room.
18:17:42den1jayanother thing ... last time .. couple of months back .. i built rubinius and didn't have rbx binary in my /usr/local/bin/rubinius dir i suppose .. and I used to run rubinius from shotgun dir ...
18:17:59den1jaybut now shotgun/rubinius returns some nomethod error ...
18:18:12den1jaybut shotgun/rubinius.bin gives me irb consol
18:18:48headiusI generally use netbeans
18:19:03headiusediting support for C/C++ and Ruby are both really nice
18:19:57brixenden1jay: can you pastie the errors you get with shotgun/rubinius?
18:20:02den1jaynetbeans is too heavy for my macbook
18:20:09brixenden1jay: also, if you've installed before, rake uninstall first
18:20:23brixenden1jay: we've fixed the install, so uninstall, build and install
18:20:48den1jaydevtaa:shotgun chetanm$ ./rubinius -v
18:20:48den1jay./rubinius:16: undefined method `[]' for nil:NilClass (NoMethodError)
18:21:31TheVoice enters the room.
18:22:03headiusthe ruby-only netbeans is pretty slim
18:24:14brixenden1jay: hmm, I think it expects you run it as shotgun/rubinius
18:24:32brixenden1jay: but you could debug it and submit a patch
18:24:35den1jaybut isn't this expectation wrong
18:24:53brixennot really
18:25:00den1jayi can run it directly right going into shotgun dir
18:25:07den1jayok
18:25:24brixenjust shotgun/rubinius
18:25:40rubbish enters the room.
18:25:52brixenall the interesting stuff is relative to root of rbx
18:26:04den1jayok
18:26:05brixenso you'd cd shotgun; ./rubinius ../something
18:26:28brixenbut, you can still fix it if you want
18:28:07den1jaycool
18:28:57den1jayso is usr/local/bin/rbx just symbolic link to shotgun/rubinius?
18:29:22sfaxon enters the room.
18:29:30brixenno, it installs an executable
18:30:15den1jayok
18:30:31den1jaywhat if i want to port builder lib to rubinius .. how would i move further?
18:31:18den1jaylast time i thought of doing this .. couple of months back ... i just ran short of time ... but this time iseriously want to contribute to rubinius
18:32:50brixenwell, since then we've got rubygems working
18:33:03brixenso, you could install it and try running its tests
18:33:18den1jayhow do i install rubygems?
18:33:43brixenheh, trying to remember :P
18:33:54den1jayrbx install gem
18:33:55qwert666 leaves the room.
18:33:58den1jay?
18:35:06headiusisn't builder just ruby?
18:36:00den1jayyeah
18:36:39headiusI wouldn't expect there's any "porting" necessary then
18:36:51djwhittbrixen: btw my bot doesn't use ./bin/ci
18:37:14den1jaythen .. how would i use builder .... suppose i want to convert some dataobjects to xml
18:37:22brixendjwhitt: yeah, I realized later
18:37:29den1jayrequire 'rubygems'
18:37:33brixendjwhitt: I was looking at the bot source in rbx repo
18:37:33headiuswell it's just a library, yeah?
18:37:35den1jayrequire 'builder'
18:37:54djwhittbrixen: new source is on github
18:38:03brixenden1jay: I *thought* it was: shotgun/rubinius gem install <gem> but that's not working
18:38:20den1jaythis won't work
18:38:24brixendjwhitt: ahh, djwhitt is your account on there?
18:38:30djwhittbrixen: also, if you have ideas for changes to the build bot submit them here: http://code.google.com/p/rubuildius/
18:38:40den1jaybrixen: because your trying to install gem with gem (which is not installed yet, right)
18:38:42djwhittbrixen: yep
18:38:51brixencool, thanks
18:39:09djwhittbrixen: I'm actually running a slightly older version than is on github right now
18:39:13djwhittbrixen: but it's pretty close
18:40:21brixenok
18:40:28djwhittbrixen: feel free to make changes for stuff you want if I don't get around to making them fast enough
18:40:41brixenk
18:42:08brixenden1jay: something is broken I think, see this at about 05:00:14 http://donttreadonme.co.uk/rubinius-irc/rubinius.log.20080309.html
18:42:20brixen./shotgun/rubinius gem install rake
18:42:26brixenI've done that before
18:42:47brixenden1jay: so, you could try to track this down or ping drbrain or put a ticket on LH
18:42:57den1jaybrixen: so now rubygems get installed by default when i install rubinius?
18:43:22den1jayor do i need to install gem seperately
18:43:23den1jay?
18:43:27brixenrubygems source is imported into rubinius repo, yes
18:43:29brixenno
18:43:48brixenyou should be able to use that commad above
18:43:57brixenno need to install rubygems separately
18:44:20vr_ enters the room.
18:44:57den1jaybrixen: that's cool then
18:45:18thehcdreamer enters the room.
18:46:09den1jayanother question .. not sure if it's dumb ... i'll just throw it
18:46:26den1jayi have ruby1.8 and rubinius installed now ... right?
18:46:41den1jayand i run shotgun/rubinius gem install rake