Show enters and exits. Hide enters and exits.
| 00:00:20 | brixen | ahh, not surprised actually |
| 00:00:51 | jakedouglas | the test i was looking at actually has to do with whether "constant is not defined directly in the module" |
| 00:01:03 | jakedouglas | need to check that behavior.. |
| 00:04:02 | jakedouglas | gonna go swimming while its still warm, bbl |
| 03:19:37 | jakedouglas | sup |
| 04:18:48 | jakedouglas | brixen: around? |
| 04:39:28 | boyscout | Add a spec to assert Module#const_missing is not called during Module#remove_const - 296fbfd - Jake Douglas |
| 04:39:28 | boyscout | Fix Module#remove_const to not call Module#const_missing - e26a196 - Jake Douglas |
| 04:47:49 | boyscout | CI: rubinius: e26a196 successful: 3500 files, 14323 examples, 42087 expectations, 0 failures, 0 errors |
| 04:53:04 | halorgium | zzzzomg, crazy complex merb app running-ish on rbx :) |
| 04:53:22 | jakedouglas | working on this rails one :/ |
| 04:54:11 | halorgium | this one runs ey-cloud :P |
| 04:54:32 | jakedouglas | this one runs….other clouds |
| 04:54:41 | halorgium | cirrus? |
| 04:54:59 | jakedouglas | uh huh |
| 04:55:52 | halorgium | jakedouglas: how is your experiment going? |
| 04:56:03 | jakedouglas | no. the rightscale app. |
| 04:56:05 | halorgium | i have found stupid edge cases which are uses |
| 04:56:07 | jakedouglas | uhh |
| 04:56:12 | halorgium | lolz |
| 04:56:13 | halorgium | nice |
| 04:56:27 | halorgium | say hi to max :P |
| 04:56:35 | jakedouglas | max R. ? |
| 04:56:36 | halorgium | you working there now? |
| 04:56:45 | jakedouglas | yea…have been since december |
| 04:56:50 | halorgium | nice |
| 04:56:56 | halorgium | glad you found a place |
| 04:57:02 | halorgium | tele-commute? |
| 04:57:05 | jakedouglas | uh huh |
| 04:57:31 | jakedouglas | im just trying to get the test suite running…after disabling 4-5 gems, it got as far as loading the migrations and ran into a bug that i just finally fixed |
| 04:57:42 | jakedouglas | now i upgraded rvm and im trying to reinstall rbx-head but the new rvm fucked everything up |
| 04:57:57 | halorgium | rvm == the fail |
| 04:58:01 | halorgium | using bundler? |
| 04:58:10 | jakedouglas | uh huh |
| 04:58:34 | halorgium | i've actually had to use bundler 1.0 + BUNDLE_PATH env var + rbx dev install |
| 04:58:36 | halorgium | no rvm |
| 05:00:20 | jakedouglas | hmm |
| 05:00:48 | jakedouglas | i didnt have bundler problems |
| 05:02:14 | halorgium | jakedouglas: many native extensions? |
| 05:03:13 | jakedouglas | i disabled hpricot, libxml-ruby, ruby-debug, rcov |
| 05:03:43 | jakedouglas | i think we have 5 or so others that built fine anyway |
| 05:04:28 | halorgium | yer, i hit issues where bundler + rvm would reuse the same shared libs as mri :/ |
| 05:05:07 | jakedouglas | hmm. i just had to scrap my ~/.rightscale_bundle directory or whatever and it just rebuilt them all |
| 05:05:32 | jakedouglas | im not sure if our bundler setup is really standard though, we have a bunch of scripts that control it and i dont know much about them |
| 05:05:46 | halorgium | ah, i see |
| 05:06:39 | jakedouglas | well..darn, my rvm is busted now and wont install |
| 05:07:13 | halorgium | think there are some bugs with the git part :/ |
| 05:07:34 | halorgium | not exactly easy to debug either :( |
| 05:08:45 | jakedouglas | this is just some nonsense about that it cant find mri to build it or something |
| 05:09:32 | halorgium | oh, didn't rvm use system|1.8.7 ? |
| 05:10:11 | jakedouglas | /Users/jake/.rvm/scripts/utility: line 135: /Users/jake/.rvm/wrappers/ruby-1.8.7-p249/rake: No such file or directory |
| 05:10:25 | halorgium | using a diff gemset? |
| 05:11:25 | jakedouglas | /Users/jake/.rvm/scripts/log: line 25: printf: `r': invalid format character |
| 05:11:29 | jakedouglas | i keep getting stuff like that |
| 05:11:38 | jakedouglas | not sure if its causing the trouble |
| 05:11:58 | halorgium | lol |
| 05:12:33 | jakedouglas | yea i duno why i upgraded, i always screw myself like that |
| 05:12:53 | halorgium | hehe |
| 05:14:08 | halorgium | hrm, not having ruby-debug == tough |
| 05:16:18 | jakedouglas | heh |
| 05:19:17 | halorgium | w00t |
| 05:19:18 | halorgium | irb(main):001:0> |
| 05:23:05 | jakedouglas | arg. |
| 05:34:40 | jakedouglas | halorgium: max's mind is blown that we are acquainted :p |
| 05:34:58 | halorgium | haha |
| 05:36:59 | jakedouglas | rvm implodes |
| 05:44:36 | evan | halorgium: i'm working on the debugger now |
| 05:44:51 | evan | halorgium: how do you typically launch it? |
| 05:44:57 | evan | by putting "debugger" into your code |
| 05:45:24 | evan | ? |
| 05:46:23 | halorgium | evan: yip, exactly |
| 05:46:37 | halorgium | btw, got some spec fails on rbx but the code is running |
| 05:46:38 | halorgium | mostly |
| 05:46:40 | evan | you can do that in rubinius |
| 05:46:46 | evan | we don't have control flow working yet |
| 05:46:56 | evan | but you can set explicit breakpoints |
| 05:47:00 | evan | require 'debugger' |
| 05:47:02 | evan | Debugger.here |
| 05:47:15 | evan | i'll have a bunch more features fleshed out for it tomorrow. |
| 05:47:27 | evan | namely next |
| 05:47:29 | halorgium | ah, variable inspection are stuff? |
| 05:47:35 | evan | yep |
| 05:47:40 | evan | inspection works great |
| 05:47:50 | evan | next/step are the big missing parts |
| 05:47:52 | halorgium | any docs? |
| 05:48:02 | halorgium | tries "help" :P |
| 05:48:02 | evan | it's all in one file atm :) |
| 05:48:04 | evan | lib/debugger.rb |
| 05:48:07 | halorgium | k |
| 05:48:17 | evan | tomorrow though, i'm going to do a little refactoring |
| 05:48:21 | evan | and i'll write some docs. |
| 05:49:25 | jakedouglas | now im trying to reinstall rvm stuff from scratch and rubygems wont download :( |
| 05:49:59 | evan | jakedouglas: ack. |
| 05:50:15 | evan | hello katz. |
| 05:50:17 | jakedouglas | i feel stranded! |
| 05:56:17 | jakedouglas | whew. working now. |
| 05:57:45 | jakedouglas | halorgium: did you have a lot of spec failures? |
| 05:58:40 | halorgium | jakedouglas: on rbx? |
| 05:58:46 | halorgium | or the app? |
| 05:58:59 | jakedouglas | app |
| 05:59:52 | halorgium | haven't tried |
| 05:59:56 | halorgium | still ironing out issues |
| 06:00:01 | jakedouglas | oh. you meant you had spec rails of rbx |
| 06:00:05 | jakedouglas | err |
| 06:00:07 | jakedouglas | spec fails |
| 06:00:09 | halorgium | yip |
| 06:00:21 | jakedouglas | gotcha |
| 06:00:40 | jakedouglas | im rebuilding rbx now. we'll see how much further i can get.. |
| 06:01:32 | brixen | halorgium: can I see the spec failures? and what platform are you on? |
| 06:01:47 | halorgium | brixen: darwin |
| 06:01:55 | halorgium | brixen: they are gone :/ |
| 06:02:04 | brixen | excellent |
| 06:02:14 | brixen | L or SL? |
| 06:02:36 | halorgium | SL |
| 06:02:43 | brixen | k |
| 06:02:53 | brixen | well, if they reappear, gist it up |
| 06:03:31 | halorgium | sure |
| 06:07:49 | halorgium | brixen: is there a way to see which files are loaded from where? |
| 06:07:56 | halorgium | like expand_path on Kernel.requrie |
| 06:10:23 | brixen | halorgium: #require is implemented by CodeLoader |
| 06:10:46 | brixen | you could put a puts in the method that loads the file |
| 06:10:55 | halorgium | brixen: yer, i know :P |
| 06:11:00 | halorgium | i had good fun haxing in there |
| 06:11:04 | halorgium | nothing default? |
| 06:11:09 | brixen | we used to have a switch to do that |
| 06:11:13 | brixen | just need to add it again |
| 06:11:17 | evan | --dl doesn't work anymore? |
| 06:11:35 | evan | probably got unwired during the #require rewrite |
| 06:11:39 | brixen | yeah |
| 06:11:45 | brixen | needs to be a -X opt anyway |
| 06:12:00 | brixen | -Xloader.paths or something |
| 06:12:21 | brixen | evan: holy shit, just ran fib 40 in 14 sec |
| 06:12:26 | brixen | used to be 17 |
| 06:12:30 | brixen | what have you been up to |
| 06:12:36 | evan | WEEEE |
| 06:12:39 | evan | i'm not telling. |
| 06:12:44 | evan | whistles |
| 06:12:58 | brixen | my cpu is at 40% too with firefox running |
| 06:13:48 | brixen | for those at home, 1.9.2 is 44sec on my system |
| 06:13:56 | brixen | for fib(40) |
| 06:17:35 | evan | i really want a rubinius status window |
| 06:17:38 | evan | i should work on that. |
| 06:18:36 | brixen | I want a rubinius status window on my iphone |
| 06:18:45 | brixen | I should work on that |
| 06:19:08 | evan | totally. |
| 06:19:53 | halorgium | status of builds and perf? |
| 06:20:44 | evan | ah! nope, but that would be cool too |
| 06:20:53 | evan | i'm thinking one that runs in a seperate OS X window |
| 06:21:03 | evan | monitors any rbx running and gives me starts about it |
| 06:21:10 | brixen | yeah |
| 06:21:11 | evan | for instance, scrolling by what files it's requiring |
| 06:21:17 | evan | how busy the jit is |
| 06:21:18 | evan | etc. |
| 06:21:39 | brixen | and on the iphone you could just point it at an ip:port |
| 06:22:17 | brixen | evan: we need Bonjour support in rbx! |
| 06:22:31 | evan | we can certainly do that |
| 06:22:37 | evan | i basically did that with the agent |
| 06:22:39 | evan | via files. |
| 06:22:43 | evan | thats how console works. |
| 06:22:58 | evan | I considering using bonjour |
| 06:22:58 | brixen | yeah, but for another device |
| 06:23:07 | evan | well, my thought was you run a forwarder |
| 06:23:13 | evan | that can talk for all rbx's running on a machine |
| 06:23:30 | evan | so file/agent discovery locally, bonjour on the network |
| 06:23:40 | evan | that way, they all don't have to be running bonjour |
| 06:23:46 | brixen | cool |
| 06:25:15 | evan | ok, going to read in bed |
| 06:25:16 | evan | nite! |
| 06:26:24 | brixen | nite! |
| 06:32:33 | jakedouglas | yay, i got it to successfully not run the specs because i have pending migrations |
| 06:33:14 | jakedouglas | wow. looks like it actually ran the migrations too |
| 06:33:36 | brixen | sweet |
| 06:33:52 | jakedouglas | maybe th test suite will start to run now :p |
| 07:10:02 | jakedouglas | specs are executing! |
| 07:12:32 | brixen | awesome! |
| 07:13:52 | jakedouglas | reeeeeeeal slow :p |
| 07:13:58 | brixen | haha |
| 07:14:18 | brixen | well, that means there's lots of room for improvement |
| 07:15:14 | jakedouglas | for some reason mysqld is at 30% cpu, i could be wrong but i dont think its usually that bad. maybe something funny going on there |
| 07:15:24 | brixen | could be, yeah |
| 07:16:01 | brixen | we need some solid profiling data from a real app |
| 07:16:46 | jakedouglas | ours does everything the least efficient way possible so you should get lots and lots of data :p |
| 07:16:59 | jakedouglas | nice, i seg faulted it. |
| 07:17:50 | brixen | I so love our backtraces |
| 07:18:01 | brixen | compare: Pegarus::Grammar#S= (method_missing) at lib/pegarus/grammar.rb:30 |
| 07:18:12 | brixen | with: /Users/brian/devel/pegarus/lib/pegarus/grammar.rb:30:in `initialize' |
| 07:18:51 | jakedouglas | :p |
| 07:20:04 | dbussink | jakedouglas: reliable segfault? |
| 07:20:43 | jakedouglas | i don't know. i'd have to run another 10 minutes of specs to find out. will do later. |
| 07:22:10 | jakedouglas | it looks like machinist or AR or something is hosed, causing most of the failures |
| 07:23:04 | jakedouglas | bed time. night |
| 07:30:32 | dbussink | brixen: still there? |
| 07:43:28 | brixen | dbussink: sup? |
| 07:45:25 | dbussink | brixen: i was running those benchmarks which heavily use packing but looks like it's not using the new stuff yet |
| 07:45:55 | dbussink | any easy way to see if stuff is already implemented or not? this is using a lot of N stuff, are all variants there added? |
| 07:46:18 | dbussink | brixen: i can also show you the steps to run those benches yourself |
| 07:46:39 | dbussink | it's a lot of pack and also fixnum math, so with your changes it should scream on rbx :) |
| 07:46:46 | dbussink | algorithmic stuff etc. |
| 07:50:38 | brixen | show me the benchmarks |
| 07:51:14 | dbussink | the benchmarks are at http://github.com/wvanbergen/chunky_png_benchmarks and they execute benchmarks against http://github.com/wvanbergen/chunky_png |
| 07:51:32 | dbussink | it benchmarks the png encoding / decoding for that library |
| 07:51:49 | dbussink | and the chunky_png library uses pack() for a lot of the file writing / reading |
| 07:52:17 | brixen | it doesn't likely use pack for reading ;) |
| 07:52:34 | dbussink | unpack, sorry :P |
| 07:52:37 | brixen | only #pack has the integer directives implemented |
| 07:52:48 | brixen | that's probably one issue |
| 07:52:58 | brixen | it's a little early to run these |
| 07:53:09 | brixen | but I'll look into them |
| 07:53:27 | dbussink | they do represent a real life usecase, that's a positive thing :) |
| 07:54:06 | brixen | yeah, a bunch of this would fail the primitives right now |
| 07:54:12 | brixen | AaZ |
| 07:54:42 | dbussink | well, i see N on top of the profile |
| 07:54:43 | dbussink | net_long |
| 07:54:50 | dbussink | but it uses NXNXNX |
| 07:54:55 | dbussink | or xNXNX |
| 07:54:56 | brixen | well, that's why |
| 07:55:09 | brixen | anything not implemented causes the primitive to bail |
| 07:55:17 | dbussink | because i did see N being mentioned in the logs, but i guess X isn't supported yet right? |
| 07:55:20 | brixen | you don't get partial stuff in the primitive |
| 07:55:25 | brixen | right |
| 07:55:35 | dbussink | that explains then yeah :) |
| 07:55:39 | brixen | yep |
| 08:05:15 | dbussink | brixen: is that on the planned list or not for now? |
| 08:07:39 | brixen | yes, it is |
| 08:15:18 | halorgium | brixen: can i override Hash#initialize ? |
| 08:15:54 | brixen | why? |
| 08:16:54 | brixen | like Hash#initialize has no useful purpose, we just added it for kicks? :P |
| 08:19:17 | halorgium | brixen: merb inherits from Mash and overrides #initialize |
| 08:19:34 | brixen | merb can kiss my ass |
| 08:19:36 | brixen | :) |
| 08:20:03 | brixen | Hash in MRI is not Hash in rbx |
| 08:20:17 | brixen | rbx is, as much as possible, an OO implementation |
| 08:20:20 | brixen | MRI is not |
| 08:20:28 | brixen | so, caveat emptor |
| 08:20:36 | brixen | override away :) |
| 08:21:17 | halorgium | so i definitely am screwed? |
| 08:21:31 | brixen | well, merb is stupid for doing that |
| 08:21:36 | brixen | at the least, it should super |
| 08:21:41 | halorgium | hrm, any idea why things are not working? |
| 08:21:56 | brixen | I don't know what "things" are, sorry |
| 08:23:18 | halorgium | i think it does super |
| 08:23:41 | halorgium | haha, sorry |
| 08:24:30 | brixen | http://gist.github.com/476660 |
| 08:24:46 | brixen | Hash in rbx should be more inheritable than in MRI |
| 08:24:55 | brixen | as long as OO principles are respected |
| 08:25:18 | brixen | we've had to repeatedly guard Hash methods from terrible Ruby code though |
| 08:25:43 | halorgium | wow, my irc conn is terrible |
| 08:26:41 | halorgium | v6 internet ftl |
| 08:27:01 | brixen | well, sure, because we have a #setup method defined I'm guessing |
| 08:27:15 | brixen | which is a pretty important method for us |
| 08:27:25 | brixen | I suppose we need to guard that too |
| 08:27:59 | halorgium | ah, i see |
| 08:28:02 | brixen | halorgium: go into kernel/common/hash.rb and change def and use of setup to __setup__ |
| 08:28:43 | halorgium | https://gist.github.com/6188d75c6fea5a8e43e2 |
| 08:28:43 | halorgium | that is the code |
| 08:29:05 | halorgium | k |
| 08:29:06 | brixen | yeah |
| 08:29:44 | dbussink | String#delete is weird |
| 08:40:38 | halorgium | brixen: hrm, interesting |
| 08:41:46 | halorgium | segv with debugger :) |
| 08:41:56 | brixen | oops :) |
| 08:42:03 | halorgium | also, 5 mins to startup our app :( |
| 08:42:16 | brixen | but it starts? |
| 08:42:21 | halorgium | yer |
| 08:42:25 | brixen | cool |
| 08:42:26 | halorgium | was just getting these issues |
| 08:42:30 | brixen | profile it |
| 08:42:36 | halorgium | a reasonable diff compared to master :P |
| 08:43:05 | brixen | I bet the problem is, Merb can't scale |
| 08:43:20 | halorgium | we have ~2k files loaded on startup |
| 08:43:28 | brixen | haha |
| 08:43:30 | brixen | oh lord |
| 08:43:38 | brixen | deliver me from my enemies |
| 08:43:47 | brixen | :) |
| 08:43:52 | halorgium | yes, good stuff :P |
| 08:44:18 | brixen | how is that even possible |
| 08:44:27 | halorgium | which? |
| 08:44:32 | halorgium | that many files? |
| 08:44:34 | brixen | 2k files to load |
| 08:44:35 | brixen | yeah |
| 08:44:47 | halorgium | 100 gem deps ... |
| 08:44:58 | brixen | um... |
| 08:45:14 | halorgium | and vendored code |
| 08:45:17 | brixen | so, yeah, there are some rubygems issues |
| 08:45:30 | brixen | specifically eval'ing a lot of gemspecs I guess |
| 08:45:35 | brixen | evan has the deets |
| 08:45:45 | halorgium | yer, i wanted to get this far |
| 08:45:47 | brixen | we're trying to come up with a solution |
| 08:45:50 | halorgium | he said to profile |
| 08:45:53 | brixen | yeah |
| 08:46:18 | halorgium | should i commit back the __setup__ thing? |
| 08:46:23 | brixen | profile, baby, profile |
| 08:46:38 | brixen | hmm, doesn't have the ring of drill, baby, drill |
| 08:46:46 | brixen | but then, I'm no SP |
| 08:46:57 | brixen | yeah, commit the __setup__ |
| 08:47:35 | brixen | I suppose we could make it __internal_rbx_hash_setup_override_and_we_ll_hunt_you_down__ |
| 08:47:35 | halorgium | do you have branch-based ci? |
| 08:47:48 | brixen | CI runs on master |
| 08:48:07 | halorgium | we have it so you push a branch and it builds ;) |
| 08:48:15 | halorgium | makes our machines not explode! |
| 08:48:36 | brixen | well, we keep master sane |
| 08:49:24 | halorgium | hehe, everyone i talk to has the benefit of working on sane software ;) |
| 08:51:19 | halorgium | oh, no parse tree == no action args! |
| 08:53:02 | brixen | yeah |
| 08:54:14 | halorgium | w00t, it runs though |
| 08:56:02 | brixen | wow, sweet |
| 08:56:44 | brixen | I gotta crash though |
| 10:32:13 | wayneeseguin | halorgium: w00t :) |
| 10:32:43 | halorgium | wayneeseguin: almost w00t |
| 10:45:19 | wayneeseguin | :) |
| 10:45:23 | wayneeseguin | semi-w00t |
| 16:38:01 | evan | morning |
| 16:41:01 | jakedouglas | morning |
| 16:42:59 | brixen | morning |
| 16:44:37 | evan | i'm working on "next" in the debugger |
| 16:44:44 | evan | it's actually kind of a pain |
| 16:44:52 | evan | well, it's more complicated than I realized. |
| 16:45:31 | brixen | stopping, finding where to stop, other? |
| 16:45:40 | evan | finding where to stop |
| 16:45:43 | evan | the stopping is pretty easy now. |
| 16:45:48 | brixen | cool |
| 16:45:59 | evan | I was like "oh, just add 1 to the line, figure out the ip, stop there." |
| 16:46:10 | brixen | heh |
| 16:46:12 | evan | well, when you do "next" on the last line of the then half of a condition... |
| 16:46:16 | evan | O_o |
| 16:46:34 | brixen | yeah |
| 16:47:48 | BrianRice-work | I've thought about this for Slate, but haven't implemented it: we keep a map from bytecode offset to source location in a resident data structure, and more or less would need to increment the IP and run up to the next offset. |
| 16:52:26 | evan | BrianRice-work: i've got a ip => line mapping |
| 16:52:37 | evan | it's more than next doesn't always go to the next line |
| 16:52:45 | evan | s/than/tha/ |
| 16:52:55 | evan | s/than/that/ |
| 16:53:11 | evan | and in the presence of a goto_if_true |
| 16:53:19 | BrianRice-work | yeah I don't know if there's an easy "next line" arrangement |
| 16:53:20 | evan | you have to set 2 breakpoints that are associated with eachother |
| 16:53:32 | evan | unless the debugger hand evaluates conditions |
| 16:56:14 | brixen | seems like the 2 possible is pretty clean way to go |
| 16:56:35 | khaase | so, there is this guy that doesn't like me |
| 16:56:37 | brixen | since you hit one or the other and hitting either would remove both |
| 16:56:47 | khaase | let's call him json |
| 16:56:51 | brixen | heh |
| 16:56:51 | evan | brixen: yep. |
| 16:57:00 | brixen | khaase: are you trying to install the json gem? |
| 16:57:01 | khaase | "rror: field ‘basic’ has incomplete type" |
| 16:57:04 | khaase | brixen: yes |
| 16:57:12 | brixen | khaase: you need to install evan's fork |
| 16:57:12 | evan | khaase: use github.com/evanphx/json |
| 16:57:20 | evan | the current gem's build is broken |
| 16:57:24 | evan | and the json maintainer is missing. |
| 16:57:54 | khaase | ah, ok, cool, thanks |
| 16:58:07 | brixen | not that the topic is probably read much |
| 16:58:28 | brixen | but, it's like 3 days, 3 json install compliants I think :) |
| 16:58:31 | evan | :D |
| 16:58:42 | evan | i'm hoping my twitter plee works |
| 16:58:46 | brixen | me too |
| 17:47:28 | jakedouglas | dealing with some bullshit this morning, then i will try to run my specs again :p |
| 17:47:52 | evan | bullshit be gone! |
| 17:48:35 | jakedouglas | agreed |
| 17:49:53 | halorgium | evan: you'll be happy to know UI of awsm is running |
| 17:50:00 | evan | WOO |
| 17:50:03 | evan | ^5 |
| 17:50:10 | halorgium | issues with resque workers |
| 17:53:55 | halorgium | evan: http://github.com/evanphx/rubinius/issues/issue/410 |
| 17:54:02 | halorgium | needed that to get things started |
| 17:54:32 | evan | FUCK YOU MERB. |
| 17:54:36 | evan | seriously. |
| 17:54:37 | evan | wtf. |
| 17:54:46 | halorgium | lol |
| 17:54:56 | evan | anyway |
| 17:54:59 | evan | yeah, just change the method name |
| 17:55:03 | evan | i'll give you commit privs |
| 17:55:05 | evan | you can push it. |
| 17:55:06 | halorgium | oh, there is a branch |
| 17:55:12 | evan | oh, you did. |
| 17:55:12 | evan | ok |
| 17:55:22 | halorgium | i did need it :) |
| 17:55:27 | halorgium | w00t |
| 17:55:33 | halorgium | looks like worker started now |
| 17:55:35 | evan | i'll pull that. |
| 17:55:55 | halorgium | i've been having local testing issues |
| 17:56:55 | evan | ok |
| 17:59:00 | halorgium | do you know if there is an equiv way to do action-args? |
| 17:59:10 | evan | i don't know what action-args is. |
| 17:59:17 | halorgium | dynamic methods at runtime |
| 17:59:21 | evan | huh? |
| 17:59:26 | evan | use more words. |
| 17:59:35 | halorgium | http://technicalpickles.com/posts/meet-merb-action-methods-taking-arguments/ |
| 17:59:37 | dbussink | halorgium: action-args should support 1.9 with what that provides in Method objects |
| 17:59:39 | halorgium | i'll let him |
| 17:59:56 | halorgium | dbussink: 1.9 in rbx? |
| 18:00:10 | dbussink | halorgium: we have some stuff like source_location |
| 18:00:30 | dbussink | some small 1.9 api things that were added because someone wanted to :P |
| 18:00:34 | evan | there is Method#parameters |
| 18:00:40 | evan | just needs to be massaged into the format you want. |
| 18:00:41 | dbussink | evan: ah, yeah, that's the one |
| 18:00:47 | dbussink | i think i might even have added that :S |
| 18:00:48 | dbussink | :P |
| 18:01:09 | halorgium | ah, cool |
| 18:01:45 | halorgium | i'll see if i can work it |
| 18:02:38 | halorgium | i don't think we use defaults |
| 18:02:52 | dbussink | yeah, that's not (yet) available in parameters |
| 18:03:25 | halorgium | evan: ah, got a fun one last night |
| 18:03:46 | halorgium | our salesforce integration caused what looked like an infinite loop in the compiler |
| 18:03:50 | evan | the defaults stuff in that yehuda hack was a major hack. |
| 18:03:57 | evan | we'll never support it. |
| 18:04:00 | evan | nor will 1.9 |
| 18:04:02 | evan | as I recall. |
| 18:04:11 | evan | halorgium: rad! |
| 18:04:13 | evan | repro? |
| 18:04:20 | halorgium | i can give you the file |
| 18:04:28 | halorgium | it is kinda sensitive though |
| 18:04:33 | halorgium | luckily we work at the same place :) |
| 18:04:44 | dbussink | evan: hack as in the api was a hack or how it was determined? |
| 18:04:57 | evan | determined. |
| 18:05:18 | dbussink | ah ok, well, we could add it in a nice way :P |
| 18:05:21 | evan | it handled stuff like numbers and strings only |
| 18:05:23 | evan | as I recall |
| 18:05:51 | evan | not arbitrary expressions |
| 18:06:26 | halorgium | can i turn off term colors for rbx? |
| 18:06:35 | halorgium | for exceptions |
| 18:06:56 | evan | export RBX_NOCOLOR=1 |
| 18:07:02 | halorgium | ah, k |
| 18:07:10 | evan | or |
| 18:07:18 | evan | -Xrbx.colorize_backtraces=no |
| 18:07:42 | brixen | which we need to change to -Xbacktrace.colorize=no |
| 18:08:00 | evan | yep |
| 18:08:26 | evan | brixen: do it now while you're thinking about it :D |
| 18:08:33 | brixen | heh |
| 18:08:52 | brixen | I need to do the config work so we have -Xhelp output and docs |
| 18:09:27 | brixen | but since we've had one request for no colors since ryan, I think I'll put this on the later list |
| 18:10:40 | evan | :) |
| 18:10:47 | halorgium | lol, can't upload to github :( |
| 18:10:48 | halorgium | 413 Request Entity Too Large |
| 18:10:53 | halorgium | perhaps the problem! |
| 18:11:29 | brixen | halorgium: you should do this on an instance and give us account access |
| 18:11:33 | brixen | halorgium: is that possible? |
| 18:11:44 | brixen | that way we can log in and run/debug |
| 18:13:40 | halorgium | brixen: if only an instance could build rbx :P |
| 18:14:17 | brixen | hum, you can't install it directly? |
| 18:15:36 | evan | brixen: see IM. |
| 19:19:29 | jakedouglas | ok. starting to run specs again |
| 19:21:37 | jakedouglas | seg fault again. let me see if its a particular spec. |
| 19:23:15 | jakedouglas | yea, looks like i can repro |
| 19:25:56 | jakedouglas | http://gist.github.com/477398 |
| 19:26:08 | jakedouglas | i included 3 different ones. looks like they are a little different |
| 19:26:27 | jakedouglas | they seem to occur at the same place though |
| 19:26:34 | jakedouglas | does that help or do you need more information? |
| 19:26:56 | dbussink | jakedouglas: you probably should catch it with gdb |
| 19:27:01 | jakedouglas | k |
| 19:28:52 | jakedouglas | updated the gist with gdb bt |
| 19:28:55 | dbussink | jakedouglas: and ask evan if he can help out ;) |
| 19:29:03 | dbussink | jakedouglas: are you able to repro with a smaller script? |
| 19:29:53 | jakedouglas | hmm. i dont know exactly where in the spec it's exploding. |
| 19:30:46 | jakedouglas | is there anything i can call from gdb to see what the last file/line it was executing was? |
| 19:32:07 | halorgium | jakedouglas: evan said: |
| 19:32:08 | halorgium | frame 1 |
| 19:32:10 | halorgium | p call_frame->print_backtrace(state) |
| 19:32:20 | jakedouglas | thx |
| 19:32:43 | jakedouglas | No symbol "call_frame" in current context. |
| 19:33:07 | dbussink | jakedouglas: for a ruby backtrace you need to up until you reach a point where you do have a callframe |
| 19:33:26 | jakedouglas | looks like frame 0 worked |
| 19:33:47 | dbussink | jakedouglas: you can see it in the frame description |
| 19:35:15 | jakedouglas | the particular line is pretty benign looking. im not really sure where to go from there as far as trying to rebuild a more simple case |
| 19:39:23 | jakedouglas | it looks like this occurs reliably every single time though so im happy to let someone do a remote gdb if they want |
| 19:46:41 | goyox86 | brixen: hi bro!, http://flori.github.com/json/ is unmantained now? |
| 20:14:22 | jakedouglas | got another seg fault. this one looks potentially approachable :p |
| 20:14:27 | jakedouglas | (by me) |
| 20:16:35 | jakedouglas | hmm. what were you guys discussing about finalizers recently? |
| 20:18:38 | evan | that i fixed them. |
| 20:19:05 | jakedouglas | Reason: KERN_INVALID_ADDRESS at address: 0x0000000000000018 |
| 20:19:05 | jakedouglas | ossl_x509stctx_free (ctx=0x0) at ossl_x509store.c:345 |
| 20:19:05 | jakedouglas | 345 if(ctx->untrusted) |
| 20:19:29 | evan | fun. |
| 20:19:32 | evan | :/ |
| 20:21:13 | jakedouglas | evan: do you need more information for the one i posted earlier? would you prefer i filed an issue on GH? |
| 20:21:55 | evan | a repro |
| 20:21:58 | evan | would be good. |
| 20:22:40 | jakedouglas | is there some good strategy for simplifying a repro? its kind of in the middle of a bunch of code and the last line doesnt look fishy at all |
| 20:22:42 | evan | jakedouglas: ok, i see a bug |
| 20:22:55 | evan | MRI's use of the free functions is haphazard |
| 20:23:05 | evan | mmm, maybe a bug.. |
| 20:23:25 | evan | jakedouglas: looks like openssl |
| 20:23:33 | evan | try and write a script that does whatever you're doing with openssl standalone |
| 20:24:09 | evan | ok, yeah |
| 20:24:20 | jakedouglas | i mean, its getting called from the gc |
| 20:24:20 | evan | seems that MRI only calls the dfree if data is not 0 |
| 20:24:31 | jakedouglas | ok |
| 20:24:51 | evan | where as I always call it. |
| 20:25:08 | jakedouglas | gotcha. is the openssl stuff here just copied from mri more or less? |
| 20:25:19 | evan | yep |
| 20:25:47 | evan | jakedouglas: i'll commit a fix for that |
| 20:25:48 | evan | one sec. |
| 20:25:55 | jakedouglas | thanks |
| 20:28:25 | jakedouglas | any specs yet for the finalizers? |
| 20:28:58 | evan | C finalizers? no. |
| 20:29:19 | jakedouglas | ok |
| 20:38:11 | jakedouglas | i get a TypeError in a script/console but the console continues to run. how can I get a backtrace? |
| 20:40:51 | jarib | $! maybe? |
| 20:41:01 | jakedouglas | negative |
| 20:43:54 | evan | huh? |
| 20:44:01 | evan | gist the output in script/console |
| 20:44:16 | evan | of, rather. |
| 20:44:23 | jakedouglas | https://gist.github.com/99869395d016f920f322 |
| 20:44:36 | evan | you just put in that ticket |
| 20:44:36 | boyscout | Only run ->dfree if ->data isn't NULL - 3a09f66 - Evan Phoenix |
| 20:44:38 | evan | yes? |
| 20:44:43 | jakedouglas | yes |
| 20:44:53 | evan | it's possible the exception has no backtrace |
| 20:45:05 | evan | there are still some cases where a TypeError is raised with no backtrace. |
| 20:45:45 | jakedouglas | hmm. so where would i go next |
| 20:46:05 | evan | how do you know thats the offending coed? |
| 20:46:09 | evan | code. |
| 20:46:19 | jakedouglas | well |
| 20:46:38 | jakedouglas | the TypeError says that's where it is. maybe thats not where the real problem is, though |
| 20:46:45 | evan | repro it |
| 20:46:48 | evan | outside of rails |
| 20:46:49 | evan | in a script |
| 20:46:50 | evan | thats step 1 |
| 20:47:30 | jakedouglas | ok. it would help if i knew what was calling it or what it was being called on |
| 20:48:22 | jakedouglas | ill try to use my brain |
| 20:49:43 | evan | you'll have to |
| 20:50:36 | dbussink | using one's brain is highly overrated :P |
| 20:50:45 | dbussink | but slam at it like a monkey until it works |
| 20:50:54 | jakedouglas | any idea about narrowing down the first seg fault? any strategies? i dont know what to try |
| 20:51:05 | evan | what seg fault? |
| 20:51:08 | evan | i don't see an issue for one. |
| 20:51:22 | jakedouglas | heh, the one i posted earlier. ill file it, hold on |
| 20:53:03 | boyscout | CI: rubinius: 3a09f66 successful: 3500 files, 14323 examples, 42087 expectations, 0 failures, 0 errors |
| 20:54:47 | evan | brb. |
| 20:59:07 | jakedouglas | http://github.com/evanphx/rubinius/issues/issue/412 |
| 21:30:07 | evan | jakedouglas: you need to include a bunch more details about the segfault |
| 21:30:13 | evan | what code was running, etc. |
| 21:30:25 | evan | as is, i'll just close it |
| 21:30:30 | evan | because there is no way to test that it's fixed. |
| 21:30:48 | evan | oh, you put stuff at the very bottom of the gisst |
| 21:30:52 | evan | please move that to the issue and update it. |
| 21:31:13 | jakedouglas | would you prefer i didnt use gists? |
| 21:31:56 | jakedouglas | which piece do you want me to put in the issue? |
| 21:32:28 | evan | a gist shouldn't hide anything |
| 21:32:34 | evan | atm, the ruby backtrace and the info about the line are hidden |
| 21:32:38 | evan | put those in the ticket itself |
| 21:32:43 | evan | tickets should not contain a link |
| 21:32:45 | evan | thats an invalid ticket |
| 21:32:54 | evan | they need to contain an description of the problem |
| 21:32:54 | jakedouglas | ok |
| 21:33:02 | jakedouglas | ill put everything in the ticket? |
| 21:33:17 | evan | leave the gdb backtrace in the issu |
| 21:33:19 | evan | er. |
| 21:33:20 | evan | the gist |
| 21:33:24 | evan | move everything else out. |
| 21:33:30 | evan | thats the general rule. |
| 21:33:38 | jakedouglas | you mean "tickets should not contain only a link" ? |
| 21:34:40 | evan | yes. |
| 21:34:42 | brixen | well, the ticket should describe the issue, with a gist link for patch, or a bunch of data |
| 21:34:51 | evan | sorry |
| 21:34:52 | dbussink | evan: http://github.com/evanphx/rubinius/issues#issue/374 can be closed right? |
| 21:35:05 | evan | i don't think so |
| 21:35:11 | evan | i didn't work on it |
| 21:35:15 | evan | is it fixed? |
| 21:35:27 | dbussink | oh wait, i'm confusing it with another lambda / proc / block thingy i guess |
| 21:37:56 | evan | jakedouglas: also, please edit the issue and change it |
| 21:38:01 | evan | rather than adding comments to it |
| 21:38:08 | jakedouglas | ok |
| 21:40:24 | jakedouglas | http://github.com/evanphx/rubinius/issues#issue/412 |
| 21:40:26 | jakedouglas | is that better? |
| 21:40:55 | dbussink | jakedouglas: could you use <pre> tags? |
| 21:41:01 | jakedouglas | yep |
| 21:41:04 | dbussink | and it's more about the context of the issue |
| 21:41:29 | jakedouglas | right |
| 21:41:40 | brixen | jakedouglas: I just added pre tags for you :P |
| 21:42:26 | jakedouglas | so my problem is that it's from a private codebase and i don't know how to narrow the issue down to the point of being able to provide a non-private reproduction |
| 21:42:43 | evan | and i've changed your title |
| 21:42:58 | evan | as an example of a more suitable title. |
| 21:43:00 | jakedouglas | thanks |
| 21:43:10 | evan | a title of "seg fault" is just asking me to close it without looking :) |
| 21:44:00 | jakedouglas | shrug. it could be "running ActiveRecord code", "running RSpec code", "running Secret code" |
| 21:44:06 | jakedouglas | i guess ill just pick one at random next time :p |
| 21:44:31 | evan | just help us out and be verbose |
| 21:44:53 | evan | no one ever got in trouble for being overly verbose in a bug ticket. |
| 21:45:02 | jakedouglas | k |
| 21:45:16 | jakedouglas | cleans up his other ticket now |
| 21:53:45 | jakedouglas | http://github.com/evanphx/rubinius/issues#issue/411 |
| 21:53:47 | jakedouglas | is that better? |
| 21:54:43 | evan | much! |
| 21:54:48 | evan | gives jakedouglas 3 cookies. |
| 21:54:48 | jakedouglas | great |
| 21:54:53 | jakedouglas | nom |
| 22:01:51 | evan | jakedouglas: silly question |
| 22:01:57 | jakedouglas | sup |
| 22:02:02 | evan | but I suspect there is a reason you're not on rails 2.3 |
| 22:02:03 | evan | ? |
| 22:02:28 | jakedouglas | heh |
| 22:02:49 | Zoxc | how's rubinius memory usage? |
| 22:03:07 | jakedouglas | because the world isn't a perfect place and things don't always get to be done the way they should |
| 22:03:14 | evan | jakedouglas: ok, i figured as much. |
| 22:03:30 | evan | Zoxc: you've been running it under 1.8.7 up til now? |
| 22:03:31 | evan | er. |
| 22:03:33 | evan | jakedouglas: ^^ |
| 22:03:46 | evan | Zoxc: bigger than MRI at the start, because we've got a lot more runtime data |
| 22:03:53 | jakedouglas | yea. i think i use mri locally, it runs on ree in production |
| 22:04:00 | evan | but we should manage that memory better. |
| 22:04:05 | evan | k |
| 22:04:42 | jakedouglas | evan: yea, upgrading is just not a business priority to the powers that be |
| 22:05:18 | evan | k |
| 22:06:08 | Zoxc | the only numbers I've seen is MRI with around ~6, rubinius with ~50 and JRuby with ~100 or something |
| 22:06:20 | evan | seems reasonable |
| 22:06:31 | evan | if you're talking about something that has just started up. |
| 22:06:40 | evan | and not loaded any code |
| 22:07:20 | Zoxc | yeah, that's quite alot, especially if you run mulitple processes |
| 22:08:32 | evan | Zoxc: Activity Monitor says 26M private for 'rbx -e "sleep"' |
| 22:08:48 | evan | MRI is 9.8M |
| 22:09:06 | evan | actually, rbx is 50M virtual |
| 22:09:24 | evan | Zoxc: we haven't done much optimization to get that down. |
| 22:09:29 | evan | i'm open to suggestions |
| 22:09:42 | evan | MRI keeps all it's methods as C functions in shared memory |
| 22:09:55 | evan | rbx keeps all 4000 core methods as ruby in the heap |
| 22:09:58 | evan | thats the difference. |
| 22:10:17 | evan | i'm not aware of a way around that. |
| 22:10:52 | evan | I could probably make InstructionSequence a bit smaller in memory again |
| 22:11:31 | Zoxc | you could design it to be copy on write friendly atleast |
| 22:11:37 | evan | no |
| 22:11:38 | evan | i can't. |
| 22:11:45 | evan | we use a copy collector |
| 22:11:55 | evan | and with generations |
| 22:12:05 | evan | which is by definition not CoW friendly. |
| 22:12:11 | brixen | evan: how much memory is in the iseqs according to heap dump? |
| 22:12:18 | Zoxc | that's used for code too? |
| 22:12:19 | evan | lets see... |
| 22:12:23 | evan | Zoxc: course |
| 22:12:40 | evan | i could probably move the mature mark bits out of the object headers |
| 22:12:57 | evan | so that just the young memory was in copied pages |
| 22:13:17 | evan | brixen: i need to add some retained size calculation |
| 22:13:21 | evan | perhaps i'll do that in a bit. |
| 22:13:25 | brixen | k |
| 22:13:28 | evan | i'm working on "next" in the debugger atm. |
| 22:13:33 | evan | going well |
| 22:13:45 | brixen | cool |
| 22:13:50 | evan | still not sure what i'm going to do about step though. |
| 22:14:11 | brixen | you were right about #visit, the method is huge and you get a very long list of BBs |
| 22:14:28 | brixen | I'm trying a little opt for storing the BB successors |
| 22:14:46 | brixen | and converting #visit to iteration, of course |
| 22:14:55 | jakedouglas | my memory usage for script/console is actually not bad compared to mri. |
| 22:15:00 | evan | brixen: cool. |
| 22:15:06 | jakedouglas | 237mb vs. 288mb |
| 22:15:10 | evan | jakedouglas: nice. |
| 22:15:14 | evan | thats what we hope for |
| 22:15:22 | evan | that rbx evens itself out |
| 22:15:23 | brixen | my opinion is: we need hard data on real runtime mem usage before worrying about COW |
| 22:15:32 | evan | brixen: agreed. |
| 22:16:00 | brixen | fortunatley, rbx dev is not buzzword/buzzconcept driven |
| 22:16:07 | brixen | thank lebron zeus |
| 22:16:40 | evan | only zeus. |
| 22:16:43 | evan | lebron has defected. |
| 22:16:51 | brixen | heh, poor lebron |
| 22:16:57 | brixen | now he knows |
| 22:17:02 | brixen | you can never make everyone happy |
| 22:18:03 | evan | this is true. |
| 22:18:09 | jakedouglas | brixen: this is similar to the issue i was talking about last night http://github.com/evanphx/rubinius/issues#issue/379 |
| 22:18:12 | evan | course, he didn't have to be a dick about it. |
| 22:18:31 | evan | jakedouglas: i can take a look at that |
| 22:18:34 | evan | that should be easy. |
| 22:18:34 | brixen | jakedouglas: ah, ok |
| 22:18:42 | jakedouglas | k |
| 22:18:51 | jakedouglas | just a popen problem? |
| 22:19:22 | evan | yeah |
| 22:19:27 | evan | probably. |
| 22:20:11 | jakedouglas | curious that #read doesn't have a problem but stuff like #stat or #sync= do? |
| 22:21:27 | evan | *shrug* |
| 22:21:29 | evan | i'll have to see. |
| 22:21:49 | evan | or you can look |
| 22:21:50 | evan | :) |
| 22:22:28 | jakedouglas | heh. i see at least that read/write methods have are actuated differently than others. |
| 22:23:50 | jakedouglas | oh. i kind of get it. |
| 22:24:58 | nerdshark | hey guys, i'm getting a file missing error when trying to run a program that uses the chingu gem, can anyone give me any advice on how to fix it? 16:45:19 nerdshark | if you use gosu without ruby-opengl, it's very fast │ |
| 22:25:03 | nerdshark | er, sorry |
| 22:25:08 | nerdshark | http://pastebin.com/njQJmHEU here's the paste |
| 22:25:49 | nerdshark | i also made sure that the file existed, which it does |
| 22:26:22 | brixen | nerdshark: you have some require loading a glob of files |
| 22:26:31 | brixen | you should not be loading .rbc files directly |
| 22:26:48 | brixen | I'm guessing RequireAll |
| 22:26:52 | nerdshark | hm |
| 22:26:57 | nerdshark | let me take a look |
| 22:27:17 | brixen | don't require things like "#{path}/*" |
| 22:27:35 | nerdshark | yeah, that's what's going on |
| 22:27:40 | nerdshark | i'll let the module author know :p |
| 22:28:31 | evan | thats called a great way to write brittle software |
| 22:28:41 | evan | A+ brittle software |
| 22:28:46 | nerdshark | haha |
| 22:28:51 | evan | and not the good kind of brittle like peanut brittle |
| 22:28:53 | nerdshark | yeah |
| 22:28:56 | brixen | I think people do not get that #require can only load .rb ruby files |
| 22:28:57 | evan | mmmm peanut brittle... |
| 22:28:58 | brixen | ever |
| 22:29:36 | brixen | unless you have a native ext mixed in, pass #require names with .rb on them |
| 22:29:40 | brixen | it likes that |
| 22:30:20 | nerdshark | yeah, he's about to have it fixed |
| 22:30:40 | brixen | also, why ever just slurp up a bunch of .rb files |
| 22:30:49 | brixen | it's *so* hard to name the files that should be required |
| 22:32:51 | jakedouglas | evan: i guess i dont understand how to have similar semantics as popen(3) |
| 22:33:05 | jakedouglas | which is what mri uses |
| 22:35:57 | jakedouglas | what does #stat mean for a pipe object composed of 2 pipes |
| 22:37:07 | evan | honestly no clue. |
| 22:37:13 | evan | i'll have to dig into MRI to see. |
| 22:39:24 | jakedouglas | oh whoops, im mistaken. it looks like they only use popen on some weird platforms |
| 22:51:06 | jakedouglas | in MRI, it looks like #stat just uses the result from the first pipe. |
| 22:54:13 | evan | ok, lets have a look... |
| 22:54:20 | boyscout | A bit more debugger work, 'next' mainly. - f9cfd66 - Evan Phoenix |
| 22:54:49 | jakedouglas | rb_io_stat in file.c |
| 22:55:20 | evan | k |
| 22:55:35 | evan | this is because of our BidirectionalPipe kludge |
| 22:55:41 | evan | I think it's time to fix it. |
| 22:55:58 | evan | puts on his kludge unraveling hat |
| 22:56:02 | jakedouglas | well…i think MRi is two pipes under the hood anyway |
| 22:56:11 | evan | it is |
| 22:56:16 | evan | i'm going to change it so we have that too |
| 22:56:27 | jakedouglas | oh, deeper down? what's wrong with it being in ruby |
| 22:56:28 | evan | IO can reference 2 descriptors |
| 22:56:35 | evan | it breaks pretty often. |
| 22:56:53 | jakedouglas | why is that a result of being in ruby |
| 22:57:01 | evan | check out the implementation. |
| 22:57:11 | evan | of BidirectionalPipe |
| 22:57:13 | jakedouglas | well i saw the implementation heh |
| 22:57:22 | evan | it's a kludge. |
| 22:57:39 | evan | i'd rather do it right. |
| 22:57:51 | jakedouglas | shrug |
| 22:58:22 | evan | doing it right doesn't seem important to you? |
| 22:58:49 | jakedouglas | i don't know why it's more right to have it in C/C++ instead of ruby |
| 22:59:01 | jakedouglas | i thought writing shit in ruby was your big goal heh |
| 22:59:07 | evan | it is |
| 22:59:14 | evan | but not at the expense of having it work well. |
| 22:59:32 | evan | actually, maybe i can fix BidirectionalPipe |
| 22:59:37 | evan | it's doing something kinda dumb |
| 22:59:43 | evan | it should be treating itself as the read half |
| 22:59:44 | jakedouglas | just because the current implementation of BidirectionalPipe sucks doesn't mean it can't work just as well in ruby |
| 22:59:49 | jakedouglas | i honestly don't care where it goes |
| 22:59:51 | evan | and redifining the write methods to dispatch to another IO |
| 23:00:18 | evan | by lower, i don't necessarily mean not in ruby. |
| 23:01:07 | jakedouglas | i see |
| 23:01:25 | evan | i'm going through all the places that MRI uses the ->f2 |
| 23:01:29 | evan | the write descriptor |
| 23:01:38 | jakedouglas | mmhmm |
| 23:04:07 | evan | hm, yes, i can do this |
| 23:04:11 | evan | i've got some new tricks in my bag |
| 23:04:14 | evan | since we wrote this. |
| 23:04:17 | jakedouglas | :p |
| 23:04:28 | evan | namely, Rubinius::Unsafe.set_class |
| 23:04:30 | evan | :D |
| 23:04:46 | evan | I should really name it .transmogrify |
| 23:04:50 | jakedouglas | heh |
| 23:06:08 | boyscout | CI: rubinius: f9cfd66 successful: 3500 files, 14323 examples, 42087 expectations, 0 failures, 0 errors |
| 23:06:39 | jakedouglas | i dont think i saw you push a fix for the free func when data is 0 issue. do you want me to file a ticket for that one? |
| 23:06:45 | evan | i pushedit. |
| 23:06:49 | jakedouglas | oh, ok |
| 23:06:51 | jakedouglas | i missed it. |
| 23:12:29 | rb2k | wird, gem is crashing for me on master |
| 23:12:29 | slava | hi evan |
| 23:12:36 | evan | hi doc! |
| 23:12:49 | rb2k | https://gist.github.com/5b40ef525627d24acd33 |
| 23:13:11 | evan | when did you last rebuild? |
| 23:13:15 | evan | i were seeing that a couple days ago |
| 23:13:21 | evan | we were, rather. |
| 23:13:27 | rb2k | 5 minutes ago |
| 23:13:34 | evan | are you using rvm? |
| 23:13:46 | rb2k | rubinius 1.0.1 (1.8.7 3854f9df 2010-06-03 JI) [x86_64-apple-darwin10.4.0] |
| 23:13:47 | rb2k | yes |
| 23:14:07 | rb2k | looks at "2010-06-03" |
| 23:14:12 | evan | 3854f9df is from the 8th |
| 23:14:17 | evan | rvm isn't updating properly |
| 23:14:20 | rb2k | uhm... |
| 23:14:23 | rb2k | yeah, seems like it |
| 23:14:30 | evan | wayneeseguin: poke |
| 23:15:01 | rb2k | rvm remove rbx-head && rvm install rbx-head |
| 23:16:52 | evan | rb2k: you're doing that now? |
| 23:18:15 | rb2k | yes |
| 23:18:18 | evan | k |
| 23:18:21 | evan | let me know how it goes. |
| 23:23:15 | brixen | blast, this guy will be speaking at portland state on monday http://alarmingdevelopment.org/ |
| 23:23:29 | brixen | I wonder if I'll be able to walk, or sit... |
| 23:24:31 | brixen | I will just have to haul myself there somehow |
| 23:25:30 | evan | when is the ride? |
| 23:25:35 | evan | this weekend? |
| 23:25:55 | jakedouglas | stp? |
| 23:26:18 | brixen | yeah |
| 23:26:24 | brixen | I'm driving up tomorrow |
| 23:26:26 | jakedouglas | cool. |
| 23:26:45 | jakedouglas | where ya sleepin |
| 23:26:53 | evan | brixen: how is your car getting back? |
| 23:26:55 | brixen | where driving == 3 people in a 14' uhaul because there was a slight screw up on train ticket purchase |
| 23:27:00 | evan | or are you driving with someone |
| 23:27:03 | evan | aah |
| 23:27:09 | evan | i was going to ask about the train actually! |
| 23:27:13 | brixen | and it costs a bazillion $ to rent a normal vehicle |
| 23:27:28 | brixen | jakedouglas: ace |
| 23:27:41 | brixen | jakedouglas: fri night, centralia in a tent on sat night :) |
| 23:27:48 | jakedouglas | probably too many bikes on the train during stp. they only have space for like 10 bikes or something last time i checked |
| 23:28:07 | brixen | we had tickets with bikes for today :P |
| 23:28:16 | jakedouglas | heh |
| 23:28:22 | jakedouglas | oh yea you can reserve it |
| 23:28:25 | jakedouglas | i remember now |
| 23:28:26 | brixen | yeah |
| 23:28:39 | jakedouglas | where is 'ace'? dont know it |
| 23:28:48 | evan | brixen: ack! why did you not go today? not everyone ready? |
| 23:29:38 | brixen | evan: chandra has a test, quiz, and project due today |
| 23:29:47 | evan | ack. |
| 23:29:51 | slava | emerging langs in 7 days! |
| 23:30:02 | brixen | slava: don't remind me! :-/ |
| 23:30:17 | slava | evan: started preparing your talk yet? |
| 23:30:20 | brixen | jakedouglas: I can't describe places in seattle, gmaps for ace hotel |
| 23:30:22 | jakedouglas | i think i went to sign up for emerging langs and it was long since full or something |
| 23:30:26 | evan | brixen: i probably forgot to mention it, but we'll be in portland in august |
| 23:30:28 | evan | abby and I |
| 23:30:29 | evan | for a wedding |
| 23:30:36 | evan | perhaps the 4 of us should get dinner |
| 23:30:42 | brixen | evan: cool! let's |
| 23:30:42 | evan | if you're ready for that. |
| 23:31:05 | brixen | evan: early or late aug? |
| 23:31:09 | evan | late |
| 23:31:18 | brixen | k, aug can be very hot |
| 23:31:21 | evan | 20-22 |
| 23:31:22 | slava | brixen: the factor crew will be in portland next week, we should all get beer |
| 23:31:25 | jakedouglas | brixen: i see. thats uhm…north belltown |
| 23:31:30 | evan | jakedouglas: yeah |
| 23:31:30 | brixen | slava: yes, definitely |
| 23:31:32 | evan | 1st and bell |
| 23:31:40 | evan | above cyclops bar. |
| 23:31:40 | brixen | slava: multiple beers on multiple nights :) |
| 23:31:44 | slava | hehe |
| 23:31:53 | slava | O(m*n) |
| 23:31:56 | brixen | heh |
| 23:32:00 | evan | MxN beers |
| 23:32:06 | slava | evan's beer input is exponential |
| 23:32:20 | evan | hah |
| 23:32:21 | slava | evan: I added instructions with more than one output to my IR |
| 23:32:24 | jakedouglas | evan: nah its a couple blocks away |
| 23:32:32 | brixen | where M is the set of good brew pubs in pdx and N is the set of good beers at each |
| 23:32:35 | slava | evan: it cleans up FFI calls, where value struct and long long returns are more naturally modelled this way |
| 23:32:35 | evan | only if you want the contents of my stomach on your shoes |
| 23:33:09 | evan | jakedouglas: yer, yes 1st and wall. |
| 23:33:18 | jakedouglas | :p |
| 23:33:20 | evan | jakedouglas: I used to live at Western and Bell |
| 23:33:33 | jakedouglas | ah cool |
| 23:33:34 | evan | slava: nice. |
| 23:34:02 | slava | evan: also callbacks have an initial instruction that outputs all the inputs to the callback |
| 23:34:20 | slava | evan: I had this split up into individual "load param" instructions but then other passes kept on inserting stuff in between and clobbering registers, etc |
| 23:35:07 | slava | evan: how does LLVM deal with multiple ouptuts? are they allowed? |
| 23:35:23 | evan | outputs in what way? |
| 23:35:33 | slava | can an IR instruction define more than one virtual register? |
| 23:35:52 | evan | no |
| 23:35:58 | evan | because it's tree SSA |
| 23:36:03 | evan | so the instruction is the value |
| 23:36:36 | evan | I don't know if tree SSA is the right term |
| 23:36:44 | evan | but in LLVM, instructions are values |
| 23:36:49 | slava | I see |
| 23:41:47 | slava | I have this very real fear that my laptop will die before oscon |
| 23:41:51 | slava | its been terribly flakly lately |
| 23:41:57 | evan | eeks |
| 23:41:59 | evan | backups! |
| 23:42:09 | slava | all my life's work is on the internet |
| 23:42:28 | evan | Mona Slava |
| 23:42:40 | evan | The Factorine Chapel |
| 23:42:56 | rb2k | evan: the rvm reinstall worked fine |
| 23:43:02 | evan | rb2k: bonus! |
| 23:43:04 | rb2k | running my project perfectly |
| 23:43:05 | rb2k | wheeee |
| 23:43:24 | bakkdoor | slava, brixen: since you're talking about beer again ;) are you going to be around in portland all week? i'm coming monday (aroung noon) but don't have a general oscon pass, so i'll be around and have lots of time :P |
| 23:43:42 | slava | bakkdoor: I'm in town 19th to 24th |
| 23:43:53 | bakkdoor | slava: ah cool me too :) |
| 23:44:07 | bakkdoor | slava: where exactly are you from? |
| 23:44:10 | slava | I'll check IRC don't worry so just ping me any time :) |
| 23:44:17 | bakkdoor | ok cool :) |
| 23:44:18 | slava | I'm from the internet |
| 23:44:21 | bakkdoor | haha :D |
| 23:44:38 | brixen | heh |
| 23:44:46 | slava | BrianRice will be around too |
| 23:44:48 | brixen | bakkdoor: yah, I'll be around |
| 23:44:57 | rb2k | wow, rbx is doing pretty ok and all of the ?10? gems seem to be working |
| 23:44:57 | slava | lang implementor beer fest |
| 23:45:04 | bakkdoor | brixen: alright cool :) |
| 23:45:08 | rb2k | me gusta! |
| 23:45:09 | brixen | rb2k: sweet! |
| 23:46:39 | evan | rb2k: weeeee |
| 23:50:20 | bakkdoor | btw, would it be ok if i ported rubinius' compiler & codegen code to fancy? i could of course use the existing but i'd rather write it in fancy itself for bootstrapping etc :) |
| 23:50:52 | evan | fancy? |
| 23:51:01 | brixen | bakkdoor: sure, you can port it |
| 23:51:14 | bakkdoor | my language i'm working on. i want to run it on rubinius |
| 23:51:18 | brixen | bakkdoor: I'm planning on doing the same for Poison |
| 23:51:24 | bakkdoor | brixen: ok cool |
| 23:51:31 | brixen | alas, Poison compiling Poison will not be done for oscon |
| 23:51:34 | rb2k | I don't have a language, now I feel bad :( |
| 23:51:35 | rb2k | damn you! |
| 23:51:54 | evan | bakkdoor: go right ahead |
| 23:51:59 | evan | bakkdoor: do whatever you'd like |
| 23:52:02 | evan | it's all BSD licensed anyway |
| 23:52:04 | evan | i can't stop you. |
| 23:52:05 | evan | :D |
| 23:52:36 | bakkdoor | brixen: yeah.. i won't get fancy running on rubinius by next week as well. but i've managed to get the s-expression output for fancy code in fancy-compatible syntax. all i need now is the codegen :) |
| 23:52:47 | brixen | sweet! |
| 23:52:56 | slava | so will fancy be at next year's emerging langs? |
| 23:53:03 | bakkdoor | evan: hah yeah i know just thought it would be nice to ask ;) but thanks, i'll port it then ;) |
| 23:53:15 | bakkdoor | slava: don't know if they'll invite me again :P |
| 23:53:23 | slava | or are you talking about it this year? |
| 23:53:28 | bakkdoor | slava: yeah :) |
| 23:53:31 | slava | I see |
| 23:53:40 | evan | oh awesome! |
| 23:53:44 | bakkdoor | thats why i'm coming.. |
| 23:53:48 | bakkdoor | :D |
| 23:53:49 | evan | 2 languages on top of rubinius at emerging lang! |
| 23:53:53 | bakkdoor | yay :D |
| 23:53:54 | evan | i'm like a proud father! |
| 23:53:57 | evan | no no |
| 23:54:00 | evan | i'm a proud father! |
| 23:54:07 | bakkdoor | evan: congratulations :P |
| 23:54:11 | evan | holds bakkdoor close to his bossum. |
| 23:54:12 | slava | evan: just wait, I'm rewriting the jvm in ruby so you'll have 3 languages by next week, because clojure will run on rbx |
| 23:54:27 | evan | bosom |
| 23:54:35 | evan | slava: WEEEEE |
| 23:54:39 | bakkdoor | i was thinking about using parrot for fancy but rubinius just seems much closer to fancy semantics etc. |
| 23:54:54 | bakkdoor | also, i like the project and support it in some way |
| 23:55:00 | slava | speaking of which, are there any parrot people at the summit? |
| 23:55:10 | bakkdoor | slava: allison randal is there i think |
| 23:55:10 | brixen | slava: yeah |
| 23:55:24 | brixen | slava: well, I'm assuming chromatic will be there |
| 23:55:26 | bakkdoor | slava: she organizes oscon afaik. i think she'll speak at emerginglangs as well |
| 23:55:36 | slava | I see |
| 23:55:37 | bakkdoor | but maybe i'm wrong with that |
| 23:55:48 | evan | you guys should talk to here about parrot using LLVM |
| 23:55:51 | evan | since I can't. |
| 23:55:56 | slava | I'm worried if I meet chromatic I'll just end up trolling him |
| 23:55:59 | evan | i talked with her and Larry about it at the last LLVM dev meeting |
| 23:56:06 | evan | slava: BE NICE. |
| 23:56:09 | slava | but Alison is cool, she was at the vm summit |
| 23:56:25 | brixen | I think work is underway to use llvm |
| 23:56:37 | brixen | I talked to chromatic about it a bit at osbridge |
| 23:56:58 | bakkdoor | slava: seriously, porting jvm to rubinius? sounds fun :D |
| 23:58:23 | nerdshark | bakkdoor: what is fancy? |
| 23:58:39 | evan | nerdshark: do you hunt down nerds that swim? |
| 23:58:48 | evan | ie, are you shark for nerds? |
| 23:58:54 | nerdshark | factually, i am a shark that is a nerd |
| 23:58:56 | nerdshark | actually* |
| 23:58:59 | evan | or are you shark that reads computer programming books. |
| 23:59:02 | bakkdoor | nerdshark: a smalltalk-like, ruby & erlang inspired dynamic pure object-oriented scripting language or so :) |
| 23:59:04 | evan | ah good! |
| 23:59:04 | nerdshark | evan: that one |
| 23:59:06 | evan | i was worried. |
| 23:59:08 | nerdshark | haha |
| 23:59:11 | evan | i'm glad it's the latter. |
| 23:59:23 | brixen | http://github.com/kazzmir/Pegs |
| 23:59:26 | brixen | woot |
| 23:59:29 | bakkdoor | nerdshark: www.fancy-lang.org (or: http://github.com/bakkdoor/fancy) |
| 23:59:32 | brixen | jon rafkind put it on github |
| 23:59:40 | nerdshark | bakkdoor: ah, just found it on github |
| 23:59:47 | bakkdoor | nerdshark: alright ): |
| 23:59:50 | bakkdoor | :) |