Show enters and exits. Hide enters and exits.
| 00:42:08 | brixen | evan: ok, I'm confused about the best place to guard inheriting from a metaclass |
| 00:42:28 | brixen | I have Class::set_superclass, CLass::create, and VM::new_basic_class |
| 00:42:37 | evan | mmm |
| 00:42:53 | brixen | guarding set_superclass makes the specs pass |
| 00:42:58 | evan | thats fine |
| 00:43:05 | evan | we don't need to guard the others |
| 00:43:13 | evan | they're used a pretty restrictive manor |
| 00:43:22 | brixen | which are Class.new <metaclass> and class F < <metaclass> |
| 00:43:23 | brixen | ok |
| 00:43:33 | brixen | can you think of another scenario? |
| 01:49:22 | rue | What about a rabbi and a priest in...a bar? |
| 01:58:36 | brixen | CSV is such a mess :( |
| 01:58:44 | brixen | no wonder there are no specs for it |
| 02:04:22 | brixen | what a waste of time that was... |
| 02:05:04 | rue | Does FasterCSV have some? Or, wait, maybe the API is not compliant |
| 02:07:23 | evan | brixen: eh? |
| 02:09:19 | brixen | evan: those specs for CSV were a mess, and CSV isn't much better |
| 02:09:43 | evan | sorry, just got back |
| 02:09:46 | brixen | ridiculous API and significant non-compatible changes in 1.9 |
| 02:09:47 | evan | must have missed something. |
| 02:10:12 | brixen | just me trying to close the ticket for CSV specs without breaking something ;) |
| 02:11:28 | evan | oh oh |
| 02:11:30 | evan | yes. |
| 02:22:38 | boyscout | Spec for String.pattern accepting only positive values. - cb1841d - Brian Ford |
| 02:22:39 | boyscout | Ensure String.pattern receives a positive size. - 47adbfd - Brian Ford |
| 02:22:39 | boyscout | Added specs for class variables on a metaclass. - 72522ce - Brian Ford |
| 02:22:39 | boyscout | Fixed class variable with metaclass. Closes #411. - a41d7d0 - Brian Ford |
| 02:22:39 | boyscout | Specs for attempting to inherit from a metaclass. - a5fa259 - Brian Ford |
| 02:22:39 | boyscout | Raise a TypeError if attempting to inherit from a metaclass. - 2356de6 - Brian Ford |
| 02:22:39 | boyscout | Specs for CSV#readlines for 1.9. Closes #431. - 78abd96 - Brian Ford |
| 02:22:40 | boyscout | Added .gitignore for gdbm/sdbm extensions. - fa12359 - Brian Ford |
| 02:23:20 | brixen | evan: see the commit comment in 2356de6 |
| 02:23:35 | brixen | I'd like to doc this better, develop some guidelines, something... |
| 02:24:49 | brixen | dinner, bbl... |
| 02:26:38 | evan | ok. |
| 02:35:34 | boyscout | CI: rubinius: fa12359 successful: 3522 files, 15310 examples, 43170 expectations, 0 failures, 0 errors |
| 02:43:46 | boyscout | Performance fix. The JIT was accidently always using the reset pointer. - da075be - Evan Phoenix |
| 02:53:55 | boyscout | CI: rubinius: da075be successful: 3522 files, 15310 examples, 43170 expectations, 0 failures, 0 errors |
| 04:35:46 | boyscout | Added specs for #require edge case. - 519a321 - Brian Ford |
| 04:35:46 | boyscout | Fixed #require edge case. Closes #365. - 7d66440 - Brian Ford |
| 04:38:06 | brixen | of course, it pays to understand the full behavior :) |
| 04:42:23 | evan | :) |
| 04:43:45 | brixen | man oh man, I wish we had a better build system :( |
| 04:44:36 | brixen | if only a day were longer |
| 04:45:30 | boyscout | CI: rubinius: 7d66440 successful: 3522 files, 15318 examples, 43186 expectations, 0 failures, 0 errors |
| 04:46:04 | evan | brixen: well, there is always tomorrow! |
| 04:46:10 | brixen | heh |
| 04:46:33 | brixen | there's plenty of minutes left in today yet |
| 04:47:05 | brixen | I just need to figure out the least insane way to deal with [gs]?dbm not having extconf.h file |
| 04:47:18 | brixen | since those stupid ext are building every time you run rake |
| 04:47:32 | evan | yeah, i thought i noticed that. |
| 04:47:39 | evan | sdbm should be easy actually |
| 04:47:45 | evan | it doesn't have any dependencies |
| 04:47:52 | evan | you could rewrite that into your build setup easy. |
| 04:48:17 | brixen | yeah, I was going to add an array of deps to build_extconf |
| 04:48:26 | brixen | since both dl and openssl have extconf.h |
| 04:48:37 | evan | gotcha. |
| 04:48:38 | brixen | we have to check both Makefile and extconf.h for those |
| 04:55:54 | brixen | much better |
| 05:28:27 | boyscout | Fixed building C exts that use extconf.rb. - f5a5246 - Brian Ford |
| 05:38:12 | boyscout | CI: rubinius: f5a5246 successful: 3522 files, 15318 examples, 43186 expectations, 0 failures, 0 errors |
| 07:13:13 | dbussink | brixen: ping? |
| 07:15:42 | brixen | dbussink: sup? |
| 07:16:13 | dbussink | brixen: my 'potential 64 bit issue sense' was tingling with commit http://github.com/evanphx/rubinius/commit/47adbfddcda29786bb044e443f6c00dc2ef6a1fb |
| 07:16:24 | dbussink | (int)STRIP_FIXNUM_TAG(this) >= 0; |
| 07:16:35 | brixen | huh? |
| 07:16:39 | dbussink | doesn't that open up a possibility to pass in a large fixnum on 64 bit |
| 07:16:44 | dbussink | that gets truncated there? |
| 07:16:56 | dbussink | i wonder why the (int) is there basically |
| 07:17:00 | brixen | ahh, needs to be native_int |
| 07:17:27 | dbussink | brixen: shall i change it? |
| 07:17:33 | brixen | sure |
| 07:17:55 | brixen | I'm auditing Tuple, ByteArray, String, and Array right now for this very reason |
| 07:18:03 | dbussink | ah ok, cool :) |
| 07:18:09 | brixen | and adding some docs :) |
| 07:22:07 | dbussink | brixen: hehe, those are useful too :) |
| 07:22:17 | brixen | indeed |
| 07:22:36 | brixen | I'm not going to be able to get all the docs I want into 1.1 |
| 07:22:42 | brixen | but I hope to start |
| 07:23:33 | brixen | rbx is a very clean codebase, but unfortunately, that doesn't replace docs |
| 07:29:20 | dbussink | brixen: yeah, i usually find comments why something is done a certain way the most useful when working with it |
| 07:29:40 | dbussink | although i guess some people also like to have more higher level documentation |
| 07:29:48 | brixen | yeah, comments are ok, but not sufficient IMO |
| 07:30:03 | dbussink | as long as it doesn't end up like that dumb javadoc you often see |
| 07:30:05 | brixen | yes, I think the comprehensive, coherent docs are essential |
| 07:30:10 | dbussink | reiterating method names and parameters :p |
| 07:30:21 | brixen | well, I'm am adamantly opposed to inline docs |
| 07:30:25 | brixen | I think they are terrible |
| 07:31:11 | brixen | inline docs suffer from the exact same interface vs implementation conflict as code does |
| 07:31:33 | brixen | docs should explain how and why regardless of implementation |
| 07:31:46 | brixen | ie, how it behaves and the rationale for it |
| 07:34:48 | brixen | dbussink: have you seen http://github.com/rubyspec/rubyspec/commits/readruby |
| 07:35:12 | evan | headed to bed |
| 07:35:13 | brixen | the idea was to create a single set of docs for all the implementations to share |
| 07:35:18 | evan | but don't use STRIP_FIXNUM_TAG |
| 07:35:20 | evan | anywhere |
| 07:35:27 | dbussink | brixen: ah, that's a neat idea :) |
| 07:35:31 | evan | we should always be using ::to_native |
| 07:36:07 | evan | ok, bed. nite. |
| 07:36:23 | brixen | evan: ok |
| 07:36:24 | brixen | nite! |
| 07:40:12 | khaase | so, matz will give a talk "From Lisp to Ruby to Rubinius" |
| 07:40:21 | brixen | heh, yeah |
| 07:40:24 | khaase | does that mean rubinius won the war of the rubies? |
| 07:40:42 | khaase | I mean, as soon as it can run java |
| 07:40:47 | brixen | dunno, hopefully it will be recorded! |
| 07:41:06 | khaase | yeah, unfortunately it's in japan this time |
| 07:41:09 | brixen | khaase: well, there's koichi's rava and my charm project :) |
| 07:41:25 | brixen | I know, I really wanted to got to S3 this year |
| 07:41:38 | brixen | I heard it was really fun last year in germany |
| 07:42:15 | khaase | it was two years ago, but I heard so too, unfortunately I missed it too. |
| 07:43:16 | khaase | but I can ask Robert Hirschfeld if talks will be recorded |
| 07:43:30 | brixen | really? two years ago? I thought it was 2009 in germany |
| 07:43:52 | khaase | no, 2008 |
| 07:44:00 | brixen | wow |
| 07:44:01 | brixen | :( |
| 07:44:09 | brixen | damn time :) |
| 07:44:41 | khaase | but it will probably be in germany again next time |
| 07:44:54 | brixen | it would be awesome if they can record the talks |
| 07:45:01 | brixen | very cool conference |
| 07:46:22 | khaase | they are announcing it rather late imo |
| 07:47:23 | phlebas | khaase: I believe they will record, they always have in the past |
| 07:47:50 | khaase | phlebas: how about dropping vacation and going there? ;) |
| 07:48:02 | phlebas | could be interesting |
| 07:48:17 | phlebas | think hirschfeld might pay our flights? |
| 07:49:14 | khaase | that'd be awesome. but dunno, don't think so. |
| 07:50:08 | khaase | at least not if we're not going to help out there. but the japanese will probably have that covered. |
| 07:51:45 | khaase | btw: you're at work? what's the state of your rsoc presentation? |
| 08:02:12 | phlebas | khaase: i'm at work, presentation has 10 slides and no concept, couldn't work on that, had to make rb_proc_new works on JRuby :) |
| 08:13:03 | phlebas | brixen: did you have time to look at my capi spec patches? |
| 08:14:36 | brixen | phlebas: I will shortly, sorry, trying to get 1.1 out |
| 08:15:08 | phlebas | np, looking forward to 1.1 |
| 08:15:32 | brixen | I will do my best to get everything merged |
| 08:15:52 | brixen | but for now... |
| 08:15:57 | brixen | sleeps! :) |
| 10:17:30 | boyscout | Use native_int() in Fixnum::positive_p check - 0d440bb - Dirkjan Bussink |
| 10:27:21 | boyscout | CI: rubinius: 0d440bb successful: 3522 files, 15318 examples, 43186 expectations, 0 failures, 0 errors |
| 16:23:40 | evan | brixen: good job on the tickets! |
| 16:33:37 | brixen | evan: thanks! |
| 16:33:50 | brixen | evan: I'm moving that last spec ticket to rubyspec |
| 16:33:58 | evan | awesome. |
| 16:34:01 | evan | totally awesome. |
| 16:35:00 | brixen | I'm working removing Integer from ByteArray and other native int checks |
| 16:36:36 | evan | cool. |
| 16:39:32 | evan | i'm working to pin down that performance regression a little more. |
| 16:39:46 | evan | and (hopefully) get the jit deopt check in. |
| 16:42:52 | brixen | sweet! |
| 16:59:58 | sbryant_work | I'm going to the Ruby Hoedown this weekend. Anyone in here going? |
| 18:57:15 | dbussink | so, almost everything done for 1.1 i see? |
| 18:58:00 | evan | nearly |
| 18:58:03 | evan | got some docs to do still |
| 18:58:51 | brixen | and some pack |
| 18:59:58 | brixen | dbussink: run all the rails3 tests and DM tests :) |
| 19:00:11 | evan | yes |
| 19:00:12 | dbussink | i can run the dm tests yeah :) |
| 19:00:17 | evan | DM tests and rails3 tests. |
| 19:00:46 | dbussink | i don't have the rails3 tests set up here |
| 19:02:10 | evan | well set them up! |
| 19:05:07 | dbussink | hehe, i tried at some point, but apparently it takes some work and i didn't push through :) |
| 19:05:46 | dbussink | we could see whether we can make a ci system that runs stuff like this |
| 19:05:50 | dbussink | that's known to be good |
| 19:05:56 | evan | i'd love that. |
| 19:06:09 | evan | i'll give you an account on elle if you wanna set it up there. |
| 19:08:50 | dbussink | should such a system run on each commit? or be triggered specifically? |
| 19:10:32 | evan | trigger |
| 19:10:41 | evan | setting up under cijoe would be fine |
| 19:10:58 | evan | basically make it wait for a trigger is fine |
| 19:11:04 | evan | i'd ideally do it just once a day |
| 19:11:09 | evan | in the morning |
| 19:11:18 | evan | since it's a non-critical ci set |
| 19:11:27 | dbussink | yeah, it should be separate |
| 19:11:46 | dbussink | it could also run scheduled each night or something |
| 19:12:02 | evan | yeah |
| 19:12:11 | evan | you can use whatever ci system your comfortable with |
| 19:12:18 | evan | hudson, integrity, cijoe, whatever you'd like. |
| 19:13:02 | dbussink | might be easiests to hook it into cijoe then |
| 19:13:09 | evan | sure |
| 19:14:29 | dbussink | should probably then checkout tags of know good versions of certain projects |
| 19:14:38 | dbussink | so that's also stable and not changing all the time |
| 19:14:40 | sbryant_work | Do you guys need a server for this? |
| 19:14:52 | sbryant_work | Oh wait, you work for EY |
| 19:15:14 | evan | yes, but, ironicly, elle is my personal server. |
| 19:15:21 | sbryant_work | hah |
| 19:17:30 | brixen | evan: I think String num_bytes_, characters_, hash_value_ should be Fixnum rather than Integer |
| 19:17:38 | evan | if they're not |
| 19:17:39 | evan | thats a bug. |
| 19:17:50 | evan | because yes, they should absolutely be Fixnums |
| 19:17:55 | brixen | ok |
| 19:18:01 | evan | this is what I meant by changing it |
| 19:18:03 | evan | at some point |
| 19:18:07 | evan | someone changed them to Integer |
| 19:18:12 | dbussink | hmm, i wonder if cijoe is a good choice to run different projects with it |
| 19:18:28 | evan | dbussink: well, you just run multiple instances of cijoe |
| 19:18:30 | evan | one per thing. |
| 19:18:37 | dbussink | true yeah |
| 19:18:50 | evan | you don't (can't?) run mulitple projects with one. |
| 19:18:51 | dbussink | but if it's something cron based, that might as wel be best anyway |
| 19:19:02 | evan | yeah |
| 19:19:06 | evan | we can trigger it via cron |
| 19:19:13 | evan | or with a button |
| 19:19:17 | evan | on a webpage-a-roo. |
| 19:19:50 | sbryant_work | I could help setup hudson if you'd like? |
| 19:20:10 | evan | i've never used hudson |
| 19:20:22 | evan | so any thoughts on it? |
| 19:20:45 | sbryant_work | Yeah, it might not be applicable as I've seen it used as not just a build tester but a work flow enforcer |
| 19:21:06 | evan | ok |
| 19:21:08 | evan | cijoe is deadsimple. |
| 19:21:10 | evan | which is nice. |
| 19:21:11 | sbryant_work | Yeah |
| 19:21:23 | evan | dbussink: let me make sure i've got my cijoe fork pushed |
| 19:21:26 | dbussink | it should be dead simple to add projects |
| 19:21:28 | evan | so you can use that if you'd like |
| 19:21:31 | sbryant_work | I'll think about it, because you easily define different kinds of builds very simply |
| 19:21:34 | dbussink | that's like the biggest requirement imho |
| 19:21:46 | dbussink | hey, someone reported some version / tool as good, let's add it |
| 19:21:53 | evan | dbussink: mmm |
| 19:21:55 | evan | no |
| 19:21:57 | evan | not for now. |
| 19:22:00 | evan | thats a requirement for later. |
| 19:22:11 | evan | thats not an immediate requirement |
| 19:22:17 | evan | a ci setup for DM and rails3 |
| 19:22:20 | evan | is all I want. |
| 19:22:29 | evan | even if it's a one off |
| 19:22:30 | dbussink | hehe, well, i want to add those two easily ;) |
| 19:22:39 | evan | i'm not interested in optimizing for adding more stuff in the future right now. |
| 19:22:44 | dbussink | which can be a simple straight forward file structure or whatever |
| 19:22:52 | sbryant_work | fair enough. |
| 19:25:48 | dbussink | evan: what would your advise be for building rbx as the first step? because having to rebuild whole rbx before each project would seem a bit overkill i think |
| 19:26:11 | evan | yeah no |
| 19:26:14 | evan | don't do that |
| 19:26:20 | evan | if you do it on elle |
| 19:26:27 | evan | you can use the existing CI built rbx |
| 19:26:36 | evan | so it's automatically kept up |
| 19:27:29 | dbussink | only thing what would be tricky is when it's running and then the existing ci runs too and cleans up stuff :) |
| 19:28:18 | evan | well |
| 19:29:33 | evan | doing it at 3am PST would largely solve that |
| 19:29:46 | evan | but you're point is still valid. |
| 19:30:23 | evan | dbussink: well, what about having one cijoe instance setup |
| 19:30:28 | evan | that updates and builds rbx |
| 19:30:29 | dbussink | maybe i will commit something at 3am pst ;) |
| 19:30:31 | evan | then tests N projects |
| 19:30:36 | dbussink | that could work too yeah |
| 19:30:40 | dbussink | to run it all in one |
| 19:30:47 | evan | since cijoe just runs any command, that should be easy |
| 19:30:51 | dbussink | would create a huge output |
| 19:30:57 | evan | thats ok |
| 19:30:58 | dbussink | but that wouldn't matter too much then |
| 19:31:12 | dbussink | i'd just create a rakefile with a few methods etc. to set up stuff |
| 19:31:19 | evan | right |
| 19:31:21 | dbussink | should be relatively straightforward |
| 19:53:20 | dbussink | evan: dm specs passed btw :) |
| 19:53:45 | evan | drinks all around! |
| 20:00:25 | sbryant_work | grabs a beer! |
| 20:09:41 | dbussink | evan: hmm, rails3 tests aren't all green for me atm |
| 20:09:47 | dbussink | some weird memcache failure |
| 20:09:50 | evan | ok |
| 20:09:55 | dbussink | which is odd, since i do have memcache on my system |
| 20:09:58 | evan | care to take a look at it? |
| 20:10:41 | dbussink | this is what i have here: https://gist.github.com/83e1cd80f85430270dbf |
| 20:12:06 | evan | ok |
| 20:12:10 | evan | could you dig into that a little |
| 20:12:12 | evan | and see what you find |
| 20:12:17 | evan | when you head to be bed |
| 20:12:20 | evan | you can hand it off to me |
| 20:12:43 | dbussink | looks like the rest is passing though |
| 20:22:11 | dbussink | ugh, some auto loading failure :S |
| 20:39:37 | dbussink | evan: also some caller relative path / full path dependency :( |
| 20:39:48 | evan | rad |
| 20:39:50 | evan | *eyeroll* |
| 20:40:59 | dbussink | evan: http://github.com/rails/rails/blob/master/activesupport/lib/active_support/deprecation/reporting.r b#L49 |
| 20:41:21 | dbussink | on mri it returns a relative path in caller() for the tests |
| 20:41:45 | dbussink | but on rbx full path, and since they are under the activesupport it thinks it's in the rails gem root there |
| 20:42:07 | evan | ok |
| 20:42:08 | evan | ignore that one |
| 20:42:09 | evan | go on |
| 20:42:25 | dbussink | i haven't dared to look into the auto loading deeper :P |
| 20:42:34 | dbussink | and the memcache one doesn't happen anymore |
| 20:45:43 | evan | you solved it then! good job! |
| 20:45:46 | evan | is that it? |
| 20:49:14 | dbussink | evan: that memcache one seems pretty erratic :S |
| 20:49:22 | dbussink | evan: that's it for activesupport |
| 20:49:26 | evan | ok |
| 20:49:29 | dbussink | there's some more stuff in railties it sems |
| 20:49:31 | dbussink | seems |
| 20:49:33 | dbussink | with the generators |
| 20:52:13 | evan | k |
| 20:54:25 | theoros | i'm on 1.0.1(-20100603) and i'm looking to find out why s = "something"; s.metaclass.superclass = Numeric; is allowed / exists and what, if any, use this would have. am i correct in thinking that it's leftover from wanting to be able to allow after-the-fact superclass assignment for new classes? |
| 21:00:18 | dbussink | theoros: did you check whether it's still possible with current master? |
| 21:00:50 | theoros | i did not, but then my question would still be "why did it exist?" |
| 21:01:39 | theoros | i'll install the head now |
| 21:02:37 | brixen | it existed because we built things like IncludedModule chains in Ruby |
| 21:03:02 | brixen | but we should not probably allow doing things like changing a core class's superclass |
| 21:03:23 | brixen | it still exists in master |
| 21:03:32 | brixen | it's in kernel/alpha.rb |
| 22:15:43 | evan | _ko1: you around by chance? |
| 22:50:02 | brixen | evan: got a sec? |
| 23:42:27 | evan | brixen: sure |
| 23:43:53 | brixen | got time for quick call? |
| 23:44:08 | evan | sure |
| 23:44:12 | brixen | k |
| 23:44:13 | evan | give me a ring. |