Index

Show enters and exits. Hide enters and exits.

00:47:01seangroveHey all, downloaded the source to rubinius - very cool project!
00:47:09seangroveI had a few questions if anyone's available though
00:47:22seangroveI'm wondering where += is defined for the String class
00:47:43seangroveIt seems like it would simply be an alias for <<
00:53:23brixenseangrove: you cannot define += in Ruby
00:53:32brixenthe lang composes that for you
00:54:00brixenString#+ is defined in kernel/common/string.rb at line 73
00:54:26seangrovebrixen: Ah, ok
00:54:35seangroveBut the behavior for << and += are the same, no?
00:54:57brixenno, not exactly
00:55:03brixengo look at the source :)
00:55:19brixenString#<< is defined right below String#+
00:55:25seangroveHeh, have it open right now ;)
00:55:37seangrove+ returns a new string
00:55:48seangrove<< modifies the original string via self.append
00:56:02seangroveBut it seems that += also modifies the original string
00:56:58brixenum no
00:57:12seangrovehttp://pastie.org/715524
00:57:16brixenhttp://gist.github.com/243143
00:58:19seangroveMy question is about the behavior of += and <<
00:58:21brixen+= is shortcut for a = a + x
00:58:30seangroveah
00:58:32brixenI don't understand your question
00:58:33seangroveMakes sense
00:58:34seangroveHaha
00:58:35brixenok
00:58:36brixengood
00:58:39brixenheh
00:58:42seangroveSorry to be so thick
00:58:47brixenno worries
00:59:30seangroveAlright then, I was essentially corrent
00:59:33seangrovecorrect
00:59:51seangroveHrm
00:59:54brixenwell, no, += and << are not the same at all
00:59:58brixena = "s"
01:00:05brixenyou have created a reference to "s"
01:00:06brixenb = a
01:00:09brixennow you have an alias
01:00:12seangroveok
01:00:27brixenif you now do a += "p", you have changed the object a references
01:00:37brixenbut b still references the unchanged original object
01:00:55brixena now points to the new string created with String#+
01:01:01seangroveAlright, I was essentially wrong then
01:01:01seangrovehaha
01:01:05brixenhah
01:01:07brixenyep
01:01:16seangroveCool, glad to know better now
01:01:22brixenhave you read the pickaxe book?
01:01:26brixenit's a great resource
01:01:37seangroveNope, never even heard of it
01:01:56brixenone sec...
01:02:19seangroveHmm, I think I may have just seen this book over at the used book shop
01:02:23brixenhttp://www.amazon.com/Programming-Ruby-1-9-Pragmatic-Programmers/dp/1934356085
01:02:49brixenthis is also very good
01:02:50brixenhttp://www.amazon.com/Ruby-Programming-Language-David-Flanagan/dp/0596516177
01:03:13brixenare you just getting into ruby?
01:07:30seangrovebrixen: Nah, not so much
01:07:40seangroveFeel pretty comfortable, but want to start digging a bit deeper
01:09:45brixenah ok
01:10:36seangroveSo I like that rubinius is kind of turtles all the way down
01:10:46brixenworking on it
01:10:58brixenthe VM is still there, but we're shrinking that usually
01:11:09brixenespecially now with the jit
01:11:22brixenwe can remove some of the primitives we needed for performance reasons
01:11:28brixenpotentially...
01:11:36seangroveWow, that's very cool
01:11:43seangroveWhat kind of work are you guys looking for?
01:11:48seangroveI wonder if there's anything I could help with
01:12:04brixenbest thing is to run your fav ruby code under rbx
01:12:16brixenthat gives us feedback we wouldn't get otherwise
01:12:21seangroveSounds fair
01:12:35seangroveAlso, on line 96 of kernel/common/string.rb, << calls self.append(other), but I can't figure out where this is defined
01:13:00brixenkernel/bootstrap/string.rb
01:13:22seangroveso Ruby.primitive :string_append?
01:13:29brixenread doc/bootstrapping.txt for more background on how kernel is organized
01:13:34brixenyeah, that's a primitive
01:13:38seangroveSounds great
01:13:57brixenyou can see in vm/builtin/string.[hc]pp where that is defined
01:14:20Zoxc[02:12] <brixen> best thing is to run your fav ruby code under rbx under your fav OS
01:14:22brixenit's basically hooked up directly to String::append in C??
01:14:26brixener C++
01:15:18brixenZoxc: patches for windows welcome :)
04:54:25tarcieriballs
04:54:33tarcieristill totally bummed he missed EngineYard karaoke :(
04:54:55tarcierioyeah, awesome you're getting rid of the GIL here soon hopefully and stuff
05:06:21brixenyeah, soon, but probably not before we finish up 1.0
05:06:39tarcieriyeah that's what evan said at rubyconf, it's all good
05:06:39brixenand yes, karaoke was pretty good, too much light though :)
05:06:48tarcieriaww light ftl
05:06:52brixenheh
05:06:59tarcieriI like wandered out to Burlingame looking for a nonexistent karaoke bar :(
05:07:20tarcierishould've gone to startup crawl but I was hanging out with some random friends of my coworker who lived in the Mission
09:04:37ppahdnahello all
09:04:59ppahdnaI have just cloned rubinius repository and ran "rake"
09:05:16ppahdnabut I do not have a spec/ruby directory...does anyone know why that would be?
09:08:03ppahdnaanyone?
09:11:07naeucongratulations on the 1.0.0RC1 release
09:11:51brixennaeu: thanks!
09:12:07brixenppahdna: if you do rake rubyspec:update, you'll get a spec ruby dir
09:12:16brixenppahdna: it's just a clone of rubyspec though
09:12:25ppahdnaalright, thanks
09:12:30brixenwe have an imported version of rubyspec in spec/frozen
09:12:37naeudo you have a 'getting started' doc that shows me how to get running with stuff like gems and rake?
09:12:42brixenyes
09:12:52brixendoc/getting_started.txt should cover most things
09:12:59ppahdnabrixen: yeah I just read that thanks
09:13:00brixenas for rubygems, it's bundled
09:13:10brixennaeu: ^^^
09:13:17naeusuper, thanks
09:13:21brixennaeu: you should be able to just bin/rbx -S gem install blah
09:13:39naeubrixen: can I also use my system installed gems?
09:13:46brixennaeu: not really no
09:13:55naeui.e. is ~/.gemrc honoured?
09:14:01brixenbecause eg gems with C ext must be compiled against rubinius
09:14:10brixenyes ~/.gemrc is read
09:14:16brixenit's plain old rubygems
09:14:19brixenjust bundled
09:14:21naeusure, but pure ruby stuff should be fine
09:14:36brixenyou can try it, but it's not recommended
09:14:42brixenjust install the gems ;)
09:14:42naeuok
09:14:44naeu:-)
09:22:09ppahdnahelo again
09:22:51ppahdnamspec simply runs the spec to test the bahaviour of Rubinius against Matz's ruby. Is that correct?
09:36:12brixenppahdna: yes
09:41:51ppahdnathanks
09:42:48naeubtw, the rake in gems/rubinius/bin is hardlinked to evan's setup (/Users/evan/git/rbx/bin/rbx)
09:43:06naeu(in the latest 1.0.0RC1 tar.gz)
09:44:02ppahdnaIs it possible that the current specs in the repository could be broken? I am under the impression that "only check in to main repo when you get green on specs"
09:58:03rueThe CI run should generally be clean
10:35:21yannickhi. getting "library not found for class Digest::SHA1 -- digest/sha1
10:35:58yannickon os x 1.6 x64 aswell as on archlinux x64
11:54:31ppahdnarue: I just ran the specs using bin/mspec command
11:54:47ppahdnaI guess there is a different commands for running the CI
12:17:09rueppahdna: Yeah, $ bin/mspec ci for the CI
12:17:29rueyannick_: Where are you getting that, in building?
12:32:24ppahdnarue: thanks will try taht
12:32:27ppahdnathat*
12:47:09rueppahdna: So that should run clean if you are checking changes you make
12:47:37rue-fs is a good switch, it gives the full text of each spec (if you see hangs or crashes for example)
12:54:02ppahdnawell I have got a fresh checkout from the repo and it is still failing. I have not made any changes yet and I was assuming that specs in all will yield green
12:54:18ppahdnain the master repo I mean
13:05:25yannickrue: jup. rake
13:08:15rueyannick_: Hm, just plain $ rake ?
13:08:26rueDid you go through configure and so on?
13:08:56yannickrue: did the steps on the website. so ./configure and then rake
13:09:16yannick(doesnt matter with or without --enable-llvm )
13:10:34rueGiving it a go...I usually run $ rake build (but it should not be necessary)
13:10:55ppahdnaI did ./configure and then rake
13:11:08yannickjup, its rake build which fails
13:11:28ppahdnaand that builds it alright but the spec fails
13:11:49ppahdnaI have not tried rake build but I guess build is the default target
13:12:10yannickruby 1.9.1p243 (2009-07-16 revision 24175) [x86_64-linux] it is on archlinux
13:12:43yannickhttp://pastie.org/715980
13:13:37ppahdnayannick_ : I built it on ruby 1.8.6
13:14:13ppahdnaso it builds alright so I guess it is to do with your version of ruby
13:14:39yannickppahdna: on os x i have ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-darwin10] and it gives me the same error
13:16:12ppahdnaDid you see the getting started docs it has a list of dependencies for Debian/Ubuntu
13:16:40ppahdnaMy suggestion would be to check if you have got the dependencies installed...
13:17:17rueMm, getting a failure on HEAD too
13:17:21rueDifferent
13:18:04rueAh, just the old GCC problem
13:18:57yannickwhich gcc do i need?
13:19:28yannickand where can i config it, i have 4.3 and 4.4 installed
13:19:48yannickaltough its 4.2.1 on os x.
13:20:03yannickppahdna: got all deps
13:22:08rueOn OS X I use GCC 4.0, 4.2 might work but 4.3 breaks because of -arch
13:22:16rueI will open a ticket and try fix it later
13:22:24rueThis should not affect other platforms
13:24:32yannickrue: ok. still its weird because require 'digest/sha1' is no problem
13:25:47rueYou have a working bin/rbx, right?
13:28:11rueI have to head out, going on a cruise...open up a ticket with as much detail as you can
13:28:29rueI will probably be able to check back later, but happy Thanksgiving to everyone to whom it applies if not
13:56:25humaem.. guys, i get this trying to build 1.0.0rc1: atomicity.h:46: undefined reference to `__sync_fetch_and_add_4'
13:59:19yannickrue: thanks, opened a ticked and the solution is simple, just require 'digest/sha1' into the rakefile
14:10:06yannickhmm how can i install gems?
14:11:11cypher23yannick_, 'rbx gem install' IIRC
14:13:28yannickcypher23: thanks also found the usr/lib/bin dir ;)
14:59:09yannicknice nice, got a sinatra app booting. is there another working rack server than webrick?
15:57:12humahas anyone stumbled on __sync_fetch_and_add_4 issue? i'm using -march=i686
19:06:37dbussinkso, how's the rc fallout? :)
19:45:22dbussinkbrixen: available?
21:09:57boyscoutString#each_byte can be aliased to String#bytes - c9b46cd - Dirkjan Bussink
21:09:57boyscoutRemove tags for now passing String#bytes specs - ec01d79 - Dirkjan Bussink
21:12:58boyscoutCI: ec01d79 success. 3004 files, 11470 examples, 35613 expectations, 0 failures, 0 errors
21:15:26luislavenaevan: ping?
21:24:30evanluislavena: hey
21:40:34luislavenaevan: A bird just told me that rake-compiler is included in rubinius?
21:41:00evanyeah! i threw it along with rake into the preinstall gems
21:41:07evanit's my turn on the wii
21:41:09evanbrb.
21:41:14luislavenaenjoy!
21:42:08benschwarzevan, brixen: You aren't going to like this *a lot*, but anyway http://www.germanforblack.com/articles/a-why-ruby-article-for-now
22:08:28boyscoutNote requirement to use 1.8.[67] to build. - 0f83f82 - Brian Ford (gh-pages)
23:43:27sbryantCongrats on the 1.0.0RC1