Show enters and exits. Hide enters and exits.
| 00:33:50 | brianmario | ok |
| 00:34:25 | brianmario | so what just changed? Melbourne being default? |
| 00:34:32 | brianmario | cause shit just got WAY fucking fast |
| 01:06:22 | rue | Think someone toggled on the fast mode |
| 01:11:58 | rue | Should probably explicitly check that configure has been run in the Rake tasks |
| 02:04:33 | brixen | brianmario: evan fixed a nasty bug with the c-api handles |
| 02:04:58 | brianmario | ah ok |
| 02:05:24 | brixen | the new parser/compiler helps too |
| 02:05:38 | brixen | basically calls about 50% fewer methods compiling CI specs |
| 02:05:53 | brianmario | yeah my benchmarks went from ~5s (from an IO) ~2s (from a string) to ~1.7s for both |
| 02:06:01 | brixen | but the handles thing was causing objects to persist and putting a lot of pressure on the GC |
| 02:06:06 | brixen | sweet |
| 02:06:08 | brianmario | ah |
| 02:06:18 | brianmario | great work :) |
| 02:06:22 | brixen | we're going to be tweaking the gc soon |
| 02:06:30 | brianmario | nice |
| 02:06:41 | brianmario | were you guys working on some GC stats stuff or something too? |
| 02:06:48 | brixen | yep |
| 02:07:07 | brixen | not sure it will go in the 0.13 release, but hopefully |
| 02:07:20 | brixen | either way, it'll be soon |
| 02:07:32 | brixen | ok, I'm gonna grab some food, bbl... |
| 02:07:41 | brianmario | cool |
| 17:18:34 | boyscout | Ported 894eb643d (Pete Bevin's DATA patch) to melbourne. - ff9f9d0 - Brian Ford |
| 17:22:50 | brixen | evan: trying to remove the exceptions tuple on CompiledMethod and while -Xint runs fine, the jit fails horribly |
| 17:22:54 | brixen | what am I missing? |
| 17:23:06 | evan | oh |
| 17:23:18 | boyscout | CI: ff9f9d0 success. 3002 files, 11343 examples, 35344 expectations, 0 failures, 0 errors |
| 17:23:19 | evan | you have to run jit:generate_header |
| 17:23:24 | evan | but you need llvm-g++ installed first |
| 17:23:29 | brixen | hm, ok |
| 17:24:30 | brixen | evan: also working on getting rake-compiler in |
| 17:24:37 | brixen | it still uses extconf.rb |
| 17:24:50 | evan | it does? |
| 17:24:52 | evan | well damn. |
| 17:25:03 | brixen | and I've decided there is no worse piece of ruby software than mkmf |
| 17:25:12 | evan | seriously. |
| 17:25:12 | brixen | I dare anyone to show me worse |
| 17:25:14 | evan | no doubt. |
| 17:25:21 | brixen | but I can make it work |
| 17:25:23 | Zoxc | likes clang's statical analyzer. |
| 17:25:30 | brixen | it does simplify thing a bit |
| 17:25:35 | brixen | things* |
| 17:26:00 | evan | only if it's useful |
| 17:26:08 | evan | don't do it if we're in the same boat |
| 17:26:28 | brixen | yeah, it's useful merely because it's more standard |
| 17:26:34 | brixen | and I trust luis to maintain it |
| 17:26:54 | brixen | our ExtensionCompiler is merely another attempt at the same thing |
| 17:27:07 | brixen | which eschewed mkmf |
| 17:27:21 | evan | right. |
| 17:27:24 | brixen | actually, it's possible to use extconf.rb without using mkmf |
| 17:27:35 | brixen | but I can't find a real advantage in that either |
| 17:27:38 | evan | might be nice to build a way to not use mkmf into rake-compiler |
| 17:27:41 | evan | eventually |
| 17:27:46 | brixen | yeah |
| 17:27:54 | brixen | well, a replacement for mkmf for sure |
| 17:28:04 | brixen | something that doesn't use make at all |
| 17:35:09 | flavorjones | brixen: if you come up with something better that will work across platforms, definitely pull in tenderlove or me for help testing. |
| 17:35:23 | brixen | flavorjones: re? mkmf? |
| 17:35:24 | flavorjones | we've got nokogiri build problems that are essentially unsolvable with mkmf |
| 17:35:30 | brixen | ahh ok |
| 17:36:16 | flavorjones | specifically, have_func totally ignores what include directories you might have declared for compiling against |
| 17:36:23 | flavorjones | annoying as hell. |
| 17:36:35 | brixen | see, that's a huge problem right now for building C ext againts rbx |
| 17:36:49 | brixen | it *cannot* use the installed ruby headers |
| 17:37:03 | brixen | but it want's to inject that into the include path behind my back |
| 17:37:16 | brixen | it's just a lot of wrangling for no good reason |
| 17:37:30 | brixen | I'm tempted to just use rake deps and rules |
| 17:37:41 | brixen | since we have a hard requirement that rake is available |
| 18:39:48 | boyscout | Fix glibc atanh() exception bug - 0ed858e - Evan Phoenix |
| 18:41:50 | brixen | evan: what is the proper way to run jit:generate_header |
| 18:42:03 | evan | rake git:generate_header |
| 18:42:04 | evan | thats all. |
| 18:42:13 | brixen | not quite, here's what I did |
| 18:42:28 | brixen | downloaded the 2.6 bin for clang and llvm-gcc |
| 18:43:03 | brixen | running the 2.6 llc generates different sigs for eg llvm::IntegerType::get(int) |
| 18:43:11 | brixen | I'll give you a paste |
| 18:43:50 | brixen | http://gist.github.com/230164 |
| 18:44:03 | evan | um |
| 18:44:06 | evan | you don't need clang. |
| 18:44:15 | brixen | well, I need llc |
| 18:44:18 | evan | oh |
| 18:44:26 | evan | you don't have the correct version of either |
| 18:44:26 | brixen | and instead of using the bins, I configured with svn |
| 18:44:30 | evan | probably of llc |
| 18:44:30 | brixen | right |
| 18:44:47 | brixen | we need to doc this |
| 18:44:52 | evan | the version of llvm |
| 18:44:54 | evan | er. |
| 18:45:02 | evan | llvm-g++ can be any recent version |
| 18:45:08 | brixen | k |
| 18:45:10 | evan | but you must use a 2.6 or later llc |
| 18:45:15 | evan | i don't think you are. |
| 18:45:24 | brixen | well, then that doesn't make sense |
| 18:45:25 | evan | you can use the one that is in external_libs |
| 18:46:10 | brixen | the rake file has a path to the external_libs llc |
| 18:46:22 | brixen | I built from the svn version that configure pulled |
| 18:46:49 | evan | something is up |
| 18:46:49 | brixen | that gives me the same error as making the rakefile use the 2.6 binary llc I download |
| 18:46:53 | evan | it must have not used the proper llc. |
| 18:47:16 | brixen | er, wait |
| 18:47:22 | boyscout | CI: 0ed858e success. 3002 files, 11343 examples, 35344 expectations, 0 failures, 0 errors |
| 18:47:35 | brixen | the 2.6 binary llc created the file that errors compiling (the gist) |
| 18:48:00 | evan | what 2.6 binary |
| 18:48:04 | evan | i don't know what that is. |
| 18:48:06 | brixen | the llc built from the svn version does not understand the -cppgen=contents flag |
| 18:48:14 | evan | that can't be. |
| 18:48:43 | brixen | llvm+clang-2.6-i386-darwin9/bin/llc is the binary download |
| 18:48:52 | evan | binary from what? |
| 18:48:54 | evan | from llvm.org? |
| 18:49:20 | brixen | yes |
| 18:49:27 | evan | put the output of vm/external_libs/llvm/Release/bin/llc --help |
| 18:49:28 | evan | into a gist. |
| 18:49:51 | evan | and what do you have for llc -version |
| 18:49:58 | brixen | http://gist.github.com/230166 |
| 18:50:16 | evan | no |
| 18:50:21 | evan | i want the entire --help |
| 18:50:45 | brixen | yeah, reload |
| 18:50:52 | brixen | I was making that gist before you asked |
| 18:50:57 | evan | ah fuck |
| 18:51:04 | evan | it's not building the cpp backend |
| 18:51:08 | evan | :/ |
| 18:51:27 | evan | what about the downloaded llc |
| 18:51:32 | evan | do -version and -help on it |
| 18:52:17 | brixen | http://gist.github.com/230167 |
| 18:52:55 | brixen | oops, 2.5 installed somewheres :/ |
| 18:53:13 | evan | right |
| 18:53:16 | evan | thats why it doesn't work. |
| 18:53:26 | evan | i'll fix how external_libs is built |
| 18:53:29 | evan | so it includes the cpp backend |
| 18:54:18 | brixen | had port install of 2.5 |
| 18:54:42 | evan | gotcha. |
| 18:54:48 | evan | sorry about this |
| 18:55:01 | evan | i thought just installing llvm-g++ would do it |
| 18:55:18 | brixen | so, I put the path to llvm-clang on the end of PATH and it picked up the 2.5 version |
| 18:55:33 | evan | oops |
| 18:55:33 | evan | yeah |
| 18:55:34 | brixen | I don't even remember when I installed that |
| 18:55:36 | evan | you don't need clang. |
| 18:55:36 | brixen | gone now |
| 18:56:13 | brixen | well, llc is in the clang binaries that you download, not in llvm-gcc |
| 18:56:17 | brixen | that's confusing |
| 18:56:38 | evan | well, it shouldn't be with llvm-gcc |
| 18:56:39 | brixen | using the 2.6 llc binary worked |
| 18:56:42 | evan | but it should be with the llvm core package |
| 18:57:40 | brixen | well, "worked" as in built |
| 18:57:55 | brixen | but http://gist.github.com/230172 |
| 18:58:10 | brixen | I give up, I'll go work on some other extremely frustrating thing |
| 18:58:15 | brixen | for monday morning |
| 18:58:19 | evan | sorry man. |
| 18:58:20 | evan | :/ |
| 18:58:22 | brixen | le'see extconf... |
| 18:58:31 | evan | this is a tricky part |
| 18:58:41 | evan | because the JIT needs to know the layout of certain classes |
| 18:58:42 | brixen | yeah |
| 18:59:16 | evan | i was letting you keep going hoping it would work itself out |
| 18:59:27 | evan | but obviously i've failed to make it at all doable by anyone but me. |
| 18:59:55 | brixen | well, I was hoping I could work it out too |
| 19:00:07 | brixen | since I'd like to understand how it works! |
| 19:00:09 | brixen | heh |
| 19:00:39 | evan | is frusterated. |
| 19:01:22 | evan | oh |
| 19:01:22 | evan | ok |
| 19:01:26 | evan | so you removed what |
| 19:01:38 | brixen | exceptions tuple on CompiledMethod |
| 19:01:47 | evan | ok |
| 19:01:54 | evan | do you still have that work? |
| 19:01:57 | evan | or did you back it out |
| 19:02:06 | brixen | I can give you a diff |
| 19:02:08 | brixen | sec.. |
| 19:02:10 | evan | no no |
| 19:02:20 | evan | i'd rather get someone else doing this but me |
| 19:02:35 | evan | we can go to the phone if that would be less frusterating |
| 19:02:40 | evan | (probably would be) |
| 19:02:53 | brixen | oh, either way |
| 19:03:14 | brixen | I'm just lost on what I need to build llvm |
| 19:29:51 | brixen | excellent, built and all specs pass |
| 19:31:57 | evan | cooh. |
| 19:31:58 | evan | good. |
| 19:52:42 | evan | brixen: where is 'argv' thats used in ARGF |
| 19:52:51 | evan | we've got WAY WAY too many tagged specs atm. |
| 19:53:06 | evan | i'm trying to go through them and fix+untag simple ones |
| 19:53:54 | evan | nm, i found it. |
| 19:54:48 | brixen | ok |
| 19:54:59 | brixen | evan: this is the diff of types.cpp.gen http://gist.github.com/230212 |
| 19:55:12 | brixen | what's the 64 -> 32 change in there? |
| 19:55:22 | evan | erk |
| 19:55:23 | evan | yeah, thats bad. |
| 19:55:39 | brixen | so, leave that change out? |
| 19:55:53 | evan | yeah |
| 19:55:55 | evan | fuck |
| 19:55:57 | evan | i'm dumb. |
| 19:56:03 | evan | size_t is a long. |
| 19:56:05 | evan | oops. |
| 19:56:07 | evan | just change that. |
| 19:56:11 | evan | go into class.hpp |
| 19:56:23 | evan | and change size_t packed_size_ to "unsigned int packed_size_" |
| 19:56:34 | evan | or, better |
| 19:56:38 | evan | "uint32_t packed_size_" |
| 19:56:42 | brixen | k |
| 20:32:35 | brixen | howdy agardiner |
| 20:32:43 | agardiner | howdy brixen |
| 20:32:56 | agardiner | been busy I see! :-) |
| 20:33:05 | brixen | heh, did I break anything in the debugger? |
| 20:33:08 | agardiner | congrats on getting melbourne done! |
| 20:33:16 | brixen | thanks! |
| 20:33:27 | agardiner | i've no idea... haven't touched in too long.. :-( |
| 20:33:36 | brixen | ok, no worries |
| 20:33:53 | brixen | I was planning on going over how it decodes CM's and stuff |
| 20:33:58 | agardiner | i keep thinking i will get some free time back, but it never seems to happen |
| 20:34:11 | brixen | :( |
| 20:34:19 | brixen | things going well, though? |
| 20:34:25 | agardiner | ah, well most of that is actually from methods on CM, like decode etc |
| 20:34:30 | agardiner | yeah, pretty good |
| 20:34:40 | brixen | cool |
| 20:35:04 | agardiner | although the last week has been sucky at work - having to wrangle with vbscript, of all things! |
| 20:35:06 | agardiner | shudders |
| 20:35:13 | brixen | omg |
| 20:35:16 | brixen | that's terrible |
| 20:35:17 | agardiner | that is one braindead language |
| 20:35:23 | agardiner | yeah... |
| 20:35:29 | brixen | I think the last vbscript I did was in '97 or something |
| 20:35:30 | brixen | heh |
| 20:35:38 | agardiner | unfortunately, its the scripting langauge for this tool we're using at work |
| 20:35:51 | brixen | wow, sorry to hear that :) |
| 20:35:58 | agardiner | i've stayed away from it as much as possible, but finally got cornered |
| 20:36:02 | agardiner | :-D |
| 20:36:07 | brixen | damn |
| 20:37:27 | agardiner | its not all bad though |
| 20:38:05 | boyscout | Removed unused CompiledMethod exceptions tuple. - 081e0d9 - Brian Ford |
| 20:38:06 | agardiner | the tool supposedly ony allows you to implement event handlers, but i've found a way to load other code so i can make use of some utility functions to make it a little less painful |
| 20:38:18 | brixen | ahh cool |
| 20:38:42 | brixen | evan: could ya make sure that commit builds on SL, please |
| 20:39:40 | agardiner | so, these changes on CM coming out of the melbourne/ng work |
| 20:39:41 | agardiner | ? |
| 20:40:01 | brixen | not the exceptions stuff |
| 20:40:31 | brixen | that's based on evan's change to the interp |
| 20:41:02 | brixen | but I'm trying to clean up how opcodes are decoded and stuff |
| 20:41:08 | agardiner | hmm... haven't seen that. I think the logs aren't updating |
| 20:41:21 | brixen | like, there's CM methods that decode based on a fixnum or symbol |
| 20:41:45 | brixen | but the iseq will always have one or the other, and the decode context should use the right method |
| 20:41:56 | agardiner | right |
| 20:42:12 | agardiner | i saw a while back that you'd reworked the iseq stuff too |
| 20:42:29 | agardiner | looks cleaner now |
| 20:42:29 | brixen | also, I'm looking at changing the generator stream to hold a ref to the opcode object itself |
| 20:42:45 | brixen | yeah, the gen stuff from instruction_parser is way nicer |
| 20:43:00 | brixen | all the needed files are generated pretty sanely now |
| 20:43:41 | brixen | see rakelib/instruction_parser.rb and rakelib/vm.rake |
| 20:43:52 | brixen | still a lot of cleanup left to do on the build system |
| 20:43:57 | brixen | but we're making progress |
| 20:44:23 | agardiner | small steps make giant leaps |
| 20:44:30 | agardiner | (eventually) |
| 20:44:32 | agardiner | :-) |
| 20:44:48 | agardiner | so i saw there was a bug in immix that was the reason for the ng slowdown... |
| 20:44:50 | brixen | heh, I'm ready for the eventually already |
| 20:45:01 | brixen | ah, bug in the C-API handles |
| 20:45:04 | agardiner | :-) |
| 20:45:27 | brixen | working great now |
| 20:45:29 | agardiner | i was wondering today if that changes the results of the tests evan did way back |
| 20:45:39 | brixen | which tests? |
| 20:45:40 | agardiner | where he found there wasn't much fragmentation |
| 20:45:48 | brixen | oh, probably not |
| 20:45:53 | agardiner | so not a huge need for compaction |
| 20:45:56 | brixen | those were done on regular ruby code |
| 20:46:11 | agardiner | ah, so this only affects capi, got ya |
| 20:46:12 | brixen | probably not, but we'll add it eventually |
| 20:46:17 | brixen | yeah |
| 20:46:28 | brixen | we're adding some stats output for the GC |
| 20:46:36 | brixen | so we should be able to tune it quite a bit |
| 20:46:53 | brixen | it's cool that % GC is at like 25% under heavy load from compiling all the CI specs |
| 20:46:57 | agardiner | yeah, i want to play with those |
| 20:47:03 | brixen | I think we can improve that a few % points |
| 20:47:18 | brixen | which sounds pretty good for long running apps too |
| 20:47:19 | agardiner | that is an improvement already |
| 20:47:19 | boyscout | CI: 081e0d9 success. 3002 files, 11343 examples, 35344 expectations, 0 failures, 0 errors |
| 20:48:24 | brixen | yay boyscout |
| 20:48:33 | brixen | ok, time to find some food... |
| 20:48:42 | brixen | agardiner: don't be a stranger, man! :) |
| 20:48:42 | agardiner | catch you later |
| 20:48:50 | agardiner | i'll try not to be! |
| 20:48:52 | agardiner | :-) |
| 20:48:54 | brixen | heh |
| 20:48:55 | brixen | cool |
| 22:09:00 | dbussink | evan: available? |
| 22:09:09 | evan | yep. |
| 22:09:26 | dbussink | evan: i was wondering about that atanh stuff, isn't that failing in MRI too then? |
| 22:09:51 | evan | not sure |
| 22:10:16 | evan | if so, i'm happy back that out and make that exception platform specific |
| 22:10:17 | dbussink | not that i don't like consistency, but mri often exposes underlying C behavior pretty directly |
| 22:10:21 | evan | though, it sucks that it's platfom specific |
| 22:10:43 | evan | even if MRI is broken on it, i'd prefer we normalize |
| 22:16:54 | brixen | woohoo, oscon is back in pdx |
| 22:17:01 | evan | woo! |
| 22:18:43 | brixen | I need to come up with a fun talk proposal |
| 22:18:59 | brixen | let's see... I could pull a rabbit... oh that's been done |
| 22:19:02 | brixen | hm.. |
| 22:19:18 | dbussink | brixen: does "Tried to use object of type Tuple (56) as type Symbol (51) (TypeError)" ring a bell with you with the new compiler? |
| 22:19:35 | brixen | dbussink: nope |
| 22:19:48 | brixen | did you do a clean build? |
| 22:20:14 | dbussink | brixen: yeah, but this is with another project |
| 22:20:33 | brixen | ok |
| 22:20:47 | brixen | dunno, I have exactly 0 context for that question ;) |
| 22:21:55 | dbussink | brixen: well, maybe you'd knew it as an issue with stale stuff or something that isn't cleaned up with a clean build etc |
| 22:22:31 | brixen | I really have no idea |
| 22:22:37 | brixen | what command did you run? |
| 22:23:19 | dbussink | brixen: i was attempting to run some extlib specs |
| 22:23:26 | brixen | I'm adding a sha hash of all the compiler+parser files so we know whether we can load an rbc |
| 22:23:39 | dbussink | brixen: it's rspec so i know that's nasty, but it came further with the old compiler |
| 22:24:05 | brixen | well, I can't investigate if I don't know the command :P |
| 22:24:13 | brixen | should I just start typing randomly? |
| 22:24:30 | dbussink | brixen: clone extlib from github.com/datamapper/extlib |
| 22:24:34 | dbussink | brixen: install rspec |
| 22:24:52 | dbussink | brixen: run ../rubinius/bin/rbx -S spec spec/lazy_array_spec.rb |
| 22:24:56 | dbussink | and boom |
| 22:25:04 | brixen | which branch? |
| 22:25:16 | brixen | stupid lazy array |
| 22:25:25 | dbussink | master |
| 22:25:28 | brixen | #2 on my list of hated ruby softwary |
| 22:25:35 | brixen | just after #1 mkmf |
| 22:25:41 | dbussink | if you have improvements for lazy array, please let me know :) |
| 22:27:36 | brixen | um, I have better things to do with my time |
| 22:27:48 | brixen | what version of rspec? |
| 22:28:00 | brixen | I just installed 1.2.9 |
| 22:28:21 | dbussink | brixen: that should work yeah |
| 22:28:25 | brixen | k |
| 22:28:28 | evan | dbussink: if you supply a gist and such |
| 22:28:31 | evan | that would help alos. |
| 22:28:32 | evan | also. |
| 22:28:48 | dbussink | brixen: what is it you don't like about? the general idea or the implementation? and if the latter, what parts exactly? |
| 22:29:31 | brixen | well that's nasty, I just got a bus error |
| 22:29:54 | brixen | dbussink: it's had its greater than average # of problems running on rbx |
| 22:30:08 | brixen | and yes, the impl last I looked made me go ewww |
| 22:30:17 | brixen | maybe it's just a hard problem |
| 22:31:08 | brixen | instead of trying to piggy-back Array, I'd probably make a more suitable first-class data structure |
| 22:31:13 | dbussink | brixen: well, it actually needs to hook into stuff pretty deep because of what it tries to do |
| 22:31:37 | evan | i think it's wrong the way it tries to fuck with the insides of Array |
| 22:31:43 | brixen | what's it trying to do, give me a headache? |
| 22:31:48 | evan | why not just have it be a seperate class that delegates to an array? |
| 22:31:50 | brixen | cus it's been doing that :) |
| 22:32:00 | evan | define the methods you want in their own terms. |
| 22:32:27 | brixen | yeah, "hooking into stuff pretty deeply" is your first red flag |
| 22:32:45 | brixen | objects don't collaborate by hooking into stuff |
| 22:32:47 | dbussink | could definitely look into that yeah |
| 22:32:49 | brixen | that's for fishing |
| 22:34:14 | brixen | dbussink: did you remove all the rbc files? |
| 22:34:27 | dbussink | brixen: afaik i did, you don't see an error? |
| 22:34:31 | brixen | I actually get a compiler exception during a transform |
| 22:34:37 | brixen | nope, no type error |
| 22:35:20 | dbussink | brixen: hmm, well i get different exceptions on different spec files |
| 22:35:35 | brixen | rbx -S spec spec/lazy_array_spec.rb |
| 22:35:38 | brixen | that's what I ran |
| 22:35:49 | brixen | anyway, I'm going to finish some stuff |
| 22:35:54 | brixen | feel free to post an issue |
| 22:37:30 | evan | yeah, an issues is better |
| 22:37:33 | evan | so we get it documented. |
| 22:37:41 | evan | in fact, if you find problems in any external code |
| 22:37:46 | evan | an issue is the first thing that should happen. |
| 22:38:44 | dbussink | evan: i actually have ticketed a segfault :) |
| 22:38:54 | evan | ok good |
| 22:38:59 | evan | this doesn't sound at all related. |
| 22:39:34 | dbussink | something completely different yeah |
| 22:40:00 | dbussink | brixen: is there a way to better debug it so i can create a better ticket? |
| 22:40:19 | evan | can you get a backtrace? |
| 22:41:36 | brixen | dbussink: how to attempt to reproduce it and whatever the output you got are the 2 most important things |
| 22:42:22 | dbussink | brixen: true, but i wouldn't mind being able to look a bit further in how i could simplify it etc. |
| 22:42:33 | dbussink | evan: this is the segfault issue: http://github.com/evanphx/rubinius/issues#issue/69 |
| 22:44:35 | evan | yeah, i can't repro that |
| 22:44:41 | evan | tried this weekend. |
| 22:46:20 | brixen | ugh |
| 22:46:22 | dbussink | evan: hmm, are you sure you have rdoc / ri generation enabled? |
| 22:46:33 | brixen | lazy_array.rb 445 on |
| 22:46:34 | evan | i thought so |
| 22:46:36 | evan | i can retry. |
| 22:46:41 | brixen | that's why lazy_array is so terrible |
| 22:47:00 | brixen | it's trying to run: results = @array.+(*args, &block) |
| 22:47:04 | brixen | eff that man |
| 22:47:05 | evan | wow. |
| 22:47:10 | evan | thats just. |
| 22:47:11 | evan | wow. |
| 22:47:14 | brixen | yeah |
| 22:48:39 | brixen | which is fucking up the meta_send_op_plus transform |
| 22:48:42 | brixen | which I will fix |
| 22:48:51 | brixen | but nonetheless, that code is terrible |
| 22:48:56 | evan | aah |
| 22:48:58 | evan | yeah |
| 22:49:04 | evan | why is that passing a block to #+? |
| 22:49:08 | evan | #+ can't take a block. |
| 22:49:15 | brixen | it's got no clue what's doing |
| 22:49:20 | brixen | it's just codegen |
| 22:49:21 | evan | k |
| 22:49:27 | evan | yeah, you can probably just ignore the block there. |
| 22:49:29 | evan | in codegen. |
| 22:49:34 | brixen | nono |
| 22:49:42 | brixen | lazy_array is codegen'ing that |
| 22:49:54 | evan | why does lazy_array codegen anything? |
| 22:49:59 | brixen | doing class_eval over all Array and Enumerable methods |
| 22:50:03 | evan | sweet! |
| 22:50:04 | evan | not. |
| 22:50:13 | brixen | dude, I'll get you gist |
| 22:50:21 | brixen | since you haven't looked at it :) |
| 22:50:24 | brixen | you gotta see it |
| 22:51:09 | brixen | https://gist.github.com/f916a5f53e840de0629e |
| 22:51:47 | evan | sweet. |
| 22:51:57 | evan | i guess i see how that code showed up. |
| 22:52:06 | brixen | I just need to fix the transform to expect obj + *yay |
| 22:52:12 | evan | k |
| 22:52:52 | brixen | which of course only works in the form a.+(b) |
| 22:53:00 | evan | right |
| 22:53:07 | brixen | but who would write that? right |
| 22:53:11 | brixen | mmkay |
| 22:53:13 | evan | it obviously should bail nicely if it doesn't see the simple form |
| 23:16:48 | evan | mmm, ARGF in place mode... |
| 23:17:39 | brixen | === fun ? |
| 23:17:46 | evan | == skipping! |
| 23:17:47 | brixen | or should it be ~~~ |
| 23:17:50 | brixen | hehe |
| 23:17:55 | evan | we don't support -i |
| 23:18:00 | evan | so i'm just not going to worry about it for now. |
| 23:18:33 | brixen | just shell out to perl if someone passes that and let them get all confused by the syntax errors |
| 23:18:36 | brixen | :) |
| 23:18:48 | evan | hehe |
| 23:19:16 | evan | case "-i"; exec "ruby_mri", *ARGV |
| 23:20:45 | brixen | ok, 1229 examples, 17 failures for lazy array |
| 23:20:47 | brixen | not too bad |
| 23:20:54 | brixen | I've got the type errors now |
| 23:20:56 | ddub | perhaps case "-i"; exec "/sbin/reboot", "now -m '#{ARGV.join}'" |
| 23:21:06 | brixen | hehe |
| 23:21:18 | brixen | to see the look on their face... |
| 23:21:19 | evan | ddub: me like! |
| 23:21:52 | brixen | can't use now though, in case they are ssh'd |
| 23:21:54 | ddub | for a while my reboot and shutdown commands just echoed 'no' to the console |
| 23:21:58 | brixen | you want them to see it |
| 23:22:03 | ddub | a surprising number of friends I gave shell accounts to noticed :P |
| 23:22:10 | brixen | hehe |
| 23:22:31 | ddub | weee, 10.6.2 |
| 23:23:04 | ddub | switches his console off the computer he is VNC'd into so he can upgrade it |
| 23:23:50 | evan | ddub: oh, whats new? |
| 23:24:01 | evan | with 10.6.2 |
| 23:24:04 | evan | i don't care whats up with you |
| 23:24:05 | evan | :D |
| 23:24:19 | ddub | I'd read out the change list to you |
| 23:24:24 | ddub | but the text is all blurry from tears |
| 23:24:34 | evan | hah |
| 23:25:13 | ddub | this is going to be an interesting two weeks |
| 23:25:27 | ddub | get wednesday off, go on a cruise friday through monday, then rubyconf |
| 23:25:38 | evan | oh, where ya going? |
| 23:25:42 | evan | thats a short cruise |
| 23:25:52 | ddub | yeah, three day cruise as a family thing |
| 23:25:59 | ddub | my grandmother is turning 82 this week |
| 23:26:29 | ddub | probably will be just enough time to get over internet withdrawl |
| 23:26:30 | evan | oh, congrats to her! |
| 23:26:31 | ddub | then, rubyconf! |
| 23:26:37 | evan | buy her a Budlight for me on the cruise. |
| 23:26:40 | ddub | where there's most likely not going to be internet or power |
| 23:26:43 | evan | Bud Light |
| 23:27:19 | ddub | maybe I should get one of those 3G wireless cards |
| 23:27:44 | evan | where is the cruise at? |
| 23:27:46 | ddub | I love how OS X does not shut down screen sharing while installing system updates |
| 23:27:47 | evan | it probably won't work. |
| 23:28:25 | ddub | port canaveral to nassau to cococay back home |
| 23:34:13 | ddub | I tried hard to convince her and my mom to let me pay for them to go parasailing |
| 23:35:06 | evan | oh man |
| 23:35:07 | evan | they should! |
| 23:35:20 | ddub | I know, you only live once right? |
| 23:35:32 | ddub | its not like I'm going to put the video up on youtube or anything |
| 23:35:50 | evan | course not! |
| 23:35:59 | ddub | just facebook |
| 23:36:10 | evan | 82 is a great age to start low impact extreme sports |
| 23:36:13 | evan | like parasailing. |
| 23:36:22 | ddub | I totally agree |
| 23:36:32 | evan | whats why i'm not going now |
| 23:36:36 | evan | i wanna wait until i'm old. |
| 23:36:46 | ddub | my dad has been a bit bummed at the problems his parents are having now in their mid 80's, he's like "I don't want to get old" |
| 23:37:00 | ddub | I recommended that after retirement, he start international base jumping as a hobby |
| 23:38:09 | evan | keep himself fit! |
| 23:38:17 | evan | and mind limber |
| 23:39:20 | ddub | I'm fine with rock climbing as well, and might recommend kite surfing just to pass the time |
| 23:40:22 | evan | all sound like nobel hobbies |
| 23:43:25 | ddub | there was a study I read about recently where they said there is pretty no age too late for physical activity to improve your overall health |
| 23:43:32 | ddub | I believe they used participants in their mid 70's |
| 23:44:00 | ddub | my dad is pretty active (dispite a bad foot and back), hopefully he stays so for a few more decades :) |
| 23:44:38 | ddub | I might see if they will do a skidoo if not parasail |