--- Log opened Sat Jan 12 00:00:38 2013 | ||
-!- zxtx [~zv@cpe-75-83-151-252.socal.res.rr.com] has joined #shogun | 00:00 | |
-!- FSCV [~FSCV@187.210.54.162] has quit [Quit: Leaving] | 01:05 | |
-!- FSCV [~FSCV@189.139.231.191] has joined #shogun | 02:41 | |
-!- FSCV [~FSCV@189.139.231.191] has quit [Ping timeout: 248 seconds] | 03:32 | |
-!- FSCV_ [~FSCV@189.139.159.26] has joined #shogun | 03:32 | |
-!- FSCV_ [~FSCV@189.139.159.26] has quit [Quit: Leaving] | 04:31 | |
-!- FSCV [~FSCV@189.139.159.26] has joined #shogun | 04:31 | |
-!- FSCV [~FSCV@189.139.159.26] has quit [Quit: Leaving] | 06:27 | |
-!- n4nd0 [0289e099@gateway/web/freenode/ip.2.137.224.153] has joined #shogun | 15:17 | |
-!- n4nd0 [0289e099@gateway/web/freenode/ip.2.137.224.153] has quit [Client Quit] | 15:20 | |
-!- n4nd0 [~nando@153.Red-2-137-224.dynamicIP.rima-tde.net] has joined #shogun | 15:23 | |
-!- FSCV [~FSCV@189.139.159.26] has joined #shogun | 17:05 | |
-!- FSCV [~FSCV@189.139.159.26] has quit [Quit: This computer has gone to sleep] | 18:09 | |
-!- n4nd0 [~nando@153.Red-2-137-224.dynamicIP.rima-tde.net] has quit [Quit: leaving] | 18:47 | |
@sonney2k | blackburn, hurray ;-) | 20:04 |
---|---|---|
@sonney2k | blackburn, btw I learned some stuff about clean programming etc | 20:04 |
blackburn | sonney2k: clean programming? | 20:05 |
@sonney2k | like design patterns :) | 20:05 |
@sonney2k | and principles | 20:05 |
blackburn | hmm well I know patterns | 20:05 |
blackburn | most of them | 20:06 |
blackburn | :) | 20:06 |
blackburn | so what have you learnt? | 20:06 |
@sonney2k | I would say shogun violates them all ;-) | 20:06 |
blackburn | yes sure | 20:06 |
@sonney2k | and any production code I've seen too FWIW | 20:06 |
@sonney2k | but yes in an ideal world | 20:06 |
@sonney2k | I would go as far as saying that lots of stuff is not possible when you want things to be efficient | 20:07 |
blackburn | I've seen a lot of code made by patterns | 20:07 |
blackburn | like building blocks | 20:07 |
blackburn | not very better | 20:07 |
@sonney2k | like the pointer / reference concept is killing encapsulation | 20:07 |
blackburn | sonney2k: tapkee is nearly integrated | 20:07 |
blackburn | come on it is a language concept | 20:07 |
@sonney2k | blackburn, yeah yeah | 20:08 |
blackburn | inheritance kills encapsulation if we take that philosophically | 20:08 |
blackburn | :D | 20:08 |
@sonney2k | it is true | 20:08 |
@sonney2k | that is why everything should be private and you should not inherit :D | 20:08 |
@sonney2k | I didn't know about package private in java | 20:08 |
blackburn | inheritance is just a way to redup code | 20:08 |
@sonney2k | dedup | 20:09 |
@sonney2k | ? | 20:09 |
blackburn | yes sure | 20:09 |
@sonney2k | as are templates | 20:09 |
blackburn | yeah | 20:09 |
@sonney2k | I didn't feel very comfortable with java's generics | 20:09 |
blackburn | why? they are much better than templates | 20:09 |
@sonney2k | they allow a couple of things that are crazy | 20:09 |
@sonney2k | and stupid | 20:09 |
blackburn | like? | 20:09 |
@sonney2k | and dangerous | 20:09 |
@sonney2k | stuff like | 20:10 |
@sonney2k | Bar<SuperType] foo[] = new Bar<SubType>[100]; is ok | 20:11 |
blackburn | well | 20:11 |
@sonney2k | and then this <?> | 20:11 |
blackburn | better is to write | 20:11 |
blackburn | Bar<? extends SuperType> | 20:11 |
blackburn | :) | 20:11 |
blackburn | yes they cast parameters | 20:12 |
@sonney2k | I actullay like that <? extends X> and <? super X> | 20:12 |
@sonney2k | but the rest - hmmhh | 20:12 |
@sonney2k | what is dangerous in java is that you don't have const at all | 20:12 |
@sonney2k | so you can not safely pass objects around | 20:13 |
blackburn | yes that's an issue | 20:13 |
blackburn | it is successfully handled by defensive copies though | 20:13 |
@sonney2k | I 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 project | 20:14 |
@sonney2k | so you cannot shoot yourself in the foot | 20:14 |
blackburn | good you learnt that :) | 20:14 |
@sonney2k | the hard way(tm) | 20:14 |
blackburn | sonney2k: in C++ const has even more value | 20:15 |
blackburn | bigger value I mean | 20:15 |
@sonney2k | anyway 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 way | 20:15 |
@sonney2k | and using generics may fall in this category :D | 20:16 |
blackburn | sonney2k: where have you learnt all that stuff? | 20:16 |
@sonney2k | I heard some lecture/tutorial this week | 20:17 |
blackburn | sonney2k: that rule is pretty hard to obey | 20:21 |
@sonney2k | really? | 20:26 |
blackburn | sonney2k: parse like understand what it does? | 20:27 |
@sonney2k | yes | 20:28 |
blackburn | pretty hard still | 20:29 |
@sonney2k | yeah it is... | 20:36 |
-shogungit:#shogun- [shogun] lisitsyn opened pull request #854: Tapkee library integration (master...tapkee_merging) https://github.com/shogun-toolbox/shogun/pull/854 | 20:37 | |
@sonney2k | blackburn, btw I received some response from c-base | 20:37 |
blackburn | sonney2k: like? | 20:37 |
@sonney2k | might be ok... | 20:37 |
@sonney2k | we should do the scheduling next week | 20:37 |
blackburn | dense! | 20:38 |
blackburn | they schedule june in january? | 20:38 |
@sonney2k | blackburn, no I mean ask c-base about the date | 20:39 |
blackburn | ah | 20:39 |
blackburn | argh what the heck I just commited | 20:42 |
blackburn | I hate such big changes | 20:43 |
blackburn | way too easy to lost a track | 20:43 |
blackburn | lets see what travis says | 20:43 |
blackburn | sonney2k: we can get randomizedpca from tapkee now | 20:44 |
blackburn | in tapkee it is a matter of one parameter I mean | 20:45 |
@sonney2k | blackburn, yeah big changes are alway painful | 20:45 |
@sonney2k | that is why I think we should all mutually do code-reviews | 20:45 |
blackburn | sonney2k: so don't mind to remove superlu now? | 20:46 |
@sonney2k | blackburn, does anyone use it? | 20:46 |
blackburn | no, how? | 20:46 |
@sonney2k | superlu I mean | 20:47 |
blackburn | let me just disable it by default | 20:47 |
blackburn | no, nobody uses superlu | 20:47 |
blackburn | it can be optionally used by tapkee but no need to do that | 20:47 |
blackburn | oh | 20:47 |
blackburn | travis has old eigen3 | 20:48 |
blackburn | sonney2k: all dimension reduction is dependent on eigen3 now | 20:48 |
blackburn | sonney2k: can we raise eigen version? | 20:54 |
blackburn | I am in trouble unless :) | 20:55 |
blackburn | we need 3.1.0 which finally has sparse module | 20:55 |
@sonney2k | hmmhh there is unlikely any distribution shipping that yet | 21:12 |
@sonney2k | hhmm, debian wheezy will have it | 21:13 |
@sonney2k | but none of our buildbots | 21:13 |
blackburn | trying to add some backward compat thing | 21:13 |
@sonney2k | can you somehow work with eigen3.0 and disable the parts that require 3.1? | 21:13 |
blackburn | sonney2k: yes that part is tapkee | 21:16 |
blackburn | :D | 21:16 |
blackburn | well I am trying to adapt it now | 21:16 |
blackburn | sonney2k: I need some sparse solver but it wasn't there :D | 21:18 |
@sonney2k | blackburn, there is no problem requiring 3.1 for *same* parts | 21:19 |
blackburn | sonney2k: what do you mean? | 21:20 |
@sonney2k | so just some functionality would be not available | 21:20 |
blackburn | yes but I need 3.1 when other parts do not | 21:21 |
blackburn | sonney2k: oh it seems there is a way! | 21:27 |
blackburn | yes it is possible with some ifdefs | 21:36 |
--- Log closed Sun Jan 13 00:00:38 2013 |
Generated by irclog2html.py 2.10.0 by Marius Gedminas - find it at mg.pov.lt!