Show enters and exits. Hide enters and exits.
| 06:22:40 | parndt | hey, hpricot RSTRUCT_PTR -> http://github.com/evanphx/rubinius/issues/issue/210 -- is there any likelihood of this being supported any time soon? |
| 06:25:25 | brixen | parndt: I would say not likely |
| 06:25:40 | brixen | RStruct has an RBasic field in it |
| 06:25:51 | brixen | MRI is very different inside |
| 06:25:58 | brixen | any reason you can't use nokogiri? |
| 06:26:17 | parndt | not really, just code that hooks onto hpricot, just interested that it doesn't work :-) |
| 06:26:39 | brixen | well, it's not really reasonable to expect it to work on other than rbx |
| 06:26:54 | brixen | if you know anything about C coding, that is a horrible way to write software |
| 06:27:06 | brixen | mucking around in the insides of some other programs data |
| 06:27:23 | brixen | er work on other than MRI, rather |
| 06:28:01 | brixen | we try to support a lot of the MRI C-API |
| 06:28:11 | brixen | but that is the *API*, not the internal data structures |
| 06:28:20 | parndt | well I'll see if we can get rid of our reliance on it :-) thanks Brian |
| 06:28:41 | brixen | cool |
| 06:29:10 | brixen | would be interesting if someone could sanitize hpricot |
| 06:29:18 | brixen | maybe I should look at that... |
| 06:29:50 | parndt | well as I'm not a C coder I couldn't really help you with that. |
| 06:30:14 | brixen | yeah, there's a few people who would like it to work |
| 06:33:02 | parndt | well it'd make our lives easier |
| 06:33:18 | parndt | but I'm guessing it wouldn't be a straightforward undertaking |
| 06:33:34 | brixen | probably not, no |
| 06:33:43 | parndt | congrats on 1.0 btw |
| 06:34:09 | brixen | thanks! |
| 06:39:56 | slava | hi brixen |
| 06:41:15 | brixen | hi slava |
| 06:42:32 | brixen | parndt: it looks like it wouldn't be too hard to replace RSTRUCT usage with a function API |
| 06:42:52 | brixen | parndt: I'll play around with it later |
| 06:42:57 | parndt | brixen: wow, awesome! |
| 06:43:24 | brixen | I'd have to patch hpricot of course |
| 06:43:29 | parndt | naturally |
| 06:43:30 | brixen | is it maintained? |
| 06:43:37 | parndt | yeah |
| 06:43:40 | brixen | ok |
| 06:43:51 | parndt | http://github.com/hpricot/hpricot |
| 06:45:07 | brixen | cool |
| 06:45:17 | brixen | sleeps |
| 06:45:24 | parndt | night :-) |
| 06:45:30 | brixen | night! |
| 13:55:44 | hukl | hey there |
| 13:57:57 | hukl | is Array implemented in ruby as well ? if so - where can i find its implementation in the source ? |
| 13:58:38 | hukl | i'm currently on a slow network and cloning takes ages |
| 13:59:26 | matthewd | hukl: Technically yes... but it's a wrapper around a rather array-like VM-primitive, Tuple |
| 13:59:48 | hukl | matthewd, i see |
| 14:00:10 | hukl | does that apply for strings and other basic types as well ? |
| 14:00:36 | dbussink | hukl: string uses ByteArray as a primitive type |
| 14:01:10 | hukl | i wondered last night how one would implement Array and String in ruby ;) |
| 14:01:12 | matthewd | hukl: kernel/{bootstrap,common}/{string,array}.rb |
| 14:01:40 | hukl | could you give me the path of the files where its defined ? would love to take a look at it |
| 14:01:41 | hukl | ah |
| 14:01:43 | hukl | thanks |
| 14:01:48 | hukl | slow internet sucks |
| 14:01:49 | dbussink | hukl: well, you still need some more basic storage primitive structure |
| 14:02:37 | hukl | can i ask you some more basic questions ? i'm kind of curious how it all works |
| 14:02:41 | dbussink | hukl: you can see a tuple as a storage space that allows for x pointers to objects |
| 14:02:49 | dbussink | hukl: where x is variable sized |
| 14:02:51 | matthewd | hukl: As you'll see, while Tuple and ByteArray provide basic indexable storage, most of the methods that make Array and String feel like Array and String, are written in Ruby |
| 14:02:57 | dbussink | so that can be used to implement ruby's array semantics |
| 14:03:17 | hukl | i see |
| 14:03:29 | dbussink | hukl: so array tracks the number of elements in use itself |
| 14:03:49 | dbussink | and the capacity of the underlying tuple, growing and shrinking the tuple as needed |
| 14:05:15 | dbussink | hukl: where growing is basically allocating a new tuple with a bigger size and copying the elements over |
| 14:07:12 | hukl | okay - uhm another thing i'd love to know is whether all the stuff that is implemented in ruby is evalutated / jitted/ bytecoded the moment i execute ruby or start up irb ? or would i need to "recompile" rubinius if i'd change something on Array for example ? |
| 14:11:03 | matthewd | hukl: The kernel is pre-parsed; if you play in kernel/, you need to 'rake build' |
| 14:18:15 | hukl | ok |
| 14:18:21 | hukl | thank you! |
| 14:19:36 | dbussink | hukl: the bytecode is generated when code is loaded |
| 14:19:47 | dbussink | hukl: jit only happens on hot code that is executed a lot |
| 14:42:28 | hukl | one more question ;) is there a debugger that is working with rubinius ? |
| 14:42:40 | hukl | would be the perfect match probably |
| 14:49:44 | matthewd | hukl: evan was working on resurrecting the rbx debugger last week or so |
| 14:50:28 | matthewd | I believe he had it doing some neat things... but I haven't played with it yet |
| 14:51:57 | hukl | i attended euruko this weekend and the guy who is maintaining ruby-debug demoed a complete rewrite with tons of cool features |
| 14:53:08 | hukl | http://wiki.github.com/rocky/rbdbgr/cool-things |
| 14:57:57 | dbussink | hukl: evan got it working again, but there isn't really a lot of documentation already afaik |
| 17:01:42 | elliotcm | Howdy gents. I wrote a spec to cover a bug in Rubinius's webrat, but for some reason when I run the bin/mspec command in the docs to run the spec, it seems to be using the webrat code from my normal C ruby. Any thoughts? |
| 17:03:20 | brixen | elliotcm: not sure what you mean by "Rubinius' webrat" |
| 17:03:31 | brixen | could you gist me a git diff or something |
| 17:03:38 | elliotcm | Yeah lemme grab the other laptop |
| 17:03:51 | elliotcm | whoops, cucumber on the brain |
| 17:04:12 | elliotcm | not webrat, webrick |
| 17:04:17 | brixen | ahh ok |
| 17:07:50 | brixen | elliotcm_: this might be easier: what makes you think it's running C-ruby webrick? |
| 17:08:02 | elliotcm | This does: http://pastie.org/985969 |
| 17:08:13 | elliotcm | Note line 10 |
| 17:08:25 | brixen | well yeah :P |
| 17:08:30 | brixen | look at your invocation |
| 17:08:38 | brixen | -tr means find "ruby" on your pach |
| 17:08:40 | brixen | er path |
| 17:09:03 | brixen | so, what you probably want is bin/mspe spec/ruby/library/net/... |
| 17:09:04 | elliotcm | Oh. I was straight up using the example out of the documentation. |
| 17:09:21 | brixen | well, see bin/mspec -h |
| 17:09:32 | brixen | so, rbx bundles mspec |
| 17:09:47 | brixen | bin/mspec some/spec/file runs with rbx by default |
| 17:09:59 | brixen | because it reads the spec/default.mspec file, which sets the target |
| 17:10:19 | brixen | anyway, try bin/mspec library/net/http/http/start_spec |
| 17:10:23 | elliotcm | Is line 11 in "write_a_ruby_spec.txt" correct, then? |
| 17:10:39 | elliotcm | What's the purpose of doing it that way if it doesn't actually run in Rubinius |
| 17:10:40 | elliotcm | ? |
| 17:10:56 | brixen | ok, let's start at the beginning :) |
| 17:11:05 | brixen | the specs tell us what *MRI* does |
| 17:11:17 | brixen | so, to write a spec, you must run it, and it must pass on MRI |
| 17:11:25 | brixen | once you got that, then you can run the spec on rbx |
| 17:11:32 | brixen | and make sure rbx behaves the same as MRI |
| 17:11:41 | elliotcm | Oh I seee |
| 17:11:47 | brixen | that's the whole point of rubyspec, to make sure rbx behaves the same as MRI |
| 17:12:02 | brixen | so, this howto is just about writing the rubyspec |
| 17:12:33 | brixen | the next step would be doc/howto/fix_a_failing_spec.txt |
| 17:12:43 | brixen | but I need to fix up these docs a bit more still |
| 17:12:46 | elliotcm | That makes a bunch more sense. |
| 17:12:51 | brixen | heh, cool |
| 17:12:59 | elliotcm | I was thinking of the specs in the more traditional standalone manner. |
| 17:13:08 | brixen | sure |
| 17:13:57 | brixen | did you read doc/specs.txt? |
| 17:14:16 | brixen | if stuff isn't making sense in the docs, we really appreciate hearing about it |
| 17:14:47 | elliotcm | Yeah I did |
| 17:14:55 | elliotcm | lemme read it again and see if I skimmed over anything important |
| 17:14:58 | brixen | ok, did it make sense |
| 17:14:59 | brixen | ok |
| 17:15:54 | brixen | gonna grab a shower, bbiab.. |
| 17:17:21 | elliotcm | Yeah I read it all but it didn't click at the time. Either that's me skimming (I was trying to get up to speed with the whole thing) or a lack of clarity on what RubySpec actually is, or a combination of both. |
| 17:18:20 | elliotcm | For example, this line: |
| 17:18:21 | elliotcm | The specs at ./spec/ruby are a copy of RubySpec at a particular revision. |
| 17:19:35 | elliotcm | doesn't actually tell me what RubySpec is or is about if you don't know already. With RSpec and MSpec floating around I think I just read this and filled RubySpec away as another thing I don't know about and will find out about later |
| 17:19:57 | elliotcm | *filed |
| 17:21:15 | elliotcm | On a brighter note, I'm particularly pleased at the enthusiasm you have for encouraging contribution |
| 17:21:34 | elliotcm | and the effort you've gone to to make it less than painful |
| 17:24:11 | elliotcm | I think laying it out as clearly in the docs as you did for me just now would help, but I couldn't guarantee it because there's no specific order to the documentation (by the nature of it) |
| 17:24:20 | elliotcm | I didn't even notice the TOC until way later |
| 17:24:57 | elliotcm | Even then the TOC is alphabetical and not a recommended reading order |
| 17:36:14 | elliotcm | Oh by the way, when asked which non-MRI implementation Matz felt had most potential, Rubinius got the vote. |
| 17:38:37 | brixen | awesome! |
| 17:38:51 | brixen | so, in the specs.txt I point you to the rubyspec.org website |
| 17:38:54 | brixen | that has better docs |
| 17:39:01 | brixen | about rubyspec per se |
| 17:39:23 | brixen | but I'll make another pass over /doc/* and see what I can do |
| 17:39:56 | brixen | I've been trying to write fewer and fewer words so it's more likely the actual words will be read rather than skimmed :) |
| 17:40:37 | elliotcm | Yeah, but the catch there is that a fresh face looking at this stuff has docs and docs queued up to be read and a website is going to go on the back burner |
| 17:42:26 | elliotcm | Nonetheless, I'm going to reset my branch and start again |
| 17:42:33 | elliotcm | thanks for the clarity |
| 17:49:37 | toulmean | brixen: evan: arton accepted the changes for rjb, he mentioned it passed with MRI |
| 18:02:12 | brixen | toulmean: awesome |
| 18:02:32 | toulmean | brixen: your work paid off. |
| 18:02:43 | brixen | elliotcm: I think what I should do is add a sinatra app to rbx that would serve up the docs as a local site |
| 18:02:47 | toulmean | Now I'm thinking... I want to have a CI build of Buildr over rubinius. |
| 18:02:57 | toulmean | did you release 1.0.1 ? |
| 18:02:59 | brixen | elliotcm: that way I can use hyperlinks to make it easier to browse |
| 18:03:12 | brixen | toulmean: not yet, but maybe this week |
| 18:03:29 | brixen | I'll be in and out this week because I'm going to a local conference |
| 18:03:36 | toulmean | brixen: I can base off trunk for now, but as soon as 1.0.1 is out I'll use it |
| 18:03:41 | toulmean | brixen: lucky you |
| 18:03:54 | brixen | then railsconf the following week, but I think evan will probably release 1.0.1 before RC |
| 18:04:09 | toulmean | brixen: are you paid to work on rubinius full time ? Or for more stuff ? |
| 18:04:17 | toulmean | just wondering the economics |
| 18:04:19 | elliotcm | brixen: Sounds good. let me know if you want a hand |
| 18:04:22 | brixen | rubinius and rubyspec |
| 18:04:32 | brixen | elliotcm: ok, will do |
| 18:04:41 | brixen | elliotcm: I appreciate the feedback on the docs |
| 18:05:01 | brixen | elliotcm: it's a tough task, no one wants to do it, but really necessary :) |
| 18:05:23 | toulmean | ok |
| 18:05:50 | dbussink | brixen: are both you and evan heading to railsconf? |
| 18:06:04 | brixen | dbussink: yes! :) |
| 18:06:06 | elliotcm | No problem, thanks for writing them. |
| 18:06:22 | brixen | dbussink: I think we're planning on tackling you, you know, just 'cause :) |
| 18:06:43 | dbussink | brixen: tackling me? how did i deserve that? :P |
| 18:06:52 | brixen | dbussink: :) |
| 18:07:18 | brixen | dbussink: nah, I'm glad you're going, it's been a long time since RC pdx |
| 18:07:35 | dbussink | brixen: true that yeah |
| 18:08:38 | brixen | toulmean: so, re rjb, did you get buildr specs running? |
| 18:08:56 | toulmean | brixen: still not. Would do it today. |
| 18:09:58 | brixen | toulmean: ok |
| 20:02:22 | dbussink | i can hear the silence |
| 20:04:54 | somebody | oO |
| 20:11:36 | Defiler | oooohhhhhhh |
| 20:12:15 | dbussink | sssshhhh |
| 20:12:26 | dbussink | Defiler: going to railsconf? |
| 20:14:11 | Defiler | nope |
| 20:14:22 | dbussink | ah, too bad |
| 20:14:24 | Defiler | too much money these days |
| 20:14:44 | Defiler | Also, I'm moving right now :) |
| 20:14:54 | Defiler | but I may try to sneak down by train just to hang out for a night |
| 20:15:02 | dbussink | ah, well, speaking makes a difference money wise, so that's good |
| 20:15:10 | dbussink | going to nyc for a few days after the conf :) |
| 20:15:35 | Defiler | Cool |
| 20:16:06 | dbussink | yeah, been there for like one and a half day few years ago, way too short |
| 20:16:32 | Defiler | I can probably hand you my membership cards at various places and you can go to town |
| 20:17:55 | dbussink | Defiler: like clubs etc.? |
| 20:18:07 | dbussink | perhaps if there's a must see / go somewhere :) |
| 20:18:10 | Defiler | museums, botanic gardens, movie halls, etc, heh |
| 20:18:25 | Defiler | and I actually have an unused citypass somebody left when they stayed here |
| 20:18:36 | Defiler | which is good for those boat tours around manhattan, etc |
| 20:19:05 | Defiler | so if you want to get all tourist-y let m eknow |
| 20:19:21 | dbussink | we'll probably go touristy yeah :) |
| 20:19:47 | dbussink | living somewhere in manhattan? or way too expensive? |
| 20:27:17 | Defiler | I'm not a huge manhattan fan |
| 20:27:22 | Defiler | I live in brooklyn |
| 20:29:21 | dbussink | ah, probably better for proper living, mainly going there for the touristy things ;) |
| 20:29:33 | dbussink | but want to wander around a bit in some other place too :) |
| 20:31:04 | Defiler | the brooklyn botanic garden is awesome |
| 20:31:26 | Defiler | and there are good museums, theatres, restaurants, parks, etc, around here |
| 20:31:57 | Defiler | manhattan is the go-to place for standing on top of tall things and looking around though |
| 20:34:26 | dbussink | Defiler: i might be bugging you for restaurant tips |
| 20:34:32 | Defiler | please do |
| 20:34:35 | Defiler | I have Opinions. |
| 20:35:35 | Defiler | like that you need to end up where these guys are parked http://vendr.tv/video/wafels-and-dinges/ |
| 20:35:48 | Defiler | http://www.wafelsanddinges.com/location.html |
| 20:37:56 | dbussink | Defiler: hehe, it travels around i see yeah :) |
| 20:38:07 | Defiler | it roams the night winds |
| 20:38:19 | Defiler | bringing tidings of waffels covered in insane things |
| 20:38:21 | dbussink | but belgian isn't that special for me :P |
| 20:38:28 | Defiler | Yeah I know but it's good :) |
| 20:39:00 | Defiler | but there are some more straight-facedly tasty options, for sure. |
| 20:39:53 | dbussink | what's like a must go place then? |
| 20:40:16 | Defiler | recently I've been in love with this place called 'Buttermilk Channel' in Carroll Gardens |
| 20:40:23 | Defiler | so damn good |
| 20:40:58 | Defiler | franny's pizza, ippudo ramen, vinegar hill house, hrm.. |
| 20:41:05 | Defiler | yeah there's a whole list |
| 20:41:21 | Defiler | al di la in brooklyn is awesome |
| 20:41:33 | dbussink | Defiler: do they actually have buttermilk? :) |
| 20:41:39 | Defiler | yeah |
| 20:41:42 | dbussink | cool :) |
| 20:41:49 | dbussink | i can never get that stuff abroad |
| 20:41:56 | dbussink | one of the first things i take when back home :P |
| 20:41:59 | Defiler | and lobster pot pie and dandelion-leaf salad and oh god |
| 20:43:40 | dbussink | i'll put them on the list :p |
| 20:44:39 | Defiler | superb selection of oysters if you are a fan of that |
| 20:44:44 | Defiler | one of the few places I will eat them |
| 20:47:15 | dbussink | i tried oysters once, not my kind of thing |
| 20:47:46 | dbussink | what i often find the hardest is getting decent breakfast though, dinner is not that problematic usually |
| 20:49:30 | Defiler | little owl is good, gramercy tavern, rose water |
| 20:49:52 | Defiler | I like dizzy's as well though it is fairly out of the way unless you are visiting prospect park |
| 20:59:39 | dbussink | Defiler: thnx for the tips already, going to get some sleep first :) |
| 21:01:24 | Defiler | cool |