Index

Show enters and exits. Hide enters and exits.

00:02:02evanbrixen: http://bridgerbowl.com/snowreport/
00:02:06evanlooks chilly!
00:02:12evanthats where we're likely go skiing over the holidays
00:03:07brixensweet
00:03:44brixenyeah, this weather in pdx is crazy... it's usually 18-24 deg F 6000+ ft up mt hood
00:03:55brixenI'm just glad we're not covered in snow
00:04:31evanyeah
00:13:08slavaevan: so why did you change your name? :)
00:13:28evangot married
00:13:34evanabby and I wanted the same last name
00:13:41evanbut neither wanted the other to take their name
00:13:45slavaheh
00:13:47evanand no name combo worked
00:13:52evanso we just came up with a new one.
12:55:31khaaseanybody came up with a fancy name for the vm, yet?
15:15:23ruevm
15:16:21rueClever names are passé
15:57:09jammiyou have to have serious naming especially, if you are doing serious business.
17:13:45brixenmorning
17:22:16evanmorning.
17:23:15BrianRice-workhowdy
17:27:33evanhows everyone this morning?
17:28:34BrianRice-workrecovering from the morning motorcycle ride while I optimize perl code ;)
17:28:43evanfun!
17:28:44evan:/
17:28:55evanit's been so long since I wrote perl code
17:28:57BrianRice-workI must say, I'm suitably impressed by the simplicity of rbc
17:29:04evani wonder what people write these days
17:29:09evanBrianRice-work: thanks1
17:29:10evan!
17:29:34BrianRice-workusually, "fasl"s are a bit more complicated, and not human-readable
17:29:46evanyeah
17:29:56evanan older rbc format was all binary-y
17:30:06evanbut it didn't help anything
17:30:12evanso at one point, I just converted it over.
17:30:14BrianRice-workwhat I had previously considered was treating each file as an anonymous block, and then serializing the compiled object that represented that
17:30:24evanthats pretty much what ours are
17:30:30evana file is a method
17:30:44evanand every code section is a method
17:30:52BrianRice-workoh, good. I had wondered about it, but couldn't see a real indicator one way or another
17:31:00evanand one method can refer to another method in it's literals
17:31:08evanso it's a tree of methods
17:31:11BrianRice-workhm, good
17:31:24BrianRice-workand they're real closures, of course
17:31:31evannot all of them are
17:31:36evanonly the ones that are closures :D
17:31:46BrianRice-workok. well, that's not a big deal to me
17:31:55BrianRice-work(our methods are "installed closures")
17:31:57evanthey're actually the raw method
17:32:05evanthe static part
17:32:10BrianRice-workok
17:32:13evanso, for instance, when you want to run a class body
17:32:16evanyou create the class
17:32:22evanthen do something like
17:32:33BrianRice-workoh yeah, what about the context of a file? as in, maybe what namespace/object it gets loaded into?
17:32:33evan<class is on stack>
17:32:35evanpush_literal 1
17:32:42evansend :add_method, 1
17:32:48evansend :__class_body__, 0
17:33:00evanthe push_literal pushes a CompiledMethod on the stack
17:33:07BrianRice-workok
17:33:34evanand add_method adds takes it and puts it into the classes metaclass' methodtable as __class_body__
17:33:40evanthen we send __class_body__ to execute it.
17:33:52evanthat eliminates class bodies as a special case.
17:33:55BrianRice-workhm
17:34:29BrianRice-workruby's idea of the class body is something I've noticed but never quite grasped as a language idea
17:34:44BrianRice-workmaybe because of the space I think in.
17:34:47evanit's just a method
17:34:52evanthats the truth
17:35:06BrianRice-workoh yeah, I understand how it works
17:35:08evanwith some sugar for creating and sending it
17:35:15BrianRice-workk
17:35:16evanno, i mean idea wise too.
17:35:24evanself in a class body is the class itself
17:35:33BrianRice-workhmmm ok
17:35:35evanso it truely is like just having a class method and calling it
17:36:04BrianRice-workand that's considered maybe a setup/initialize method?
17:36:20evanyeah
17:36:38evanan anonymous setup method
17:36:41BrianRice-workI see.
17:36:45evanbecause of open classes
17:36:48evanyou can have many of them though
17:36:53evanso they're not singular
17:37:06evanbut thats why being anonymous matters
17:37:16evanbecause you don't need to figure out a good name
17:37:17BrianRice-workok. I'll give that concept some thought. maybe Slate would be better with something like that.
17:37:42evanbeing a method means that class setup is dynamic
17:37:49evanso things like method addition can be conditional
17:38:06evanand it provides a feature that rails uses a lot
17:38:19evannamely the ability to call methods on the class in the class body without a reciever
17:38:27evanwhich makes them look like directives
17:38:30evanclass Blah
17:38:33evan attr_accessor :name
17:38:34evanend
17:38:34BrianRice-workok, I've noticed that rails idiom so it's interesting to see how it links down to the actual class model
17:38:35evanfor instance
17:38:44evanattr_accessor is just a method on Class
17:39:22evanone of the nicest things about ruby is the unified model
17:39:25evaneverything is an object
17:39:27evanand everywhere is a method.
17:39:36BrianRice-workyeah yeah ;)
17:39:55BrianRice-work"everywhere is a method" is the interesting bit
17:40:01evanyep
17:40:18evanwithout than effect
17:40:21BrianRice-workfor us, we have namespaces-as-scopes, too
17:40:25evanyou get things like python's class bodies
17:40:30evanwhich require a whole special set of rules
17:40:33evanto reason about
17:40:35BrianRice-workwhere namespaces are just objects, sometimes with non-generic features
17:41:13BrianRice-workthe smalltalk/slate equivalent of this is that each class/type has a "definition source"
17:41:23BrianRice-workas well as a class-side initialize method
17:41:40evansure
17:41:48evansmalltalk suffers a bit in this regard imho
17:41:54BrianRice-workI'm not pitching, just comparing
17:41:57evanbut because you build everything in the image
17:42:01evanyou don't hit it often.
17:42:06BrianRice-workright
17:42:09evanbecause you rarely are building a class more than once.
17:44:27BrianRice-workwell, we'll see if I do something in this direction. I'm still starting with the rbc concept translation
17:45:30BrianRice-workmy goal right now is to make slate really easy to work with. which often does not require heavy engineering work, just good usability decisions and solving performance problems the "lazy way"
17:46:00BrianRice-workanyway, time to focus heavily on work. thanks for the discussion.
17:47:17evanBrianRice-work: np
17:47:22evanhave fun with the perl!
18:17:22evanbrixen: thoughts on the failing spec?
18:17:25evanshould I tag it?
18:19:41evanok, tagging.
18:21:47brixenI tag first and ask questions later :)
18:22:00evani thought i should give it 30 seconds of my time
18:22:01brixenwhich spec is it
18:22:02evanto try and fix it
18:22:06evanclock starts... NOW
18:22:08brixensure
18:22:09brixenheh
18:22:19brixen29..28..27..
18:23:22evanit appears to actually be an unpack failure
18:26:00evanit's sad, but the unpack code makes me wanna punch myself in the head
18:28:25brixenyeah, that is some... fun code
18:28:48evanand it feels complicated just to be complicated.
18:28:51evanwhich kills me.
18:28:56brixenyeah
19:33:17boyscoutFixed Regexp#named_captures to return an empty hash when there are - f4fa1c3 - Joshua Peek
19:33:17boyscoutWork around String#unpack bug - 4871531 - Evan Phoenix
19:33:17boyscoutAdd DISABLE_SEGV var so CrashReporter can be used - 315d289 - Evan Phoenix
19:33:17boyscoutAdd zsuper instruction to fix super bugs - 2f768b8 - Evan Phoenix
19:33:17boyscoutUncomment super-in-define_method - 625fa6a - Evan Phoenix
19:33:17boyscoutUpdate tags on super - 76b8de3 - Evan Phoenix
19:33:18evanhuzzah.
19:33:19boyscoutFix JIT zsuper scope bug - 91554cf - Evan Phoenix
19:33:31rueWell, on the upside you can use it to convince Big Serious people
19:33:31evanzsuper.
19:33:53rueZSUPAAH!
19:35:02evanheh
19:36:55brixenheh
19:40:07boyscoutCI: Build 91554cf failed. http://ci.rubini.us/rubinius/builds/91554cfb04fed85d33db5deffd8ae57bbda724b3
19:40:34evanwtf.
19:40:35evanack.
19:40:39evanneed a kernel clean
19:40:49evanbecause CM's for blocks didn't have the right arg info.
19:45:54boyscoutCI: 91554cf success. 3018 files, 11552 examples, 35628 expectations, 0 failures, 0 errors
19:46:07evan:-{D
19:46:14evanthats my smiling big with a mustache.
19:46:14brixenheh
19:46:17brixenyeah
19:46:20evans/my/me/
19:46:44brixena big toothy grin with hair
19:47:54evanyep!
19:48:02evanso, i'm finally making our method_missing smarter
19:48:16evanie, the ability to report what why it was missing
19:48:25evanno superclass method, private/protected, etc.
19:48:32brixennice
19:52:21evani'm also fixing the case where even method_missing is not available
19:52:25evanby raising an exception
19:52:27brixenfull compiling CI run in 80sec is awesome
19:52:35evanvery awesome
19:52:41evani had a precompiled run at 41s today
19:52:46brixenwow
19:52:46evanlowest it's been in a while
19:52:54brixenthat is very cool
19:54:07brixenI just got 44 but I have a few things running
19:54:20brixenthat's down from a pretty consistent 50s before
19:54:21brixensweet
19:58:03evanyep!
19:58:06evanwe're hummin' along.
20:00:13slavawhat changed?
20:01:20evanfixes here and there
20:11:10evanug.
20:11:16evanthis stupid Time.now spec keeps failing
20:11:40brixenis it the one expecting a value within like 1 second?
20:11:44evanyeah
20:11:51brixenyeah, VVSiz changed that to 2
20:11:54evanand the values it reports ARE off by 1
20:11:55brixenbut after I synced
20:11:57brixenyeah
20:12:00evanso it should pass.
20:12:26brixenI'm syncing again as soon as I finish these dir specs fixups
20:12:30brixenI'll check it
20:12:43evank
20:29:30boyscoutAdd Rubinius.method_missing_reason, improve method_missing exception - 8745b10 - Evan Phoenix
20:29:30boyscoutUpdate language tags - f1b9827 - Evan Phoenix
20:33:22evanmethod_missing_reason isn't cleared
20:33:32evanso it's only really valid to check it inside method_missing itself
20:33:37evanwhich is fine
20:37:01boyscoutCI: f1b9827 success. 3018 files, 11557 examples, 35634 expectations, 0 failures, 0 errors
22:28:36rueHah, the latest -core e-mail is priceless.
22:30:28rueI was *this* close to sending a kind note letting him know he forgot to attach his patch but Matz said we have to be nice...
22:45:05dwaiterue: that doesn't look like a GC problem to me
22:45:20dwaiteand whats the point of working on open source projects if you have to be nice?
22:55:49evanI ask myself that same question sometimes.
22:55:54evanKIDDING
23:04:44evanoooh
23:04:47evanubuntu has gdb 7.0
23:04:56evani wonder if i can debug in reverse with it by default
23:19:44seydari spell w3rd with a 3; name's MC
23:21:15brixensup seydar?!
23:25:41seydarnot much
23:25:49seydarbut you haven't been helping me out so much with math
23:26:03seydari've been putting your name on my math hw and rue's name on my math projects
23:26:14seydarand my math hws are kinda hurting my grade
23:26:28seydarbut my math projects are doing really well
23:26:56seydaralso, rumor has it it's your birthday soon, brixen!
23:27:51brixenseydar: that's a nasty rumor
23:28:01brixendon't believe everything you read on Facebook :$
23:29:03evanbrixen: does your MBP screen flash ever?
23:29:04seydarwho said i got this from facebook? i called your gf herself
23:29:11rues/believe everything you read on/read/
23:30:00seydari'd like my last statement to be rescinded from the record for excessive creepiness
23:30:05brixenseydar: heh, I don't have a gf, so she was lying to you
23:30:11brixenevan: not typically, no
23:30:18evanmine started
23:30:19brixencan't think of a time it did
23:30:22brixenhmm
23:30:40evanok, i was curious.
23:32:05rueevan: No, you should see a doctor
23:32:18evanum oh.
23:32:44evanmaybe i've got screenflashyits
23:32:54brixenheh, or a loose connection
23:57:41dwaitewhen is rc2 due?