Show enters and exits. Hide enters and exits.
| 00:02:48 | warren_s leaves the room. | |
| 00:11:23 | twbray leaves the room. | |
| 00:17:36 | nari leaves the room. | |
| 00:26:15 | malumalu leaves the room. | |
| 00:29:47 | twbray enters the room. | |
| 00:32:13 | twbray leaves the room. | |
| 00:40:23 | blowmage leaves the room. | |
| 00:47:42 | rudebwoy leaves the room. | |
| 00:47:47 | rudebwoy enters the room. | |
| 00:50:01 | joearnol_ enters the room. | |
| 00:51:11 | joearnold leaves the room. | |
| 00:51:41 | benny enters the room. | |
| 00:54:11 | lopex leaves the room. | |
| 00:56:37 | bitsweat enters the room. | |
| 01:09:55 | joearnol_ leaves the room. | |
| 01:10:05 | joearnold enters the room. | |
| 01:11:11 | nari enters the room. | |
| 01:11:13 | joearnol_ enters the room. | |
| 01:12:47 | joearno__ enters the room. | |
| 01:14:07 | joearno__ leaves the room. | |
| 01:14:21 | joearno__ enters the room. | |
| 01:15:30 | joearnol_ leaves the room. | |
| 01:15:32 | joearn___ enters the room. | |
| 01:15:32 | joearno__ leaves the room. | |
| 01:17:41 | joearnold leaves the room. | |
| 01:25:43 | boyscout | Add a rudimentary Backtrace#to_mri for compatibility. - 099a089 - Eero Saynatkari |
| 01:25:43 | boyscout | Fix Method#call to pass block again. - 08cb015 - Eero Saynatkari |
| 01:26:51 | rue | Wow. http://axiombox.com/rubx/ |
| 01:28:17 | boyscout | CI: 08cb015 success. 1438 files, 7105 examples, 23402 expectations, 0 failures, 0 errors |
| 01:29:01 | botanicus leaves the room. | |
| 01:40:15 | bitsweat leaves the room. | |
| 01:56:26 | ezmob leaves the room. | |
| 02:02:55 | enebo leaves the room. | |
| 02:07:37 | enebo enters the room. | |
| 02:12:02 | jashmenn leaves the room. | |
| 02:12:44 | asap18 leaves the room. | |
| 02:24:05 | rudebwoy leaves the room. | |
| 02:25:20 | cored enters the room. | |
| 02:28:04 | joearn___ leaves the room. | |
| 02:28:34 | joearnold enters the room. | |
| 02:30:37 | enebo leaves the room. | |
| 02:32:42 | rudebwoy enters the room. | |
| 02:36:49 | ryanlowe enters the room. | |
| 02:37:51 | binary42 leaves the room. | |
| 02:46:50 | VVSiz_ enters the room. | |
| 02:53:37 | VVSiz leaves the room. | |
| 02:54:30 | joearnold leaves the room. | |
| 03:22:38 | tarcieri | w00t, you guys documented rbc |
| 03:22:43 | tarcieri | studies |
| 03:23:26 | evan | we did? |
| 03:23:30 | tarcieri | yeah |
| 03:23:33 | tarcieri | vm/rbc_files.txt |
| 03:23:36 | tarcieri | err, doc/vm |
| 03:23:59 | evan | i wonder if it's up to date... |
| 03:24:01 | evan | let me check. |
| 03:24:04 | evan | hm, no, it's not. |
| 03:24:09 | evan | but i've got something better for ya |
| 03:24:18 | tarcieri | nice |
| 03:24:35 | tarcieri | wants to copy your approach as much as possible :) |
| 03:24:41 | evan | :D |
| 03:25:38 | evan | kernel/compiler/compiled_file.rb |
| 03:25:45 | tarcieri | ok |
| 03:25:51 | tarcieri | evan: there's a huge problem if I store nested classes/modules in the attributes tuple of Erlang's equivalent of a .rbc |
| 03:25:56 | evan | it's a ruby implementation of the code to create and load .rbc files |
| 03:26:03 | tarcieri | stuff in that tuple gets loaded into the Erlang "code server" |
| 03:26:12 | evan | they're even simplier than doc/rbc_files.txt makes it seem |
| 03:26:15 | tarcieri | so I end up with massive code duplication |
| 03:26:21 | evan | i simplied them a while back |
| 03:26:29 | evan | they used to use binary encoding of numbers |
| 03:26:33 | evan | i switched to ascii |
| 03:26:40 | outerim leaves the room. | |
| 03:26:44 | evan | so .rbc files can easily be edited and debugged. |
| 03:27:01 | tarcieri | you just compare mtime of a .rb vs a .rbc and decide whether or not to recompile? |
| 03:27:23 | evan | atm |
| 03:27:32 | evan | yes |
| 03:27:41 | tarcieri | ok |
| 03:28:11 | evan | we also have a compiler version number, so if the compiler changes, .rbc files are discarded |
| 03:28:20 | evan | but we don't have the compiler version number hooked up atm |
| 03:28:26 | evan | and we might not hook it up again |
| 03:28:32 | evan | it's really complicated to get right. |
| 03:28:39 | tarcieri | heh, fun |
| 03:28:48 | tarcieri | didn't even think of that |
| 03:30:24 | tarcieri | I'm presently using Erlang's eval and it sucks balls performance-wise |
| 03:30:26 | evan | don't bother |
| 03:30:36 | tarcieri | I suspect you're dealing with a similar problem but have addressed it a lot better |
| 03:30:40 | evan | the compiler doesn't change in production |
| 03:30:43 | evan | so it was only for dev |
| 03:30:55 | tarcieri | ok |
| 03:31:03 | evan | and we just have the rake tasks remove .rbc files if the compiler changes |
| 03:31:28 | tarcieri | yeah I always rake distclean after I pull, but I pull pretty infrequently |
| 03:31:50 | tarcieri | I pulled after you merged stackless into master but ran into some problem... guess I'll try again |
| 03:32:02 | tarcieri | err |
| 03:32:04 | tarcieri | stackfull |
| 03:32:04 | tarcieri | heh |
| 03:32:07 | evan | yeah |
| 03:32:17 | jashmenn enters the room. | |
| 03:32:19 | evan | if distclean doesn't fix it, let me know. |
| 03:32:29 | tarcieri | this was like... awhile ago |
| 03:32:39 | tarcieri | probably something that was broken at the time which has since been fixed |
| 03:32:41 | tarcieri | tries again |
| 03:32:45 | evan | we did run into a problem where some .rbc files weren't being removed |
| 03:33:03 | tarcieri | trying to avoid recloning because he's lazy |
| 03:33:10 | evan | you shouldn't need to reclone |
| 03:33:15 | tarcieri | I just pulled and now I'm trying to build again |
| 03:33:21 | evan | k |
| 03:33:23 | tarcieri | I'll let you know |
| 03:33:25 | tarcieri | goes for more wine |
| 03:33:26 | evan | hows reia these days? |
| 03:33:32 | evan | some people asked me about it recently |
| 03:34:46 | cored leaves the room. | |
| 03:34:57 | tarcieri | I have it autoloading the 3 file standard library now... it's got directory, file, and socket support now, woo! |
| 03:35:15 | tarcieri | except it's horribly slow and loading that stuff, thanks to the horribly gimpy eval-based approach I'm using |
| 03:35:22 | tarcieri | Erlang's eval is a pretty crazy hack |
| 03:35:34 | slava | how does it work? just compile the code right there and run it? |
| 03:35:55 | tarcieri | slava: it uses eval to execute the toplevel code, and any class or module declarations are compiled when they're declared |
| 03:36:24 | tarcieri | I want to move to where everything is compiled ahead of time and "wired up" when it's declared |
| 03:36:28 | slava | ok |
| 03:36:52 | tarcieri | evan: sh: line 0: cd: vm/assembler/libudis86.a: Not a directory |
| 03:36:54 | evan | tarcieri: rubinius compiles all the methods and such |
| 03:36:59 | tarcieri | I believe that's the error I got before |
| 03:36:59 | evan | tarcieri: umm. |
| 03:37:00 | evan | crap. |
| 03:37:10 | evan | libc didn't add a rake task I guess |
| 03:37:12 | tarcieri | it was definitely a "Not a directory" error |
| 03:37:12 | evan | one sec. |
| 03:37:36 | tarcieri | that was executing distclean |
| 03:37:39 | evan | k. |
| 03:37:41 | evan | oh |
| 03:37:44 | evan | um |
| 03:37:49 | evan | just run rake now. |
| 03:37:55 | tarcieri | ok |
| 03:38:19 | tarcieri | evan: you compile when you eval too, right? |
| 03:38:26 | tarcieri | I don't know why Erlang didn't just do that |
| 03:38:49 | evan | eval("a = 1") |
| 03:38:51 | evan | starts the compiler, yes. |
| 03:39:00 | evan | but nothing uses eval in kernel |
| 03:39:07 | evan | to add methods, they're compiled up front |
| 03:39:14 | tarcieri | yeah, I'm talking about for irb/string eval |
| 03:39:16 | evan | and put into the literals tuple of the method for the class body |
| 03:39:41 | tarcieri | here's one of the gems from Erlang's eval: |
| 03:39:42 | tarcieri | http://gist.github.com/79022 |
| 03:40:25 | evan | yikes. |
| 03:41:01 | tarcieri | arity sensitivity rearing its ugly head |
| 03:42:48 | slava | gross |
| 03:42:52 | tarcieri | evan: so when you eval, you create a CompiledMethod, call it, then it's GC'd after that? |
| 03:42:52 | slava | we use macros to deal with this in factor |
| 03:43:21 | drbrain | that's basically how call_cfunc works in MRI |
| 03:43:21 | twbray enters the room. | |
| 03:43:23 | evan | tarcieri: yep |
| 03:43:32 | tarcieri | evan: I should totally just do that |
| 03:43:42 | evan | tarcieri: though, thought of another idea on the plane down here |
| 03:43:48 | evan | if the eval is for something simple |
| 03:43:54 | evan | like eval("a = 1") |
| 03:44:05 | evan | rather than going through the trouble and creating a CompiledMethod, etc, etc. |
| 03:44:14 | evan | interpreter it |
| 03:44:16 | evan | all in ruby |
| 03:44:19 | evan | using a simple AST walker |
| 03:44:30 | evan | i've got the beginnings of one |
| 03:44:31 | slava | that's what sbcl does |
| 03:44:32 | tarcieri | metacircular ruby evaluation or something? |
| 03:44:35 | evan | that we use for Rubinius.asm |
| 03:44:38 | evan | when ou do |
| 03:44:41 | evan | Rubinius.asm do |
| 03:44:43 | slava | if the form passed in to eval is from a smal lrestricted set it interpetes it |
| 03:44:45 | evan | blah |
| 03:44:45 | slava | instead of compiling it |
| 03:44:45 | evan | end |
| 03:44:54 | evan | it runs the code in the block inside an AST walker |
| 03:45:01 | evan | slava: right |
| 03:45:05 | evan | for trivial evals |
| 03:45:07 | tarcieri | evan: having a Ruby DSL for outputting assembly is fucking awesome, BTW |
| 03:45:09 | evan | it should be fine |
| 03:45:14 | evan | :D |
| 03:45:15 | tarcieri | headius seems to have done something similar with BiteScript |
| 03:45:19 | evan | yep |
| 03:45:22 | evan | he uses instance_eval |
| 03:45:29 | evan | which I really dislike |
| 03:45:39 | tarcieri | heh |
| 03:45:42 | evan | thats why our DSL is built with methods against a generator object |
| 03:45:44 | headius | you can use it either way |
| 03:45:44 | tarcieri | wants to add instance_eval to Reia :) |
| 03:45:53 | evan | which makes it strictly not a DSL, but close enough. |
| 03:46:00 | headius | duby and compiler2 use it as a normal api |
| 03:46:04 | evan | ah nice |
| 03:46:14 | tarcieri | evan: build seems to have worked, btw |
| 03:46:17 | headius | the instance_eval way is only for making certain sections look like an assembly source file |
| 03:46:24 | tarcieri | evan: it just ran 752 tests and they all passed! |
| 03:46:30 | evan | yippy! |
| 03:46:35 | tarcieri | running some more now I guess |
| 03:46:37 | evan | headius: yeah |
| 03:47:03 | evan | the fact that instance variables suddenly work differently in an instance_eval irks me. |
| 03:47:23 | tarcieri | headius: fwiw I like instance_eval-based DSLs, even if they're slow :) |
| 03:47:34 | headius | yeah, if you're maintaining any state you can just have the block pass a builder in and it won't be instance_eval'ed anymore |
| 03:48:02 | tarcieri | afaict in Reia instance_eval is the only way a block/lambda can modify hidden state/instance variables |
| 03:48:20 | tarcieri | because you're asking the block/lambda to be evaluated in the context of the receiver |
| 03:48:28 | tarcieri | without it the receiver is trying to modify the caller's state |
| 03:48:30 | tarcieri | which is no no no! |
| 03:48:35 | tarcieri | at least in Erlang |
| 03:48:51 | evan | hehe |
| 03:50:03 | slava | man, I had a really cool ARM assembler DSL back in the day |
| 03:50:06 | slava | it was so slick |
| 03:50:19 | tarcieri | nice |
| 03:50:43 | tarcieri | evan: have you ever considered assing more DSLs to Rubinius for different types of bytecode? |
| 03:50:59 | evan | what kinds of bytecode? |
| 03:51:01 | tarcieri | like say... one for x86, or CUDA, or whatever |
| 03:51:10 | evan | and whats assing? |
| 03:51:12 | tarcieri | LLVM, for that matter |
| 03:51:13 | tarcieri | heh |
| 03:51:19 | tarcieri | I... don't know |
| 03:51:21 | tarcieri | some Ruby code? |
| 03:51:21 | tarcieri | heh |
| 03:51:52 | evan | i guess where would the generater code be used? |
| 03:52:06 | evan | in the case of x86 and llvm, could be run "normally" |
| 03:52:38 | tarcieri | well, you have a Ruby compiler written in Ruby... is that what you're already doing? |
| 03:52:54 | slava | the jit won't be in ruby though will it? |
| 03:52:56 | evan | for the rubinius bytecode, yes. |
| 03:53:02 | evan | atm, the jit isn't written in ruby |
| 03:53:08 | tarcieri | ok |
| 03:54:04 | slava | have I pimped my PowerPC asm dsl beofre? |
| 03:54:18 | tarcieri | evan: I suppose it would be better as part of an FFI-based gem |
| 03:54:25 | tarcieri | then it'd be portable |
| 03:55:09 | tarcieri | I think it'd be pretty cool to have a Ruby DSL describing CUDA bytecode |
| 03:55:22 | tarcieri | but I suppose you could just talk to the CUDA libraries over FFI |
| 03:55:41 | binary42 enters the room. | |
| 03:55:41 | moconnor enters the room. | |
| 03:56:12 | tarcieri | Finished in 128.923688 seconds |
| 03:56:13 | tarcieri | 1438 files, 7104 examples, 23400 expectations, 0 failures, 0 errors |
| 03:56:14 | tarcieri | yay! |
| 03:56:16 | evan | whats CUDA? |
| 03:56:22 | slava | GPU shiz |
| 03:56:32 | tarcieri | evan: nVidia's language for executing code on a GPU |
| 03:56:38 | evan | OH WORD |
| 03:56:47 | evan | vertex shading as method dispatch! |
| 03:56:55 | tarcieri | rofl what? |
| 03:57:20 | tarcieri | haha |
| 03:57:27 | tarcieri | using a GPU to accelerate the virtual machine, eh? |
| 03:57:29 | slava | evan: http://gitweb.factorcode.org/gitweb.cgi?p=factor/.git;a=blob_plain;f=extra/spheres/spheres.factor; hb=HEAD |
| 03:58:00 | slava | that's glsl but cuda is similar |
| 03:59:37 | tarcieri | one of my coworkers is using CUDA to accelerate an atmospheric model |
| 04:00:25 | evan | slava: cute! |
| 04:00:33 | tarcieri | like, I used to work in climate modelling, and one of my coworkers still does (and is using CUDA) |
| 04:01:01 | tarcieri | what if scientists (or whoever) could write most of their code in Ruby but describe their hotspots in a DSL that compiles to x86, CUDA, whatever |
| 04:01:01 | evan | btw |
| 04:01:06 | evan | FX is way more badass not in the US |
| 04:01:11 | evan | no dubbing |
| 04:01:20 | evan | R rated nudity |
| 04:01:23 | evan | the works. |
| 04:01:31 | tarcieri | haha |
| 04:01:36 | slava | tarcieri: or if Ruby was fast enough so that you don't need the x86 DSL :) |
| 04:02:12 | tarcieri | slava: heh, keep reaching for that rainbow |
| 04:02:15 | evan | slava: but how do you get it fast enough without reducing to machine code? |
| 04:02:23 | evan | damn chickens and eggs! |
| 04:03:12 | tarcieri | slava: the model I worked with was written in Fortran and C but had huge performance bottlenecks due to how it worked |
| 04:03:19 | evan | if we have the ability to save machine code |
| 04:03:23 | evan | could bootstrap like factor :) |
| 04:03:43 | tarcieri | slava: it alternated between a CPU-bound period and an I/O bound period... its CPU usage looked like a sine wave, and the I/O bound period was proportional to the number of nodes you had |
| 04:03:48 | slava | well you'd still have a x86 DSL in the compiler |
| 04:04:23 | rue | tarcieri: Did you read the SecondLife MQ evaluation thingy? |
| 04:04:50 | wmoxam enters the room. | |
| 04:05:17 | evan | slava: how many highlevel and lowlevel operations does your SSA sets have? |
| 04:06:46 | slava | low level has 116 |
| 04:06:58 | slava | high level has 22 |
| 04:07:59 | evan | whats are the higlevel ones? |
| 04:08:04 | evan | i can imagine what the lowlevel are |
| 04:08:07 | evan | lots of memory movement |
| 04:08:10 | evan | casting, etc. |
| 04:08:37 | tarcieri | rue: nope |
| 04:08:53 | slava | high level ones are calls, stack manipulation, branches, loops, ffi stuff |
| 04:09:28 | evan | ok |
| 04:09:39 | slava | if you have the source handy, they're defined in basis/compiler/tree/tree.factor for HLSSA and basis/compiler/cfg/instructions/instructions.factor for LLSSA |
| 04:10:07 | tarcieri | rue: a coworker and I went through message queue hell... we've been on RabbitMQ about a year now |
| 04:10:08 | tarcieri | rue: but we don't need a disk log like Twitter does |
| 04:10:24 | tarcieri | rue: looks like Twitter seriously evaluated RabbitMQ but it wasn't suitable for their needs due to their whole system being stateful |
| 04:10:40 | tarcieri | rue: one of the RabbitMQ developers replied on my blog defending them |
| 04:11:01 | evan | slava: i do, ok. |
| 04:11:19 | tarcieri | rue: still doesn't explain Starling *facepalm* |
| 04:11:33 | jashmenn leaves the room. | |
| 04:11:55 | tarcieri | rue: the author of Starling (who I guess has since been ousted from Twitter) replied with... lies, accusing me of spreading misinformation |
| 04:12:00 | imajes leaves the room. | |
| 04:14:43 | jashmenn enters the room. | |
| 04:15:44 | tarcieri | fwiw, Ezra told me pretty much the exact same thing the RabbitMQ developer did, days before he responded. Ezra is a sharp guy :) |
| 04:16:44 | tarcieri | namely that the RabbitMQ disk log is still a WIP |
| 04:28:14 | qbproger leaves the room. | |
| 04:31:33 | outerim enters the room. | |
| 04:44:24 | twbray leaves the room. | |
| 04:51:54 | yipstar leaves the room. | |
| 05:13:09 | imajes enters the room. | |
| 05:15:56 | slava | tarcieri: http://gist.github.com/79022 |
| 05:15:59 | slava | this is just a perfect demonstration of why erlang sucks :) |
| 05:31:00 | shoe leaves the room. | |
| 05:33:00 | kronos_vano enters the room. | |
| 05:33:21 | asap18 enters the room. | |
| 05:36:30 | twbray enters the room. | |
| 05:37:15 | headius leaves the room. | |
| 05:51:17 | shoe enters the room. | |
| 05:52:45 | mdalessio leaves the room. | |
| 06:00:42 | tarcieri | slava: rofl |
| 06:00:56 | wmoxam leaves the room. | |
| 06:00:58 | tarcieri | slava: yeah I'm not a fan of how Erlang handles arity |
| 06:01:08 | tarcieri | slava: Reia has since moved away from that |
| 06:01:32 | tarcieri | it's causing some problems but affords me a lot more flexibility |
| 06:06:13 | twbray leaves the room. | |
| 06:06:21 | binary42 leaves the room. | |
| 06:10:05 | twbray enters the room. | |
| 06:12:37 | asap18 leaves the room. | |
| 06:17:16 | outerim leaves the room. | |
| 06:25:08 | mediogre enters the room. | |
| 06:34:16 | headius enters the room. | |
| 06:42:10 | ennui enters the room. | |
| 06:43:06 | ennui leaves the room. | |
| 06:43:08 | jashmenn leaves the room. | |
| 06:46:25 | mediogre leaves the room. | |
| 07:10:52 | kronos_vano leaves the room. | |
| 07:11:16 | headius leaves the room. | |
| 07:24:12 | twbray leaves the room. | |
| 07:28:43 | joachimm enters the room. | |
| 07:41:07 | botanicus enters the room. | |
| 07:44:17 | moconnor leaves the room. | |
| 08:16:29 | krawek leaves the room. | |
| 08:22:09 | joachimm leaves the room. | |
| 08:30:27 | kronos_vano enters the room. | |
| 08:57:28 | Maledictus enters the room. | |
| 09:01:04 | naeu enters the room. | |
| 09:22:18 | mvr enters the room. | |
| 10:11:13 | botanicus leaves the room. | |
| 10:39:17 | malumalu enters the room. | |
| 10:58:59 | malumalu leaves the room. | |
| 11:05:58 | malumalu enters the room. | |
| 11:11:15 | boyscout | Calling a private setter method permits self as a receiver - fd956a9 - Eugene Pimenov |
| 11:15:18 | boyscout | CI: fd956a9 success. 1438 files, 7106 examples, 23403 expectations, 0 failures, 0 errors |
| 11:20:27 | imajes leaves the room. | |
| 11:21:57 | chris2 enters the room. | |
| 11:22:41 | lstoll leaves the room. | |
| 11:41:37 | Maledictus leaves the room. | |
| 12:34:22 | mvr leaves the room. | |
| 12:39:11 | botanicus enters the room. | |
| 12:39:42 | malumalu | wah, this drives me crazy >_> |
| 13:00:38 | asap18 enters the room. | |
| 13:12:33 | qbproger enters the room. | |
| 13:12:46 | cout leaves the room. | |
| 13:16:59 | qbproger leaves the room. | |
| 13:21:17 | chris2_ enters the room. | |
| 13:31:20 | chris2 leaves the room. | |
| 13:33:46 | yipstar enters the room. | |
| 13:44:32 | stepheneb enters the room. | |
| 13:45:10 | gavinstark enters the room. | |
| 13:50:38 | gnufied enters the room. | |
| 13:57:31 | nari leaves the room. | |
| 14:02:20 | malumalu | hm, can someone point me to the file which generates runtime/platform.conf? |
| 14:06:33 | lstoll enters the room. | |
| 14:07:35 | outerim enters the room. | |
| 14:12:07 | yipstar leaves the room. | |
| 14:12:16 | dbussink | malumalu: you can find it in rakelib/platform.rake |
| 14:12:27 | dbussink | but it consists of different parts |
| 14:12:59 | dbussink | a constants part, a structs part and a types part |
| 14:13:11 | outerim leaves the room. | |
| 14:13:30 | outerim enters the room. | |
| 14:14:11 | malumalu | dbussink: thanks |
| 14:17:56 | dbussink | malumalu: what part is it you're looking at? |
| 14:26:14 | nari enters the room. | |
| 14:29:20 | malumalu | I just tested something by changing rbx.platform.rlimit |
| 14:29:48 | malumalu | dbussink: but that didn't work, so I still have a spec failing |
| 14:31:33 | jashmenn enters the room. | |
| 14:32:33 | binary42 enters the room. | |
| 14:36:13 | twbray enters the room. | |
| 14:46:52 | macournoyer enters the room. | |
| 14:48:23 | gnufied leaves the room. | |
| 14:48:53 | gnufied enters the room. | |
| 14:54:50 | PhilK enters the room. | |
| 14:58:03 | twbray leaves the room. | |
| 15:01:33 | twbray enters the room. | |
| 15:03:34 | evan | morning. |
| 15:07:25 | jashmenn leaves the room. | |
| 15:12:12 | kronos_vano | evan, why you don't use your lighthouse tracker? There are some bugs/patches |
| 15:14:21 | jashmenn enters the room. | |
| 15:19:09 | evan | kronos_vano: we do |
| 15:19:15 | evan | we're just not always on top of it |
| 15:22:48 | evan | kronos_vano: since you've reminded me, i'll go through it now |
| 15:24:31 | botanicus leaves the room. | |
| 15:25:33 | stepheneb leaves the room. | |
| 15:27:45 | lstoll leaves the room. | |
| 15:28:56 | wmoxam enters the room. | |
| 15:29:23 | twbray leaves the room. | |
| 15:32:14 | twbray enters the room. | |
| 15:33:27 | twbray leaves the room. | |
| 15:34:45 | kronos_vano | evan, tnx :) |
| 15:41:42 | jashmenn leaves the room. | |
| 15:56:57 | MarkMenard enters the room. | |
| 16:11:31 | twbray enters the room. | |
| 16:12:40 | moconnor enters the room. | |
| 16:13:24 | therealadam enters the room. | |
| 16:19:26 | boyscout | Remove silly way to set ivars - c58a454 - Evan Phoenix |
| 16:19:26 | boyscout | Fix header alignment - 50c157b - Evan Phoenix |
| 16:19:26 | boyscout | Fix Rubinius.asm block, they're full expressions - 30404a9 - Evan Phoenix |
| 16:21:26 | jashmenn enters the room. | |
| 16:23:27 | moconnor leaves the room. | |
| 16:25:12 | boyscout | CI: 30404a9 success. .................................................................................................... .................................................................................................... .................................................................................................... ............................................................................... |
| 16:25:18 | evan | :( |
| 16:25:58 | botanicus enters the room. | |
| 16:26:08 | rue | Success |
| 16:27:24 | rue | "Mission Accomplished" |
| 16:28:07 | rue | Should have Lighthouse mail boyscout |
| 16:30:53 | twbray leaves the room. | |
| 16:36:48 | evan | yeah |
| 16:38:39 | rue | Also not suck |
| 16:39:56 | naeu leaves the room. | |
| 16:47:14 | imajes enters the room. | |
| 16:54:31 | brixen | evan: I can regularly get an abort with no output compiling the specs on linux |
| 16:54:38 | brixen | that's what all the dots are |
| 16:54:53 | brixen | and something is not setting $? either |
| 16:55:06 | brixen | when I ran with -fs to track it, it would not happen |
| 16:55:19 | brixen | so I back-burnered it |
| 17:00:14 | malumalu | hm, I found a wrong spec(frozen/core/process/setrlimit_spec.rb:72-78), what should I do? |
| 17:00:39 | malumalu | or: I think I found a wrong spec |
| 17:01:45 | evan | brixen: hm. ok. |
| 17:01:54 | malumalu | it line 77, max = lim should be lim = max, I guess |
| 17:02:03 | malumalu | *line 76 |
| 17:08:15 | kronos_vano leaves the room. | |
| 17:10:25 | twbray enters the room. | |
| 17:12:58 | blowmage enters the room. | |
| 17:17:22 | enebo enters the room. | |
| 17:17:52 | rue | malumalu: Yes, I think it should be the other way |
| 17:18:48 | nari leaves the room. | |
| 17:18:50 | malumalu | I just send a pull request on github |
| 17:22:08 | rue | malumalu: Unless evan is still around, can you pastie a format-patch? Be faster |
| 17:23:11 | malumalu | k, moment |
| 17:25:32 | jashmenn_ enters the room. | |
| 17:31:32 | shoe leaves the room. | |
| 17:33:02 | pastie | rue: http://pastie.org/439673 by malumalu. |
| 17:34:56 | shoe enters the room. | |
| 17:37:19 | jashmenn_ leaves the room. | |
| 17:39:22 | jashmenn leaves the room. | |
| 17:42:01 | rue | brixen: Should these go through RubySpec? ^^ |
| 17:43:40 | seydar enters the room. | |
| 17:44:10 | seydar leaves the room. | |
| 17:47:17 | joachimm enters the room. | |
| 17:47:30 | brixen | I've been commiting to both spec/frozen and rubyspec on simple stuff |
| 17:47:40 | brixen | just edit the patch to change the paths |
| 17:47:52 | brixen | I'm concerned about that fix though |
| 17:48:01 | brixen | 1. why is it happening |
| 17:48:09 | brixen | 2. why was the test reversed |
| 17:48:21 | brixen | maybe it needs to test both ways |
| 17:48:43 | brixen | if max < lim blah elsif lim < max blah |
| 17:49:25 | brixen | er max < lim .. max > lim rather |
| 17:49:37 | brixen | oh nvm |
| 17:50:07 | brixen | anyway, I do not know why it was added, so I have to assume the test was that way for a reason |
| 17:50:11 | rue | I cannot imagine why it should ever be higher than the maximum? |
| 17:50:13 | brixen | lacking any better info |
| 17:50:26 | brixen | I cannot either |
| 17:50:51 | brixen | at the same time, seems ridiculous to have to check that |
| 17:50:58 | brixen | since it's returned from a syscall |
| 17:51:54 | mediogre enters the room. | |
| 17:53:21 | rue | Ah, you can probably raise the maximum in some cases |
| 17:53:36 | rue | Still, it would need better info |
| 17:53:47 | rue | malumalu: What was the error you were getting? |
| 17:53:51 | enebo leaves the room. | |
| 17:54:52 | malumalu | EINVAL: Invalid argument - Invalid argument |
| 17:55:20 | malumalu | so lim > max when setrlimit was called |
| 17:56:41 | rue | OS X man says "The per-process resource limit is a limit on the amount of virtual memory locked, while the system-wide limit is for the number of locked physical pages." |
| 17:57:41 | malumalu | I always looked at http://linux.die.net/man/2/getrlimit |
| 17:59:49 | brixen | well, seems odd that we cannot trust sanity coming back from getrlimit |
| 17:59:59 | brixen | but it is logical that lim < max |
| 18:00:08 | brixen | go ahead with the patch |
| 18:01:11 | brixen | although, concerns me if max = |
| 18:01:16 | brixen | max == 0 |
| 18:01:26 | mediogre leaves the room. | |
| 18:01:37 | brixen | what will happen to the process when you setrlimit lim = 0 |
| 18:01:56 | brixen | probably nothing, cus I don't think we mlock anything |
| 18:06:22 | brixen | rue: are you going to commit it or should I? |
| 18:11:02 | joearnold enters the room. | |
| 18:17:07 | rue | brixen: M, go ahead, I am poking around Sun's getrlimit |
| 18:17:33 | brixen | well, if you're going to get to it, n/p |
| 18:17:47 | brixen | I'm trying to put some docs and specs together for the profiler |
| 18:17:56 | brixen | but I'm leaving to look at an apt in about 15 min |
| 18:18:22 | blowmage_ enters the room. | |
| 18:25:56 | ezmob enters the room. | |
| 18:29:59 | enebo enters the room. | |
| 18:30:17 | blowmage_ leaves the room. | |
| 18:30:48 | blowmage_ enters the room. | |
| 18:30:56 | blowmage leaves the room. | |
| 18:32:23 | libc | Could somebody close https://rubinius.lighthouseapp.com/projects/5089/tickets/757-51a2393-does-not-compile-on-amd64 please ? |
| 18:33:00 | boyscout | Fix 64bit compilation issue introduced in “Rewire JIT” - 20bb4d1 - Eugene Pimenov |
| 18:35:11 | rue | libc: ^^ fixes? |
| 18:35:23 | libc | rue, yes |
| 18:36:10 | boyscout | CI: 20bb4d1 success. .................................................................................................... .................................................................................................... .................................................................................................... ............................................................................... |
| 18:37:31 | rue | libc: OK, add ticket numbers to commit messages when appropriate too |
| 18:38:02 | rue | libc: I will send a Lighthouse invite, is the e-mail you use for Git OK or do you already have/want a different one? |
| 18:38:47 | libc | rue, really? I don't see commits in overview… I though lighthouse is not connected to git |
| 18:39:00 | libc | rue, it's fine |
| 18:39:22 | tilman | libc: i think he's asking that you put a reference to the ticket in your git commit messages |
| 18:39:23 | rue | It is not :) That is why it helps if you add something like "Closes #60" |
| 18:40:04 | libc | oh =) I thought he's talking about "[#42 state:resolved]" as rails does |
| 18:41:00 | headius enters the room. | |
| 18:43:43 | rue | Great, mark as ham is broken again |
| 18:46:24 | kronos_vano enters the room. | |
| 19:09:16 | blowmage enters the room. | |
| 19:14:51 | headius leaves the room. | |
| 19:18:34 | nicksieger leaves the room. | |
| 19:21:24 | twbray enters the room. | |
| 19:25:18 | blowmage_ leaves the room. | |
| 19:30:54 | evan | i'm back. |
| 19:31:12 | evan | libc: good job on the JIT |
| 19:31:24 | evan | libc: i'm going to be doing a bunch more JIT work this week |
| 19:36:19 | kronos_vano leaves the room. | |
| 19:39:37 | libc_ enters the room. | |
| 19:39:52 | kronos_vano enters the room. | |
| 19:44:07 | tilman | evan: do you want to stick with ascii for rbc files? |
| 19:44:19 | evan | unless we have a reason not to |
| 19:44:38 | tilman | like performance and size? |
| 19:45:17 | evan | we've yet to have either problem |
| 19:45:19 | evan | that i'm aware of. |
| 19:45:53 | tilman | aha |
| 19:46:04 | tilman | imo vm startup time is quite bad |
| 19:46:06 | evan | i'm open to ideas |
| 19:46:12 | evan | well |
| 19:46:14 | evan | in profiling |
| 19:46:20 | evan | .rbc parsing has never shown up |
| 19:46:23 | tilman | i've got a couple of patches that reduce the size of the compiled kernel and the startup time noticably |
| 19:46:25 | evan | in VM startup |
| 19:46:37 | evan | why are you sitting on these patches then? |
| 19:46:46 | evan | :D |
| 19:47:09 | tilman | brixen told me he prefered ascii rbc's for readability/debugability |
| 19:47:15 | tilman | so i wanted to check with you firt |
| 19:47:17 | tilman | first* |
| 19:47:18 | evan | as do I |
| 19:47:21 | libc leaves the room. | |
| 19:47:24 | evan | what do your patches do? |
| 19:47:31 | evan | as I said |
| 19:47:35 | evan | i'm not opposed to new ideas |
| 19:47:44 | evan | just need to be sure there is a problem that actually being solved |
| 19:48:18 | tilman | time bin/rbx hw.rb |
| 19:48:28 | tilman | printing hello world takes half a second |
| 19:49:05 | tilman | no, i don't run that all day :) |
| 19:49:17 | evan | yeah, i know it could be faster |
| 19:49:27 | rue | libc_: Looks like Unicode in that last commit message again.. are you able to produce ASCII quotes? I am not quite up to date with modern cyrillic keyboards |
| 19:49:30 | evan | my question is, have you profiled startup to see whats slow? |
| 19:49:45 | tilman | making the rbc format smarter (ascii -> binary) helps with that |
| 19:50:01 | tilman | evan: no, i've had an old-fashioned look at the rbcs and noticed they were fat |
| 19:50:11 | tilman | when there's no obvious (to me) need for them to be |
| 19:50:27 | libc | rue, what's wrong with unicode in commit messages? |
| 19:50:29 | evan | when I changed the format |
| 19:50:33 | evan | it was a couple of reasons |
| 19:50:34 | boyscout | Fixes a wrong spec. - 5b48063 - Maximilian Lupke |
| 19:50:36 | evan | it was much easier to debug |
| 19:50:52 | evan | and it was much easier to write ruby classes to encode/decode |
| 19:51:00 | evan | and it doesn't have byte encoding problems |
| 19:51:01 | rue | libc_: Trying to keep to lowest common denominator |
| 19:51:20 | evan | plus, for encoding of integers, there is no size limitation |
| 19:51:29 | evan | so Bignum's can be easily encoded |
| 19:51:40 | tilman | i've used variable length integers for that |
| 19:51:54 | boyscout | CI: 5b48063 success. 1438 files, 7106 examples, 23403 expectations, 0 failures, 0 errors |
| 19:52:03 | evan | how much does changing them to a binary encoding change things? |
| 19:52:08 | evan | time wise. |
| 19:52:09 | libc | rue, It would be hard to write a program without "able to produce ASCII quotes" ;-) |
| 19:54:04 | tilman | evan: i took notes on the size of runtime/ only, but i think startup time improved 15-20% with my limited patching |
| 19:54:20 | tilman | i didn't go the whole way yet, just experimented a bit |
| 19:54:38 | evan | sure |
| 19:54:49 | evan | this is probably a great example of where doing stuff in a fork would be awesome |
| 19:54:53 | evan | you can do whatever |
| 19:54:55 | evan | get it working |
| 19:55:00 | evan | and then, when you feel like it's good |
| 19:55:04 | evan | we can fold it in |
| 19:55:20 | tilman | okay |
| 19:55:38 | evan | that way, it's easy for me to check out what ya did |
| 19:55:56 | evan | and criticize :) |
| 19:56:24 | tilman | works for me |
| 19:56:30 | evan | dope |
| 19:56:46 | tilman | i'll ping you after the holidays |
| 19:56:48 | rue | libc_: Heh, well, an editor might have a convenience for it |
| 19:56:54 | evan | tilman: oh also |
| 19:57:00 | evan | i did the .rbc change we switch to C++ |
| 19:57:06 | evan | tilman: and i was being super lazy |
| 19:57:18 | evan | so i just used iostreams to decode the ascii int stream :) |
| 19:57:21 | evan | as you've seen |
| 19:57:38 | evan | tilman: if we make it a bit more opaque |
| 19:57:51 | evan | we should also write some tools to make decoding to human form easy |
| 19:58:01 | tilman | yes, i was going to mention that |
| 19:58:05 | libc | rue, ok, I won't use “” in commit messages… (btw it have nothing to do with cyrillic keyboard, it's mac alt + [ ) |
| 19:58:09 | tilman | :) |
| 20:01:29 | rue | Oh, yeh. I only use alt + u + <ao> |
| 20:03:07 | evan | I used shift-q and shift |
| 20:03:14 | evan | just shift-q. |
| 20:04:29 | brixen | evan: my 2 cents again are use .rba's if size is an issue, read into a buffer and iterate for loading .rbc, and leave .rbc a simple \n delimited ascii |
| 20:04:42 | brixen | compression will be really good on the ascii |
| 20:04:46 | brixen | if space is an issue |
| 20:04:55 | brixen | it's not for 99% of installs I think |
| 20:05:01 | evan | i think tilman isn't looking at the space, but rather the decode time |
| 20:05:12 | brixen | well, he mentioned both |
| 20:05:15 | brixen | initially |
| 20:05:18 | evan | yeah, he did. |
| 20:05:56 | shoe | I hear space and time are related anyway... somehow. |
| 20:06:09 | brixen | reading .rbc could be a lot faster, but it probably won't be faster if we start complicating the format |
| 20:06:18 | brixen | I'd really like to not do that |
| 20:06:35 | scoopr | make it mmap'able and it'll be superfast! ;) |
| 20:06:38 | tilman | of course reading a binary format is faster than reading ascii |
| 20:06:41 | brixen | shoe: it's all relative man :) |
| 20:06:48 | rue | shoe: LLVM has an FTL optimizer |
| 20:06:50 | shoe | lol |
| 20:07:00 | libc | shoe, general relativity? einstein? |
| 20:07:18 | evan | tilman: not in ruby, it's not. |
| 20:07:22 | brixen | evan: are you back stateside? |
| 20:07:26 | evan | negative. |
| 20:07:30 | brixen | ahh |
| 20:07:41 | evan | hackin' with argentines |
| 20:07:46 | brixen | nice! |
| 20:07:56 | evan | i'll be back thursday morning |
| 20:08:03 | evan | my flight leaves tomorrow nite |
| 20:08:07 | brixen | I'm at my fave coffee shop/art gallery/small band venue |
| 20:08:11 | brixen | ah ok |
| 20:08:15 | evan | nice |
| 20:08:21 | brixen | I need to get out more |
| 20:08:31 | brixen | going a bit crazy in the burbs |
| 20:08:43 | brixen | oh, and it's like 70 deg here! |
| 20:08:45 | tilman | evan: this code surely will stay in c++ though? |
| 20:08:47 | brixen | insane |
| 20:08:58 | evan | tilman: i'd prefer to move it to ruby |
| 20:09:01 | evan | eventually. |
| 20:09:05 | brixen | tilman: it's written out from ruby now |
| 20:09:11 | brixen | when the compiler runs in MRI |
| 20:09:16 | evan | yes, the writer is always ruby |
| 20:09:27 | evan | but we use both a C++ and a ruby reader |
| 20:09:31 | tilman | brixen: yes, i'm mostly interested in the reading side atm |
| 20:09:35 | tilman | ok |
| 20:09:52 | evan | tilman: so, feel free to play around and experiment in a branch |
| 20:09:53 | brixen | well, writing precedes reading :) |
| 20:10:01 | evan | tilman: and we'll check it out |
| 20:10:06 | tilman | ok |
| 20:10:08 | evan | tilman: no promises though, k? |
| 20:10:27 | tilman | got it |
| 20:11:29 | nicksieger enters the room. | |
| 21:16:45 | jashmenn enters the room. | |
| 21:17:12 | chris2 leaves the room. | |
| 21:21:08 | gavinstark leaves the room. | |
| 21:21:18 | benny leaves the room. | |
| 21:40:56 | malumalu | I think I found two specs which contradict each other |
| 21:42:00 | malumalu | frozen/core/struct/new_spec: line 51 & 62 |
| 21:42:51 | malumalu | one spec expects the objects to respond to to_sym, the other expects them to be Symbols |
| 21:43:15 | malumalu | so one is pretty useless I think |
| 21:55:42 | rue | I think it is related to the one below it |
| 21:57:49 | PhilK leaves the room. | |
| 22:06:14 | lstoll enters the room. | |
| 22:12:41 | dbussink leaves the room. | |
| 22:18:14 | macournoyer leaves the room. | |
| 22:20:34 | boyscout | fix reverse_each - 09950d3 - Ivan Samsonov |
| 22:20:34 | boyscout | Check that roots aren't null. - f6f89be - Evan Phoenix |
| 22:22:13 | boyscout | CI: 5b48063 success. 1438 files, 7106 examples, 23403 expectations, 0 failures, 0 errors |
| 22:27:41 | mutle_ enters the room. | |
| 22:30:00 | lstoll_ enters the room. | |
| 22:39:17 | evan | so |
| 22:39:23 | evan | Blue Ruby claims they run rails |
| 22:39:24 | evan | http://www.slideshare.net/schmerdy/blue-ruby-sdn-webinar-1260181 |
| 22:39:28 | evan | slide 23 |
| 22:39:34 | evan | i call shenanigans |
| 22:41:56 | therealadam | doesn't slide 22 say no? |
| 22:42:02 | therealadam | and that they run 0% of the stdlib? |
| 22:42:24 | evan | yeah |
| 22:42:25 | therealadam | and they run fib(20) in 1.8s |
| 22:42:32 | evan | exactly. |
| 22:42:35 | evan | their slide deck is confusing. |
| 22:42:44 | evan | i don't get what the line graph is. |
| 22:42:48 | evan | whats an "RFC runtime" ? |
| 22:43:00 | therealadam | enterprisey |
| 22:43:10 | evan | so it's a pudding pop? |
| 22:43:25 | evan | <cosby> And then ya put the puddin pop in ya mouth </cosby> |
| 22:43:30 | therealadam | +/- bill cosby, yes |
| 22:45:40 | mutle leaves the room. | |
| 22:48:56 | rue | The really weird thing about this, though |
| 22:49:10 | rue | I do not recognise a *single one* of those names |
| 22:50:00 | lstoll leaves the room. | |
| 22:53:25 | soveran enters the room. | |
| 22:57:55 | rue | You would think that at some point one of them would have popped up on -core or something |
| 23:00:58 | drbrain | rue: unless their corporate masters forbade it due to possible licensing issues |
| 23:01:30 | blowmage leaves the room. | |
| 23:03:13 | blowmage enters the room. | |
| 23:03:57 | evan | for those with a webinar fetish: https://sap.na.pgiconnect.com/p16473929/ |
| 23:04:04 | evan | impl details start at minute 55 |
| 23:04:37 | evan | rue: yeah, as far as I can tell, none of them are in the ruby community anywheres |
| 23:05:41 | rue | I think the demo app just means the app is built (not that it runs) |
| 23:06:08 | rue | Or, well, based on the numbers it would take them about a month to find out if it did |
| 23:06:41 | rue | evan: The really sad thing is that it is still more open than MagLev is :/ |
| 23:07:07 | evan | :( |
| 23:07:13 | rue | drbrain: It is possible, I suppose, but I would think highly unlikely? |
| 23:07:31 | evan | one of their slides has sexps on it |
| 23:07:36 | evan | i wonder what parser they're using |
| 23:07:39 | evan | ruby_parser maybe |
| 23:09:22 | rue | That or the bison, almost necessarily |
| 23:09:52 | evan | perhaps |
| 23:10:38 | botanicus leaves the room. | |
| 23:12:37 | evan | interesting thing about blue ruby is that it's pretty much not competing with anyone else |
| 23:12:43 | evan | since it's ruby for SAP programmers |
| 23:12:54 | evan | and I don't think i've met a SAP programmer |
| 23:14:30 | wmoxam leaves the room. | |
| 23:20:47 | slava | i evan |
| 23:20:48 | jashmenn leaves the room. | |
| 23:20:49 | slava | hi* |
| 23:20:53 | evan | allo |
| 23:25:27 | jashmenn enters the room. | |
| 23:27:07 | jashmenn leaves the room. | |
| 23:27:23 | qbproger enters the room. | |
| 23:27:39 | jashmenn enters the room. | |
| 23:31:56 | soveran leaves the room. | |
| 23:33:31 | nicksieger leaves the room. | |
| 23:36:04 | enebo leaves the room. | |
| 23:39:57 | imajes leaves the room. | |
| 23:41:45 | therealadam leaves the room. | |
| 23:57:50 | binary42 leaves the room. |