Open in new window / Try shogun cloud
--- Log opened Sat Jan 12 00:00:38 2013
-!- zxtx [] has joined #shogun00:00
-!- FSCV [~FSCV@] has quit [Quit: Leaving]01:05
-!- FSCV [~FSCV@] has joined #shogun02:41
-!- FSCV [~FSCV@] has quit [Ping timeout: 248 seconds]03:32
-!- FSCV_ [~FSCV@] has joined #shogun03:32
-!- FSCV_ [~FSCV@] has quit [Quit: Leaving]04:31
-!- FSCV [~FSCV@] has joined #shogun04:31
-!- FSCV [~FSCV@] has quit [Quit: Leaving]06:27
-!- n4nd0 [0289e099@gateway/web/freenode/ip.] has joined #shogun15:17
-!- n4nd0 [0289e099@gateway/web/freenode/ip.] has quit [Client Quit]15:20
-!- n4nd0 [] has joined #shogun15:23
-!- FSCV [~FSCV@] has joined #shogun17:05
-!- FSCV [~FSCV@] has quit [Quit: This computer has gone to sleep]18:09
-!- n4nd0 [] has quit [Quit: leaving]18:47
@sonney2kblackburn, hurray ;-)20:04
@sonney2kblackburn, btw I learned some stuff about clean programming etc20:04
blackburnsonney2k: clean programming?20:05
@sonney2klike design patterns  :)20:05
@sonney2kand principles20:05
blackburnhmm well I know patterns20:05
blackburnmost of them20:06
blackburnso what have you learnt?20:06
@sonney2kI would say shogun violates them all ;-)20:06
blackburnyes sure20:06
@sonney2kand any production code I've seen too FWIW20:06
@sonney2kbut yes in an ideal world20:06
@sonney2kI would go as far as saying that lots of stuff is not possible when you want things to be efficient20:07
blackburnI've seen a lot of code made by patterns20:07
blackburnlike building blocks20:07
blackburnnot very better20:07
@sonney2klike the pointer / reference concept is killing encapsulation20:07
blackburnsonney2k: tapkee is nearly integrated20:07
blackburncome on it is a language concept20:07
@sonney2kblackburn, yeah yeah20:08
blackburninheritance kills encapsulation if we take that philosophically20:08
@sonney2kit is true20:08
@sonney2kthat is why everything should be private and you should not inherit :D20:08
@sonney2kI didn't know about package private in java20:08
blackburninheritance is just a way to redup code20:08
blackburnyes sure20:09
@sonney2kas are templates20:09
@sonney2kI didn't feel very comfortable with java's generics20:09
blackburnwhy? they are much better than templates20:09
@sonney2kthey allow a couple of things that are crazy20:09
@sonney2kand stupid20:09
@sonney2kand dangerous20:09
@sonney2kstuff like20:10
@sonney2kBar<SuperType] foo[] = new Bar<SubType>[100]; is ok20:11
@sonney2kand then this <?>20:11
blackburnbetter is to write20:11
blackburnBar<? extends SuperType>20:11
blackburnyes they cast parameters20:12
@sonney2kI actullay like that <? extends X> and <? super X>20:12
@sonney2kbut the rest - hmmhh20:12
@sonney2kwhat is dangerous in java is that you don't have const at all20:12
@sonney2kso you can not safely pass objects around20:13
blackburnyes that's an issue20:13
blackburnit is successfully handled by defensive copies though20:13
@sonney2kI realized that const can have some value (I never really liked it before) when you have a big project and you are a newcomer to the project20:14
@sonney2kso you cannot shoot yourself in the foot20:14
blackburngood you learnt that :)20:14
@sonney2kthe hard way(tm)20:14
blackburnsonney2k: in C++ const has even more value20:15
blackburnbigger value I mean20:15
@sonney2kanyway the major rule for any code should imho be: if you cannot parse a block of code within a few seconds - don't do it that way20:15
@sonney2kand using generics may fall in this category :D20:16
blackburnsonney2k: where have you learnt all that stuff?20:16
@sonney2kI heard some lecture/tutorial this week20:17
blackburnsonney2k: that rule is pretty hard to obey20:21
blackburnsonney2k: parse like understand what it does?20:27
blackburnpretty hard still20:29
@sonney2kyeah it is...20:36
-shogungit:#shogun- [shogun] lisitsyn opened pull request #854: Tapkee library integration (master...tapkee_merging)
@sonney2kblackburn, btw I received some response from c-base20:37
blackburnsonney2k: like?20:37
@sonney2kmight be ok...20:37
@sonney2kwe should do the scheduling next week20:37
blackburnthey schedule june in january?20:38
@sonney2kblackburn, no I mean ask c-base about the date20:39
blackburnargh what the heck I just commited20:42
blackburnI hate such big changes20:43
blackburnway too easy to lost a track20:43
blackburnlets see what travis says20:43
blackburnsonney2k: we can get randomizedpca from tapkee now20:44
blackburnin tapkee it is a matter of one parameter I mean20:45
@sonney2kblackburn, yeah big changes are alway painful20:45
@sonney2kthat is why I think we should all mutually do code-reviews20:45
blackburnsonney2k: so don't mind to remove superlu now?20:46
@sonney2kblackburn, does anyone use it?20:46
blackburnno, how?20:46
@sonney2ksuperlu I mean20:47
blackburnlet me just disable it by default20:47
blackburnno, nobody uses superlu20:47
blackburnit can be optionally used by tapkee but no need to do that20:47
blackburntravis has old eigen320:48
blackburnsonney2k: all dimension reduction is dependent on eigen3 now20:48
blackburnsonney2k: can we raise eigen version?20:54
blackburnI am in trouble unless :)20:55
blackburnwe need 3.1.0 which finally has sparse module20:55
@sonney2khmmhh there is unlikely any distribution shipping that yet21:12
@sonney2khhmm, debian wheezy will have it21:13
@sonney2kbut none of our buildbots21:13
blackburntrying to add some backward compat thing21:13
@sonney2kcan you somehow work with eigen3.0 and disable the parts that require 3.1?21:13
blackburnsonney2k: yes that part is tapkee21:16
blackburnwell I am trying to adapt it now21:16
blackburnsonney2k: I need some sparse solver but it wasn't there :D21:18
@sonney2kblackburn, there is no problem requiring 3.1 for *same* parts21:19
blackburnsonney2k: what do you mean?21:20
@sonney2kso just some functionality would be not available21:20
blackburnyes but I need 3.1 when other parts do not21:21
blackburnsonney2k: oh it seems there is a way!21:27
blackburnyes it is possible with some ifdefs21:36
--- Log closed Sun Jan 13 00:00:38 2013