Index

Show enters and exits. Hide enters and exits.

00:42:08brixenevan: ok, I'm confused about the best place to guard inheriting from a metaclass
00:42:28brixenI have Class::set_superclass, CLass::create, and VM::new_basic_class
00:42:37evanmmm
00:42:53brixenguarding set_superclass makes the specs pass
00:42:58evanthats fine
00:43:05evanwe don't need to guard the others
00:43:13evanthey're used a pretty restrictive manor
00:43:22brixenwhich are Class.new <metaclass> and class F < <metaclass>
00:43:23brixenok
00:43:33brixencan you think of another scenario?
01:49:22rueWhat about a rabbi and a priest in...a bar?
01:58:36brixenCSV is such a mess :(
01:58:44brixenno wonder there are no specs for it
02:04:22brixenwhat a waste of time that was...
02:05:04rueDoes FasterCSV have some? Or, wait, maybe the API is not compliant
02:07:23evanbrixen: eh?
02:09:19brixenevan: those specs for CSV were a mess, and CSV isn't much better
02:09:43evansorry, just got back
02:09:46brixenridiculous API and significant non-compatible changes in 1.9
02:09:47evanmust have missed something.
02:10:12brixenjust me trying to close the ticket for CSV specs without breaking something ;)
02:11:28evanoh oh
02:11:30evanyes.
02:22:38boyscoutSpec for String.pattern accepting only positive values. - cb1841d - Brian Ford
02:22:39boyscoutEnsure String.pattern receives a positive size. - 47adbfd - Brian Ford
02:22:39boyscoutAdded specs for class variables on a metaclass. - 72522ce - Brian Ford
02:22:39boyscoutFixed class variable with metaclass. Closes #411. - a41d7d0 - Brian Ford
02:22:39boyscoutSpecs for attempting to inherit from a metaclass. - a5fa259 - Brian Ford
02:22:39boyscoutRaise a TypeError if attempting to inherit from a metaclass. - 2356de6 - Brian Ford
02:22:39boyscoutSpecs for CSV#readlines for 1.9. Closes #431. - 78abd96 - Brian Ford
02:22:40boyscoutAdded .gitignore for gdbm/sdbm extensions. - fa12359 - Brian Ford
02:23:20brixenevan: see the commit comment in 2356de6
02:23:35brixenI'd like to doc this better, develop some guidelines, something...
02:24:49brixendinner, bbl...
02:26:38evanok.
02:35:34boyscoutCI: rubinius: fa12359 successful: 3522 files, 15310 examples, 43170 expectations, 0 failures, 0 errors
02:43:46boyscoutPerformance fix. The JIT was accidently always using the reset pointer. - da075be - Evan Phoenix
02:53:55boyscoutCI: rubinius: da075be successful: 3522 files, 15310 examples, 43170 expectations, 0 failures, 0 errors
04:35:46boyscoutAdded specs for #require edge case. - 519a321 - Brian Ford
04:35:46boyscoutFixed #require edge case. Closes #365. - 7d66440 - Brian Ford
04:38:06brixenof course, it pays to understand the full behavior :)
04:42:23evan:)
04:43:45brixenman oh man, I wish we had a better build system :(
04:44:36brixenif only a day were longer
04:45:30boyscoutCI: rubinius: 7d66440 successful: 3522 files, 15318 examples, 43186 expectations, 0 failures, 0 errors
04:46:04evanbrixen: well, there is always tomorrow!
04:46:10brixenheh
04:46:33brixenthere's plenty of minutes left in today yet
04:47:05brixenI just need to figure out the least insane way to deal with [gs]?dbm not having extconf.h file
04:47:18brixensince those stupid ext are building every time you run rake
04:47:32evanyeah, i thought i noticed that.
04:47:39evansdbm should be easy actually
04:47:45evanit doesn't have any dependencies
04:47:52evanyou could rewrite that into your build setup easy.
04:48:17brixenyeah, I was going to add an array of deps to build_extconf
04:48:26brixensince both dl and openssl have extconf.h
04:48:37evangotcha.
04:48:38brixenwe have to check both Makefile and extconf.h for those
04:55:54brixenmuch better
05:28:27boyscoutFixed building C exts that use extconf.rb. - f5a5246 - Brian Ford
05:38:12boyscoutCI: rubinius: f5a5246 successful: 3522 files, 15318 examples, 43186 expectations, 0 failures, 0 errors
07:13:13dbussinkbrixen: ping?
07:15:42brixendbussink: sup?
07:16:13dbussinkbrixen: my 'potential 64 bit issue sense' was tingling with commit http://github.com/evanphx/rubinius/commit/47adbfddcda29786bb044e443f6c00dc2ef6a1fb
07:16:24dbussink(int)STRIP_FIXNUM_TAG(this) >= 0;
07:16:35brixenhuh?
07:16:39dbussinkdoesn't that open up a possibility to pass in a large fixnum on 64 bit
07:16:44dbussinkthat gets truncated there?
07:16:56dbussinki wonder why the (int) is there basically
07:17:00brixenahh, needs to be native_int
07:17:27dbussinkbrixen: shall i change it?
07:17:33brixensure
07:17:55brixenI'm auditing Tuple, ByteArray, String, and Array right now for this very reason
07:18:03dbussinkah ok, cool :)
07:18:09brixenand adding some docs :)
07:22:07dbussinkbrixen: hehe, those are useful too :)
07:22:17brixenindeed
07:22:36brixenI'm not going to be able to get all the docs I want into 1.1
07:22:42brixenbut I hope to start
07:23:33brixenrbx is a very clean codebase, but unfortunately, that doesn't replace docs
07:29:20dbussinkbrixen: yeah, i usually find comments why something is done a certain way the most useful when working with it
07:29:40dbussinkalthough i guess some people also like to have more higher level documentation
07:29:48brixenyeah, comments are ok, but not sufficient IMO
07:30:03dbussinkas long as it doesn't end up like that dumb javadoc you often see
07:30:05brixenyes, I think the comprehensive, coherent docs are essential
07:30:10dbussinkreiterating method names and parameters :p
07:30:21brixenwell, I'm am adamantly opposed to inline docs
07:30:25brixenI think they are terrible
07:31:11brixeninline docs suffer from the exact same interface vs implementation conflict as code does
07:31:33brixendocs should explain how and why regardless of implementation
07:31:46brixenie, how it behaves and the rationale for it
07:34:48brixendbussink: have you seen http://github.com/rubyspec/rubyspec/commits/readruby
07:35:12evanheaded to bed
07:35:13brixenthe idea was to create a single set of docs for all the implementations to share
07:35:18evanbut don't use STRIP_FIXNUM_TAG
07:35:20evananywhere
07:35:27dbussinkbrixen: ah, that's a neat idea :)
07:35:31evanwe should always be using ::to_native
07:36:07evanok, bed. nite.
07:36:23brixenevan: ok
07:36:24brixennite!
07:40:12khaaseso, matz will give a talk "From Lisp to Ruby to Rubinius"
07:40:21brixenheh, yeah
07:40:24khaasedoes that mean rubinius won the war of the rubies?
07:40:42khaaseI mean, as soon as it can run java
07:40:47brixendunno, hopefully it will be recorded!
07:41:06khaaseyeah, unfortunately it's in japan this time
07:41:09brixenkhaase: well, there's koichi's rava and my charm project :)
07:41:25brixenI know, I really wanted to got to S3 this year
07:41:38brixenI heard it was really fun last year in germany
07:42:15khaaseit was two years ago, but I heard so too, unfortunately I missed it too.
07:43:16khaasebut I can ask Robert Hirschfeld if talks will be recorded
07:43:30brixenreally? two years ago? I thought it was 2009 in germany
07:43:52khaaseno, 2008
07:44:00brixenwow
07:44:01brixen:(
07:44:09brixendamn time :)
07:44:41khaasebut it will probably be in germany again next time
07:44:54brixenit would be awesome if they can record the talks
07:45:01brixenvery cool conference
07:46:22khaasethey are announcing it rather late imo
07:47:23phlebaskhaase: I believe they will record, they always have in the past
07:47:50khaasephlebas: how about dropping vacation and going there? ;)
07:48:02phlebascould be interesting
07:48:17phlebasthink hirschfeld might pay our flights?
07:49:14khaasethat'd be awesome. but dunno, don't think so.
07:50:08khaaseat least not if we're not going to help out there. but the japanese will probably have that covered.
07:51:45khaasebtw: you're at work? what's the state of your rsoc presentation?
08:02:12phlebaskhaase: 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:03phlebasbrixen: did you have time to look at my capi spec patches?
08:14:36brixenphlebas: I will shortly, sorry, trying to get 1.1 out
08:15:08phlebasnp, looking forward to 1.1
08:15:32brixenI will do my best to get everything merged
08:15:52brixenbut for now...
08:15:57brixensleeps! :)
10:17:30boyscoutUse native_int() in Fixnum::positive_p check - 0d440bb - Dirkjan Bussink
10:27:21boyscoutCI: rubinius: 0d440bb successful: 3522 files, 15318 examples, 43186 expectations, 0 failures, 0 errors
16:23:40evanbrixen: good job on the tickets!
16:33:37brixenevan: thanks!
16:33:50brixenevan: I'm moving that last spec ticket to rubyspec
16:33:58evanawesome.
16:34:01evantotally awesome.
16:35:00brixenI'm working removing Integer from ByteArray and other native int checks
16:36:36evancool.
16:39:32evani'm working to pin down that performance regression a little more.
16:39:46evanand (hopefully) get the jit deopt check in.
16:42:52brixensweet!
16:59:58sbryant_workI'm going to the Ruby Hoedown this weekend. Anyone in here going?
18:57:15dbussinkso, almost everything done for 1.1 i see?
18:58:00evannearly
18:58:03evangot some docs to do still
18:58:51brixenand some pack
18:59:58brixendbussink: run all the rails3 tests and DM tests :)
19:00:11evanyes
19:00:12dbussinki can run the dm tests yeah :)
19:00:17evanDM tests and rails3 tests.
19:00:46dbussinki don't have the rails3 tests set up here
19:02:10evanwell set them up!
19:05:07dbussinkhehe, i tried at some point, but apparently it takes some work and i didn't push through :)
19:05:46dbussinkwe could see whether we can make a ci system that runs stuff like this
19:05:50dbussinkthat's known to be good
19:05:56evani'd love that.
19:06:09evani'll give you an account on elle if you wanna set it up there.
19:08:50dbussinkshould such a system run on each commit? or be triggered specifically?
19:10:32evantrigger
19:10:41evansetting up under cijoe would be fine
19:10:58evanbasically make it wait for a trigger is fine
19:11:04evani'd ideally do it just once a day
19:11:09evanin the morning
19:11:18evansince it's a non-critical ci set
19:11:27dbussinkyeah, it should be separate
19:11:46dbussinkit could also run scheduled each night or something
19:12:02evanyeah
19:12:11evanyou can use whatever ci system your comfortable with
19:12:18evanhudson, integrity, cijoe, whatever you'd like.
19:13:02dbussinkmight be easiests to hook it into cijoe then
19:13:09evansure
19:14:29dbussinkshould probably then checkout tags of know good versions of certain projects
19:14:38dbussinkso that's also stable and not changing all the time
19:14:40sbryant_workDo you guys need a server for this?
19:14:52sbryant_workOh wait, you work for EY
19:15:14evanyes, but, ironicly, elle is my personal server.
19:15:21sbryant_workhah
19:17:30brixenevan: I think String num_bytes_, characters_, hash_value_ should be Fixnum rather than Integer
19:17:38evanif they're not
19:17:39evanthats a bug.
19:17:50evanbecause yes, they should absolutely be Fixnums
19:17:55brixenok
19:18:01evanthis is what I meant by changing it
19:18:03evanat some point
19:18:07evansomeone changed them to Integer
19:18:12dbussinkhmm, i wonder if cijoe is a good choice to run different projects with it
19:18:28evandbussink: well, you just run multiple instances of cijoe
19:18:30evanone per thing.
19:18:37dbussinktrue yeah
19:18:50evanyou don't (can't?) run mulitple projects with one.
19:18:51dbussinkbut if it's something cron based, that might as wel be best anyway
19:19:02evanyeah
19:19:06evanwe can trigger it via cron
19:19:13evanor with a button
19:19:17evanon a webpage-a-roo.
19:19:50sbryant_workI could help setup hudson if you'd like?
19:20:10evani've never used hudson
19:20:22evanso any thoughts on it?
19:20:45sbryant_workYeah, it might not be applicable as I've seen it used as not just a build tester but a work flow enforcer
19:21:06evanok
19:21:08evancijoe is deadsimple.
19:21:10evanwhich is nice.
19:21:11sbryant_workYeah
19:21:23evandbussink: let me make sure i've got my cijoe fork pushed
19:21:26dbussinkit should be dead simple to add projects
19:21:28evanso you can use that if you'd like
19:21:31sbryant_workI'll think about it, because you easily define different kinds of builds very simply
19:21:34dbussinkthat's like the biggest requirement imho
19:21:46dbussinkhey, someone reported some version / tool as good, let's add it
19:21:53evandbussink: mmm
19:21:55evanno
19:21:57evannot for now.
19:22:00evanthats a requirement for later.
19:22:11evanthats not an immediate requirement
19:22:17evana ci setup for DM and rails3
19:22:20evanis all I want.
19:22:29evaneven if it's a one off
19:22:30dbussinkhehe, well, i want to add those two easily ;)
19:22:39evani'm not interested in optimizing for adding more stuff in the future right now.
19:22:44dbussinkwhich can be a simple straight forward file structure or whatever
19:22:52sbryant_workfair enough.
19:25:48dbussinkevan: 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:11evanyeah no
19:26:14evandon't do that
19:26:20evanif you do it on elle
19:26:27evanyou can use the existing CI built rbx
19:26:36evanso it's automatically kept up
19:27:29dbussinkonly thing what would be tricky is when it's running and then the existing ci runs too and cleans up stuff :)
19:28:18evanwell
19:29:33evandoing it at 3am PST would largely solve that
19:29:46evanbut you're point is still valid.
19:30:23evandbussink: well, what about having one cijoe instance setup
19:30:28evanthat updates and builds rbx
19:30:29dbussinkmaybe i will commit something at 3am pst ;)
19:30:31evanthen tests N projects
19:30:36dbussinkthat could work too yeah
19:30:40dbussinkto run it all in one
19:30:47evansince cijoe just runs any command, that should be easy
19:30:51dbussinkwould create a huge output
19:30:57evanthats ok
19:30:58dbussinkbut that wouldn't matter too much then
19:31:12dbussinki'd just create a rakefile with a few methods etc. to set up stuff
19:31:19evanright
19:31:21dbussinkshould be relatively straightforward
19:53:20dbussinkevan: dm specs passed btw :)
19:53:45evandrinks all around!
20:00:25sbryant_workgrabs a beer!
20:09:41dbussinkevan: hmm, rails3 tests aren't all green for me atm
20:09:47dbussinksome weird memcache failure
20:09:50evanok
20:09:55dbussinkwhich is odd, since i do have memcache on my system
20:09:58evancare to take a look at it?
20:10:41dbussinkthis is what i have here: https://gist.github.com/83e1cd80f85430270dbf
20:12:06evanok
20:12:10evancould you dig into that a little
20:12:12evanand see what you find
20:12:17evanwhen you head to be bed
20:12:20evanyou can hand it off to me
20:12:43dbussinklooks like the rest is passing though
20:22:11dbussinkugh, some auto loading failure :S
20:39:37dbussinkevan: also some caller relative path / full path dependency :(
20:39:48evanrad
20:39:50evan*eyeroll*
20:40:59dbussinkevan: http://github.com/rails/rails/blob/master/activesupport/lib/active_support/deprecation/reporting.r b#L49
20:41:21dbussinkon mri it returns a relative path in caller() for the tests
20:41:45dbussinkbut on rbx full path, and since they are under the activesupport it thinks it's in the rails gem root there
20:42:07evanok
20:42:08evanignore that one
20:42:09evango on
20:42:25dbussinki haven't dared to look into the auto loading deeper :P
20:42:34dbussinkand the memcache one doesn't happen anymore
20:45:43evanyou solved it then! good job!
20:45:46evanis that it?
20:49:14dbussinkevan: that memcache one seems pretty erratic :S
20:49:22dbussinkevan: that's it for activesupport
20:49:26evanok
20:49:29dbussinkthere's some more stuff in railties it sems
20:49:31dbussinkseems
20:49:33dbussinkwith the generators
20:52:13evank
20:54:25theorosi'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:18dbussinktheoros: did you check whether it's still possible with current master?
21:00:50theorosi did not, but then my question would still be "why did it exist?"
21:01:39theorosi'll install the head now
21:02:37brixenit existed because we built things like IncludedModule chains in Ruby
21:03:02brixenbut we should not probably allow doing things like changing a core class's superclass
21:03:23brixenit still exists in master
21:03:32brixenit's in kernel/alpha.rb
22:15:43evan_ko1: you around by chance?
22:50:02brixenevan: got a sec?
23:42:27evanbrixen: sure
23:43:53brixengot time for quick call?
23:44:08evansure
23:44:12brixenk
23:44:13evangive me a ring.