Show enters and exits. Hide enters and exits.
| 00:00:54 | joachimm enters the room. | |
| 00:02:18 | chris2 leaves the room. | |
| 00:02:19 | shoe leaves the room. | |
| 00:04:34 | shoe enters the room. | |
| 00:05:34 | postmodern | Module#const_missing at kernel/common/module.rb:599 |
| 00:06:41 | postmodern | NameError: Missing or uninitialized constant: MethodContext |
| 00:06:55 | boyscout | Some rbconfig fixes for linux. - 5cb55f3 - Brian Ford |
| 00:07:36 | brixen | I was able to gem install mongrel on ubuntu 32bit with those changes |
| 00:07:51 | brixen | obviously, we need to figure out a real solution to rbconfig |
| 00:08:11 | boyscout | CI: 5cb55f3 success. 1427 files, 6935 examples, 23105 expectations, 0 failures, 0 errors |
| 00:08:21 | brixen | alas, must go shopping now |
| 00:09:00 | headius enters the room. | |
| 00:14:30 | binary42 leaves the room. | |
| 00:18:28 | postmodern | so what does ci stand for? |
| 00:18:43 | tarcieri | continuous integration? |
| 00:19:16 | postmodern | ah that makes sense |
| 00:20:47 | cored enters the room. | |
| 00:24:44 | rue | Occasionally, continuous irritation |
| 00:24:48 | tarcieri | haha |
| 00:24:53 | nemerle enters the room. | |
| 00:32:35 | tongueroo enters the room. | |
| 00:33:36 | evan | macruby is abondoning YARV |
| 00:33:37 | evan | http://www.macruby.org/blog/2009/03/28/experimental-branch.html |
| 00:33:46 | evan | they're writing their own VM using LLVM |
| 00:34:35 | postmodern | makes sense |
| 00:34:44 | postmodern | since Xcode already relies on LLVM |
| 00:35:34 | headius | llvm is the flavor of the year |
| 00:35:50 | evan | seriously. |
| 00:35:52 | headius | execution is probably not why macruby has perf issues though |
| 00:36:02 | headius | it's the objc classes not mapping to ruby semantics well |
| 00:36:23 | evan | LLVM is going to give them trouble |
| 00:36:37 | postmodern | last i checked LLVM hasn't done much with ObjC |
| 00:37:01 | headius | going from objc + yarv and way slower than 1.8 to objc + llvm |
| 00:37:22 | headius | but it will be exciting to see what they do |
| 00:37:51 | Maledikt leaves the room. | |
| 00:37:51 | headius | Early performance measurements are also very promising, with substantial room for improvement remaining. |
| 00:37:53 | headius | so it's still slow |
| 00:37:55 | headius | :) |
| 00:38:03 | headius | </asshole> |
| 00:38:26 | evan | hah |
| 00:38:31 | evan | well, i found the same to be true |
| 00:38:36 | evan | when doing small scale LLVM experiments |
| 00:38:42 | evan | but it appears they've got no interpreter |
| 00:38:56 | evan | and thus will be compiling all ruby methods with LLVM |
| 00:39:16 | headius | hmm, won't that be a bit of a startup hit? |
| 00:39:19 | evan | and it's just not tuned to be used for in high speed compiling |
| 00:39:44 | rue | Yeah, so open_module is not handling autoloads |
| 00:39:53 | evan | rue: oh |
| 00:39:56 | evan | rue: crap. |
| 00:39:59 | evan | thats my bad |
| 00:40:04 | evan | open_module is gone |
| 00:40:20 | evan | i forgot to implement Rubinius.open_module in ruby to handle autoload |
| 00:40:21 | tarcieri | heh crazy |
| 00:40:22 | headius | evan: so yeah, the new ivar table seems to work well |
| 00:40:42 | evan | rue: let me fix that now |
| 00:40:47 | headius | I actually extended the idea to include call-site caching of "ivar accessors", mainly so the cache is a single atomic read/write |
| 00:40:53 | tarcieri | crazy @ macruby switching to llvm |
| 00:40:59 | tarcieri | they should... get it working on the goddamn iphone |
| 00:40:59 | evan | tarcieri: yeah |
| 00:41:13 | evan | ha. |
| 00:41:14 | evan | nope. |
| 00:41:18 | tarcieri | :( |
| 00:41:20 | evan | it's using the LLVM JIT entirely. |
| 00:41:28 | evan | which definitely isn't present on the iphone |
| 00:41:34 | tarcieri | heh, I meant MacRuby in general |
| 00:41:48 | headius | no GC on iphone either |
| 00:42:08 | tarcieri | they use their own GC |
| 00:42:10 | tarcieri | autozone |
| 00:42:12 | tarcieri | or whatever |
| 00:42:16 | evan | yeah |
| 00:42:19 | evan | thats not on the iphone. |
| 00:42:55 | rue | You *can* run it on "the i", apparently |
| 00:43:00 | rue | Or something |
| 00:47:49 | joachimm leaves the room. | |
| 00:51:09 | asap18 enters the room. | |
| 00:56:29 | boyscout | Add proper versions of open_module/open_module_under - 8c7f978 - Evan Phoenix |
| 00:56:48 | evan | rue: there ya go |
| 00:56:53 | rue | Goodies |
| 00:57:14 | rue | Mongrel runs on Rack minus Lint |
| 00:57:21 | evan | whats Lint? |
| 00:57:27 | evan | did you install LintTrap? |
| 00:57:36 | evan | otherwise your clothes will have lint on them |
| 00:57:47 | boyscout | CI: 8c7f978 success. 1427 files, 6935 examples, 23105 expectations, 0 failures, 0 errors |
| 02:05:51 | rue | Mm, something is severely breaking |
| 02:10:39 | benny leaves the room. | |
| 02:13:46 | evan | headius: not that I think it matters |
| 02:14:04 | evan | headius: but everything i've found indicates that the array header in the JVM is bigger than the object header |
| 02:14:12 | headius | yeah, I looked it up, it's 3 words |
| 02:14:16 | headius | object is two words |
| 02:14:24 | evan | right |
| 02:14:26 | headius | so object header plus size |
| 02:14:31 | evan | ye |
| 02:14:33 | evan | yep |
| 02:14:37 | evan | same thing Rubinius uses now |
| 02:14:44 | headius | still way smaller than the giant thing we had before though |
| 02:14:50 | evan | yeah |
| 02:14:51 | evan | no doubt |
| 02:15:11 | evan | so are you putting the name => index table on the the object's real class? |
| 02:15:13 | rue | AbstractBigGiantFactoryFacade |
| 02:15:45 | headius | yeah, it's on the real class fo rnow |
| 02:15:54 | headius | I need a strategy for singletons though |
| 02:15:59 | evan | why? |
| 02:16:06 | rue | Hm, weird, lsof shows a connection to sourceforge.net? |
| 02:16:11 | evan | i don't think you can have one |
| 02:16:20 | headius | well, think about it, halfway through their lifecycle they get a new immediate metaclass |
| 02:16:25 | evan | unless you sync the singleton tables with the class table |
| 02:16:26 | headius | so do you then track new ivars on that one or the parent? |
| 02:16:36 | evan | no |
| 02:16:38 | evan | oh |
| 02:16:39 | evan | by real class |
| 02:16:43 | evan | i mean not the metaclass |
| 02:16:49 | headius | right, you'd have to sync with parent, put them all on the real class, or something |
| 02:16:53 | evan | i mean whatever obj.class returns |
| 02:17:02 | headius | right now it's just immediate superclass, but will probably be real class |
| 02:17:14 | headius | it just means singletons everywhere can cause the ivar table to grow |
| 02:17:19 | evan | yep |
| 02:19:01 | evan | oh btw. |
| 02:19:03 | evan | er. |
| 02:19:04 | evan | wtf. |
| 02:19:14 | evan | do_sqlite3 MUST have a bug |
| 02:19:15 | evan | it's doing |
| 02:19:19 | evan | rb_cTime = CONST_GET(rb_mKernel, "Time"); |
| 02:19:24 | evan | but not declaring rb_cTime |
| 02:19:47 | evan | ie, it's redefining the static variable |
| 02:19:51 | evan | thats busted. |
| 02:21:31 | headius | ahh crap |
| 02:21:43 | headius | macruby requires llvm trunk build |
| 02:21:48 | evan | no surprise. |
| 02:21:48 | headius | well there goes an hour of cpu time |
| 02:23:03 | headius | evan: hey, what actually uses LLVM successfully right now? |
| 02:23:13 | evan | define success |
| 02:25:59 | headius | well, what projects ship real production software on it? |
| 02:26:06 | headius | apple has some stuff, don't they? |
| 02:26:10 | evan | iphone sdk |
| 02:26:18 | evan | is the only one i know of |
| 02:26:36 | headius | I keep hearing about people moving to llvm, and no success stories about how well it's worked out |
| 02:27:08 | evan | i think that people look and see all the things it has and assume it wil be easy to adapt their model to it |
| 02:27:11 | evan | and while it can do a lot |
| 02:27:18 | evan | it's just not as simple as people make it sound |
| 02:27:31 | evan | esp. when you're project is applying a dynamic language model to it |
| 02:27:43 | evan | not that it's impossible |
| 02:27:47 | rue | So one of our cats is much smarter than I thought |
| 02:27:49 | evan | but it's just not trivial. |
| 02:28:00 | evan | rue: did it order pizza again? |
| 02:28:20 | headius | what do you think of the hotspot + llvm project? |
| 02:28:36 | headius | I don't know a lot about llvm, but it seems like a great match |
| 02:28:41 | rue | I have empirically witnessed that she will drag the toilet paper off its roll and drag it over to me when--and ONLY when--her litterbox is overdue cleaning. |
| 02:29:05 | rue | She does not play with it, nor does she do it any other time |
| 02:29:24 | evan | headius: yeah, project zero seems like a great fit |
| 02:29:47 | evan | but thats still applying java execution like gcj |
| 02:30:02 | evan | rue: hah |
| 02:30:23 | rue | It actually is fairly complex reasoning |
| 02:30:37 | evan | bigtime |
| 02:30:51 | evan | thats a lot of logic |
| 02:31:37 | headius | the project I mean is shark |
| 02:31:50 | headius | it's supposed to backend hotspot with llvm, but leave the dynamic optimizations of hotspot in place |
| 02:32:15 | headius | zero is the first half of the project, getting openjdk with no assembly, so they can start punting that to llvm |
| 02:32:21 | evan | oh right |
| 02:32:22 | evan | shark |
| 02:33:55 | rue | It might be there is still an issue with the R*->ptr, the only other symptom I see so far is that the constant SERVER_NAME is not being set |
| 02:34:02 | rue | The stack is pretty fucked though |
| 02:35:09 | rue | http://gist.github.com/87260 if you want to play along at home for fabulous prizes |
| 02:36:33 | macournoyer enters the room. | |
| 02:36:57 | evan | heh |
| 02:38:07 | evan | where is dbussink... |
| 02:41:07 | rue | Asleep? |
| 02:41:15 | evan | yes, probably. |
| 02:41:20 | rue | It is 04:40 |
| 02:41:33 | rue | If you remembered to turn your watch anyway |
| 02:41:36 | boyscout | Flesh out some missing capi code - 05489c8 - Evan Phoenix |
| 02:42:14 | evan | true |
| 02:42:20 | evan | ok, i'm going to play some ps3 now. |
| 02:42:21 | evan | bbiab. |
| 02:46:04 | boyscout | CI: 05489c8 success. 1427 files, 6935 examples, 23105 expectations, 0 failures, 0 errors |
| 02:54:04 | lopex leaves the room. | |
| 03:02:19 | rue | Well, good news is Rack runs on Mongrel too |
| 03:09:24 | headius | hah |
| 03:09:37 | headius | enebo says macruby-experimental produces a 25MB binary |
| 03:09:46 | headius | I hope that can be trimmed |
| 03:12:34 | imajes enters the room. | |
| 03:13:39 | tarcieri | man |
| 03:14:35 | tarcieri | looking at these Ruby DSLs... all based on blocks, heh |
| 03:14:47 | tarcieri | blocks allow you to represent nested structures without using objects |
| 03:15:15 | tarcieri | about to get them working, finally, ugh |
| 03:15:43 | headius | heheh |
| 03:15:48 | headius | got your new parsing logic in place? |
| 03:16:26 | tarcieri | I had to go through and manually change everywhere I defined or called functions, ugh |
| 03:16:41 | tarcieri | my old functions used raw Erlang arguments and were thus arity-sensitive |
| 03:16:58 | tarcieri | now I have an argument tuple as the first parameter and a block as the second |
| 03:17:13 | tarcieri | I needed to do that anyway for default arguments, keyword arguments, etc |
| 03:17:28 | tarcieri | it was not a fun change |
| 03:18:12 | tarcieri | arity-sensitive functions were one of those "I've never heard of that before Erlang" things |
| 03:18:21 | tarcieri | then I found out... Prolog! it came from prolog |
| 03:18:23 | tarcieri | of course |
| 03:20:33 | slava | java can overload functions on arity |
| 03:20:42 | rue | headius: Our 64-bit binary at least used to be huge, 20MiB or so |
| 03:21:03 | rue | Dunno if it still is |
| 03:21:20 | headius | I suppose this is a universal binary also |
| 03:23:57 | headius | math perf is pretty good |
| 03:25:00 | headius | better than jruby for fib |
| 03:25:11 | headius | sounds like they spent some time on that |
| 03:26:01 | slava | math perf of what? |
| 03:26:07 | headius | fib!! |
| 03:26:16 | tarcieri | slava: heh, guess so, the difference is in Erlang it's used practically everywhere, mostly as a cheap hack for default arguments |
| 03:26:17 | slava | what vm I mean |
| 03:26:22 | headius | macruby |
| 03:26:24 | slava | ah |
| 03:28:01 | headius | hmm, they've broken some stuff I expected |
| 03:33:43 | headius | lots of stuff is broken |
| 03:33:44 | headius | like binding |
| 03:37:59 | headius | man, String operations are super slow |
| 03:42:16 | brynary enters the room. | |
| 03:44:36 | evan | headius: i don't think they have a bunch of control working |
| 03:44:41 | evan | break/next etc in a block |
| 03:44:43 | evan | for instance |
| 03:44:50 | evan | i guess i could build it... |
| 03:44:52 | headius | well, they've totally busted eval and bindings too |
| 03:44:58 | evan | yep |
| 03:45:06 | headius | which are kinda the tricky part of optimizing |
| 03:45:06 | evan | and it won't work again until they make stuff slower |
| 03:45:16 | headius | ➔ ./miniruby -e "a = 1; eval 'a = 2'; puts a" |
| 03:45:17 | headius | 1 |
| 03:45:51 | headius | ➔ ./miniruby -e "binding" |
| 03:45:51 | headius | undefined local variable or method `binding' for #<TopLevel:0x1816b20> (NameError) |
| 03:45:53 | evan | they're lowering locals to LLVM directly |
| 03:45:56 | headius | yes |
| 03:46:17 | evan | i guess they're hoping that their autozone GC can pick things up properly |
| 03:46:57 | headius | so some low-level and math stuff is pretty fast |
| 03:47:12 | headius | but most core classes are really slow, and lots of stuff is broken |
| 03:47:27 | evan | i'll take a look at what they decided to use for math |
| 03:47:31 | evan | probably the same tricks I play |
| 03:47:39 | headius | some of these benches don't even seem like they're running |
| 03:47:49 | rue | Well, this IS like day 3 of the effort so could maybe cut them some slack ;) |
| 03:47:55 | headius | no slack |
| 03:47:58 | rue | Or him more aptly |
| 03:48:13 | evan | rue: it's actually more like month 3 |
| 03:48:15 | headius | they've been bragging how great it's going to be, so they have to stand up :) |
| 03:48:16 | evan | but still. |
| 03:49:07 | headius | lots more peephole opts |
| 03:49:18 | evan | yeah |
| 03:49:27 | evan | they've got a bunch of caching stuff I can see |
| 03:49:38 | evan | but I don't think they're caches have flushing |
| 03:50:58 | evan | which is... fun. |
| 03:51:03 | imajes leaves the room. | |
| 03:51:32 | headius | heheh |
| 03:51:38 | headius | well, it will keep things interesting :) |
| 03:51:45 | evan | yes, yes it does. |
| 03:51:46 | headius | a fast fork of ruby |
| 03:51:53 | evan | I don't mean to poo poo on their effort |
| 03:52:03 | evan | i really want to talk with them about what their architecture ideas are |
| 03:52:19 | evan | since AST => LLVM IR => machine code for every method, every time |
| 03:52:23 | evan | will be too much. |
| 03:52:29 | headius | hell, they haven't even implemented flip |
| 03:52:32 | evan | if they do it all as JIT |
| 03:52:39 | evan | OH NOES |
| 03:52:41 | evan | not flip! |
| 03:52:41 | evan | :( |
| 03:52:52 | evan | i don't think they actually have closures |
| 03:53:13 | evan | try create a block and access and change an outer variable |
| 03:53:25 | rue | Oh, duh, I bet it is exceptions again |
| 03:53:39 | headius | I did, the closure seems to work |
| 03:53:39 | slava | evan: what is flip? |
| 03:53:46 | evan | ah, ok. |
| 03:53:48 | headius | blocks as bindings don't work |
| 03:54:02 | evan | slava: this stupid ruby syntax |
| 03:54:07 | evan | that no one uses |
| 03:54:14 | evan | that is inherited from ack |
| 03:54:17 | evan | er. awk |
| 03:54:34 | evan | if i>0...i<10 |
| 03:54:36 | evan | puts "blah" |
| 03:54:40 | evan | i += 1 |
| 03:54:41 | evan | end |
| 03:54:44 | evan | it's stupid |
| 03:55:46 | evan | well, it's dinner time. |
| 03:55:47 | slava | ...? man |
| 03:55:56 | slava | what are the semantics? |
| 03:55:58 | headius | hmm |
| 03:56:18 | headius | evan: actually I'm having some trouble with closures now |
| 03:56:47 | evan | color me unsurprised |
| 03:57:53 | headius | ➔ ./miniruby -e "a = 1; 1.times { 1.times { p a } }" |
| 03:57:54 | headius | nil |
| 03:58:01 | headius | inside a single block it's ok |
| 03:58:09 | evan | what about doing |
| 03:58:11 | evan | a = 2 |
| 03:58:14 | evan | then p a |
| 03:58:15 | evan | after |
| 03:58:16 | headius | ➔ ./miniruby -e "a = 1; 1.times { p a; 1.times { p a } }" |
| 03:58:16 | headius | 1 |
| 03:58:17 | headius | 1 |
| 03:58:23 | headius | weird |
| 03:58:35 | evan | ok, dinner. |
| 03:58:41 | headius | ➔ ./miniruby -e "a = 1; 1.times { p a; 1.times { p a; a = 2 } }; p a" |
| 03:58:41 | headius | 1 |
| 03:58:42 | headius | 1 |
| 03:58:42 | headius | 2 |
| 03:58:58 | headius | it's doing static inspection |
| 03:59:00 | headius | but not going all the way down |
| 03:59:08 | headius | and not considering that blocks can be used as a binding |
| 03:59:13 | asap18 leaves the room. | |
| 03:59:32 | headius | I have the same optimization in some disabled jruby code |
| 04:00:13 | macournoyer leaves the room. | |
| 04:01:42 | macournoyer enters the room. | |
| 04:07:22 | slava | do any dynamic languages have test coverage tools? |
| 04:08:15 | rue | There is rcov |
| 04:10:31 | tarcieri | slava: Erlang has coverage analysis |
| 04:10:35 | rue | slava: The flipflop is ridiculous, the first condition is "on" and the second is "off" |
| 04:11:08 | macournoyer | headius: what VM are you talking about? |
| 04:11:14 | headius | macruby |
| 04:11:21 | headius | they opened up their llvm work today |
| 04:11:50 | macournoyer | ah ok just saw the post |
| 04:13:29 | headius | yup yup |
| 04:13:40 | headius | looks like it's pretty fast on some low-level vm stuff, math, local vars, etc |
| 04:14:15 | macournoyer | probably, it's all jited |
| 04:16:00 | headius | heh, it blew up during an eval bench |
| 04:16:08 | headius | Implicit binding (short) JIT: Ran out of space for generated machine code! |
| 04:16:25 | headius | never returned a result |
| 04:18:19 | tarcieri | haha |
| 04:18:38 | rue | slava: It maintains its own state, so it is usually in loops.. you could e.g. have every third line in a file toggle it on and any other off to print every third line only |
| 04:20:30 | headius | on real heap variables it doesn't appear to be faster than jruby |
| 04:20:46 | headius | that static inspection is going to burn them though |
| 04:44:10 | macournoyer leaves the room. | |
| 04:55:04 | nari enters the room. | |
| 05:06:18 | headius leaves the room. | |
| 05:13:16 | headius enters the room. | |
| 05:32:21 | binary42 enters the room. | |
| 05:35:05 | postmodern leaves the room. | |
| 05:39:50 | jicksta leaves the room. | |
| 05:40:12 | antares_ enters the room. | |
| 05:58:59 | joearnold leaves the room. | |
| 06:08:33 | binary42 leaves the room. | |
| 06:34:47 | qbproger_ leaves the room. | |
| 06:53:17 | headius leaves the room. | |
| 07:13:23 | nari leaves the room. | |
| 07:39:47 | joachimm enters the room. | |
| 07:49:28 | imajes enters the room. | |
| 08:06:21 | joachimm leaves the room. | |
| 08:23:05 | brynary leaves the room. | |
| 08:27:40 | sunblush leaves the room. | |
| 08:36:33 | lstoll leaves the room. | |
| 08:39:12 | headius enters the room. | |
| 08:43:58 | tongueroo leaves the room. | |
| 08:46:49 | stepheneb leaves the room. | |
| 08:49:18 | tongueroo enters the room. | |
| 09:01:15 | asap18 enters the room. | |
| 09:05:33 | brixen | the capi handle scheme is fundamentally broken atm |
| 09:05:55 | brixen | due to rb_intern |
| 09:05:58 | evan | oh? |
| 09:06:01 | evan | whats wrong |
| 09:06:02 | evan | ? |
| 09:06:08 | brixen | the quick fix is to get handles for symbols |
| 09:06:19 | brixen | rb_intern return the symbol recast as an id |
| 09:06:28 | brixen | later in eg rb_funcall that is put in an array |
| 09:06:36 | brixen | even later, get_object is called on it |
| 09:06:47 | brixen | I have a scheme that uses tagged values instead |
| 09:07:01 | brixen | and can pass Symbol and Fixnum straight through |
| 09:07:26 | evan | well |
| 09:07:29 | evan | ah |
| 09:07:32 | evan | i gotcha |
| 09:07:33 | brixen | if we get handles for ID's also, it will break the equality in C extensions |
| 09:07:42 | brixen | this will be better I think |
| 09:07:47 | evan | passing a VALUE for a Symbol to get_object == fail |
| 09:07:53 | brixen | yes |
| 09:08:01 | mutle_ enters the room. | |
| 09:08:01 | evan | just ditch the recast |
| 09:08:06 | evan | create handles for Symbols |
| 09:08:12 | evan | well |
| 09:08:20 | evan | i guess the worry there is people cast the Symbol to an ID |
| 09:08:20 | brixen | well, like I say, then you don't have symbol equality |
| 09:08:26 | evan | and store it into a static ID |
| 09:08:30 | brixen | yeah |
| 09:08:38 | evan | ok |
| 09:08:42 | brixen | this tagged value scheme works |
| 09:08:42 | evan | so |
| 09:08:50 | evan | yeah, lets just add tagging |
| 09:09:05 | brixen | I'll push it tomorrow, have to crash |
| 09:09:05 | evan | that way we can tell the difference between local and global handles easier |
| 09:09:12 | evan | no need for the negative 'magic' |
| 09:09:17 | brixen | breakfast with mom and nephew at 8am |
| 09:09:20 | brixen | yeah, exactly |
| 09:09:20 | evan | just a tag bit for a global handle |
| 09:09:25 | brixen | yep |
| 09:09:27 | evan | did you implement the tagging? |
| 09:09:31 | brixen | yah |
| 09:09:33 | brixen | sec.. |
| 09:09:33 | evan | sweetness |
| 09:09:35 | evan | good job. |
| 09:09:57 | brixen | something is broken atm, but I'm mushy headed right now |
| 09:10:02 | evan | get some sleep |
| 09:10:02 | brixen | I'll pastie this.. |
| 09:10:05 | evan | k |
| 09:10:36 | brixen | http://pastie.org/430344 |
| 09:10:51 | brixen | so, 110 is still a symbol |
| 09:11:10 | brixen | 010 is the tag for handles and immediates/bools |
| 09:11:36 | brixen | 01010 is global, 11010 is non-global handles |
| 09:11:49 | evan | ah |
| 09:11:50 | brixen | Qfalse stays 0 |
| 09:11:58 | evan | you used the same tag scheme we use in oop.hpp then? |
| 09:12:15 | brixen | yeah, so fixnum and symbol can go through |
| 09:12:28 | evan | AH |
| 09:12:31 | evan | makes sense |
| 09:12:34 | evan | sounds good! |
| 09:12:44 | brixen | k |
| 09:13:29 | brixen | refresh the pastie, added nativemethod.cpp |
| 09:13:53 | brixen | there's a mistake somewhere, but I'll track it down |
| 09:14:21 | brixen | do you have a better way to do the get_object/handle than the if else? |
| 09:14:31 | brixen | I could do a switch |
| 09:14:36 | evan | very nice |
| 09:14:40 | brixen | oh not |
| 09:14:52 | brixen | cus I use obj->symbol_p() etc |
| 09:15:01 | evan | right |
| 09:15:02 | brixen | that's why I didn't use a switch |
| 09:15:04 | evan | there is a way |
| 09:15:10 | evan | but it's more complicated |
| 09:15:12 | evan | this is fine |
| 09:15:17 | brixen | ok, sweet |
| 09:15:52 | brixen | well, nite! |
| 09:16:08 | imajes leaves the room. | |
| 09:16:12 | evan | nite! |
| 09:21:19 | imajes enters the room. | |
| 09:24:58 | mutle leaves the room. | |
| 09:53:48 | headius leaves the room. | |
| 10:06:11 | dbussink | rue: see there is some brokenness in do_sqlite3? |
| 10:06:17 | dbussink | i'll fix that up then |
| 10:18:43 | chris2 enters the room. | |
| 10:21:46 | SoreGums- leaves the room. | |
| 10:34:25 | tilman | rue: you added rb_ary_new2 (and rb_ary_new4) to subtend^Wcapi, right? why do you have those create an array twice as large as requested by the caller? i think just using the requested size is a better idea |
| 10:45:13 | bitsweat leaves the room. | |
| 11:04:12 | tongueroo leaves the room. | |
| 11:05:52 | Maledictus enters the room. | |
| 11:31:14 | nari enters the room. | |
| 11:32:55 | chris2 leaves the room. | |
| 11:33:20 | chris2 enters the room. | |
| 11:33:37 | chris2 leaves the room. | |
| 11:34:08 | chris2 enters the room. | |
| 11:58:39 | imajes leaves the room. | |
| 12:10:49 | antares__ enters the room. | |
| 12:11:02 | sunblush enters the room. | |
| 12:12:14 | antares___ enters the room. | |
| 12:15:53 | antares____ enters the room. | |
| 12:27:18 | antares_ leaves the room. | |
| 12:29:10 | antares__ leaves the room. | |
| 12:31:16 | antares___ leaves the room. | |
| 12:35:41 | lopex enters the room. | |
| 13:12:21 | joachimm enters the room. | |
| 13:29:01 | boyscout | Use Tuple#at instead of Array#at in Array#pop. - 3e5c0a2 - Tilman Sauerbeck |
| 13:29:01 | boyscout | rb_ary_new2() creates empty arrays. - 4e1293a - Tilman Sauerbeck |
| 13:29:36 | asap18 leaves the room. | |
| 13:33:05 | boyscout | CI: 4e1293a success. 1427 files, 6935 examples, 23105 expectations, 0 failures, 0 errors |
| 14:27:31 | asap18 enters the room. | |
| 14:38:54 | qbproger enters the room. | |
| 15:00:23 | jicksta enters the room. | |
| 15:14:10 | akshay enters the room. | |
| 15:16:29 | botanicus enters the room. | |
| 15:23:34 | akshay leaves the room. | |
| 15:23:46 | akshay enters the room. | |
| 15:35:23 | joearnold enters the room. | |
| 15:40:02 | botanicus leaves the room. | |
| 15:49:16 | danlucraft enters the room. | |
| 15:51:02 | chris2 leaves the room. | |
| 16:00:06 | joearnold leaves the room. | |
| 16:30:06 | binary42 enters the room. | |
| 16:42:33 | rue | tilman: Those are probably similar to MRI to have extra reserve capacity, do not recall. |
| 16:44:20 | tilman | rue: i checked ruby 1.8.7 yesterday; it doesn't do that |
| 16:54:49 | antares_ leaves the room. | |
| 17:12:55 | headius enters the room. | |
| 17:21:58 | macournoyer enters the room. | |
| 17:31:27 | shoe leaves the room. | |
| 17:37:57 | brynary enters the room. | |
| 17:50:58 | shoe enters the room. | |
| 17:54:12 | nari leaves the room. | |
| 18:16:20 | sunblush leaves the room. | |
| 18:17:59 | headius leaves the room. | |
| 18:21:48 | kongmi enters the room. | |
| 18:23:32 | macournoyer leaves the room. | |
| 18:52:25 | naeu enters the room. | |
| 19:09:37 | kongmi leaves the room. | |
| 19:21:05 | akshay enters the room. | |
| 19:29:38 | libc_ leaves the room. | |
| 19:29:38 | kronos_vano leaves the room. | |
| 19:37:31 | headius enters the room. | |
| 19:38:22 | libc_ enters the room. | |
| 19:38:35 | kronos_vano enters the room. | |
| 19:41:54 | imajes enters the room. | |
| 19:58:30 | brynary leaves the room. | |
| 19:59:34 | chris2 enters the room. | |
| 20:07:49 | evan | dbussink: poke |
| 20:08:06 | dbussink | evan: g'day |
| 20:08:21 | dbussink | evan: saw the remark on do_sqlite3, already fixed the redefinition of rb_cTime |
| 20:08:23 | evan | if you fix one bug in do_sqlite3, it will compile (and hopefully run) |
| 20:08:26 | evan | yay |
| 20:08:43 | evan | did you just remove the rb_cTime = CONST... |
| 20:08:45 | evan | ? |
| 20:08:48 | dbussink | yeah |
| 20:08:54 | evan | cool! |
| 20:09:02 | dbussink | in mri it probably results in the same object being set |
| 20:09:04 | evan | did you push out a new gem? |
| 20:09:06 | evan | yeah |
| 20:09:08 | evan | it does |
| 20:09:13 | dbussink | no, not yet |
| 20:09:19 | evan | in rubinius though, rb_cTime expands to be a function call |
| 20:09:28 | evan | ok, well, let me know when you do |
| 20:09:31 | dbussink | probably will release a new version somewhere in the near future |
| 20:09:32 | evan | i want to try it out |
| 20:09:40 | evan | or |
| 20:09:46 | dbussink | i can make you a gem if you want |
| 20:09:46 | evan | tell me how to create a gem from the checkout |
| 20:09:48 | evan | i tried |
| 20:09:49 | evan | rake package |
| 20:09:53 | evan | and it didn't work |
| 20:10:03 | dbussink | clone it, switch to next branch and do rake gem |
| 20:10:21 | dbussink | you might also need data_objects from the next branch |
| 20:10:31 | evan | next branch? |
| 20:10:43 | dbussink | github.com/datamapper/do.git |
| 20:10:52 | dbussink | my clone is probably an old one |
| 20:11:32 | evan | ah ok. |
| 20:11:43 | evan | where is do_sqlite3? |
| 20:12:20 | dbussink | http://github.com/datamapper/do/tree/master |
| 20:12:41 | dbussink | contains the generic data_objects gem and the drivers for different rdbms |
| 20:14:02 | evan | ah |
| 20:14:14 | evan | your do_sqlite3 one isn't the one to use then? |
| 20:14:43 | dbussink | this is the official repo, i'm maintaining these so i mainly work in this repo |
| 20:15:24 | dbussink | my clone is probably way older before this was all moved under datamapper/ account |
| 20:15:31 | dbussink | btw, anyone in here going to euruko? |
| 20:17:13 | brixen | I wish I were going |
| 20:17:34 | brixen | maybe after 1.0 I will go on evangelism trips to eu :) |
| 20:18:47 | dbussink | brixen: barcelona is really nice :) |
| 20:19:05 | evan | dbussink: so you feel like the do drivers are better than the existing ones? |
| 20:19:51 | brynary enters the room. | |
| 20:20:09 | dbussink | evan: they provide a standard api and are more actively maintained |
| 20:20:27 | dbussink | evan: standard database api like perl::dbi, jdbc, ado.net, etc. |
| 20:21:12 | evan | dbussink: do i need a specific version of extlib? |
| 20:21:46 | dbussink | evan: hmm, might also need datamapper/extlib next branch |
| 20:21:55 | dbussink | that one i know works at least |
| 20:22:10 | brixen | dbussink: did you apply my patch to extlib? |
| 20:22:19 | dbussink | brixen: yeah, that's in |
| 20:22:24 | brixen | ok good |
| 20:22:34 | boyscout | Made rb_ary_new4() copy the provided elements to the new array. - 64a3bc1 - Tilman Sauerbeck |
| 20:22:38 | dbussink | brixen: afaik you should have been notified of that through LH |
| 20:22:56 | evan | dbussink: i'm confused |
| 20:22:56 | brixen | dbussink: yeah, I thought I would have, but never saw the email |
| 20:23:00 | brixen | and lost the ticket # |
| 20:23:02 | evan | i shouldn't be using master? |
| 20:23:07 | evan | it says it's 0.9.12 |
| 20:23:41 | brixen | tilman: there's an issue with handles in capi that I'm fixing atm |
| 20:23:48 | brixen | tilman: just fyi |
| 20:23:58 | tilman | brixen: yeah, i hit that earlier today :D |
| 20:24:00 | dbussink | brixen: http://extlib.lighthouseapp.com/projects/15339/tickets/7-adding-proxy-methods-in-lazy_arrayrb-does nt-account-for-assignment-methods#ticket-7-3 |
| 20:24:03 | brixen | you will get bus errors on some stuff till this is fixed |
| 20:24:35 | brixen | dbussink: ahh thanks |
| 20:24:43 | rue | tilman: There is probably no particular reason to keep it |
| 20:25:01 | tilman | rue: keep what? the length * 2? |
| 20:25:44 | dbussink | evan: ah, well master probably works too |
| 20:25:51 | dbussink | evan: but i know for sure next does |
| 20:25:53 | rue | dbussink: I will be in Barcelona that week, but do not have a conference ticket |
| 20:26:32 | boyscout | CI: 64a3bc1 success. 1427 files, 6935 examples, 23105 expectations, 0 failures, 0 errors |
| 20:26:59 | dbussink | evan: but a new extlib is also about to be released |
| 20:27:16 | evan | dbussink: rather than futz with it |
| 20:27:21 | evan | i'm just going to wait until you release new gems. |
| 20:27:57 | dbussink | evan: ok, i might test a bit myself then before releasing |
| 20:28:05 | dbussink | if there are any similar small changes i need to make |
| 20:29:04 | dbussink | brixen: looks like extlib passes the specs with rubinius now |
| 20:29:14 | brixen | dbussink: excellent |
| 20:29:48 | dbussink | brixen: but that's someone else running it though, so not first hand, but i'm going to verify it |
| 20:30:33 | brixen | ok |
| 20:30:44 | dbussink | looks like datamapper in memory adapter is running all specs ok with rubinius |
| 20:34:33 | stepheneb enters the room. | |
| 20:38:19 | rue | Think that is inherited stuff |
| 20:38:55 | rue | tilman: Yeah. Can devise a reserve strategy for Array itself |
| 20:39:27 | rue | Although I thought that was already done at some point |
| 20:42:38 | rue | dbussink: You making the trip? |
| 20:44:44 | tilman | rue: k, i'll kick it out |
| 20:46:05 | dbussink | rue: yeah, presenting on data_objects too |
| 20:46:55 | rue | dbussink: Cool |
| 20:47:19 | rue | Will definitely make time for a coffee.rb or whatever |
| 20:48:05 | rue | Might hit the conf if any seats become available but I figure I will probably be sitting at G??ell watching the sea instead |
| 20:48:35 | dbussink | rue: hehe, also a nice thing to do :) |
| 20:54:41 | rue | brixen: Do you think the Rack::Lint + Mongrel crash I saw was related to the handle issue or was it something else you ran into? |
| 20:55:51 | dbussink | evan: just installed do_sqlite3 here locally :) |
| 20:56:47 | rue | Is anyone else seeing improvement in gem installs, or did the sysread just help me past whatever issue it was I was running into? |
| 20:56:48 | brixen | rue: dunno |
| 20:57:47 | brixen | it's a little pointless to push too hard on capi till I fix this though |
| 20:57:51 | dbussink | evan: and i've hit the first issue |
| 20:58:16 | dbussink | > class ByteArray < String; end |
| 20:58:21 | dbussink | TypeError: Superclass mismatch: Object != String |
| 20:58:29 | brixen | anything that does an rb_funcall with an rb_intern("blah") call will bus error |
| 20:58:33 | stepheneb leaves the room. | |
| 20:58:43 | rue | Ah, yes, that could be bad |
| 20:58:46 | brixen | ugh |
| 20:58:57 | dbussink | brixen: that's a pretty common use case yeah |
| 20:58:58 | rue | dbussink: We have a ByteArray.. it is not namespaced for you? |
| 20:59:02 | brixen | dbussink: who named that class :P |
| 20:59:16 | dbussink | ah, someone who wrote a patch for it |
| 20:59:19 | libc | evan, http://pastie.org/430710 should I move coerce_into_array to Array, or Rubinius module is ok? (actual implementation line 95-100) |
| 20:59:21 | dbussink | i didn't really consider it a lot |
| 20:59:24 | stepheneb enters the room. | |
| 20:59:33 | dbussink | brixen: but ByteArray isn't in the Rubinius namespace? |
| 20:59:40 | brixen | not atm |
| 21:00:21 | dbussink | ah ok, well, this one exists to be able to tell the difference between binary data and a string for rdbms backends |
| 21:00:30 | dbussink | because it needs to be quoted differently etc. |
| 21:00:33 | rue | libc_: Hm, you are working around something where Tuples and Arrays are used interspersed? |
| 21:01:07 | libc | rue, I pass Tuples down to cast_array operation |
| 21:01:28 | rue | Would it not be better to make everything use either-or? |
| 21:02:04 | brixen | dbussink: we should probably namespace all our non-MRI classes in core |
| 21:02:12 | brixen | dbussink: we've done some of them |
| 21:02:20 | tarcieri | hey brixen |
| 21:02:26 | brixen | hey tarcieri |
| 21:02:28 | tarcieri | does mspec need instance_eval? |
| 21:02:34 | brixen | yes |
| 21:02:38 | tarcieri | yeah thought so |
| 21:02:39 | tarcieri | heh |
| 21:02:39 | brixen | it uses it rather |
| 21:02:55 | brixen | you can get 99% of the way there with block.call |
| 21:02:59 | libc | rue, There're some places with cast_array left |
| 21:03:08 | tarcieri | doesn't have that either :/ |
| 21:03:13 | explody leaves the room. | |
| 21:03:13 | ko1_away leaves the room. | |
| 21:03:13 | brixen | heh |
| 21:03:15 | tarcieri | err |
| 21:03:17 | tarcieri | well I do |
| 21:03:20 | dbussink | brixen: seems like a good idea yeah to prevent more clashes |
| 21:03:22 | tarcieri | with the Python-style syntax |
| 21:03:27 | brixen | dbussink: agreed |
| 21:03:45 | libc | rue, ok, I'll try to remove it entirely |
| 21:03:46 | explody enters the room. | |
| 21:05:31 | rue | Hm, well, Rack + Mongrel is considerably faster than the CGI route :P |
| 21:06:00 | ko1_away enters the room. | |
| 21:12:59 | rue | Serving the env output is ~172ms/request for rbx, ~162ms/request for MRI |
| 21:14:16 | yipstar leaves the room. | |
| 21:20:08 | evan | libc_: no! |
| 21:20:10 | evan | don't do that |
| 21:20:11 | evan | please |
| 21:20:47 | evan | that will impact performance a lot |
| 21:21:32 | headius | do it!! |
| 21:21:44 | evan | libc_: you should just have the cast_array instruction call out to a method if it has to |
| 21:22:19 | evan | libc_: i'm headed out for a while, but please do not commit this |
| 21:22:32 | evan | until we've talked about it |
| 21:32:45 | tilman | brixen: hum. i cannot run capi/array_spec anymore. my two last array fixes don't seem to be responsible though |
| 21:37:20 | brixen | tilman: well, why don't you wait till I fix this |
| 21:37:32 | brixen | dunno why we're clustering in capi |
| 21:37:34 | macournoyer enters the room. | |
| 21:37:40 | brixen | there's a ton of other failing specs |
| 21:38:16 | tilman | i just noticed two obvious and easy bugs |
| 21:38:25 | tilman | which i tested in isolation and with the specs |
| 21:38:26 | brixen | that's cool |
| 21:39:26 | brixen | tilman: you could try going back a few commits and seeing if that helps |
| 21:39:52 | brixen | I don't yet have a grasp of why my handle-to-tags is failing either |
| 21:39:53 | tilman | i did that with the few commits of today |
| 21:40:05 | tilman | i'll go to bed soonish and i don't have time for a longer bisect run :P |
| 21:40:11 | brixen | k |
| 21:40:20 | tilman | brixen: i just wanted to give you a heads up. if you see anything new and weird, it's probably my fault |
| 21:40:27 | joearnold enters the room. | |
| 21:40:35 | brixen | well, I doubt it's your fault |
| 21:41:19 | brixen | I'll do a quick check |
| 21:42:01 | febeling enters the room. | |
| 21:48:40 | macournoyer leaves the room. | |
| 21:49:44 | brixen | tilman: I just pulled, they seem to run the same for me |
| 21:49:52 | brixen | tilman: what platform or you on? |
| 21:51:08 | brixen | s/or/are/ |
| 21:52:02 | tilman | linux, x86 |
| 21:52:16 | tilman | maybe my build is just messed up |
| 21:53:11 | brixen | checking on ubuntu 32bit now |
| 21:56:22 | brixen | seems ok to me |
| 21:57:40 | tilman | it's the DLEXT confusion again |
| 21:58:24 | tilman | brixen: see line 26 of rakelib/configure.rake |
| 21:58:45 | tilman | asdf |
| 21:58:47 | tilman | hang on |
| 21:59:45 | tilman | line 27 on the tip of master |
| 22:00:03 | tilman | are lines 171..175 really correct? :p |
| 22:00:28 | tilman | in any case there should be only one assignment to DLEXT there |
| 22:05:21 | libc_ leaves the room. | |
| 22:05:21 | ice799 leaves the room. | |
| 22:05:21 | naeu leaves the room. | |
| 22:05:21 | joachimm leaves the room. | |
| 22:05:21 | benny leaves the room. | |
| 22:05:21 | tarcieri leaves the room. | |
| 22:05:21 | jammi leaves the room. | |
| 22:05:21 | adelcambre leaves the room. | |
| 22:05:21 | corundum leaves the room. | |
| 22:05:21 | octopod leaves the room. | |
| 22:05:21 | jp_tix leaves the room. | |
| 22:05:21 | pastie leaves the room. | |
| 22:05:21 | matthewd leaves the room. | |
| 22:05:21 | wycats_afk leaves the room. | |
| 22:05:21 | danlucraft leaves the room. | |
| 22:05:21 | brixen leaves the room. | |
| 22:05:21 | gnufied leaves the room. | |
| 22:05:21 | dgtized leaves the room. | |
| 22:05:21 | Defiler leaves the room. | |
| 22:05:21 | dbussink leaves the room. | |
| 22:05:21 | flori_ leaves the room. | |
| 22:05:21 | skaar leaves the room. | |
| 22:05:21 | Ingmar leaves the room. | |
| 22:05:21 | ko1_away leaves the room. | |
| 22:05:21 | chris2 leaves the room. | |
| 22:05:21 | SoreGums leaves the room. | |
| 22:05:21 | rue leaves the room. | |
| 22:05:21 | kronos_vano leaves the room. | |
| 22:05:21 | qbproger leaves the room. | |
| 22:05:21 | rudebwoy leaves the room. | |
| 22:05:21 | jero5 leaves the room. | |
| 22:05:21 | tilman leaves the room. | |
| 22:05:21 | joearnold leaves the room. | |
| 22:05:21 | febeling leaves the room. | |
| 22:05:21 | stepheneb leaves the room. | |
| 22:05:21 | brynary leaves the room. | |
| 22:05:21 | Maledictus leaves the room. | |
| 22:05:21 | mutle_ leaves the room. | |
| 22:05:21 | manveru leaves the room. | |
| 22:05:21 | asap18 leaves the room. | |
| 22:05:21 | lopex leaves the room. | |
| 22:05:21 | djwhitt leaves the room. | |
| 22:05:21 | dgfitch leaves the room. | |
| 22:05:21 | nemerle leaves the room. | |
| 22:05:21 | rue_XIV leaves the room. | |
| 22:05:21 | yuguiaway leaves the room. | |
| 22:05:21 | cored leaves the room. | |
| 22:05:21 | ddub leaves the room. | |
| 22:05:21 | cout leaves the room. | |
| 22:05:21 | cyndis leaves the room. | |
| 22:05:21 | stormbrew leaves the room. | |
| 22:05:21 | evan leaves the room. | |
| 22:05:21 | explody leaves the room. | |
| 22:05:21 | shoe leaves the room. | |
| 22:05:21 | binary42 leaves the room. | |
| 22:05:21 | loop leaves the room. | |
| 22:05:21 | boyscout leaves the room. | |
| 22:05:21 | hoopy leaves the room. | |
| 22:05:21 | drbrain leaves the room. | |
| 22:07:42 | febeling enters the room. | |
| 22:07:42 | joearnold enters the room. | |
| 22:07:42 | ko1_away enters the room. | |
| 22:07:42 | explody enters the room. | |
| 22:07:42 | stepheneb enters the room. | |
| 22:07:42 | brynary enters the room. | |
| 22:07:42 | chris2 enters the room. | |
| 22:07:42 | kronos_vano enters the room. | |
| 22:07:42 | libc_ enters the room. | |
| 22:07:42 | naeu enters the room. | |
| 22:07:42 | shoe enters the room. | |
| 22:07:42 | binary42 enters the room. | |
| 22:07:42 | danlucraft enters the room. | |
| 22:07:42 | qbproger enters the room. | |
| 22:07:42 | asap18 enters the room. | |
| 22:07:42 | joachimm enters the room. | |
| 22:07:42 | lopex enters the room. | |
| 22:07:42 | Maledictus enters the room. | |
| 22:07:42 | benny enters the room. | |
| 22:07:42 | mutle_ enters the room. | |
| 22:07:42 | nemerle enters the room. | |
| 22:07:42 | cored enters the room. | |
| 22:07:42 | rudebwoy enters the room. | |
| 22:07:42 | gnufied enters the room. | |
| 22:07:42 | ice799 enters the room. | |
| 22:07:42 | djwhitt enters the room. | |
| 22:07:42 | jero5 enters the room. | |
| 22:07:42 | dgfitch enters the room. | |
| 22:07:42 | skaar enters the room. | |
| 22:07:42 | ddub enters the room. | |
| 22:07:42 | brixen enters the room. | |
| 22:07:42 | rue enters the room. | |
| 22:07:42 | loop enters the room. | |
| 22:07:42 | evan enters the room. | |
| 22:07:42 | yuguiaway enters the room. | |
| 22:07:42 | stormbrew enters the room. | |
| 22:07:42 | cyndis enters the room. | |
| 22:07:42 | Ingmar enters the room. | |
| 22:07:42 | tilman enters the room. | |
| 22:07:42 | rue_XIV enters the room. | |
| 22:07:42 | dbussink enters the room. | |
| 22:07:42 | flori_ enters the room. | |
| 22:07:42 | SoreGums enters the room. | |
| 22:07:42 | hoopy enters the room. | |
| 22:07:42 | drbrain enters the room. | |
| 22:07:42 | boyscout enters the room. | |
| 22:07:42 | adelcambre enters the room. | |
| 22:07:42 | octopod enters the room. | |
| 22:07:42 | matthewd enters the room. | |
| 22:07:42 | jp_tix enters the room. | |
| 22:07:42 | pastie enters the room. | |
| 22:07:42 | wycats_afk enters the room. | |
| 22:07:42 | corundum enters the room. | |
| 22:07:42 | jammi enters the room. | |
| 22:07:42 | tarcieri enters the room. | |
| 22:07:42 | cout enters the room. | |
| 22:07:42 | manveru enters the room. | |
| 22:07:42 | Defiler enters the room. | |
| 22:07:42 | dgtized enters the room. | |
| 22:08:36 | hoopy leaves the room. | |
| 22:09:52 | hoopy enters the room. | |
| 22:18:00 | Keltia leaves the room. | |
| 22:18:00 | Keltia__ enters the room. | |
| 22:18:00 | brixen | tilman: but make sure the '.' doesn't mess up mkmf |
| 22:18:00 | brixen | actually, should remove the '.' to be consistent with mri rbconfig |
| 22:18:00 | tilman | yes, i noticed that, too |
| 22:18:00 | tilman | i don't want to push more stuff until i get this working again though |
| 22:18:00 | brixen | ok |
| 22:18:00 | brixen | I'm in the same boat :) |
| 22:18:18 | jicksta leaves the room. | |
| 22:23:55 | imajes leaves the room. | |
| 22:44:20 | jicksta enters the room. | |
| 22:53:15 | naeu leaves the room. | |
| 23:00:03 | imajes enters the room. | |
| 23:13:56 | Maledictus leaves the room. | |
| 23:14:29 | febeling leaves the room. | |
| 23:25:15 | brynary leaves the room. | |
| 23:38:55 | joearnold leaves the room. | |
| 23:51:26 | brynary enters the room. | |
| 23:51:32 | brynary leaves the room. | |
| 23:51:32 | brynary enters the room. | |
| 23:51:32 | stepheneb leaves the room. | |
| 23:51:32 | brynary leaves the room. | |
| 23:55:24 | jicksta leaves the room. | |
| 23:55:48 | yipstar enters the room. | |
| 23:58:26 | asap18 leaves the room. |