IRC logs of #shogun for Thursday, 2012-04-26

--- Log opened Thu Apr 26 00:00:01 2012
--- Day changed Thu Apr 26 2012
blackburn_sonney2k: you mean w/o do_free?00:00
blackburn_I thought do_free stuff works more or less00:00
@sonney2kno it doesn't work00:00
blackburn_what is the case?00:00
@sonney2kblackburn_, to objects callling get_vector()00:02
blackburn_sonney2k: so in the case they return pointer to their own memory it is ok, right?00:03
blackburn_like get_w00:03
-!- blackburn_ [5bde8018@gateway/web/freenode/ip.91.222.128.24] has quit [Quit: Page closed]00:10
-!- blackburn_ [5bde8018@gateway/web/freenode/ip.91.222.128.24] has joined #shogun00:10
blackburn_ahr00:10
blackburn_sonney2k: ok lets get back to it tomorrow00:11
blackburn_I took a medicine against my allergy and it looks like I have to shlafen now00:12
blackburn_bahh schlafen00:12
blackburn_%)00:13
blackburn_good night00:13
-!- blackburn_ [5bde8018@gateway/web/freenode/ip.91.222.128.24] has quit [Client Quit]00:13
-!- harshit_ [~harshit@182.68.43.52] has quit [Quit: Leaving]00:52
-!- av3ngr [av3ngr@nat/redhat/x-zugxfyzvyhqmtprr] has joined #shogun02:08
-!- vikram360 [~vikram360@117.192.172.250] has quit [Read error: Connection reset by peer]02:22
-!- vikram360 [~vikram360@117.192.172.250] has joined #shogun02:22
-!- av3ngr [av3ngr@nat/redhat/x-zugxfyzvyhqmtprr] has quit [Read error: Operation timed out]02:40
-!- abn_ [av3ngr@nat/redhat/x-vvcjgclqwhfoannv] has joined #shogun02:40
-!- gsomix [~gsomix@188.168.5.195] has quit [Ping timeout: 265 seconds]06:19
-!- Marty28 [~marty@cable-158-181-78-199.cust.telecolumbus.net] has joined #shogun08:00
-!- Marty28 [~marty@cable-158-181-78-199.cust.telecolumbus.net] has quit [Quit: Colloquy for iPad - http://colloquy.mobi]08:10
-!- blackburn [5bdfb203@gateway/web/freenode/ip.91.223.178.3] has joined #shogun08:14
blackburnsonne|work: sonney2k: great news! thanks for the answer08:15
@sonney2kyes :)08:24
blackburnsonney2k: I was really afraid I would have to reimplement it using their papers08:24
@sonney2kblackburn, I did not make progress with the reference stuff08:25
@sonney2kI have no idea how one can use references as member variables in a class08:25
@sonney2kpluskid might know08:25
@sonney2khmmhhh08:26
blackburnsonney2k: are we talking about SGVectors only right now?08:27
-!- pluskid [~pluskid@111.120.11.248] has joined #shogun08:31
sonne|worka general problem with references08:37
sonne|workpluskid: you might know ^08:37
pluskidsonne|work: what?08:37
sonne|workif I want to have a class member variable which is a reference08:37
pluskidin IRC log?08:37
pluskidhmm, then?08:37
sonne|workthen I *have to* assign some default value to it in constructor08:37
sonne|workotherwise reference would be invalid08:37
pluskidyes08:38
pluskidit should be done in the init list I think08:38
pluskidnot even possible *inside* constructor08:38
sonne|workpluskid: it has to be done like class A { A() { a=Bla();}  Bla& a};08:39
sonne|workerr A() : (a=Bla())08:39
pluskidi mean even this is impossible08:39
pluskidyes, A(): a(Bla) {} this is OK08:39
sonne|workyes that is what I meant08:40
pluskidthen that will work I think. but what's your problem? :)08:41
sonne|workpluskid: it is all about passign around SGVector/SGMatrix which have reference counting enabled08:41
sonne|workso we would *need to* store references as members in class08:41
sonne|workand always work with references08:41
sonne|workotherwise ref-counting won't work08:41
pluskidwhy not using pointers?08:42
-!- wiking [~wiking@huwico/staff/wiking] has quit [Quit: wiking]08:42
sonne|workpluskid: yeah exactly08:42
sonne|workthat is the question08:42
blackburnactually here we can try smart pointers..08:42
sonne|workno08:42
sonne|worknot yet08:42
pluskidI'm not sure whether we might have troubles if we use reference members08:43
sonne|workremoving SG_UNREF/REF is easy08:43
sonne|worklater I mean08:43
pluskidfor example, you cannot change it after the initial assign08:43
sonne|workpluskid: the only issue is that this nice operator overloading + / - / * / [] won't work on ptr's08:43
pluskidOK08:44
sonne|workone would always have to do (*ptr1) + (*ptr2)08:44
pluskidthen I'd prefer copy of SGVectors08:44
sonne|workor (*vec)[0]08:44
pluskidmake SGVector light-weighted08:44
sonne|workpluskid: yeah that is what we do now but we have a problem:08:44
pluskidwe do ref-counting on the content of SGVectors08:44
pluskidbut not on SGVector itself08:44
sonne|workhow so?08:44
pluskidsimilar to our current implementation08:45
sonne|workpluskid: we have a double* in sgvector08:45
sonne|workand would need to add some refcounter to sgvector08:45
sonne|workbut when we pass around copies this refcounter will not be increased /decreased in all copies08:45
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun08:45
pluskidthat's easy, we put an object instead of a raw double* in SGVector08:46
pluskidfor example, let's name our new SGVector NewVector08:46
pluskidthen we put a pointer to SGVector in NewVector08:46
sonne|workyeah I understand but then we have an overhead we don't want08:46
sonne|workanother pointer for nothing08:47
pluskidif you want performance, that would also be easy I think08:47
sonne|workpluskid: I want to save memory08:47
pluskidyou allocate some more memory08:47
pluskidbefore your double*08:47
pluskidand put your ref-counting there08:47
sonne|workthink of 200 million examples of dim 208:47
sonne|workwith refcounting we already have 4 bytes overhead08:48
pluskidbut if you want ref-counting, you always have to store the ref-counter *some where*, aren't you?08:48
sonne|workpluskid: yeah but you have in SGVector the ptr to newvector08:48
sonne|workso that would mean 8 bytes + sizeof(T)*len + 408:49
sonne|work+ 4 byte for refcount08:49
sonne|workinstead of sizeof(T)*len + 4 + 408:49
sonne|workI already hate wasting that int (==4 bytes) for reference count08:50
sonne|workbut I dont' see a way around it08:50
pluskidI mean, if you don't put ref-count here, you put it somewhere else, you also have to waste space08:50
pluskidunless you completely disable ref-counting for SGVector08:51
sonne|workpluskid: yes but what about the additional 8 bytes for the pointer?08:51
pluskidI'm not sure whether I explained my idea clearly08:51
sonne|workmaybe not08:51
pluskidlet me write some pseudo code for you08:51
pluskidwait a minute08:51
sonne|workcurrently SGVector with refcounting for type double would be08:52
sonne|workdouble* vec;08:52
sonne|workint len;08:52
sonne|workint refcount;08:52
sonne|work== 8+4+4 bytes08:52
sonne|workyou say I would need to08:53
sonne|workNewVector* vec;08:53
sonne|workand then inside NewVector08:53
sonne|workall the above08:53
sonne|workso 8+8+4+4 byes08:53
sonne|workbytes08:53
pluskidno, I abanduned that idea when you say you need performance08:53
pluskidbtw, the first method won't work08:53
pluskid<sonne|work> double* vec;08:53
pluskid<sonne|work> int len;08:53
pluskid<sonne|work> int refcount;08:53
sonne|workwhy not?08:54
pluskidbecause as you said, you cannot update ref-count in every copy of SGVector object08:54
sonne|workone would have to work with pointers08:54
sonne|workyes08:54
sonne|workwith pointers it would work08:54
sonne|workor when *always* using references08:54
pluskidsonne|work: something like this: https://gist.github.com/249695809:00
pluskidput the ref-counter in front of the data buffer09:01
pluskidso 8+4+409:01
sonne|workpluskid: I understand - only problem with this is that this is quite some hack09:03
pluskidyes09:03
sonne|workany way to do this more clean without sacrificing memory?09:03
sonne|work(I cannot think of one)09:04
pluskidthis is the best solution that I can get09:04
pluskidmaybe the code can be written to look less hacking, though09:04
pluskidbut the essence would be the same09:05
sonne|workbut this code needs documentation and that makes it a bad sign09:05
sonne|workso I tend to prefer ptrs of SGVector suddenly09:05
wikingmorning! today is meeting at 13:00 CEST right?09:05
pluskidhaha09:05
sonne|workwiking: yes 11 UTC09:06
pluskidlet me try to make the pseudo code less horrible09:06
wikingokkey sonne|work do u know if alex can make it?09:06
pluskidmaybe you might be persuaded then09:06
sonne|workno idea - no one replied :)09:06
wikingheheheh ok09:06
wikingbtW: i hate gsoc mailing list... full of fucking crap09:07
sonne|workpluskid: no the code is not horrible09:07
pluskidI mean more natural, so that no doc is required09:07
sonne|workpluskid: it is the really the ptr hack that makes it hard to understand09:08
sonne|worknon obvious stuff09:08
pluskidhmm, yes09:08
pluskidOK09:08
pluskidso it's up to you09:08
sonne|workwiking: your opinion on https://gist.github.com/2496958 ?09:08
sonne|workwiking: I start to prefer SGVector* now that we are having issues...09:08
wikingchecking just a sec09:08
wikingsonne|work: :D09:09
sonne|workand only memory efficient solution possible is the one pluskid came up with09:09
sonne|workwhich is that above09:09
wiking!??!?!?! uchar *memory = malloc(size);09:09
wikingwhat is this!09:09
pluskidsonne|work: btw, ptr is less efficient than object, since you have to do 2 times of de-referencing09:09
sonne|workpluskid: no09:09
sonne|workthat is sth the compiler will take care of09:10
wikinguse void*09:10
sonne|workwiking: no he needs uchar09:10
pluskidwiking: that's pseudo code09:10
sonne|worksth that is 1 byte09:10
wikingvoid09:10
wikingyou'll have problems09:10
sonne|workvoid has no size09:10
wikingwith 32 vs 64 bit09:10
pluskidwiking: void* cannot do pointer arithemtic09:10
wikingthat's like 100%09:10
sonne|workwhat pluskid says09:10
wikingand you cannot assure in c a given size09:11
wikingper se 1 byte09:11
wikingand09:11
wikingint32_t size = sizeof(T)*len + sizeof(int32_t);09:11
wikinguse size_t09:11
pluskidsonne|work: say you have a SGVector *pvec, you access pvec->vector[2]09:11
pluskidyou first dereference pvec, then dereference vector, twice09:12
wikingor unsigned int...09:12
pluskidbut if you have an object SGVector vec, accessing vec.vector[2], you only have to dereference once09:12
pluskidfor vec.vector09:12
sonne|workpluskid: yes but compiler will make this a single access09:12
pluskidI'm not sure the word "dereference" is correct here09:12
sonne|workno matter of reference or ptr09:12
pluskidsonne|work: how could it be possible? the compiler doesn't know the actual address of pvec at compiling time09:13
pluskidsonne|work: I didn't mean reference, I mean concrete object (copy) vs pointers09:13
wikingpluskid: https://gist.github.com/249706209:14
sonne|workactually there is indeed a catch09:15
sonne|workwhen we have a ptr09:15
sonne|workit needs to be allocd per vector too09:15
wikingpluskid: why would u use signed variable for memory size...09:15
sonne|workso +8 again09:15
pluskidwiking: never mind, it's only pseudo code, written in a hurry :)09:16
* sonne|work is becoming mad09:16
blackburnsonne|work: we don't have so many vectors there why do you care about some bytes so much?09:16
wikingpluskid: that's alright... i'm just saying09:16
blackburnI don't mind slight overhead if it would be safe09:16
sonne|workblackburn: whenever you compute a kernel value we pass around vectors09:16
blackburnoooh09:16
pluskidsonne|work: +8 for which solution?09:16
sonne|workif we increase vector by +8 and vector is only 2 bytes in size -> huge overhead09:17
blackburnsonne|work: don't we need two types of vectors - for interface and for internal use?09:17
sonne|workblackburn: I would prefer one09:18
sonne|workotherwise things are becoming even more messy09:18
blackburnI believe any overhead should be avoided in kernels and distances09:19
sonne|workpluskid: of some class A { SGVector<double>* a }09:19
sonne|workwe have to alloc the vector and store the ptr to it right?09:19
sonne|workahh ok but maybe this is done for references too but just on the heap09:19
sonne|workpluskid: or?09:19
pluskidsonne|work: I would say, pointer is equivalent to reference; we need to discuss between pointer vs. object copy (non-reference)09:20
pluskidwhen comparing pointer and object copy09:21
pluskidpointer need one extra +8 for the pointer, and then the size of the SGVector object itself09:21
pluskidbut if we use object copy, only the size of the SGVector itself09:21
pluskidso pointer has an extra +8 overhead here (if you care)09:21
sonne|workpluskid: I care but I am not so sure about it anymore09:22
wikingpluskid btw why do you want to fit into the allocated memory space the reference counter?09:22
sonne|workpluskid: in the end the compiler has to allocate memory for the object on the heap - and so store some ptr to it too09:22
pluskidwiking: or else where shall we put?09:22
wikingpluskid: you can just simply add an extra variable to the SGVector class, like short ref_counter09:23
pluskidsonne|work: if we use object on the stack09:23
pluskidit is no longer allocated on the heap09:23
pluskidand no pointer09:23
pluskidthough the m_buf in the SGVector is still on the heap09:23
wikingpluskid: and you just need to make sure that the copy constructor is implemented in a good way and that's it09:23
pluskidbut no pointer to the object itself09:23
pluskidto SGVector itself09:23
sonne|workpluskid: but how does the compiler know where the object is?09:23
sonne|workit needs to store some kind of ptr/ref to it09:24
sonne|workeven if it is on stack09:24
sonne|workit needs to remember where on stack09:24
pluskidsonne|work: for local variables, class members, etc. the address (offset actually) is fixed at *compile time*, so the compile do not remember either its name or a pointer, it just translate your code into fixed offset memory accessing09:25
pluskidwiking: think of it, you cannot do proper copy constructor if you don't store the ref-counting at a place where all object can access it09:25
sonne|workpluskid: ahh so it is a fixed offset relative to the current class or whatever - that would make sense09:25
wikingpluskid: ?!09:25
pluskidsonne|work: yes, relative to the current class for class member, relative to the stack pointer for loal variables, etc.09:26
sonne|workblackburn: well there is a tradeoff as usual09:26
sonne|workpluskid: that clears it up for me09:26
sonne|workthx09:26
pluskidwiking: sonne|work  would be happy if you could come up with an alternative solution that works and avoid this dirty hack!09:26
blackburnsonne|work: I mean some unsafe mode for internal use is something nice to have09:27
pluskidsonne|work: so that's also why I say pointer is slower than object09:27
pluskidbecause the address for object is fixed09:27
sonne|workpluskid: then I don't see any alternative to your hack - but I would even put the size of the vector into T*09:27
pluskidwhy the address in a pointer need to be computed in running time09:27
wikingpluskid: ah i see what's your problem...09:28
blackburnhrrrr have to go09:28
pluskidsonne|work: hmm, that would save some space09:28
sonne|workpluskid: not a lot though09:29
sonne|workthere are not many multiple copies of sgvectors around09:29
sonne|workat least *currently*09:29
pluskidblackburn: it's not unsafe, it's opaque to the user, but the implementation is somewhat "dirty" I guess09:29
sonne|workT* needs to be private then09:29
pluskidsonne|work: yes, putting length outside enables us to create some "subset" of a vector09:29
sonne|workand we need things like T* get_vector()09:30
pluskidI'm not sure whether that is needed09:30
sonne|workint get_len()09:30
pluskidsonne|work: yes, the interface can be kept the same09:30
sonne|workpluskid: yeah not change it for all at once09:30
sonne|workpluskid: the thing blackburn is also worried about is that in the extreme case (when SGVector has just 2 elements)09:31
sonne|workanything besides storing T[2] and and int for len is a huge overhead09:31
pluskidok09:32
sonne|workso in particular in time critical things like computing kernel matrix09:32
sonne|workanyway I think it is better to have just *one* vector class09:32
sonne|workand live with a *little* overhead09:32
pluskidme too09:32
pluskidyou cannot cover all extreme cases09:33
pluskidwithout messing all your codes :p09:33
sonne|workafter all 2-d data is rather rare and dealing with should be fast anyways09:33
sonne|workconsidering that we have lots of range checks in kernel09:33
sonne|workand whatnot09:33
sonne|workthis is probably not time critical09:34
wikingpluskid: essentially you'll end up to mimic boost's shared_ptr09:34
sonne|workit certainly is not memory critical09:34
sonne|workbecause we store things as SGMatrix internally09:34
sonne|workso there is no overhead for 100 million 2d vectors09:34
sonne|workbecause it would just be a matrix09:34
pluskidwiking: I proposed shared_ptr in the very begining when I come to shogun, :p09:35
pluskidsonne|work: yes, you are right09:35
sonne|workpluskid: btw I read this email with big interest - and I really think we should try this at some time09:35
pluskidwiking: not sure whether shared_ptr works with SWIG though09:35
sonne|workit might kill a bit of performance though09:35
pluskidsonne|work: but can avoid lots of memory bugs, I think09:36
sonne|workbut for SGObject based stuff it would be nice09:36
sonne|workpluskid: yes - problem of course is that we internally do lots of mallocs09:36
sonne|workand leaks are usually coming from there not from forgotten SG_REF/UNREFs09:36
sonne|workand since we use lots of third party c-style code - things won't change09:37
-!- n4nd0 [~n4nd0@wifi-cct-cisco-r252-4.cct.urjc.es] has joined #shogun09:37
pluskidbtw: valgrind can help us with memory problems in many cases09:37
sonne|workpluskid: yeah we usually use it to track them down09:37
pluskidcool09:37
sonne|workpluskid: btw shogun has a ./configure --enable-trace-mallocs09:38
sonne|workvia which you can dump all alloc'd objects at any stage09:38
sonne|workso it might help when you ever want to debug sth09:38
pluskidawesome, I think I should really read about all the parameters in ./configure some time09:38
pluskidrecently switched to clang for compiling, it seems to be much faster09:38
sonne|workpluskid: it needs a *lot less* memory09:39
sonne|workpluskid: but I can only recommend to use ccache09:39
sonne|workand compile with optimizations disabled09:39
sonne|workfor development09:39
pluskidsonne|work: thanks, haven't tried that yet, you are already the 3rd people recommending that to me09:40
sonne|workpluskid: well make clean; make09:40
sonne|worktakes 5 seconds :)09:40
sonne|workso it is worth it09:40
pluskidbtw I bought 8G memory for my laptop :D09:40
pluskidwow!09:40
pluskidthat's really fast!09:40
sonne|workpluskid: so when you only change .cpp files it will only have to link09:40
pluskidthe problem is each time I run git checkout to another branch, the whole code base needs recompile09:41
sonne|workthat is why all code should be in .cpp (to the extend possible)09:41
pluskidsonne|work: ah, I see09:41
sonne|workpluskid: can be09:41
pluskidI'm planning to re-install a 64bit system tomorrow or so to enjoy my new memory :D09:42
pluskidbtw, sonne|work are you a Debian maintainer?09:44
sonne|worky09:44
pluskidsonne|work: awesome! :D09:45
sonne|workpluskid: anyway good luck with upgrading to 64bit ... for the vector I don't see any other solution but another problem :-((09:51
sonne|workconcurrent access09:51
pluskidsonne|work: use some atomic_t ?09:52
sonne|workwhich means we would need some PTHREAD_LOCK_T in there?09:52
pluskidfor ref-counting09:52
sonne|workpluskid: isn't that some C++0x?09:52
pluskidsonne|work: don't know09:52
pluskidatomic_t would be much more efficient than a general lock09:53
pluskidif available09:53
pluskidsonne|work: if that's in C++0x, will we switch to c++0x?09:53
pluskidI heard that C++0x introduced lots of stuff for multithread programming09:53
pluskidbut I haven't looked at them09:53
wikingpluskid: you can use directly pthread mutex09:54
sonne|workwiking: but the overhead!09:54
wikingi mean since shogun is already using a lot of pthread by default09:54
wikingsonne|work: true09:54
sonne|workfor sgvector that is no good09:54
wikingsonne|work: well we can start depending on boost ;)09:54
pluskidwiking: atomic_t is efficient than locking in both memory and time09:54
pluskidif what you want is ref-counting09:55
wikingpluskid: atomic_t linux dependency09:55
pluskidwiking: I think there are equivalence in Mac/Windows, but the API might be different09:55
wikingi.e. non-ansi non-iso stu09:55
wikingf09:56
wikingwell learning from FLT_MAX09:56
wikingcannot we rather stick to c99, ansi, iso, posix stuff09:56
pluskidwiking: std::limits (or std::numeric_limits )09:56
wikingif we can09:56
wikingand as a very last result start creating bloated headers09:56
wikingwith #ifdef-s09:56
wiking;P09:56
sonne|workpluskid: alright - no thread safety for these buggers then10:00
sonne|workbtw http://www.mjmwired.net/kernel/Documentation/atomic_ops.txt10:00
wikingpluskid: on the other hand going with atomic {} if you have c++0x support and then if that's not possible do a big ifdef...10:00
wikingpluskid: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2002/n1401.pdf10:01
wikingso then it's kind of like done ;)10:01
wikingwonder what compiler supports it10:01
wiking :)10:01
pluskidwiking: gcc, clang, Visual Studio all support C++1110:02
wikingpluskid: not mine10:02
pluskidwiking: what's your compiler?10:04
wikingApple clang version 3.1 (tags/Apple/clang-318.0.58) (based on LLVM 3.1svn)10:04
wikinglofasz.cc:7:3: error: use of undeclared identifier 'atomic'; did you mean 'atoi'?10:04
pluskidhmm10:05
pluskidbtw, sonne|work I think the equivalence of atomic_t on Windows is InterlockedIncrement and similar things10:06
pluskidhow do we compile shogun on windows?10:06
pluskidwith cygwin or visual studio?10:06
sonne|workcygwin10:06
sonne|workbut since the win buildbot is not working - I wouldn't count on that it compiles10:07
pluskidif cygwin is using, I guess many Linux specific features are available10:08
wikingsoooo boost anybody? :)10:12
wikingit's even slashed up into smaller parts so we can only depend on libboost_thread  :P10:12
wikingand it's quite heavily optimized as it's used in hard real-time systems10:13
sonne|workpluskid: lets assume we don't have concurrent SGVector access for now10:14
pluskidok...10:15
-!- amma [~amma@14.99.15.104] has joined #shogun10:15
-!- amma [~amma@14.99.15.104] has quit [Client Quit]10:15
pluskidnever use a vector in multiple threads10:16
pluskidor else ref-counting *might* broken10:16
-!- ram108 [~amma@14.99.15.104] has joined #shogun10:16
wikingwhile we are at: openmp support?10:16
wikingif we consider already c++0x10:16
-!- ram108 [~amma@14.99.15.104] has quit [Client Quit]10:16
sonne|workpluskid: well no - only not fetch the *same vector* in threads10:16
sonne|workwiking: openmp was slow for some things I tried to parallelize10:17
sonne|workmight be that I didn't know enough about it10:17
wikingsonne|work: yeah it's not a magic bullet...10:17
pluskidwiking: btw I personally love c++11 and boost10:17
wikingsonne|work: first time i've used it as well was shit... but then i've realized that i've used it in a wrong way10:17
sonne|workI only had high load but things were slower10:17
wikingsonne|work: yeah because of context switching...10:18
wikingbut if we'd use <algorithms> more then we would really have some good results with openmp10:18
wikingi.e. __gnu_parallel::sort10:19
wikingthat's quite efficient10:20
sonne|workso to finish this with SGVector - everything stays as it is (no references or anything) but copies as we have them10:20
sonne|workpluskid: right?10:20
sonne|workand only internally we add these references10:20
sonne|workusing the T* hack10:20
wikingpluskid: i'll give u soon something.. can u maybe benchmark it?10:21
wikingpluskid: that implementation vs yours?10:21
pluskidsonne|work: yes, but all accessing to SGVector::vlen or SGVector::vector or so needs to be modified10:24
pluskidwiking: I don't have a working implementation10:25
pluskidthat's what sonne|work going to do10:25
pluskidwiking: btw, what are you going to do?10:25
wikingjust a sec i'll give you the gist10:25
sonne|workpluskid: yes sure10:27
pluskidleave for a while10:31
pluskidto take my cat to the doctor10:31
-!- uricamic [9320543b@gateway/web/freenode/ip.147.32.84.59] has joined #shogun10:32
wikingsonne|work: here?10:50
sonne|workyes10:51
wikingok so here goes one idea10:51
wikingnon-thread safe10:51
wikinghttps://gist.github.com/249706210:53
sonne|worksry I have to focus on work10:54
sonne|workwill look at it later10:54
wikingnw10:54
blackburnsonne|work: I am going to strength your opinion russians are crazy - 2 exams left11:13
* blackburn is extending wikipedia's shogun page11:40
-!- abn_ [av3ngr@nat/redhat/x-vvcjgclqwhfoannv] has quit [Ping timeout: 265 seconds]11:46
-!- pluskid [~pluskid@111.120.11.248] has quit [Quit: Leaving]11:52
-!- pluskid [6f780bf8@gateway/web/freenode/ip.111.120.11.248] has joined #shogun11:53
n4nd0pluskid, hey! how is your cat?11:54
pluskidn4nd0: it cought a cold11:55
pluskidsleeping now11:55
pluskidI mean the cat11:55
n4nd0pluskid, oh, I hope he/she will get better ;)11:55
pluskidn4nd0: thank you, that's also my wish11:55
blackburnthis is kind of cute hehe11:57
n4nd0:D11:58
blackburnn4nd0: hey are you going to have exam today?11:58
n4nd0blackburn, yeah11:58
blackburndatabases thing?11:58
blackburnn4nd0: my professor became lazy and he gived us all 5/5 today11:59
n4nd0yes, databases11:59
n4nd0blackburn, haha really?11:59
* sonne|work in germany 5 is the worst you can get11:59
blackburnn4nd0: yeah 2 exams to go now11:59
blackburnsonne|work: that's why we have beaten you in 194512:00
sonne|workme in particular12:00
n4nd0sonne|work, don't you guys have zero as a grade?12:00
sonne|workheh12:00
* pluskid is re-installing a 64bit system12:01
blackburnsonne|work: but really what is grade system then?12:01
blackburn1 is the best?12:01
sonne|workyes12:02
sonne|work5 -> fail12:02
sonne|work6 -> total failure12:02
blackburnsonne|work: lol I failed a lot exams probably12:02
sonne|worknot totally :)12:02
blackburntotal failure? is it death or something?12:03
-!- puffin444 [230bf329@gateway/web/freenode/ip.35.11.243.41] has joined #shogun12:03
blackburnsonne|work: actually we use only 3,4,5 here12:03
puffin444Hello12:03
blackburn3 is udovletvoritelno 4 is horosho and 5 is otlichno12:03
blackburnsonne|work: you should recall these words ;)12:03
sonne|workat university there is no mark 612:03
sonne|workhorosho :)12:04
sonne|workotschen horosho12:04
blackburnsonne|work: right - you must be kidding you can't recall what you have studied12:04
blackburnpuffin444: hey12:05
sonne|workpuffin444: isn't it sth like 6am ?12:06
puffin444Yes it is in fact :) Isn't sth like 11am UTC?12:08
blackburnsonne|work: have you lived in DDR or in west one?12:08
sonne|workblackburn: both :D12:10
blackburnsonne|work: how can that be?12:10
sonne|workat some point DDR was gone12:11
blackburnehh yes12:11
blackburnbut before that great soviet fuck up?12:11
blackburnsonne|work: I mean did you manage to live in both parts before 1990 or so?12:12
sonne|workno12:12
blackburnsonne|work: my friend wants me to ask whether you like DEFA films :D12:13
sonne|workof course :P12:13
puffin444Oh oops! Looks like I'm an hour off! :-[12:15
sonne|workpuffin444: yeah 7 am is early enough I thought12:16
puffin444UK time != UTC time?!12:16
sonne|workof course not12:16
blackburnpuffin444: nope12:16
sonne|workcheck timeanddate12:16
blackburnn4nd0: send me a postcard from spain!12:16
blackburn:)12:16
n4nd0blackburn, :D12:17
n4nd0what do you like from Spain?12:17
blackburnn4nd0: no idea but that sounds funny12:17
-!- abn_ [~av3ngr@60-241-222-244.static.tpgi.com.au] has joined #shogun12:21
puffin444Well I guess I'll be here an extra hour :D12:26
sonne|workpuffin444: we all don't mind :)12:34
-!- karlnapf [~heiko@dhcp-160-96.internal.eduroam.ucl.ac.uk] has joined #shogun12:42
blackburnpeople is coming12:42
-!- pluskid [6f780bf8@gateway/web/freenode/ip.111.120.11.248] has quit []12:45
blackburnkarlnapf: hey there12:46
karlnapfblackburn, hi :)12:46
puffin444karlnapf: hey12:47
-!- pluskid [~pluskid@li225-203.members.linode.com] has joined #shogun12:47
karlnapfpuffin444, hey :)12:47
wikingmeeeting12:47
wiking:)12:47
wikingin 1312:47
-!- cwidmer [~chris@HSI-KBW-046-005-237-106.hsi8.kabel-badenwuerttemberg.de] has joined #shogun12:49
blackburnfirst mentor is in12:49
blackburn;)12:49
puffin444cwidmer: Hi!12:50
cwidmerhi all!12:51
n4nd0hi!12:51
uricamichi12:51
-!- vojtech [9320543b@gateway/web/freenode/ip.147.32.84.59] has joined #shogun12:53
blackburnhey vojtech12:53
vojtechhi12:53
blackburnvojtech: about my mail - sorry I mixed up things there :)12:54
blackburnbut additional term generalization of ocas is actual - I hope you will get some time to outline it12:55
@sonney2kwho is missing?12:56
blackburnsonney2k: gsomix but he won't be in12:56
@sonney2kcheng, gsomix12:56
karlnapfarthur, but I dont know if he has time12:56
@sonney2kkarlnapf, OK12:56
karlnapfwill meet him later today anyway12:56
wikingalex12:56
karlnapfwill tell him everything that happened12:56
n4nd0I don't think nico is here either12:56
blackburnsonney2k: lets wait 5 minutes more12:57
@sonney2kyeah12:57
@sonney2kpuffin444, olivier is also not around yet...12:57
puffin444sonney2k: That's fine. I can wait :)13:00
@sonney2kpuffin444, not so clear if he makes it though13:00
@sonney2klets please note down who is missing: gsomix, nico, alex, olivier, chang, arthur - anyone else?13:01
puffin444cwidmer: olivier told me you might be comentoring. Is this true?13:02
cwidmeryes13:02
@sonney2kwould be good13:02
@sonney2ksame timezone at some point :)13:02
@sonney2klets wait 1 more minute and then start13:02
cwidmerif there are some design choices to make which oliver isn't sure about, I'm happy to help out13:02
blackburnthey stole my meeeeentoooo13:02
blackburnr13:02
cwidmer:)13:03
@sonney2kI will hunt down all missing individuals later ;-]13:03
cwidmerblackburn, you're more than invided to join potential design discussions, too13:03
blackburncwidmer: hehe yes I watch code things13:04
-!- magicfly [c07c1afb@gateway/web/freenode/ip.192.124.26.251] has joined #shogun13:04
@sonney2kAlright then lets start! Good morning, afternoon and evening all!13:04
@sonney2kWelcome to our kick off meeting. We have 8 students in 6 timezones so apologies to Jacob in the US for having to get up so early.13:04
@sonney2kFirst I would like to thank you all for your hard work even before GSoC started. We are happy to have you in the team and you were selected because we know you will have no problems finishing the tasks with 100% success :-)13:05
@sonney2kNevertheless, some of us {mentors,students} participate for the first time so let me briefly state how things work - lets start with the timeline:13:05
@sonney2k-  Official GSoc starts May 2113:05
@sonney2k- On July 13 Mentors need to send mid-term evaluations to google (*very important* - students won't get money otherwise)13:05
@sonney2k- August 24 end of GSoC - Mentors need to send final evaluations to google (again *important*)13:06
@sonney2k- Official Timeline http://www.google-melange.com/gsoc/events/google/gsoc201213:06
@sonney2kBTW, in case you have questions don't hesitate to ask/interrupt me13:06
@sonney2kSince every student has already introduced himself on the mailinglist - I think we can skip this step13:07
@sonney2kand continue with a short self-introduction of the mentors13:07
@sonney2kvojtech, mind to start?13:07
-!- magicfly_ [c07c1afb@gateway/web/freenode/ip.192.124.26.251] has joined #shogun13:07
vojtechok13:08
blackburnI wanted to emphasize that this year we want to make it more collaborative13:08
vojtechhi to all13:08
vojtechI'm currently a research fellow at CTU13:08
blackburnso mentors are some general experts there (sorry vojtech for interrupting)13:08
@sonney2kblackburn, we will come to that13:08
@sonney2kplease relax :)13:08
vojtechmy background is in optimization for learning, structured learning, SVMs etc13:09
vojtechI'll mentor Michal Uricar13:09
blackburnvojtech: will you be able to help n4nd0 for example?13:09
blackburnSO is a big project and you are the expert13:09
vojtechwhat does n4nd0?13:09
blackburnSO framework13:10
vojtechok13:10
vojtechyes, we may for instance share the benchmark problems for the implemented SO learning algorithms13:10
@sonney2kBTW, vojtech has been a visiting researcher at our lab for some time and we published a few papers together. I am very happy to have him in the team :)13:10
vojtechI'm also very happy :)13:10
@sonney2kvojtech, so thanks13:10
@sonney2kcwidmer, mind to continue?13:10
n4nd0vojtech, I am happy I can count on with your help :)13:10
cwidmersure13:10
cwidmerso to cut this short, I started typing a minute ago :)13:11
cwidmerHi all, I'm Chris Widmer, have started to become involved in 2008 when I was doing my Master Thesis in Gunnar R?tsch's lab and am now about to finish my PhD in a collab between Max Planck T?bingen/Tu-Berlin/MSKCC NY. My interest is in SVM-centric Multitask Learning algorithms and I'll be mentoring Sergey (blackburn), who i worked with in last year's GSoC already.13:11
blackburncwidmer: so you have expertise in gps and multitask ;)13:12
@sonney2kcwidmer, I think blackburn is excited to have you as mentor again :)13:12
cwidmerGPs not so much13:12
cwidmersame for me13:12
cwidmerit's been great to work with him13:12
cwidmerand this year will be more closely related to my research, so I'm more than happy13:12
blackburncwidmer: I mean that would be nice if you let students know for what they could ask you13:13
@sonney2kLooks like all the other mentors are unavailable right?13:13
cwidmeras for the GPs part, I Oli has all the expertice needed13:13
cwidmerthey can ask me about SVM/Kernel/Optimization stuff, also python related stuff I'm happy to help out with13:13
blackburnthanks13:14
@sonney2kso let me just briefly say a few words about me - I started shogun together with gunnar raetsch like end of 1999 and did machine learning in the last 10 years13:14
blackburn1313:14
@sonney2kas in research13:14
blackburn:P13:14
@sonney2kwhatever :P13:14
cwidmertime flies13:14
cwidmer:)+13:14
blackburnit was so exciting that 13 counts as 1013:14
@sonney2kI published quite a bit with cwidmer, vojtech and other mentors13:15
@sonney2kand am one of the figures behind creating mloss.org / mldata.org - pushing open source software / openness spirit in machine learning13:15
@sonney2kI will mentor gsomix (who couldn't make it due to classes) to overhaul lots of shogun internals13:16
@sonney2kalright so much about this - the other mentors will get their chance next time then13:16
@sonney2kany questions so far?13:16
-!- magicfly__ [c07c1afb@gateway/web/freenode/ip.192.124.26.251] has joined #shogun13:16
blackburnno but I had some things I wanted to tell13:17
blackburnlet me try to recall :D13:17
@sonney2kif not I have a very general comment - as blackburn said we want to do things more collaboratively13:17
@sonney2kAvoid any private communication to the extend possible, i.e., discuss all issues openly on the mailinglist or here in IRC.  This is not the way open source projects work - development and even planning is done in the open. This is particularly important here because not all mentors/students can be experts in everything. For example a mentor might not know about certain data structures that one could use (that are already in shogun). The advantage of asking in pu13:17
@sonney2kblic is that other students/mentors can help out - potentially even more timely than your mentor and we are working *together* in this project so there will be synergies (for example the structured output, bmrm SO, latent svm will all need some kind of quadratic optimizer...). We cover enough timezones so you should never be alone - which makes it much more fun too13:17
blackburnheh you prepared13:18
@sonney2kWe are a critical mass of students /mentors this year - so we can only succeed if we work together13:18
blackburnyes please guys let us know if you are stucked13:18
-!- vikram360 [~vikram360@117.192.172.250] has quit [Ping timeout: 250 seconds]13:18
@sonney2kwe are really touching various aspects of shogun and some of you are experts in some fields and so helping each other is the way to make progress13:18
blackburnnobody wants any of you do something you really don't like13:18
@sonney2kthanks btw pluskid, n4nd0, blackburn, wiking for already being around on IRC most of the time13:19
wiking\o/13:19
n4nd0:)13:19
@sonney2kwe really had some inspiring discussions13:19
pluskid:)13:19
@sonney2kand I don't mean only about the german language wiking :D13:19
-!- arthurgretton [9052b95f@gateway/web/freenode/ip.144.82.185.95] has joined #shogun13:19
@sonney2kor vodka blackburn :D13:20
@sonney2kHi arthurgretton13:20
wikingsonney2k: btw aren't u swedish by any chance? :D13:20
@sonney2kjust in time to introduce yourself :)13:20
@sonney2kalright looks like arthurgretton prefers to listen - so lets continue with instructions to mentors:13:21
arthurgrettonI'm arthur, from gatsby unit at ucl, working with heiko on implementation of noparametric statistical tests13:21
@sonney2kthanks arthur!13:21
arthurgrettonand I prefer to listen :)13:21
@sonney2kSo what is expected from mentors:13:21
@sonney2k-  Guide your students like any PhD/Master student. Run a tight ship in the first few weeks to get things on track and then things will work w/o a lot of intervention.13:21
@sonney2k- Try to keep students happy (answer quickly, monitor happiness).13:22
@sonney2k- Encourage students to communicate in the open (this irc channel, mailinglist)13:22
@sonney2k- Participate (in relevant) public discussions.13:22
@sonney2k- Review student patches at github (give comments) - technical review / coding style etc will be done by mostly blackburn and me. Once you are satisfied notify blackburn,heiko or me to actually do the merge.13:22
@sonney2k- AND MOST IMPORTANTLY evaluate your student, once for midterm (deadline Jul 13) and once Aug 24 (final evaluation)13:23
@sonney2kWhich reminds me13:23
@sonney2kOn October 20/21st there will be the metnors summit @ google13:23
@sonney2kWho of the mentors wants to attend?13:24
@sonney2k(either say now or write me an email)13:24
@sonney2kMentors, any questions to that?13:24
cwidmerpossibly, but since I went last time, I would step back if anyone else wants to go13:24
cwidmerit's a fun meeting, though, which I can recommend13:25
@sonney2kok if that is all then lets come to "What is expected from students:"13:25
@sonney2k- Most importantly have fun with what you are doing and learn what you always wanted to learn.13:25
@sonney2k- Start early and stay in regular contact with your mentors in particular in the beginning. Students tell your mentor or me when you feel unhappy. We can adjust (and have done so in last GSoc) the task to solve.13:26
@sonney2k- (now for the annoying part)  While GSoC is running, students have to send weekly reports to the mailinglist (due every Monday).13:26
blackburnI'll track your happiness!13:26
@sonney2kthat doesn't have to be a lot13:26
@sonney2kjust a few sentences13:26
karlnapfsonney2k, from the 21 may right?13:26
blackburnand pictures if possible13:27
@sonney2kkarlnapf, yes13:27
blackburnit is always fun to see pictures13:27
arthurgrettonwith google mentor attendance, which google? zurich?13:27
@sonney2kalternatively write a blog :)13:27
-!- PhilTillet [~Philippe@vir78-1-82-232-38-145.fbx.proxad.net] has joined #shogun13:27
@sonney2karthurgretton, not clear yet13:27
@sonney2klast year it was in CA13:27
@sonney2kmountain view13:27
PhilTilletwah, a lot of people here :p13:27
arthurgrettonok - well let me know once you have more info13:27
blackburnPhilTillet: yes we have kind of meeting :)13:28
@sonney2kin case you intend to write a blog tell me to put on you planet shogun :)13:28
@sonney2kalright lets continue13:28
n4nd0any suggestion (e.g. platform to use) if we want to start a blog?13:28
@sonney2kGSoc is like a normal work day but with more fun, e.g. during (your) normal working hours students have to idle in IRC channel #shogun.13:29
cwidmerblackburn: i think we should blog about our project either at mid-term and/or at the end, let's keep that in mind13:29
@sonney2kn4nd0, no idea... karlnapf has had a blog last year13:29
blackburncwidmer: yes makes sense13:30
karlnapfI did this on wordpress13:30
@sonney2kcwidmer, in addition to students - yes13:30
pluskidn4nd0: wordpress is good13:30
blackburnwould g+ work? :D13:30
n4nd0ok, thank you guys13:30
@sonney2kblackburn, does it have some rss feed13:30
@sonney2k?13:30
blackburnno idea13:30
karlnapfbut I blogged with too much detail, and then when time pressure kicked in, I did postpone it all the time :)13:30
karlnapfBut I think its a good idea to to the weekly things in there13:30
@sonney2kjust short things13:30
@sonney2klike the SGVector discussion we had with pluskid or so13:31
-!- magicfly__ [c07c1afb@gateway/web/freenode/ip.192.124.26.251] has quit [Quit: Page closed]13:31
@sonney2k-  If you a planning to go on vacations, or be away for whatever reason (exams, ...) - no problem but please notify us upfront.13:31
@sonney2kThere is a documentation for mentors / students how gsoc works what is expected, how to succeed:13:32
@sonney2k• https://flossmanuals.net/GSoCStudentGuide/13:32
@sonney2k• Mentor manual https://flossmanuals.net/gsocmentoring/13:32
@sonney2kDoes anyone have any questions regarding to that?13:32
-!- magicfly_ [c07c1afb@gateway/web/freenode/ip.192.124.26.251] has quit [Ping timeout: 245 seconds]13:32
@sonney2kblackburn - did I miss anything / does anything else come to your mind?13:32
blackburnsonney2k: yes I wanted to encourage student to start with tutorial13:33
blackburnand I have suggestion of some doc sprint13:33
blackburnshould I describe it more?13:33
@sonney2kyes13:33
@sonney2kplease13:33
blackburnokay we have shogun-tutorial13:33
blackburnas well as shogun-data13:33
@sonney2k(in github)13:33
blackburnI already posted something about that at the mailing list13:34
blackburnso if someone of you want to not only code but write some underlying-math-related-stuff13:34
blackburnwe can collaborate there13:34
blackburnmentors would help as well13:34
blackburnit would be nice to have 'a book' containing supported methods13:34
blackburnits characteristics and so on13:35
@sonney2kI guess it would be easy if mentors contribute some .tex snippets from their thesis / papers13:35
@sonney2kabout the relevant methods13:35
blackburnyes exactly13:35
@sonney2kfigures even13:35
blackburnit would save much time13:35
blackburnsonney2k: btw send me your thesis - I'll crop some things and it would be a baseline ;)13:36
cwidmerblackburn: I'm happy to contribute some of my stuff13:36
@sonney2kI will13:36
@sonney2karthurgretton, vojtech ?13:36
blackburnvojtech's thesis is of interest too ;)13:36
blackburnI learned some things from it13:36
blackburncwidmer: thanks!13:36
blackburnok as for doc 'sprint'13:37
karlnapfarthur and I are already sharing some tex stuff, also I need to write it into my master dissertation anyway, so that will go in the tutorial too13:37
-!- PhilTillet [~Philippe@vir78-1-82-232-38-145.fbx.proxad.net] has quit [Read error: No route to host]13:37
@sonney2kkarlnapf, perfect13:37
blackburnlets schedule some week we can spend on documentation13:37
blackburnlate may or so13:37
blackburn*code documentation*13:37
blackburnwe should remove all warnings13:38
blackburnadd some descriptions of fields13:38
blackburnand write some more consistent @brief of classes13:38
blackburnwho is in and when you would like to do that?13:38
@sonney2klast week of may?13:38
blackburnworks for me13:38
wikingnotgoodforme13:38
n4nd0I would prefer the previous week to that one13:39
blackburnworks for me too13:39
@sonney2kn4nd0, puffin444, pluskid, karlnapf, uricamic ?13:39
n4nd0like right before GSoC starts officially13:39
@sonney2kok so just the week before gsoc?13:39
karlnapfsorry, I have exams then13:39
pluskidI'm fine13:39
uricamicI am fine with that13:40
puffin444The week starting May 28th?13:40
puffin444That's fine.13:40
@sonney2kkarlnapf, well you can join afterwards13:40
karlnapfactually, I can join a bit anyway13:40
karlnapfso OK for me13:40
wikingon the week that starts with may 28th i'm on pakdd13:40
blackburnit won't take all your time but we need to focus on doc somehow13:40
wikingeither before or after13:40
@sonney2klets stretch it out a bit and do it in the last 2 weeks with not 1000% energy then13:40
blackburnyes13:40
@sonney2klast two weeks of may - the one half that has time in the first week starts there and the others later13:41
@sonney2kit can be fun when you work together and try to decipher coding parts relevant to you13:41
blackburnokay then lets two weeks starting from 20, May be doc weeks13:41
@sonney2kalright then - any other comments/questions?13:42
pluskidI have a question: what's the dev style? Shall we work on our own git repo? Or like those pre-GSoC time: we submit small pull requests and wait to be merged into shogun-toolbox?13:42
@sonney2kpluskid, like before GSoC13:42
pluskidok13:42
@sonney2kbut now merging will go a lot faster since you already know the coding style and everything13:42
@sonney2kand patches will not be as intrusive13:43
@sonney2k(intrusive ones are done this month only)13:43
@sonney2kerr the next 4 weeks :)13:43
@sonney2kmore questions?13:43
blackburnthanks sonney2k ;)13:44
@sonney2kThen when shall we have the next meeting? On May 25 11 UTC?13:44
puffin444Seems fine to me.13:44
@sonney2kand then just before midterm / before final...13:44
n4nd0for me too13:44
cwidmerfine13:44
pluskidfine13:44
karlnapffine13:44
vojtechfine13:44
uricamicfine for me13:44
wikingfine13:44
blackburnshoudl be fine13:44
@sonney2kgreat13:44
magicflyfine13:44
@sonney2kso then that concludes it13:44
@sonney2kmagicfly, ?13:45
@sonney2kwho are you?13:45
n4nd0:D13:45
@sonney2kolivier?13:45
n4nd0I was wondering that too13:45
@sonney2knico?13:45
magicflySorry, also on the listening side (and had some trouble with the IP connection).13:45
magicflyYes, 2 line summary.13:45
@sonney2k(cheng is usually cheng* so it is not him :)13:45
cwidmerOk, guys, I need to go13:46
magicflyI am Oli Stegle and very much look forward to joining the team this year as mentor. I have been using parts of shogun since a long while and will work with Jacob on getting GP support into shogun this year.13:46
cwidmerthanks sonney2k for hosting the meeting13:46
@sonney2kthanks magicfly!13:46
magicflyIntro done, more later!13:46
@sonney2kso then thanks everyone for attending13:46
puffin444magicfly: Hi!13:46
@sonney2khave fun during the course of gsoc and flip bits not B#$(*&#%$98!13:46
n4nd0sonney2k, thanks to you! it feels good to work with this organization :)13:47
puffin444ok!13:47
cwidmerso contrats to all the student13:47
cwidmerhope you'll enjoy working with shogun!13:47
@sonney2kblackburn, you now have time to take your bear for a walk and drink vodka!13:47
n4nd0I've to go too, there is an exam to do soon :)13:47
@sonney2kwiking, please say some German curse words :D13:48
blackburnsonney2k: yes exactly but somebody stole my bear13:48
pluskida bear ?!13:48
n4nd0see you guys13:48
@sonney2kpluskid, it is like you cat13:48
blackburnn4nd0: good luck with your exam13:48
wikingsonney2k: scheiseeeee ;)13:48
@sonney2kthats what these russians have in siberia :D13:48
wikingthat's almost the only curse word in german :>13:48
@sonney2kas pets of course13:48
-!- n4nd0 [~n4nd0@wifi-cct-cisco-r252-4.cct.urjc.es] has quit [Quit: Ex-Chat]13:48
@sonney2kn4ndo good luck...13:48
@sonney2kwiking, well done :D13:49
wikingyeeey :)13:49
-!- cwidmer [~chris@HSI-KBW-046-005-237-106.hsi8.kabel-badenwuerttemberg.de] has quit [Quit: Konversation terminated!]13:49
wikingsonney2k: seriously, do u know some swedish?13:49
blackburnKonversation13:49
@sonney2kwiking, no13:49
blackburnoh heheh13:49
wikingsonney2k: shit, from your name you should :)13:49
@sonney2kI have to get back to work too (people are staring at me in this pizza place already)13:49
blackburnsonney2k: are you at pizza place?13:50
@sonney2kyes sure13:50
wikinghahahaha13:50
karlnapflol, pizza place? :)13:50
blackburnthat should be funny13:50
wikingsonney2k: sneaked out from work to a pizza place to do the shogun meeting ;)13:50
puffin444Okay, I got to go too.13:50
pluskidhave to go back and continue my 64bit OS installation, too13:50
@sonney2knext time I will choose the asia palast13:50
blackburnheh I take participance instead of doing anything at my job13:50
pluskidsee you all13:50
@sonney2kanyway cu - brb as sonne|work13:50
karlnapfsame here, see you all guys, thanks sonney2k for hosting13:51
blackburnsee you all13:51
puffin444yeah thanks13:51
vojtechsee you13:51
wikingsee ya13:51
wikingwho's doing the SGVector now? :)13:51
uricamicsee you13:51
magicflySee you soon, thanks for this great kickoff meeting sonney2k.13:51
-!- puffin444 [230bf329@gateway/web/freenode/ip.35.11.243.41] has left #shogun []13:52
wikingblackburn: http://napirajz.hu/files/007_AKRO.jpg13:53
wikingif you would understand!!!!13:53
wiking:>13:53
* wiking was crying of laughing for at least a minute :)13:53
-!- pluskid [~pluskid@li225-203.members.linode.com] has quit [Quit: Leaving]13:53
blackburnwiking: if I understood what is the $LANG13:53
wikingHUN13:54
wikingor HU13:54
wikingi don't remember the iso code :P13:54
blackburnwiking: I wish it was serbian - I would understand more probbably :)13:55
wikinghehehe yeah true13:55
wikingbut it is fucking hilarious13:55
blackburnhowever kurva should be the word I know13:55
wikinglong story short: the granddad tells to his grandchild what is the essence of life13:56
wikingvia showing 3 short videos13:56
blackburnnagyapa13:56
blackburnis a grandy?13:56
wikingyep13:56
blackburnsounds funny13:56
wikingthe essence of life: money, cunt and vodka13:57
blackburnyees13:57
blackburnexact essence of life13:57
wikingit's just more funny in hungarian13:57
wikingbecause all of those 3 words are starting with P13:57
wikingpenz, pina, palinka13:57
wiking;P13:57
blackburnwiking: damn you have difficult lang13:58
wikingheheh yeah it's hard if you are not native13:58
blackburndemigijedtembazmeg13:59
blackburnwtf13:59
blackburnhow to spell it13:59
wikingde megijedtem bazdmeg14:00
wikingit's like: whoafuckyouvescaredme14:00
blackburnwiking: it remind me one phrase14:01
blackburnwho are you to fucking lecture me14:01
blackburnyou shall google who said that14:01
blackburnwiking: http://www.dailymail.co.uk/news/article-1054850/Who-f--lecture--Russian-ministers-extraordinary-rant-David-Miliband.html14:02
blackburnwiking: http://a7.sphotos.ak.fbcdn.net/hphotos-ak-snc7/374147_297070240369128_100001984638925_641792_1458861698_n.jpg14:04
wikingloooool14:05
blackburnI wonder who came up with idea to boil babies14:05
blackburnwiking: do you understand red slogan?14:06
wikingyeah14:06
-!- arthurgretton [9052b95f@gateway/web/freenode/ip.144.82.185.95] has quit [Quit: Page closed]14:06
wikingzdorovje deti14:06
wikingzdorovar strana14:06
wikingi just cannot fucking put into the context14:07
wikingwhat does that have to do with administracija14:07
wiking;)14:07
blackburnwiking: just some PR :)14:07
wikingit's from the ministry of14:07
wikingautonom ministry14:07
blackburnwiking: haha no just some gov't organization cooking food for children14:08
wiking...14:08
wikingamazing man14:08
wiking:)14:08
wikingput the baby in the pan14:09
wikingnot the food14:09
blackburn:D:D14:09
wikingyou are on the right side :DDd14:09
-!- PhilTillet [~Philippe@vir78-1-82-232-38-145.fbx.proxad.net] has joined #shogun14:10
blackburnwiking: http://img.artlebedev.ru/kovodstvo/idioteka/i/9EBEA7B0-40C0-4226-BB8A-BA1D558D2A83.jpg14:10
blackburnwiking: http://img.artlebedev.ru/kovodstvo/idioteka/i/FD4294FF-A43F-4458-9CDC-F358E80F0918.jpg this one is cool too14:13
blackburnmarch,11 is going to be march,914:14
wiking:>>>>>>>>>>>>>>>14:14
blackburnwiking: http://img.artlebedev.ru/kovodstvo/idioteka/i/08C17374-5E5B-460F-86D1-0EE9EE318CF2.jpg14:19
blackburnwiking: http://img.artlebedev.ru/kovodstvo/idioteka/i/321E45F8-57C2-4E24-ADD3-E39E4E53871E.jpg 'clean city plus' on the back14:20
blackburnohh I should stop14:20
wikingnyihahahahaha14:23
wikingeast man east :)14:23
wikingok back to train/test :)14:24
wikingsomething is still bad with my code :>14:24
-!- blackburn [5bdfb203@gateway/web/freenode/ip.91.223.178.3] has quit [Quit: Page closed]14:31
-!- karlnapf [~heiko@dhcp-160-96.internal.eduroam.ucl.ac.uk] has quit [Quit: Leaving.]14:36
-!- PhilTillet [~Philippe@vir78-1-82-232-38-145.fbx.proxad.net] has quit [Remote host closed the connection]15:41
-!- blackburn [5bde8018@gateway/web/freenode/ip.91.222.128.24] has joined #shogun15:55
-!- vikram360 [~vikram360@117.192.187.42] has joined #shogun16:04
-!- blackburn [5bde8018@gateway/web/freenode/ip.91.222.128.24] has quit [Ping timeout: 245 seconds]16:06
wikingdamn hail storm16:16
-!- blackburn [~qdrgsm@188.168.2.179] has joined #shogun16:16
sonne|workwiking: any additional holes in your head?16:17
wikingwhy?16:17
sonne|workhail storm?16:17
wikingwell i'm covered16:18
wikingjust the window was about to crack :)16:18
wikingi literally start to hate this country ;)16:18
sonne|workgreat :-\16:18
wikingliving in a tropical area would be better, since then it'd only rain once a day otherwise it would be hot16:18
sonne|workturn your anger into productivity :D16:18
wikinghere it's fucking cold and rains all the thime16:19
wikingtime16:19
wikingyeah i'm just doing that :)16:19
wikingtrying to fix some stuff since my solver still does not converge into a good solution ;)16:19
wikingnot even near to it16:19
wiking:)16:19
wikingsonne|work: btw how is shogun a large-scale ML toolbox? :)16:22
sonne|workwell I trained an SVM on 50 million dna sequences mapped into some ~1 million dimensional space16:24
sonne|workand applied it to the whole human genome (6 billion sequences)16:24
wikingsame could not be told about gmm16:25
sonne|workgmm?16:25
wikinggmm clusterer16:26
blackburnmust not update ubuntu must not update ubuntu16:26
sonne|workwiking: not sure what you want to say16:30
blackburnsonne|work: he wants to say our gmm sucks^W is not scalable16:31
sonne|workahh could not16:33
sonne|workwiking: well sure not every algorithm is optimized to max16:33
blackburnscalable gmm is something ambitious I think?16:34
-!- gsomix [~gsomix@188.168.5.45] has joined #shogun16:39
gsomixhello16:39
gsomixblackburn, I had a strange interview today.16:40
blackburngsomix: why so?16:41
gsomixblackburn, general questions related to IT and studying.16:42
blackburnwhat is strange about it then?16:42
gsomixI thought it would be a technical interview. however, I am happy. :)16:44
blackburngsomix: what is the reason to ask you to write code if they want to teach you how to write code?16:53
blackburngsomix: they should better accept a lot - both I and my friend working @ OPF team are leaving this month17:06
blackburnsonne|work: your angry birds scores are too high!17:07
-!- vojtech [9320543b@gateway/web/freenode/ip.147.32.84.59] has quit [Quit: Page closed]17:07
blackburnnahh I bet you17:08
blackburnbeat*17:08
@sonney2kgsomix, bad news!17:09
@sonney2kblackburn, what? no way!17:09
blackburnsonney2k: yeah at one level hehe17:09
blackburnsonney2k: mikio seems to be angry birds expert too17:10
blackburn:D:D17:10
@sonney2kgsomix, hmmhh - maybe later then17:10
blackburnsonney2k: he is in 2 meter far away17:11
blackburnwhat should I say to him?17:11
blackburn:D17:11
@sonney2kgsomix, SGVector plans have drastically changed17:11
@sonney2kso no longer any references17:11
@sonney2kbut just the way it is now17:11
@sonney2kwith some hacky treatment17:12
@sonney2kgsomix, you should read the discussion we (pluskid,wiking,me) had this morning in chatlogs17:12
blackburnsonney2k: hmm do you want that tricky thing? (it is me still)17:12
@sonney2kblackburn, yes - I see no other solution17:13
@sonney2keven switching to ptrs would mean we need 4 more bytes17:13
@sonney2k817:13
blackburnsonney2k: could you please explain to me why it is the solution?17:13
blackburnin a few words17:13
@sonney2kblackburn, ok so we need reference counting in sgvector - agreed?17:13
blackburnsonney2k: yes probably17:14
@sonney2kso we need to add some field '#references'17:14
@sonney2kto SGVector instead of the do_free17:14
@sonney2know problem is if we keep the system as it is (always copy sgvector objects)17:15
blackburnhmm right17:15
@sonney2kwe have a problem17:15
blackburnah copies of references17:15
@sonney2kbecause counters cannot change17:15
@sonney2kso I thought - ok lets use references always17:15
@sonney2kbut this turns out to be annoying17:15
blackburnoh I got it17:16
@sonney2kone has to be very careful - argh17:16
@sonney2kI think I found another problem *haha*17:16
blackburnsonney2k: which?17:17
@sonney2kSGVector could actually just return a line of the matrix17:17
@sonney2kerr column17:17
@sonney2kof SGMatrix17:17
@sonney2kwithout any effor17:17
@sonney2kt17:17
@sonney2kwith that hack memory has to be copied17:17
@sonney2kthis is not good17:18
@sonney2kand it is not clear how to tell sgvector to never free this memory17:18
blackburnsonney2k: a lot of pain here :D17:19
* sonney2k suffers in hell17:19
@sonney2kNow I only see ptrs + an additional boolean as the only option17:20
gsomixsonney2k, moin.17:20
gsomixsonney2k, I'm reading now.17:21
@sonney2kgsomix, hey17:21
@sonney2kenjoy17:21
blackburnsonney2k: oh it would take a while hehe17:27
@sonney2kblackburn, yeah a lot of traffic these days17:27
blackburngsomix: could you please ping me by +79178243534 if chris comes?17:27
blackburn:D17:28
gsomixblackburn, cwidmer?17:28
blackburngsomix: exactly17:28
* sonney2k leaves the train17:28
blackburnhowever I'll try to join irc by web17:29
-!- abn_ [~av3ngr@60-241-222-244.static.tpgi.com.au] has quit [Quit: That's all folks!]17:39
-!- blackburn2 [d55787ba@gateway/web/freenode/ip.213.87.135.186] has joined #shogun17:43
gsomixsonney2k, oh. I'm away and am thinking about SGVector. :)17:55
-!- ckwidmer [~chris@HSI-KBW-046-005-237-106.hsi8.kabel-badenwuerttemberg.de] has joined #shogun17:56
-!- uricamic [9320543b@gateway/web/freenode/ip.147.32.84.59] has quit [Quit: Page closed]18:10
-!- PhilTillet [~Philippe@vir78-1-82-232-38-145.fbx.proxad.net] has joined #shogun18:13
wiking blackburn here's your super :P18:35
blackburnwiking: yes thanks :)18:35
@sonney2kgsomix, re18:44
gsomixsonney2k, I think pluskid suggested a nice solution.19:07
gsomixanyway I cannot offer a better solution.19:09
-!- blackburn [~qdrgsm@188.168.2.179] has quit [Quit: Leaving.]19:23
-!- ckwidmer [~chris@HSI-KBW-046-005-237-106.hsi8.kabel-badenwuerttemberg.de] has quit [Remote host closed the connection]19:24
-!- blackburn2 [d55787ba@gateway/web/freenode/ip.213.87.135.186] has quit [Quit: Page closed]19:36
-!- harshit_ [~harshit@182.68.247.30] has joined #shogun19:42
@sonney2kgsomix, there is a problem howoever20:16
@sonney2kgsomix, when one returns one column vector (part of SGMatrix) then this should never be touched and pluskid's solution requires to copy the whole thing20:18
@sonney2kso we cannot use it20:18
gsomixsonney2k, around?20:57
@sonney2ksure20:57
@sonney2kgsomix, whats up?20:57
@sonney2khmmh20:58
gsomixsonney2k, pluskid's solution requires to copy the whole thing | i don't got it. can you show small example?20:59
@sonney2kgsomix, think of SGMatrix<float32_t> mat20:59
@sonney2kit has mat.matrix and mat.nrows mat.ncols20:59
@sonney2kso now lets get some column vector21:00
@sonney2kand return it as SGVector21:00
gsomixaha, new instance and copying.21:01
@sonney2kso we would just point somewhere into mat.matrix, to get e.g. the n'th column vector address &mat.matrix[nrows*n]21:01
@sonney2kso SGVector of that would just be this ptr and mat.nrows21:02
@sonney2kgsomix, problem is that now the 'reference,vector data' is not in there so one would need a copy21:04
@sonney2kthat sucks21:04
gsomixsonney2k, I see.21:06
gsomixsonney2k, why isn't this a problem of implementation SGMatrix?21:16
gsomixIf we return the column as a vector, then we will certainly not able to free memory. We'll have to copy.21:16
gsomix*as SGVector21:17
@sonney2kgsomix - well with current SGVector you don't have to copy21:24
@sonney2kyou just say that do_free=false and all good21:24
gsomixsonney2k, why not make a SGVector with an "infinite" value of ref_count? I mean, we can use this pointer as a do_free flag (e. g. ref_count == NULL).21:29
@sonney2kgsomix, it is not so easy21:31
@sonney2kthere is the SG_REF / SG_UNREF that could modify things potentially21:31
@sonney2kbut the biggest issue really is that the refcount is in pluskids approach hidden21:33
gsomixsonney2k, hmm, I think, we can do check that the vector is a non-removable.21:33
@sonney2kin worst case with some flag21:34
@sonney2kbut problem is the T* refcount hack21:35
@sonney2kso one would need to copy21:35
@sonney2kthe only alternative I see is to either *always* use references21:35
@sonney2kor pointers21:36
gsomixsonney2k, dangerous way21:38
gsomixalways using references, I mean21:38
-!- blackburn1 [~qdrgsm@188.168.2.179] has joined #shogun21:42
@sonney2kgsomix, yeah I think so too21:51
@sonney2kgsomix, if one once forgets to use a refence -> kaboom21:51
@sonney2kleak21:51
@sonney2kor crash21:51
gsomixaha21:51
@sonney2kso ptr seems to be the only viable option21:52
blackburn1oh it is the first time I forced myself to not introduce any new idea21:52
@sonney2kwith some (negative magic number indicating DON'T FREE)21:52
blackburn1(actually I dream about immutability)21:52
@sonney2kblackburn1, yeah blackburn0++21:53
-!- blackburn1 is now known as blackburn1121:53
gsomixblackburn11, 22821:53
blackburn11gsomix: 28221:53
gsomixblackburn11, hoho21:54
blackburn11sonney2k: do you know what ??? in russian is?21:55
blackburn11we came with chris I shaved off fur in the SLEP :D21:55
@sonney2kheh22:06
-!- n4nd0 [~nando@188.Red-2-137-0.dynamicIP.rima-tde.net] has joined #shogun22:16
gsomixsonney2k, so, what to do with it?22:16
gsomixn4nd0, hey :)22:16
n4nd0hey gsomix22:17
gsomixn4nd0, how are you?22:17
n4nd0gsomix: just fine, how are you?22:17
gsomixn4nd0, tired. crazy week22:18
n4nd0definetely22:19
blackburn11n4nd0: so how was your exam?22:23
n4nd0blackburn11: pse not that good actually22:25
n4nd0blackburn11: very litle about PL/SQL and quite a lot of theory22:26
n4nd0I prepared better the lab part22:26
blackburn11n4nd0: what kind of theory?22:26
blackburn11like normalization etc?22:27
gsomixblackburn11, do you remember boyce-codd normal form?22:28
blackburn11gsomix: yes slightly22:28
blackburn11that is not really needed so I prefer not to keep it in mind22:28
gsomixaha22:29
blackburn11SCHLAFEN22:31
-!- blackburn11 [~qdrgsm@188.168.2.179] has quit [Quit: Leaving.]22:31
n4nd0yeah22:35
n4nd0there was an exercise of normalization but I think that was ok22:35
n4nd0where was another part of logical standard design that was not that good :S22:36
gsomixsonney2k, what is my task on rest of this week?22:49
gsomixit's time to sleep23:07
gsomixgood night guys23:07
n4nd0good night gsomix23:08
-!- harshit_ [~harshit@182.68.247.30] has quit [Remote host closed the connection]23:30
--- Log closed Fri Apr 27 00:00:19 2012

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