Show enters and exits. Hide enters and exits.
| 02:02:11 | Defiler | evan: Let's say I wanted to write some code to see which method dispatches in my program are dynamic; meaning that during a run of the program, there is some call site where the receiver has a different type sometimes |
| 02:02:28 | Defiler | Where does that kind of fun happen these days? |
| 02:54:19 | benblack | anyone have matt bauer's bdb gem working? |
| 03:06:07 | rue | Umm...I would almost bet that no-one has tried |
| 03:06:18 | rue | benblack: Except maybe you? Did you get an error? |
| 03:09:32 | benblack | yes, hell of error |
| 03:09:32 | benblack | http://github.com/mattbauer/bdb/ |
| 03:09:32 | benblack | the gem in question |
| 03:09:32 | benblack | give it a whirl |
| 03:10:33 | rue | I am going to bed, 's just past 5 :) Pastie up the error, though, or add a ticket on Github |
| 03:11:12 | rue | It could simply be something missing in the C API or perhaps an extconf convolution |
| 03:11:38 | rue | Mention OS/arch/etc. too |
| 03:16:16 | benblack | https://gist.github.com/cf5ea11b927e5446b9e5 |
| 03:16:19 | benblack | OSX 10.5 |
| 03:20:36 | benblack | http://github.com/evanphx/rubinius/issuesearch?state=open&q=bdb#issue/160 |
| 03:22:47 | rue | benblack: Try changing that varargs.h to stdarg.h...might fix all of it |
| 03:23:00 | rue | Bonus points if we get it resolved before I am done brushing teeth :P |
| 03:25:53 | benblack | doesn't fix anything but that varargs error |
| 03:25:56 | benblack | the rest remain |
| 03:26:03 | benblack | and version.h still doesn't exist |
| 03:27:55 | rue | Hm |
| 03:28:22 | rue | Those errors are typical of syntax problems caused by missing includes, broken macros |
| 03:29:15 | benblack | builds clean with MRI gem so i'm assuming it is a difference in includes for the bindings |
| 03:29:22 | benblack | but i am still a rubinius newb |
| 03:29:50 | rue | Quite possible, yeah, if it is not finding some type definitions for example |
| 03:30:15 | rue | Really have to go now, but refresh the pastie with the new error after the varargs fix |
| 03:32:07 | benblack | it's the same, modulo that one error. |
| 03:33:19 | rue | Refresh anyway so it does not get in the way :) *wave |
| 07:49:02 | dbussink | morning |
| 07:54:44 | dbussink | evan: brixen: available for a question? |
| 08:32:39 | brixen | sup dbussink? |
| 08:33:41 | dbussink | brixen: i was wondering, how do you stand on adding something like Method#parameters, which is added to 1.9 |
| 08:34:01 | brixen | we have a one_nine branch ;) |
| 08:34:12 | dbussink | brixen: because it was added to 1.9 because stuff that wanted to do that couldn't use parsetree anymore |
| 08:34:31 | dbussink | brixen: so on mri 1.8 people can do that with parsetree, on 1.9 with Method#parameters, but on rbx they can't use either |
| 08:34:48 | brixen | I see |
| 08:35:21 | brixen | well, seems reasonable enough to add Method#parameters then |
| 08:35:25 | brixen | you should ask evan though |
| 08:35:35 | brixen | did you have another question for me earlier? |
| 08:35:43 | dbussink | brixen: it was the same one ;) |
| 08:35:48 | brixen | ahh ok |
| 08:35:54 | dbussink | i have the implementation floating around here, was pretty simple |
| 08:35:59 | brixen | I saw you mentioning about #require |
| 08:36:48 | brixen | I'm working on those specs but I haven't gotten to the file extension ones yet |
| 08:37:09 | brixen | were you able to find a ticket or thread discussing that 1.9 behavior? |
| 08:37:23 | brixen | and is that 1.9.2 head or some previous version? |
| 08:40:28 | dbussink | brixen: nope, i opened a thread on ruby-core last night |
| 08:40:35 | dbussink | brixen: this is for 1.9.1 and 1.9.2-head |
| 08:40:41 | dbussink | i tested with both those |
| 08:40:53 | dbussink | brixen: this issue is what breaks building rbx with 1.9 atm |
| 08:41:25 | dbussink | since there is a require 'digest/sha1' which loads the 1.8 native library on 1.8, but loads the rbx version in lib/ because that one is an .rb file and the 1.9 extension is a so / bundle file |
| 08:43:29 | brixen | dbussink: ok, got the ticket #? |
| 08:43:42 | brixen | or thread rather |
| 08:43:46 | dbussink | haven't made a ticket yet (neither rbx or core |
| 08:43:48 | dbussink | let me check |
| 08:46:19 | dbussink | brixen: http://blade.nagaokaut.ac.jp/cgi-bin/vframe.rb/ruby/ruby-core/27522?27451-27528+split-mode-vertica l |
| 08:47:16 | dbussink | the reply i got isn't really that useful :S |
| 08:47:44 | brixen | hrm, yeah that's not helpful at all |
| 08:48:02 | brixen | ok, I'll make sure we have specs for it |
| 08:48:07 | brixen | thanks benschwarz |
| 08:48:14 | brixen | er damn tab hehe |
| 08:48:16 | benschwarz | thanks for? |
| 08:48:18 | brixen | thanks dbussink |
| 08:48:20 | benschwarz | hehe |
| 08:48:22 | brixen | benschwarz: misfire :P |
| 08:48:23 | dbussink | but fixing this in rbx for 1.9 building would create cludgy code |
| 08:48:40 | brixen | dbussink: yeah, it's wacky IMO |
| 08:48:45 | dbussink | because there is no way to force loading the .so/bundle file |
| 08:49:01 | dbussink | except for specifying the extension |
| 08:49:45 | brixen | yep |
| 08:50:00 | brixen | well, sleep for me, catch y'all in a few |
| 08:54:07 | dbussink | brixen: night |
| 13:47:42 | rue | dbussink: I would wait for a "second opinion", but can start to push toward pointing out the flaws in the scheme |
| 13:48:00 | dbussink | rue: how do you mean? |
| 13:48:06 | dbussink | guess i'm missing the context :) |
| 14:02:49 | rue | On -core |
| 16:22:48 | Defiler | hehe @properties = Hash[*klass.properties.map{|_,name| name }.zip(props).reject{|k,v| v.nil? }.flatten] |
| 16:22:52 | Defiler | Fun |
| 16:29:07 | dbussink | Defiler: so readable :) |
| 16:29:29 | rue | Morning, De |
| 16:29:42 | rue | Sometimes the _ just causes unnecessarily clutter |
| 16:30:40 | Defiler | Yeah, that and you could do that way more cleanly, avoiding several of those invocations, by splitting it up into two steps hehe |
| 16:36:43 | Zoxc | temporary variables can be register allocated! speed ftw! |
| 16:51:39 | rue | Reminds me of slava's tweet...that was interesting |
| 17:14:51 | brixen | rue: the image size reduction by 1% by storing in a register tweet? |
| 17:22:04 | rue | That |
| 17:22:36 | evan | morning gents. |
| 17:24:25 | rue | *wav |
| 17:25:01 | brixen | morning |
| 17:32:34 | brixen | I think I'm revising the rubyspec commit bit |
| 17:33:05 | brixen | if I have to make edits to a commit, I think the person will need to submit another work before they get a bit |
| 17:33:39 | brixen | that way I can see if they understand the issues with their commit |
| 17:33:52 | brixen | does that sound reasonable/unreasonable? |
| 17:44:09 | rue | Reasonable; though it is a bit softer than the traditional rejected patch with note to fix it themselves. |
| 17:45:15 | evan | brixen: seems fine |
| 17:45:26 | evan | wait until they've got the training wheels off |
| 17:46:32 | dbussink | evan: how do you stand on adding something like Method#parameters? |
| 17:46:45 | dbussink | evan: also asked brixen, he was ok with it, but suggested to pass it by you |
| 17:47:23 | evan | fine to commit |
| 17:47:34 | evan | it's brand new functionality (thats missing anyway) |
| 17:47:55 | dbussink | evan: yeah, but it's not in mri 1.8 |
| 17:48:07 | evan | i can't see how having it would confuse anything |
| 17:48:10 | dbussink | but it's also something people can do with parsetree in 1.8, but there's no way to do it in rbx |
| 17:48:15 | dbussink | and it's pretty simple |
| 17:48:19 | evan | yeah, well, lots of stuff isn't in 1.8 that we've got. |
| 17:49:01 | brixen | rue: yeah, I figure the code directly communicates what needs changing, with supporting notes, rather than just notes |
| 17:49:27 | rue | Sure. Traditional is rarely the same as better |
| 17:49:27 | botanicus | Hey guys |
| 17:49:28 | brixen | rue: so hopefully less miscommunication for everyone |
| 17:49:48 | rue | *wave |
| 17:50:38 | brixen | dbussink: the biggest problem with this is that the specs would be guarded with a 1.9 version guard |
| 17:50:57 | brixen | dbussink: but our compat MRI version is not 1.9 |
| 17:51:04 | botanicus | evan, dbussink: regarding the 1.9 stuff (for Evan: we was talking about it yesterday with dbussink & Defiler, I'd like to help) ... However it seems I'm not able to help since the C-code changes have to be done first. Most of the failing specs on one_nine branch is about missing Encoding / BasicObject. |
| 17:51:49 | rue | What about library-level changes? |
| 17:52:27 | botanicus | rue: as for example? As I understand standard library is cp into Rubinius, right? |
| 17:52:34 | brixen | botanicus: depends how much you want to help, you could certainly study vm/ontology.cpp and figure out how to add BasicObject |
| 17:52:36 | evan | botanicus: well, there is still a lot of methods in 1.9 that we don't have |
| 17:52:50 | evan | so while they may not be used in your specs, we'll need them eventually |
| 17:52:54 | evan | you could start there. |
| 17:53:54 | botanicus | brixen: I never worked with C++. However I might try ... do you think a Ruby guy is able to do it :) ? |
| 17:54:50 | botanicus | evan: I see. Just to clarify what part of rubinius are we talking about? Kernel (is it called kernel, the built-in classes, right) or stdlib? |
| 17:55:03 | rue | You need to have some understanding of C++ (or C, at least) before you can efficiently do anything there |
| 17:55:19 | evan | botanicus: i'm talknig about Array / Hash, etc |
| 17:55:23 | evan | they're in kernel/, yes |
| 17:55:51 | botanicus | evan: OK, it seems more reasonable than playing with some C++ code |
| 17:56:10 | botanicus | evan: is there any contributing guide? I'm not very familiar with Rubinius so far |
| 17:56:20 | evan | no, there is not. |
| 17:56:46 | botanicus | OK, I'll figure out |
| 17:56:54 | evan | get a failing case in spec/ruby |
| 17:57:01 | evan | make it pass |
| 17:57:04 | botanicus | However it would be pretty helpful to have it |
| 17:57:04 | evan | go to 1 |
| 17:57:22 | evan | we haven't needed it for years now |
| 17:57:24 | evan | and we've been ok. |
| 17:57:41 | brixen | botanicus: there is one for writing specs http://rubyspec.org/wiki/rubyspec |
| 17:57:59 | brixen | botanicus: for Rubinius ruby code, follow existing style and ask questions when in doubt |
| 17:58:07 | evan | botanicus: if you'd like to write up the steps you go through, that would work fine. |
| 17:58:11 | botanicus | evan: I believe you core devs are OK without it ;) But really, I think rubinius is a project where everyone can contribute - unlike to MRI. |
| 17:58:33 | evan | we've got 200+ contributers |
| 17:58:36 | evan | so it's not just core. |
| 17:58:59 | brixen | botanicus: also, read /doc in the repo if you have not |
| 17:59:11 | botanicus | OK, I'll try ... later, I'm at work now. |
| 17:59:13 | evan | that being said, if you'd like to write up the steps you take |
| 17:59:20 | evan | that would be fine |
| 18:00:00 | botanicus | evan: no I hate writing docs and I have enough of my projects where I have to do that ... I'll be happy to contribute some code but docs no |
| 18:00:26 | evan | ok.... |
| 18:03:29 | Defiler | We used to have one, but nobody read it |
| 18:06:34 | rue | It is still there |
| 18:06:55 | botanicus | rue: really? In /doc as well? |
| 18:07:49 | botanicus | Anyway is there someone who's interested in the parser changes for 1.9? I really have no clue how to do that and unfortunately I can't use Rubinius before this will be done :( And I want to use Rubinius ... |
| 18:10:59 | evan | no one has had the time yet, no. |
| 18:14:56 | evan | botanicus: we're wary of 1.9 is all (responding to your tweet) |
| 18:15:09 | evan | because in the time rubinius has existed, 1.9 has changed radically. |
| 18:17:50 | botanicus | evan: yes but it's relatively stable now I would say, so I think it's time to start to support it - also because it will take quite a lot of time to code it. |
| 18:18:23 | evan | we simply don't have unlimited resources |
| 18:18:50 | evan | we don't have the luxury of not supporting 1.8 |
| 18:19:06 | evan | and 1.8 is by far in more usage than 1.9 |
| 18:19:18 | evan | (I realized the circular nature of the last point) |
| 18:21:02 | botanicus | evan: I didn't tolt not to support 1.8 |
| 18:21:05 | botanicus | * told |
| 18:22:02 | evan | ? |
| 18:22:05 | evan | please rephrase. |
| 18:22:34 | botanicus | evan: "we don't have the luxury of not supporting 1.8" -- that's fine, I didn't told anything about not supporting 1.8 |
| 18:22:56 | evan | "I don't told anything" == "I didn't say anything" ? |
| 18:23:00 | evan | your grammar is confusing me. |
| 18:23:07 | botanicus | evan: anyway Rails suport 1.9 since 2.3.5 so we can expect more and more people migrate to 1.9 in next year |
| 18:23:29 | botanicus | evan: sorry, EN isn't my native language |
| 18:23:36 | evan | np, just trying to be clear. |
| 18:23:41 | botanicus | sure |
| 18:23:42 | evan | even so, we have to support both |
| 18:23:54 | botanicus | Exactly |
| 18:23:59 | evan | and brixen and I ourselves don't have the resources to do both |
| 18:24:13 | evan | so, as you said everyone can contribute, so for now, we rely on others to help. |
| 18:25:15 | botanicus | evan: I'll see if someone (who knows C++) would be interested, I asked at Twitter. |
| 18:25:25 | evan | ok |
| 18:26:28 | Defiler | The parser work is no kind of fun :( |
| 18:26:50 | botanicus | Defiler: I can imagine that |
| 18:27:54 | botanicus | Actually has Rubinius its own parser or is using the piece of shit from MRI? |
| 18:28:25 | evan | it uses the MRI parser. |
| 18:28:44 | evan | and i do not suggest you try to write your own. |
| 18:28:54 | Defiler | Many have tried, all have failed |
| 18:28:58 | Defiler | http://github.com/evanphx/rubinius/blob/master/lib/ext/melbourne/grammar.y |
| 18:29:05 | botanicus | evan: believe me I don't have this intention ;) |
| 18:29:41 | botanicus | MRI parser ... yeah it will be pretty tough |
| 18:30:41 | brixen | botanicus: um yeah, you shouldn't call MRI's parser a piece of shit |
| 18:31:11 | Defiler | It works beautifully, and history has shown that it is non-trivial to replace |
| 18:31:12 | brixen | botanicus: just an FYI there as that is rude and very uninformed about the difficultly of writing one |
| 18:31:23 | Defiler | Not because of anything it has chosen to do, but simply the raw difficulty of the task |
| 18:33:22 | Defiler | Ruby is a great way to find out if your parser generator has all the features it needs :) |
| 18:34:37 | botanicus | brixen: sorry |
| 18:35:12 | Defiler | evan: Where should I look for the heart of the FFI action these days? I'm wondering if it is possible inline a native call into the JIT'd version of the calling Ruby method |
| 18:35:51 | evan | we already do that |
| 18:35:52 | dbussink | botanicus: also on your last twitter, please don't just to conclusions like that, that only makes you show of bad |
| 18:36:03 | dbussink | jump to conclusions i mean |
| 18:36:19 | dbussink | botanicus: since it's not a matter of not willing too, but of setting priorities |
| 18:36:22 | Defiler | Cool. |
| 18:36:40 | evan | Defiler: vm/llvm/inline.cpp:520 |
| 18:36:42 | evan | Inliner::inline_ffi |
| 18:36:51 | Defiler | Aah, thank you |
| 18:37:03 | boyscout | Add Method#parameters and UnboundMethod#parameters following 1.9 - ae37c72 - Dirkjan Bussink |
| 18:37:11 | Defiler | Oh man this is a beautiful file |
| 18:37:14 | Defiler | I hate being out of date on rbx :( |
| 18:37:37 | botanicus | dbussink: it's not about priorities, it was more about it that every time I come & asked about 1.9, someone shows up and be wondering why we even need to support 1.9 etc. I respect the priorities, but this is something different. |
| 18:38:20 | evan | everything is about priorities. |
| 18:38:22 | botanicus | Anyway if it's using MRI parser - and you might consider it as a stupid question, however - isn't it enough to just take the one from MRI 1.9 and replace the old one? |
| 18:38:34 | Defiler | Because that would break our support for 1.8 |
| 18:38:35 | evan | 1.9 has been a moving target, so that makes it hard to code for |
| 18:39:05 | evan | and we don't have the time to track those changes and/or devest time in getting 1.8 solid to work on 1.9 support |
| 18:39:13 | Defiler | Also, while the grammar is based on 1.8, it has been modified to make it easier to plug into things that aren't MRI |
| 18:39:25 | Defiler | So there is at least a little work needed to transform 1.9's grammar into something with the same interface |
| 18:39:44 | Defiler | (though that strikes me as just being tedious, not outright hard) |
| 18:39:59 | evan | botanicus: thats certainly the direction to take, but it likely won't be just cut and paste the grammar and it works |
| 18:40:27 | boyscout | CI: rubinius: ae37c72 successful: 3024 files, 11747 examples, 35948 expectations, 0 failures, 0 errors |
| 18:40:39 | botanicus | Defiler: since we have the one_nine branch I thought we'll have rubinius & rubinius-1.9 standalone, no? |
| 18:40:46 | Defiler | Yeah |
| 18:40:53 | evan | we don't honestly know |
| 18:40:59 | evan | thats a future decision |
| 18:41:06 | Defiler | And we will presumably need to audit the kernel to make sure we aren't relying on 1.8 semantics |
| 18:41:14 | evan | as it stands now, they're seperate though, yes. |
| 18:41:43 | botanicus | OK |
| 18:43:26 | botanicus | Nevertheless for me, as a normal Ruby user, it's better to have them standalone, or at least find a better way than the --1.9 switch as is in JRuby. Mainly when you have some gems depending on 1.9 you can run gem install, but jruby 1.9 -S gem install which is too much writing. |
| 18:44:44 | brixen | there are always shell aliases |
| 18:45:59 | botanicus | brixen: and there are always situations when your .profile isn't loaded ;) It's causing a lot of pain ... |
| 18:46:09 | botanicus | But it was just a suggestion |
| 18:47:17 | evan | hm, i think I broken MemoryPointer.autorelease= at some point |
| 18:47:44 | Defiler | I like separate binaries because it is easier to use gdb on them :) |
| 18:48:01 | brixen | the syntax changes are the biggest reason for me |
| 18:48:10 | brixen | consider our install, we precompile lib |
| 18:48:24 | brixen | that would be more complicated to know which file to compile with which mode |
| 18:48:29 | brixen | etc |
| 18:48:41 | Defiler | Yeah, we would have to add a version distinction to the path to stdlib as well |
| 18:48:51 | Defiler | and compile the 1.8 stuff in 1.8 more, 1.9 in 1.9 mode |
| 18:48:55 | brixen | right |
| 18:49:12 | brixen | might as well be a clean break IMO |
| 18:50:42 | dbussink | evan: are you still looking at that vmmethod leak? |
| 18:50:51 | evan | pondering a bit |
| 18:50:53 | evan | yes. |
| 18:51:06 | evan | i'm a little side-tracked atm. |
| 19:03:54 | rue | Defiler: Yeah, I have been barely able to keep up |
| 19:05:06 | Defiler | Even 1.9.1 is a moving target.. which patchlevel do you pick? |
| 19:05:37 | Defiler | Will there never be another 1.9.1 patchlevel? Unlikely given the history of previous versions |
| 19:07:06 | rue | brixen: Well...the MRI parser IS awful. One could make an argument that it is the best it can be, but still :) |
| 19:08:00 | Defiler | What's wrong with the MRI parser that isn't actually something about bison/yacc? |
| 19:26:02 | rue | By far the tool is the biggest problem. Use of the tool may be suboptimal, the sexps generated maybe not the best and so on, but it is of less impact |
| 19:26:26 | rue | But, then, you might as well ask what is wrong with cutting trees down with dynamite except for the tool used ;) |
| 19:27:53 | rue | And you may argue that it is the best that could be done at that time etc., but I do not think it is subjective that the parser is just not good as it stands. |
| 19:29:14 | Defiler | Haha, well |
| 19:29:26 | Defiler | In the case of trees, I would have other proven techniques to steer you toward |
| 19:29:41 | evan | orbital weapons platform! |
| 19:30:00 | Defiler | I think the correct way of thinking about it is 'The MRI parser could be better, but nobody has made it better yet.' |
| 19:30:16 | Defiler | Which gives us room for the challenge without bringing judgements into it |
| 19:30:41 | rue | Naw, that is just euphemistic |
| 19:30:56 | rue | It is not a crisis, it is an opportunity! |
| 19:31:11 | evan | I got to use the orbital weapons platform on fallout 3 last night |
| 19:31:11 | rue | Which is sort of true, but annoying :P |
| 19:31:12 | evan | it's awesome. |
| 19:31:16 | evan | but you only get to use it once. |
| 19:31:31 | rue | evan: The only necessary orbital weapon is a huge lump of steel |
| 19:31:46 | rue | Drop it down and watch the world go "boom" |
| 19:31:53 | Defiler | I like bundles of thin rods |
| 19:31:54 | evan | i wonder how much refined steel breaks up on entry |
| 19:32:20 | evan | it shouldn't get hot enough to melt it |
| 19:32:24 | evan | i wouldn't think |
| 19:32:30 | Defiler | This has some of the number crunching: http://www.jstage.jst.go.jp/article/tjsass/47/157/47_161/_article |
| 19:32:43 | Defiler | It is all about the surface area you present to the atmosphere |
| 19:33:14 | evan | if there is no stabalization |
| 19:33:21 | evan | it will just tumble into a ball |
| 19:34:06 | Defiler | rods work because you can make the entry speed fast enough to make them stable against tumbling |
| 19:34:18 | evan | true |
| 19:34:19 | evan | just put some fins on it |
| 19:34:34 | evan | and get it spinning around the long axis for stability |
| 19:35:16 | Defiler | reentry is a little counter-intuitive |
| 19:35:34 | Defiler | because things that work at subsonic speeds can make it worse when the air is as hard as steel |
| 19:36:33 | Defiler | Whoa |
| 19:36:43 | Defiler | I didn't know the particulars of the Galileo probe reentry |
| 19:36:57 | Defiler | 47.4km/sec, 230g of acceleration |
| 19:37:05 | evan | nice. |
| 19:37:12 | Defiler | 16,000 kelvin surface temperature |
| 19:37:16 | evan | hah |
| 19:37:37 | Defiler | Total blocked heat flux peaked at approximately 15000 W/cm². |
| 19:37:37 | evan | what is the melting temperature of the ceramics on the shuttle I wonder |
| 19:37:38 | Defiler | aaaaaaaa |
| 19:37:59 | Defiler | Well, 16kK is like 3x as hot as the surface of the sun |
| 19:38:38 | evan | but the surface is the coolest part! :D |
| 19:39:26 | Defiler | Luckily! |
| 19:39:36 | marcandre | evan: hi! Back from a short trip in NYC. |
| 19:39:38 | marcandre | Did you want to talk about my "recursive" commit? I saw your change removing ".id" and that's good; anything else? |
| 19:39:47 | evan | yeah |
| 19:39:50 | evan | that throw |
| 19:39:51 | evan | line |
| 19:39:59 | marcandre | Yeah? |
| 19:40:09 | evan | well first off |
| 19:40:16 | evan | using catch/throw in the kernel is mega gros. |
| 19:40:17 | evan | gross. |
| 19:40:31 | marcandre | I can't disagree. |
| 19:40:34 | evan | and the throw on line 349 is entirely unexercised |
| 19:40:38 | evan | and can't work. |
| 19:40:46 | marcandre | It's the easiest way to achieve the desired result here, though. |
| 19:40:47 | evan | there is no catch for it. |
| 19:41:02 | marcandre | Hold on, getting the source... |
| 19:41:50 | rue | Cool, baby, sun surface cool. |
| 19:43:27 | marcandre | So the catch is in the same method, about 4 lines below. |
| 19:43:43 | evan | "throw objects, objects" |
| 19:43:44 | evan | can't wory |
| 19:43:48 | evan | can't work |
| 19:43:51 | evan | there is no "catch objects" |
| 19:44:50 | marcandre | Mmm, that line is utter crap, you're right. Let me think a second here. |
| 19:46:43 | marcandre | Yeah, it should be "return true if". I'll doublecheck that and change it tonight. |
| 19:47:22 | evan | why not use an exception |
| 19:47:27 | evan | instead of catch/throw |
| 19:47:53 | marcandre | We could. The reason I didn't in MRI is for security: anyone could rescue the exception. |
| 19:48:02 | evan | i'd prefer an exception here. |
| 19:48:08 | marcandre | While noone can catch the "signal" we use. |
| 19:48:19 | evan | but thats also a problem |
| 19:48:43 | evan | because this code can get called incorrectly and even the loader can't catch it. |
| 19:48:43 | marcandre | How so? |
| 19:49:04 | evan | i'd prefer an exception |
| 19:49:12 | marcandre | Well, we use a flag internally to know if there is a "catch" waiting for our throw or not. |
| 19:49:12 | evan | i realize the security problems |
| 19:49:24 | evan | but it's cleaner and much easier to debug. |
| 19:50:52 | marcandre | I'll use an exception if you want. I'll make a new exception class that won't be a RuntimeException, to make it slightly harder to rescue by mistake. |
| 19:51:06 | evan | thats fine |
| 19:51:20 | evan | we should have an internal exception hierarchy |
| 19:51:22 | evan | if we don't already |
| 19:51:42 | evan | Exception < Rubinius::InternalError < ... |
| 19:51:53 | evan | i guess this isn't an error |
| 19:52:08 | marcandre | But it's an exception... :-) |
| 19:52:22 | evan | perhaps Rubinius::InternalException |
| 19:53:06 | marcandre | k. I'll check that sometimes in the next few days. |
| 19:53:21 | evan | the sooner the better |
| 19:53:25 | evan | that throw line is a time bomb. |
| 19:53:29 | evan | waiting to go off. |
| 19:54:11 | marcandre | Not quite sure what you're afraid of, but I'll change it. |
| 19:54:18 | evan | i'm afraid it will be run |
| 19:54:55 | marcandre | Is there a ruby-level way to check if a certain symbol will be caught? It would be nicer than a flag and there wouldn't be a risk of throwing an uncaught signal. |
| 19:55:00 | evan | when it does, a TypeError will be thrown |
| 19:56:00 | evan | marcandre: you mean a query to whether or now throw will raise a NameError? |
| 19:56:08 | evan | s/now/not/ |
| 19:56:10 | marcandre | Yup. |
| 19:56:18 | evan | we have one |
| 19:57:14 | evan | Rubinius::ThrownValue.avaliable? appears to do that |
| 19:58:11 | marcandre | I'll write two version then. An exception based one (cute but slightly unsafe and not completely MRI compliant) and an improved catch/throw one and you can be the one you prefer. |
| 19:58:30 | evan | k |
| 19:59:29 | marcandre | Glad you checked my code so closely :-) |
| 19:59:45 | marcandre | I'll let you know when I get a second, probably tonight |
| 20:00:53 | evan | thanks |
| 20:01:00 | evan | :) |
| 20:23:21 | botanicus | How can I run rubyspec? rake spec? |
| 20:23:42 | evan | bin/mspec ci |
| 20:23:48 | evan | or just rake |
| 20:24:26 | botanicus | cheers |
| 20:40:35 | botanicus | I see, so this is what I run yesterday - basically just complaining about missing Encoding & BasicObject, I can't use with that I'm afraid. |
| 20:40:48 | botanicus | Is there a checklist what from 1.9 was already implemented? |
| 20:41:12 | botanicus | I found tap & inject methods up-to-date, for example ... |
| 20:46:07 | dbussink | botanicus: well, could be that low hanging fruit was already added |
| 20:46:19 | dbussink | 1.8.7 also added a whole slew of 1.9 library features |
| 20:46:28 | botanicus | I found Dir.exist? missing |
| 20:47:07 | Defiler | No checklist, but if you wanted to start one, that would be a great first step actually |
| 20:47:24 | Defiler | Unfortunately it requires enumerating the differences between 1.8.7 and 1.9.1 |
| 20:49:45 | botanicus | Any documentation standard for rubinius? |
| 20:50:00 | botanicus | Yard, rdoc? |
| 20:50:23 | botanicus | Most of the stuff seems to lack documentation, at least in kernel |
| 20:52:27 | botanicus | When I change something in kernel I have to recompile something? |
| 20:57:06 | botanicus | Also I don't understand what about specs? I can see something's synced from rubinius/specs from git ... I just want to add a spec for some kernel functionality, what should I do? |
| 21:01:39 | evan | botanicus: are you on the one_nine branch? |
| 21:01:47 | botanicus | Yes |
| 21:01:53 | evan | k, just checking. |
| 21:02:17 | botanicus | BTW is this how it should look like? http://github.com/botanicus/rubinius/commit/cac8567f636f5235efae8612f43eb3290c5b30de |
| 21:04:03 | botanicus | I'm asking mainly because I understand that performance matters and there is a lot of Rubinius low-level stuff ... |
| 21:05:25 | evan | botanicus: yah, thats fine. |
| 21:05:32 | evan | thats the prefered way. |
| 21:06:54 | botanicus | Cool, I'm going to find something else |
| 21:07:04 | botanicus | And create the checklist |
| 21:07:30 | botanicus | Actually shall I update changelog or it's done automatically? |
| 21:08:25 | evan | we don't have a changelog |
| 21:08:27 | evan | so no. |
| 21:08:34 | evan | :) |
| 21:09:25 | botanicus | I see :) |
| 21:34:03 | botanicus | If I want to push some changes, who should get the pull request? Just evan? |
| 21:36:38 | brixen | you can use git fp and post a ticket |
| 21:36:53 | brixen | afaik, only the repo owner gets a pull request, so yes evan would get it |
| 21:40:13 | botanicus | brixen: can I do it without a ticket? There is a huge amount of methods I'm going to add for 1.9 support, it would be bloody painful to add a ticket for each of them. |
| 21:40:46 | botanicus | brixen: you can check who should receive the pull request BTW |
| 21:42:17 | botanicus | brixen: and pls what's git fp? Google isn't very helpful for this query. |
| 21:42:20 | brixen | botanicus: post your patch, ask evan for a commit bit |
| 21:42:24 | brixen | git format-patch |
| 21:42:31 | botanicus | I see |
| 21:42:53 | brixen | I'm surprised there are a huge amount of 1.9 methods missing |
| 21:43:02 | brixen | marcandre already added most of the afaik |
| 21:45:38 | marcandre | brixen: Most of 1.9 was ported in 1.8.7, except the string encoding stuff, and that I haven't touched. |
| 21:45:53 | marcandre | So yeah, there isn't all that much in 1.9 per say |
| 21:46:05 | brixen | marcandre: right, so you already added most of the 1.9 methods besides encoding, yes? |
| 21:46:29 | brixen | I need to update the specs on that branch |
| 21:46:44 | marcandre | I think so, but I'm not sure. |
| 21:46:58 | marcandre | There are also quite a bit of language changes, which I haven't touched. |
| 21:47:50 | brixen | marcandre: language == syntax? |
| 21:48:41 | marcandre | yeah, syntax, mostyle, and other stuff like 1.9 can throw objects, not just symbols, the different hierarchy of superclass, ... |
| 21:48:47 | botanicus | brixen: there are still some |
| 21:49:22 | brixen | marcandre: yep, I'm with ya |
| 21:49:25 | botanicus | Also 1.9 removed some stuff like Exception#to_str |
| 21:51:07 | botanicus | I'm going to check everything in the 1.9.1 NEWS and make it compatible ... and then in 1.9.2 when it'll be released. |
| 21:52:48 | marcandre | The biggie is to figure out how to port the encoding stuff, some kind of bridge I guess. |
| 21:53:09 | rue | It is all over the codebase |
| 21:54:38 | brixen | right, that's why I lobbied for a separate one_nine branch |
| 21:54:48 | brixen | no bridge, just add the code as needed |
| 21:54:57 | brixen | without worrying about anything 1.8.x |
| 21:55:35 | marcandre | I meant the data for encodings should probably be used by rubinius directly somehow. |
| 22:03:17 | Zoxc | why not head for 1.9.2 straight away and beat MRI? =P |
| 22:03:47 | brixen | beat MRI to... the undefined definition of 1.9.2? |
| 22:03:54 | brixen | Zoxc: sometimes you make me wonder ;) |
| 22:04:21 | brixen | but yes, we would not waste time with 1.9.1 |
| 22:04:30 | brixen | rubyspec does not spec anything less than 1.9.2 head |
| 22:34:13 | luislavena | brixen: ping? |
| 22:37:01 | brixen | hey luislavena |
| 22:37:29 | luislavena | brixen: I owe you some stuff :( |
| 22:37:56 | brixen | is that stuff green with pictures of dead US presidents? :) |
| 22:37:58 | luislavena | brixen: been busy. question: minimum version of GCC required by rbx? |
| 22:38:08 | brixen | oh you mean code... |
| 22:38:15 | brixen | 4.0.1 |
| 22:38:19 | luislavena | brixen: money? hmn, don't think so, maybe beers or a dinner ;-) |
| 22:38:23 | brixen | heh |
| 22:39:06 | luislavena | brixen: cool, will send the MinGW+MSYS packages I use and a few new ones with 4.4.1.. |
| 22:39:12 | luislavena | brixen: 4.4.1 is ok? |
| 22:39:22 | luislavena | or maybe 4.3.3 ? |
| 22:39:23 | brixen | I'll give it a shot |
| 22:39:27 | Zoxc | what are you plotting? |
| 22:39:27 | brixen | either way |
| 22:39:34 | brixen | Zoxc: world domination |
| 22:39:36 | brixen | of course :) |
| 22:39:48 | Zoxc | for you or ruby? |
| 22:39:54 | brixen | muhahahah |
| 22:39:59 | brixen | wouldn't you like to know? |
| 22:40:02 | Defiler | The distinction grows smaller day by day |
| 22:40:12 | brixen | heh |
| 22:40:25 | luislavena | Zoxc: ;-) |
| 22:40:58 | luislavena | brixen: the whole package ends something like 700MB, will email you once is packaged. |
| 22:41:11 | brixen | luislavena: ok, n/p |
| 22:41:14 | brixen | luislavena: thanks |
| 22:41:26 | Defiler | You probably shouldn't attach that to the message :) |
| 22:41:30 | brixen | heh |
| 22:41:36 | brixen | what, I use gmail... |
| 22:41:59 | dbussink | luislavena: you going to work on getting rbx to compile on windows? :) |
| 22:42:39 | luislavena | dbussink: no, I found a nice pr0n C++ ASCII game that want to build cross-platform |
| 22:42:48 | luislavena | dbussink: brixen offered to help me with that ;-) |
| 22:42:49 | brixen | haha |
| 22:42:55 | brixen | damn right |
| 22:42:56 | dbussink | luislavena: ah, good to start of with then ;) |
| 22:43:12 | scott | rbx killer app |
| 22:43:12 | brixen | there is nothing quite like ascii pr0n, believe that |
| 22:43:14 | Defiler | I would love to help with that effort actually |
| 22:43:26 | Defiler | (win64 rbx) |
| 22:43:40 | dbussink | 8===D |
| 22:44:07 | brixen | oh my |
| 22:44:57 | dbussink | brixen: i suspected this would start a = war but fortunately not ;) |
| 22:45:44 | brixen | dbussink: you don't know how hard I resisted |
| 22:45:57 | dbussink | evan: you there? |
| 22:46:27 | brixen | dbussink: I was looking for the ascii congruence character to go for the girth win ;) |
| 22:46:32 | dbussink | brixen: i want to know how /hard/ you did ;) |
| 22:46:42 | brixen | hah |
| 22:49:09 | luislavena | Defiler: what platform you can work with? |
| 22:49:24 | Defiler | Whatever is helpful |
| 22:49:37 | luislavena | leaving aside the mine is bigger than yours topic. since mine is bigger than anybody else. |
| 22:49:38 | Defiler | I'm pretty familiar with ever Windows incarnation but 7, which I haven't used yet |
| 22:49:48 | Defiler | and I have the big fat Windows Internals book by the sysinternals dudes |
| 22:50:02 | luislavena | Defiler: the sysinternal dudes really rock. |
| 22:50:05 | Defiler | Yes. |
| 22:50:25 | luislavena | Defiler: me working with 7 x64 lately, but no 64bits for many things, a shame |
| 22:50:46 | Defiler | Oh, that is too bad. I was hoping they had really put it through the wringer for 7. |
| 22:50:52 | Defiler | but I guess it is just like it was in Vista? |
| 22:51:40 | Zoxc | many things = ? |
| 22:54:44 | luislavena | Defiler: well, sysinternals stuff got updated to work with 7, and they work good. I mean generally speaking, not many software take advantage of x64 bits. |
| 22:55:16 | Defiler | Oh, OK. I know in Vista there were numerous 32bit components running even on a 64bit install |
| 22:56:33 | luislavena | Defiler: yeah, WOW64 sometimes is confusing. |
| 22:58:34 | dbussink | luislavena: is there already a mingw 64 cross compiler? |
| 22:59:28 | luislavena | dbussink: http://mingw-w64.sourceforge.net/ |
| 23:00:08 | luislavena | dbussink: my results with it: http://gist.github.com/273384 |
| 23:00:36 | luislavena | dbussink: I didn't like that WPG is a monolithic package of 2GB uncompressed and useless tools :P |
| 23:00:52 | luislavena | dbussink: (well, not useless, but lot of things that I would not use) |