IRC logs of #shogun for Friday, 2017-07-14

--- Log opened Fri Jul 14 00:00:54 2017
@wikinglisitsyn, here?09:04
-!- geektoni [~geektoni@93-34-128-38.ip49.fastwebnet.it] has joined #shogun09:20
@wikinggeektoni, hey09:21
geektoniwiking: hi09:21
-!- iglesiasg [~iglesiasg@217.119.234.214] has joined #shogun09:36
@wikingmicmn, here?09:37
-!- mode/#shogun [+o iglesiasg] by ChanServ09:37
micmnwiking: here11:05
lisitsynwiking: yes sir11:13
@wikinglisitsyn, i have a problem ;)11:27
lisitsynyes?11:28
lisitsyn:)11:28
@wikingso say i have a class that is a base class A11:28
@wikingand it has many derived classes... and those derived classes has static const char*11:28
@wikingbut since there's no way to virtual a static variable11:28
@wikinghow sould you define these variables that a) they are static so no virtual function wrappers needs to be around b) they could be accessed from class A functions11:29
@wiking ;)11:29
@wikingmy initial idea is to make class A templated where the template parameter is a class that contains the static variables...11:30
@wikingmicmn, do you think we could 'normalize' the linalgbackend interface using CRTP pattern? the thing is that i hate those macros :)11:30
@wikingmicmn, https://en.wikipedia.org/wiki/Curiously_recurring_template_pattern11:31
micmnyeah they are awful11:31
lisitsynwiking: yeah it looks like static polymorphism11:32
lisitsynwhich is done by CRTP11:32
@wikinglisitsyn, you mean my problem i've described above?11:32
lisitsynwiking: yes11:32
lisitsyn:)11:32
@wikingmmm i just dont like adding a template param11:32
lisitsynalthough it is not static11:33
@wikingto the base class11:33
@wikingbecause i use it around11:33
@wikingas A*11:33
lisitsynwhy do you want them to be static?11:33
@wiking(in function args)11:33
@wikinglisitsyn, coz they are just really some strings11:33
@wikingthat are fixed11:33
@wiking(basically REST paths)11:34
lisitsynyeah but static is painful in this case11:34
@wikinglisitsyn, i mean the script kiddie solution is that you maintain a map in class A :P11:34
@wikingand you fill that map in the derived classes11:35
@wikingbut it's super aweful11:35
lisitsynstatic map? how to fill?11:35
@wikingnono11:35
@wikingsimple map11:35
@wiking:D11:35
@wikingit's super aweful11:35
@wiking'works'11:35
@wikingbut i'd like to be able to check this during compile time11:35
@wikingi mean the correctness11:36
@wikingbecause if i store the paths in like map<string, string>11:36
@wikingthen i would do callREST(map["auth"])11:36
lisitsynah ok11:36
@wikingbut then what if the user fucked up the map and did not fill he value11:37
@wiking*the11:37
@wikingnote this is super python solution11:37
@wiking:P11:37
lisitsynyeah everything is dict11:37
lisitsynlookup in a dict like a pro11:37
@wikinghence i wanna switch to something that uses the compiler11:37
lisitsynall night long haha11:37
@wiking:)11:37
@wikingand i wondering what's the nice solution in this case11:37
@wikingideas?11:39
lisitsynwiking: well you basically need static polymorphism right? :)11:44
Trixiswiking: is there a document that summarises the rationale behind svmlight?11:46
Trixiswiking: asking b/c i noticed it runs to issues with numeric stability under certain circumstances, hence i would like to see if it's an intentional caveat or an unintentional implementation error11:47
-!- HeikoS [~heiko@host-92-0-169-11.as43234.net] has joined #shogun12:00
-!- mode/#shogun [+o HeikoS] by ChanServ12:00
@sukey[https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/3929 opened by geektoni12:41
micmnwiking: currently we have get_cpu_backend() that returns a pointer to a LinalgBackendBase object, so how do we achieve that with a templated base class like in CRTP?12:42
@wikingeverything is LinalgBackendBase12:47
@wikingbut LinalgBackendBase has a template param that is the actual backend12:47
micmnyeah I mean we have std::unique_ptr<LinalgBackendBase> cpu_backend; we need a workaround for this12:50
@sukey[https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/3929 synchronized by geektoni12:51
@wikingmicmn, i undersand12:53
@wikingbut the thing is that if we use only the base class12:53
@wikingsay12:53
@wikingtemplate<class ActualBackend> class LinalgBackend {....};12:54
@wikingthen we could actually have12:54
-!- geektoni [~geektoni@93-34-128-38.ip49.fastwebnet.it] has quit [Ping timeout: 240 seconds]13:40
-!- HeikoS [~heiko@host-92-0-169-11.as43234.net] has quit [Quit: Leaving.]14:14
-!- HeikoS [~heiko@host-92-0-169-11.as43234.net] has joined #shogun14:19
-!- mode/#shogun [+o HeikoS] by ChanServ14:19
-!- geektoni [~geektoni@93-34-128-38.ip49.fastwebnet.it] has joined #shogun14:31
@sukey[https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/3929 synchronized by geektoni14:47
-!- HeikoS [~heiko@host-92-0-169-11.as43234.net] has quit [Quit: Leaving.]14:55
@sukey[https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/3928 synchronized by geektoni14:57
@sukey[https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/3928 synchronized by geektoni15:00
-!- iglesiasg [~iglesiasg@217.119.234.214] has quit [Quit: leaving]16:28
-!- geektoni [~geektoni@93-34-128-38.ip49.fastwebnet.it] has quit [Quit: Leaving.]16:31
-!- geektoni1 [~geektoni@93-34-128-38.ip49.fastwebnet.it] has joined #shogun16:31
-!- HeikoS [~heiko@untrust-out.swc.ucl.ac.uk] has joined #shogun16:32
-!- mode/#shogun [+o HeikoS] by ChanServ16:32
Trixislol i managed to use shogun in a way that results in a segfault16:37
lisitsynoh it is not that difficult believe me :P16:42
Trixisi think i know which part of the code is exactly causing it16:43
Trixislisitsyn: right, question: the issue is to do with unsafe element access CCombinedFeatures::get_feature_obj(), im about to fix this and submit a PR, however im not sure if i should throw an error if the idx is out of bounds, or simply return as expected by CCombinedKernel::init16:58
Trixisor wiking if you're around17:01
@sukey[https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/3928 closed by geektoni17:13
Trixishow the hell does one submit a PR from the github desktop app ...17:54
@sukey[https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/3929 synchronized by geektoni18:33
@sukey[https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/3929 synchronized by geektoni18:49
-!- HeikoS [~heiko@untrust-out.swc.ucl.ac.uk] has quit [Ping timeout: 276 seconds]19:00
-!- HeikoS [~heiko@eduroam-int-pat-8-96.ucl.ac.uk] has joined #shogun19:14
-!- mode/#shogun [+o HeikoS] by ChanServ19:14
-!- geektoni1 [~geektoni@93-34-128-38.ip49.fastwebnet.it] has quit [Ping timeout: 248 seconds]19:17
-!- HeikoS [~heiko@eduroam-int-pat-8-96.ucl.ac.uk] has quit [Quit: Leaving.]19:52
-!- OXPHOS [92bd305b@gateway/web/freenode/ip.146.189.48.91] has quit [Quit: Page closed]22:55
@sukey[https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/3930 opened by HeyItsDavid23:02
Trixisyay finally managed to create the PR23:02
Trixisand it looks like i flipped an inequality, fuc k23:12
Trixisright, no that's only the variables in the error message i flipped around23:18
@sukey[https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/3930 closed by HeyItsDavid23:25
@sukey[https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/3931 opened by HeyItsDavid23:37
Trixis so far its green23:59
Trixislooks much better23:59
--- Log closed Sat Jul 15 00:00:56 2017

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