IRC logs of #shogun for Saturday, 2011-07-30

--- Log opened Sat Jul 30 00:00:52 2011
CIA-87shogun: Sergey Lisitsyn master * r518360d / src/shogun/mathematics/lapack.cpp : Added forgotten DGETRS define - https://github.com/shogun-toolbox/shogun/commit/518360dc4d92852aa2f31dd986f902f98b309ba400:59
-!- blackburn [~blackburn@109.226.104.206] has quit [Quit: Leaving.]01:06
-!- f-x [~user@117.192.206.212] has joined #shogun07:03
-!- f-x [~user@117.192.206.212] has quit [Remote host closed the connection]08:22
-!- gsomix [~gsomix@95.67.178.232] has joined #shogun10:07
gsomixhi10:07
-!- f-x [~user@117.192.206.212] has joined #shogun10:44
-!- gsomix [~gsomix@95.67.178.232] has quit [Quit: Ухожу я от вас (xchat 2.4.5 или старше)]11:16
-!- f-x [~user@117.192.206.212] has quit [Ping timeout: 260 seconds]11:45
@sonney2kalesis-novik, around? f-x has found a few bugs in your code that cause compile errors on newer gcc's.11:52
-!- f-x [~user@117.192.192.42] has joined #shogun12:23
-!- in3xes_ [~in3xes@180.149.49.227] has joined #shogun12:42
-!- in3xes [~in3xes@180.149.49.227] has quit [Remote host closed the connection]12:43
-!- in3xes_ is now known as in3xes12:43
-!- in3xes_ [~in3xes@180.149.49.227] has joined #shogun13:03
-!- in3xes [~in3xes@180.149.49.227] has quit [Ping timeout: 240 seconds]13:06
-!- in3xes_ is now known as in3xes13:10
-!- f-x [~user@117.192.192.42] has quit [Remote host closed the connection]13:35
serialhexsonney2k: are you around?13:50
-!- blackburn [~blackburn@109.226.104.206] has joined #shogun13:50
serialhexhey blackburn, whats up?13:51
blackburnserialhex: hi, just woke up hehe13:52
blackburnhow are you?13:52
serialhexyeah, i need to strart getting ready for work13:52
serialhexpretty good13:52
serialhextrying to figure out why this isn't working and soeren isn't here apparently :(13:52
serialhex...and i think i just found the culprit...13:55
blackburnruby things?13:55
serialhexno, configure things13:55
serialhexthat lead to ruby things :P13:55
blackburnI guess I have to work on java examples today.. pheew13:55
serialhexi'm trying to get the configure script to find my install of narray & play with everything nicely, and it hasn't been, but i think i've figured out why13:56
blackburnwhat is narray?13:57
blackburnsome numpy analogue?13:57
serialhexyes, exactly13:58
serialhexand since apt-get installs it somewhere different from rubygems (the ruby package manager) i need to prepare for both cases :P13:58
blackburnuh bad practice13:59
blackburnI got some similar thing with atlas earlier13:59
blackburnbut it isn't here anymore13:59
serialhexniiice :D14:00
blackburnserialhex: is there any plotting library like matplotlib, for ruby?14:00
serialhexnot that i'm aware of unfortunately14:01
serialhexthere are a number of graphics libraries, but none for plotting i don't think :(14:01
blackburnhehe and how ruby folks do some fancy graphics?14:01
blackburnI see14:01
@bettyboo:)14:01
serialhexok, this is stupid bizzare....14:03
serialhexok, how do you get echo to evaluate a function instead of treating it like a string??14:05
serialhexblackburn ^?14:05
blackburneh?14:06
serialhexin the configure script, i want to see what a function actually returns, and not simply return that i typed in14:06
blackburnno idea14:07
serialhexhmm... ok14:08
serialhexwell, i'm gonna get ready for work, i'll talk to ya later!14:08
blackburnlater14:11
-!- in3xes_ [~in3xes@180.149.49.227] has joined #shogun15:10
-!- in3xes [~in3xes@180.149.49.227] has quit [Ping timeout: 276 seconds]15:14
CIA-87shogun: Sergey Lisitsyn master * r5f40ecc / (2 files): Improved ARPACK wrapper doc - https://github.com/shogun-toolbox/shogun/commit/5f40ecc94d7970081f9fa5da70cc58ba6fccb8e615:41
CIA-87shogun: Sergey Lisitsyn master * rcbb8d24 / (2 files): Fixed regularization in LLE null-space routine, added posdef option - https://github.com/shogun-toolbox/shogun/commit/cbb8d246c4ce604ad523f7f808257fed51b0f0fd15:41
alesis-noviksonney2k, what are the bugs?16:19
alesis-novikI found the issue on github.16:27
@sonney2kalesis-novik, use vector_destroy()!16:30
alesis-novikYeah, when I was writing it I don't remember there being a vector_destroy. I'll check it out16:31
alesis-novikThe whole SGVector and SGMatrix thing is still a big issue with me, seeing how I can't really use destroy in destructors, because maybe something else is now pointing to the vector or matrix16:34
-!- in3xes__ [~in3xes@180.149.49.227] has joined #shogun17:22
-!- in3xes_ [~in3xes@180.149.49.227] has quit [Ping timeout: 240 seconds]17:26
-!- blackburn [~blackburn@109.226.104.206] has quit [Ping timeout: 255 seconds]17:33
-!- blackburn [~blackburn@188.122.224.26] has joined #shogun17:48
-!- in3xes__ is now known as in3xes17:56
-!- in3xes_ [~in3xes@180.149.49.227] has joined #shogun19:09
-!- in3xes [~in3xes@180.149.49.227] has quit [Ping timeout: 258 seconds]19:13
-!- in3xes_ is now known as in3xes19:25
-!- f-x [~user@117.192.192.42] has joined #shogun19:35
-!- in3xes_ [~in3xes@180.149.49.227] has joined #shogun19:51
-!- in3xes [~in3xes@180.149.49.227] has quit [Ping timeout: 240 seconds]19:54
-!- in3xes_ is now known as in3xes19:55
-!- blackburn [~blackburn@188.122.224.26] has quit [Ping timeout: 240 seconds]19:56
-!- blackburn [~blackburn@188.122.224.26] has joined #shogun19:57
@sonney2kalesis-novik, still there?20:21
alesis-novikI'm leaving in a sec for a while sonney2k20:50
@sonney2kalesis-novik, about the SGVector stuff20:51
@sonney2kyou should assume that you 100% own the object20:51
@sonney2kso you are the only one allowed to do destroy20:51
@sonney2kall the others have too call free_vector that does a graceful free20:51
@sonney2kso the do_free flag should *never* be set for objects that you are owning20:52
alesis-novikSo I should assume that if someone is going to use something from it, they will to free_vector or make copies20:52
blackburnsonney2k: I use matrix with do_free and free_matrix, shouldn't I?20:52
@sonney2kuse do_free=true only when you are returning copies20:52
alesis-noviksonney2k, I have to go now, but this is very useful and will fix some of the memory leaks I have20:52
@sonney2kso workflow would like this20:53
@sonney2ksomeone passes a SGMatrix/Vector to you20:53
@sonney2kyou take over ownership20:53
@sonney2kand you destroy the object at the end20:53
@sonney2kif you return the object to someone - just return it as is20:53
-!- f-x [~user@117.192.192.42] has quit [Remote host closed the connection]20:54
@sonney2kif you return a copy / set do_free to true20:54
@sonney2kalesis-novik, ok in this case I will try to do some fixes for the compile errors at least20:54
@sonney2kblackburn, does that make sense to you?21:04
blackburnsonney2k: yeah why not21:04
blackburnI will change my code to destroy things now21:05
blackburnsonney2k: http://dl.dropbox.com/u/10139213/shogun/LocalTangentSpaceAlignment%28k%3D40%29.png another faces to show hehe21:05
@sonney2kblackburn, only issue is that one has to clear the do_free flag when assigning this21:05
@sonney2kblackburn, so maybe we need another own_object()21:06
blackburnown_object()?21:07
@sonney2kblackburn, there is the issue that when doing e.g. Label(SGVector x)21:07
@sonney2kthen this->labels=x will copy the do_free flag21:07
@sonney2kthat would cause trouble21:07
blackburnwon't it be copied in this case?21:08
@sonney2kyes it will be copied21:08
@sonney2kand that is a problem - because if we return an object do_free will be set too and free_vector will kill the beneath our feet21:09
blackburnI see21:09
@sonney2kblackburn, so should we have the following function to fix this:21:18
@sonney2k        static virtual SGVector get_owned_vector(SGVector &orig)21:18
@sonney2k        {21:18
@sonney2k            orig.do_free=false;21:18
@sonney2k            return SGVector(orig.vector, orig.vlen);21:18
@sonney2k        }21:18
blackburnpwned_vector :D21:19
@sonney2kblackburn, but seriously - should we do it this way? any other suggestions?21:23
blackburnI have no idea..21:23
@sonney2kblackburn, ahh and btw - we should rename Labels -> Label21:23
blackburnLabel?21:23
blackburnwhy?21:23
@sonney2ksingular21:24
blackburnI think Labels is better name..21:25
@sonney2kok then we keep this exception :D21:26
blackburnI mean if it is Label but [-1,-1,....] ...21:27
blackburnstrange naming for me21:27
-!- blackburn [~blackburn@188.122.224.26] has left #shogun []21:27
-!- blackburn [~blackburn@188.122.224.26] has joined #shogun21:28
blackburnehh21:28
blackburnAlt+F4 hehe21:28
blackburnoh sh I forgot about our trac..21:30
@sonney2kso back to SGVector...21:30
@bettyboohiho21:31
@sonney2kthe copy constructor copies everything21:31
@sonney2kit has to becuas return SGVEctor(y,1,true) won't copy otherwise21:31
blackburnI see21:32
CIA-87shogun: Sergey Lisitsyn master * r9a6e8ac / src/shogun/mathematics/arpack.cpp : Fixed wrong SG_FREE in ARPACK wrapper leading to segfault - https://github.com/shogun-toolbox/shogun/commit/9a6e8ac46f26965c4aa2dafad84053ad4e4a5e0121:50
CIA-87shogun: Sergey Lisitsyn master * r6e05605 / src/shogun/preprocessor/ClassicMDS.cpp : Fixed ARPACK routine calling in ClassicMDS - https://github.com/shogun-toolbox/shogun/commit/6e05605bfa441ee3d86c5a5aa8fcb3d37f93bf7821:50
CIA-87shogun: Sergey Lisitsyn master * r9ca6cc8 / (3 files): Transitioned HLLE, LTSA and LLE to destroy_matrix routine usage - https://github.com/shogun-toolbox/shogun/commit/9ca6cc8ef09665423ee823bdeb165f3ac3274d1821:50
blackburnboom21:50
@sonney2kblackburn, how about21:50
@sonney2k        static virtual void own_vector(SGVector& dst, SGVector &src)21:50
@sonney2k        {21:50
@sonney2k            orig.do_free=false;21:50
@sonney2k            dst=SGVector(src.vector, src.vlen);21:50
@sonney2k        }21:50
@sonney2kinstead of the get* one21:50
blackburnoh why & things?21:50
blackburnah21:51
blackburnI see21:51
@sonney2kso for examle in set_vector(SGVector x)  one would do21:51
@sonney2kSGVector::own_vector(labels, x); instead of labels=x; lables.do_free=false;21:52
@sonney2kblackburn, problem is that the & stuff is not always helpful21:52
@sonney2kbecauce we always use SGVector x in the fucntions21:52
@sonney2kso it would only change the local variable... not the one passe21:53
@sonney2kd21:53
@sonney2kor would the name store_vector() better?21:53
blackburnno idea21:53
blackburnsonney2k: just checked java regression - it seems all ok22:02
@sonney2kblackburn, great22:02
@sonney2kany memory leaks?22:02
blackburnsonney2k: I'd like to ask you how to detect it :D22:02
blackburntrace-mallocs enabled22:02
blackburnit shows some information about allocation, but leaks..?22:03
@sonney2kthese are the leaks22:03
blackburnso everything it shows is the leaks?22:03
@sonney2kyes22:04
blackburnhttps://gist.github.com/111594122:04
@sonney2knot good...22:05
blackburnregression_libsvr_modular.java22:05
blackburnI guess everything is leaked22:05
@sonney2kyeah22:06
@sonney2kblackburn, can you check some more simple example?22:07
@sonney2klike just some e.g. simple real features?22:08
@sonney2kand if that works then kernel?22:08
blackburnno, leaks are in features too22:08
blackburn15 Blocks are allocated:22:09
blackburnMemory block at 0x7ce57968 of size 1472 bytes (allocated in modshogun_wrap.cxx line 191453)22:09
blackburnSGObject 'SimpleFeatures' at 0x7ce5b120 of size 120 bytes with 1 ref's22:09
blackburnObject at 0x7ce5b1a0 of size 28 bytes22:09
blackburnMemory block at 0x7ce573a0 of size 4 bytes (allocated in ../shogun/base/DynArray.h line 49)22:09
blackburnObject at 0x7ce55d30 of size 28 bytes22:09
blackburnMemory block at 0x7ce575a8 of size 4 bytes (allocated in ../shogun/base/DynArray.h line 49)22:09
blackburnObject at 0x7ce55d70 of size 32 bytes22:09
blackburnObject at 0x7d5b6508 of size 32 bytes22:09
-!- blackburn was kicked from #shogun by bettyboo [flood]22:09
-!- blackburn [~blackburn@188.122.224.26] has joined #shogun22:09
blackburnthanks bettyboo22:09
@bettybooblackburn: eh.. is it a good example?22:09
blackburnbettyboo: yes it is a good example :D22:09
@bettybooblackburn: (that statement is missing - rest would be trivial)22:09
@sonney2kblackburn, ok then try even less22:09
blackburninit - exit?22:10
@sonney2kblackburn, yes22:10
@sonney2kand then do sth like22:10
@sonney2kGaussianKernel x=new GaussianKernel()22:10
@sonney2k;22:10
blackburnsonney2k: init - exit no leaks22:10
@sonney2kok good22:10
blackburn0 Blocks are allocated:22:10
@sonney2know with gaussiankernel22:10
blackburnboom22:11
blackburn26 blocks22:11
@sonney2kblackburn, how does java do GC?22:12
@sonney2kcan you forcefully trigger it?22:12
blackburnsonney2k: one could 'recommend' to do gc now with System.gc()22:12
blackburnbut not forcefully realtime22:12
@sonney2kblackburn, ok then how about new'ing the kernel22:12
@sonney2kand then do x=NULL;22:13
@sonney2kand then call System.gc()22:13
blackburnnothing changed22:13
@sonney2kok and if you do x.unref() ?22:14
blackburnsuccess22:14
@sonney2khmmhh so how does the gc stuff work then?22:15
blackburnwhat do you mean?22:16
blackburnwell in fact we can't be sure everything will be cleaned just right after exit22:16
blackburnsonney2k: where is the deletion routine in java typemaps or so?22:18
@sonney2kblackburn, can you try22:20
@sonney2kSystem.gc();22:20
@sonney2k    System.runFinalization();22:20
@sonney2kat the end and see if this helps?22:20
blackburnmay be vice versa?22:21
blackburnsonney2k: didn't help22:22
@sonney2kblackburn, ok then try x.finalize()22:22
blackburnsonney2k: I just tried it with valgrind and it said no leaks22:22
@sonney2kblackburn, how reliable is that with java?22:23
blackburnyes, not really reliable22:23
blackburnsonney2k: finalize is protected, we can't do it22:24
@sonney2kok then x.delete()22:24
blackburnhelped22:24
blackburnwhat is delete?22:24
@sonney2kblackburn, ohh and can you please print x.swigCMemOwn ?22:25
blackburnsonney2k: are you sure in naming? not found22:26
@sonney2kswigCMemOwn  - yes22:26
@sonney2kblackburn, how can one delete an object in java normally?22:27
blackburnno way, you shouldn't delete java objects normally22:27
blackburnit is deleted automagically when no reference to it22:28
@sonney2kbroken crap22:29
blackburnsonney2k: I have an idea22:29
blackburnhmm not22:30
blackburnnot helped22:30
blackburntried to place kernel stuff to some run() func22:31
@sonney2kswigCMemOwn is protected...22:31
@sonney2kblackburn, ok lets test if valgrind is correct22:34
@sonney2kjust do a while (true) { x = new GaussianKernel() }22:35
blackburnhow it will help?22:35
@sonney2kif this doesn't kaboom at some point (memory wise) it is actually working but we jsut didn't observer the GC doing anything22:35
@sonney2kit is just a test22:35
blackburnhmm22:35
blackburnah yes22:35
blackburnIsee22:35
@sonney2kmemory demands shouldn't grow (too much)22:36
@sonney2kat least they should go down from time to time...22:36
blackburnsonney2k: baad example :)22:37
@sonney2kkaboom?22:37
blackburnnot, memory usage SLOWLY increases22:37
blackburnI'm not sure I won't die before it reach some limit22:37
blackburnmaybe better to create it with some big matrices22:38
@sonney2kIt won't help to use a kernel cache of size 100MB22:38
@sonney2kGaussianKernel(100, 1.0)22:38
blackburnwill or won't?22:39
blackburnwon't22:39
blackburn:D22:39
@bettyboo8)22:39
@sonney2kblackburn, wait memory demands don't grow fast?22:41
blackburnsonney2k: with System.gc() it doesnt crash22:42
blackburnstill working22:42
@sonney2kblackburn, and without?22:42
@sonney2kI mean it is alloc'ing 100MB per iteration22:42
blackburnswig crashed without22:42
blackburnhmm I will add a counter22:43
@sonney2kjava exceptioN?22:43
blackburnnot java exception, sigserv from JRE22:43
@sonney2kahh great22:43
blackburn3k iterations so fat22:44
blackburnfar22:44
blackburn:D22:44
@bettyboonot bad22:44
blackburnwithout gc22:44
blackburnhmmm22:44
blackburntoo many open files??22:44
blackburn:D22:44
blackburnI think we found a bug in blas :D22:45
blackburnhahah22:45
blackburnsonney2k:22:46
blackburn        public static void run() {22:46
blackburn                GaussianKernel kernel;22:46
blackburn                int i=0;22:46
blackburn                while (true)22:46
blackburn                {22:46
blackburn                        //System.gc();22:46
blackburn                        RealFeatures feats = new RealFeatures(Load.load_numbers("../data/fm_train_real.dat"));22:46
blackburn                        kernel = new GaussianKernel(100,1.0);22:46
blackburn                        kernel.init(feats,feats);22:46
-!- blackburn was kicked from #shogun by bettyboo [flood]22:46
-!- blackburn [~blackburn@188.122.224.26] has joined #shogun22:46
blackburn3401 iterations passed and kaboom with too many open files with jblas load routine22:47
@sonney2kblackburn, of course too many open files22:47
blackburnsonney2k: it should close it22:47
@sonney2kthe load_numbers thing is from jblas?22:47
@sonney2kI thought it is java code?22:47
blackburnload_numbers is just a front-end to loadAsciiFile or so22:48
blackburnfrom jblas22:48
@sonney2kblackburn, ugh indeed22:48
@sonney2kanyway why do you do this in the loop22:48
@sonney2kjust do DoubleMatrix x=Load* outside22:49
@sonney2kand then new RealFeatures(x) within the loop22:49
blackburn2k22:51
blackburn22:52
blackburn3k22:52
@sonney2kdoes memory requirement grow?22:52
blackburn1018m VIRT memory still22:52
blackburn67m res22:53
@sonney2kand that stays constant now?22:53
blackburnyes22:53
blackburnhmm22:53
blackburnRES memory grows22:53
blackburnand VIRT too22:53
blackburnbut pretty slow22:54
@sonney2kblackburn, ok then - what happens if you do kernel.delete() features.delete()22:54
@sonney2kand do the loop?22:54
@sonney2kthen it won't leak?22:54
blackburnsonney2k: much faster with delete()22:56
blackburn300k already22:56
blackburnRES memory grows22:56
@sonney2kwhy is it faster?22:56
blackburnI'd say gc is slower22:57
@sonney2kbut gc on java objects still needs to be run22:57
blackburnI mean if we delete it 'manually' - no need to run through all the objects22:57
@sonney2kI mean it is not finalize() ....22:57
blackburnwhat is delete?22:57
blackburnswig?22:57
@sonney2ksome swig method to delete the object...22:58
blackburnwill it remove ref?22:58
blackburn1.6M already22:58
blackburnRES decreased22:58
@sonney2kblackburn, check the source code... I am not so sure22:58
@sonney2kso it stabelized22:59
blackburnsonney2k: btw with no delete it is 'slowering'22:59
blackburnwith 5k passed it is much slower than with 1k22:59
@sonney2kblackburn, it becomes slower you mean/22:59
@sonney2k?22:59
blackburn:D yes exactly22:59
@sonney2kugh23:00
blackburn2.423:00
@sonney2kno idea why would one ever use java...23:00
blackburnso why did you want it? :D23:01
@sonney2kI will have to program in java soon23:01
blackburnwhy?23:01
@sonney2kso it will also help me23:01
@sonney2k:)23:01
@sonney2kand actually many people asked for it23:01
@sonney2kand it allows interaction with weka23:01
blackburnwell, java is pretty good thing to work with23:01
@sonney2kexcept for the garbage collector23:02
@sonney2kthat seems like the worst idea ever...23:02
blackburnhmm why do you think so?23:03
@sonney2klook at your example above23:03
@sonney2kyou have no control over memory23:03
blackburnI haven't have to have it normally23:03
blackburnin my java EE experience I'd never ever think about memory control :)23:04
blackburnsonney2k: seriously, in *normal* java (without C-java interaction) it works very well23:06
@sonney2kblackburn, so if you allocate a huge java object in this while loop it would work?23:06
blackburnyes of course it will23:07
@sonney2kblackburn, try ...23:07
@sonney2kI don't believe it23:07
blackburnsonney2k: double[][] array = new double[100][100]?23:09
blackburn500k iterations passed23:10
blackburnno gc or any delete23:10
@sonney2kblackburn, and a *real* class?23:10
blackburn1M23:10
blackburnhmm23:10
blackburnokay some string23:10
@sonney2kI mean a class that could have the double[][] ar = double[100][100] or so inside23:11
@sonney2k?23:11
blackburnsonney2k: tried StringBuilder with 10000 capacity23:12
@sonney2kand?23:12
blackburn1M so far23:13
blackburnsonney2k: I would even try some Stream connecting to some site and it will work too23:13
@sonney2kblackburn, but why are the shogun objects not finalized?23:14
blackburnthey are23:14
@sonney2kblackburn, but why does it take so long then?23:15
blackburnno idea23:15
blackburnbut I guess nobody will create 500k kernels hehe23:15
blackburn100k times connected to oracle.com23:16
blackburn300k23:16
blackburnsonney2k: do you believe now?23:16
blackburn600k23:16
blackburn700k23:16
@sonney2kblackburn, then swig & java is not working nicely or we have a bug23:17
blackburn1M23:17
blackburnsonney2k:23:17
blackburn                int i=0;23:17
blackburn                while (true)23:17
blackburn                {23:17
blackburn                        URL oracle = new URL("http://www.oracle.com/");23:17
blackburn                        BufferedReader reader = new BufferedReader(new InputStreamReader(oracle.openStream()));23:17
blackburn                        reader.close();23:17
blackburn                        System.out.printf("Iteration %d\n",i++);23:17
blackburn                }23:17
-!- blackburn was kicked from #shogun by bettyboo [flood]23:17
-!- blackburn [~blackburn@188.122.224.26] has joined #shogun23:17
blackburnno any leaks ;)23:17
blackburnjava GC is working well, I guess nobody is complaining23:18
blackburnsonney2k: much faster without init()?23:23
blackburnno ?23:23
@sonney2kwell just try a single object23:24
@sonney2knot kernel too23:24
blackburnwhich single object?23:24
blackburnsonney2k: I think swig finalize routines is slow23:24
blackburnsonney2k: so I guess finalize is called but *after* shogun_exit23:29
@sonney2kblackburn, hmmhh finalize() is just calling delete()23:33
@sonney2kand that is *ony* doing SG_UNREF23:33
@sonney2kso el-cheapo ...23:33
blackburndelete doing unref?23:33
@sonney2kyes23:33
blackburndelete thing work fast23:33
blackburnno idea why it is slower than any other loo23:34
blackburnp23:34
blackburneven URL stream faster23:34
@sonney2kblackburn, could only be because of --trace-memory-allocs overheads23:35
blackburnsonney2k: i'll try without23:35
@sonney2kand?23:57
@sonney2kblackburn, ^23:57
blackburnsonney2k: still compiling23:57
blackburnforgot to --disable-optimizations..23:57
@sonney2k22 minutes already?23:57
@sonney2kwell it will be faster then :D23:57
@bettyboo:*)23:57
blackburndone23:57
blackburnsonney2k: much faster23:58
blackburn300k done23:58
blackburn500k23:58
blackburneating memory..23:58
blackburnsonney2k: stabilized at 2g of memory usage23:59
blackburn2M passed23:59
@sonney2kok23:59
--- Log closed Sun Jul 31 00:00:59 2011

Generated by irclog2html.py 2.10.0 by Marius Gedminas - find it at mg.pov.lt!