--- Log opened Fri Apr 17 00:00:46 2015 | ||
-!- pickle27 [~pickle27@192-0-134-235.cpe.teksavvy.com] has joined #shogun | 01:52 | |
-!- vortex_ape [~vortex_ap@59.177.131.141] has quit [Ping timeout: 245 seconds] | 02:35 | |
-!- vortex_ape [~vortex_ap@120.59.199.238] has joined #shogun | 02:36 | |
-!- pickle27 [~pickle27@192-0-134-235.cpe.teksavvy.com] has quit [Remote host closed the connection] | 05:52 | |
shogun-buildbot | build #1000 of nightly_default is complete: Failure [failed notebooks] Build details are at http://buildbot.shogun-toolbox.org/builders/nightly_default/builds/1000 blamelist: Sergey Lisitsyn <lisitsyn.s.o@gmail.com>, Bj?rn Esser <bjoern.esser@gmail.com> | 05:59 |
---|---|---|
-!- vortex_ape [~vortex_ap@120.59.199.238] has quit [Ping timeout: 245 seconds] | 08:35 | |
-!- vortex_ape [~vortex_ap@120.56.194.112] has joined #shogun | 08:35 | |
-!- besser82 [~besser82@fedora/besser82] has joined #shogun | 08:55 | |
-!- mode/#shogun [+o besser82] by ChanServ | 08:55 | |
-!- nszceta [~nszceta@5ED062E5.cm-7-1b.dynamic.ziggo.nl] has joined #shogun | 09:11 | |
-!- vortex_ape [~vortex_ap@120.56.194.112] has quit [Ping timeout: 240 seconds] | 09:55 | |
-!- nszceta [~nszceta@5ED062E5.cm-7-1b.dynamic.ziggo.nl] has quit [Quit: Textual IRC Client: www.textualapp.com] | 10:48 | |
@besser82 | lisitsyn, yo? | 11:22 |
lisitsyn | besser82: hey | 11:22 |
@besser82 | lisitsyn, about the plugin-style thing we talked a few days ago... | 11:23 |
lisitsyn | yes? | 11:23 |
@besser82 | lisitsyn, I think I have some idea, for not getting the api so ugly and handling swig stuff pretty well ^_^ | 11:24 |
@besser82 | lisitsyn, all we need is two c++ libs ;) | 11:24 |
lisitsyn | which? | 11:24 |
@besser82 | lisitsyn, and the functional plugins of course :P | 11:25 |
@besser82 | lisitsyn, one libshogun, which handles the functional plugins | 11:25 |
@besser82 | lisitsyn, and a second one: libshogun-{types, structures} | 11:25 |
@besser82 | lisitsyn, holding the common data-types | 11:26 |
@besser82 | what's your oppinion? | 11:27 |
@besser82 | so we don't need to do ugly "blackbox"-data passing | 11:27 |
lisitsyn | not sure I understand | 11:28 |
lisitsyn | what are common data-types? | 11:28 |
@besser82 | stuff like SGMatrix / SGVector... | 11:28 |
@besser82 | of SGObjects | 11:28 |
@besser82 | or | 11:28 |
@besser82 | stuff like that | 11:28 |
lisitsyn | ok how does that help? | 11:28 |
@besser82 | we have a split out functional part with dyn-loading and a pretty slim api to access them | 11:29 |
@besser82 | no SWIG-bloat | 11:30 |
@besser82 | and we have directly accessible data | 11:30 |
@besser82 | which can be passed between the classes / methods inside the plugins and queried by the use | 11:30 |
@besser82 | r | 11:30 |
lisitsyn | ok it loads plugin | 11:31 |
lisitsyn | what's next? | 11:31 |
@besser82 | resolves dependencies and loads further stuff | 11:32 |
lisitsyn | say I loaded svmlight | 11:32 |
lisitsyn | how do I get svmlight instance | 11:32 |
lisitsyn | and what type would it be? | 11:32 |
@besser82 | Instace will be created by "plugin-server" and passed as ptr | 11:33 |
@besser82 | ptr can be like SGObject or sth. specialized like SGsvm | 11:33 |
@besser82 | so we class-object in libshogun-types | 11:35 |
@besser82 | have | 11:35 |
lisitsyn | would it be CSVM or CKernelSVM or CSVMLight? | 11:36 |
lisitsyn | I mean how deep hierarchy you mean? | 11:36 |
@besser82 | I'd opt for CSVM sth. | 11:36 |
@besser82 | not too deep hierachy of exposed data-tyxpes | 11:37 |
@besser82 | otherwise libshogun-types will blow SWIG again :P | 11:37 |
@besser82 | inside the plugin we can specialize more, but not directly exposed to api | 11:38 |
@besser82 | so we can get data out as some component of CSVM | 11:39 |
@besser82 | or in | 11:40 |
@besser82 | so we keep hierarchy of exposed data-types pretty shallow | 11:41 |
@besser82 | like a dozen of globally usable data-types which can hold all stuff needed for "blackboxed" functionalitiy | 11:42 |
lisitsyn | okay I see | 11:51 |
lisitsyn | well I had the very same idea | 11:51 |
lisitsyn | limited number of classes to expose | 11:51 |
lisitsyn | and plugins | 11:51 |
lisitsyn | so plugin can create an instance of CLinearMachine or something else | 11:51 |
@besser82 | lisitsyn, right | 11:52 |
@besser82 | lisitsyn, and possibly specialize that to sth. "as needed"... | 11:52 |
@besser82 | lisitsyn, I'm currently working on plugin-framework | 11:53 |
@besser82 | lisitsyn, so we possibly can have that as C++-template-lib sth. | 11:53 |
lisitsyn | ok cool | 11:53 |
@besser82 | lisitsyn, ripping out the data-structures, shouldn't be that hard ;) | 11:54 |
@besser82 | lisitsyn, so we can that stuff going like shogun5 | 11:54 |
@besser82 | or shogun-ng :P | 11:54 |
lisitsyn | heh | 11:54 |
@besser82 | lisitsyn, next question is: building all in a row? | 11:55 |
@besser82 | lisitsyn, or building stuff modularized? | 11:55 |
@besser82 | like having seperate repo for every plugin | 11:56 |
@besser82 | I'm biased to the later | 11:56 |
@besser82 | latter | 11:56 |
@besser82 | because we have an easier approach for e.g. build interfaces seperately | 11:57 |
@besser82 | or later if one needs them | 11:58 |
@besser82 | and not a hyper overlaborated monolithic build progess | 11:58 |
lisitsyn | separate repo is a bit tough | 12:00 |
lisitsyn | I'd go for one first | 12:00 |
@besser82 | lisitsyn, why is it tough? | 12:01 |
lisitsyn | besser82: we'd get hundred of repos instantly | 12:02 |
@besser82 | lisitsyn, we can provide sth. like shogun-meta repo for noobs ;) | 12:02 |
@besser82 | lisitsyn, which provides some easy-peasy scripts to get all stuff built | 12:02 |
lisitsyn | maybe | 12:03 |
@besser82 | lisitsyn, a hundred of repos isn't a reason, really, I think | 12:04 |
lisitsyn | well I mean it would be harder to keep them updated | 12:04 |
lisitsyn | and you harder to maintain probably | 12:04 |
@besser82 | lisitsyn, okay... that might be a reason... | 12:04 |
@besser82 | lisitsyn, like I said... shogun-meta ;) | 12:05 |
@besser82 | lisitsyn, some small toolchain to keep stuff managed | 12:05 |
@besser82 | lisitsyn, with that modular stuff we can update things pretty easy | 12:05 |
@besser82 | lisitsyn, without rebuilding all crap, which takes ages :P | 12:06 |
@besser82 | rebuilding my fedora rpm-spec with basically all features enabled takes ~ 50 minutes on my local machine | 12:07 |
@besser82 | rebuilding on fedora-infra takes ~ 8+ hours... | 12:07 |
lisitsyn | yeah this sucks | 12:08 |
@besser82 | lisitsyn, another good reason for modularized repos / builds | 12:08 |
@besser82 | lisitsyn, and we can push updates quite more frequently ;) | 12:09 |
@besser82 | lisitsyn, because we only need to release new tarball of changed / improved plugin | 12:10 |
@besser82 | lisitsyn, adding new features / plugins is easy as well | 12:10 |
@besser82 | lisitsyn, and they are likely not break all other stuff | 12:11 |
@besser82 | but themselves | 12:11 |
-!- vortex_ape [~vortex_ap@120.56.194.112] has joined #shogun | 12:27 | |
-!- vortex_ape [~vortex_ap@120.56.194.112] has quit [Ping timeout: 264 seconds] | 14:35 | |
-!- vortex_ape [~vortex_ap@120.56.206.108] has joined #shogun | 14:36 | |
-!- vortex_ape [~vortex_ap@120.56.206.108] has quit [Ping timeout: 276 seconds] | 16:02 | |
@besser82 | lisitsyn, plugin-shiatz is getting tight :D | 17:58 |
@besser82 | lisitsyn, I'm narrowing down to have a versatile C++-lib handling plugin stuff | 17:58 |
@besser82 | lisitsyn, so we don't need to mess-up shogun code with | 17:59 |
@besser82 | lisitsyn, that shiatz nobody understands | 17:59 |
@besser82 | lisitsyn, instead we a nice template we can inherit from to create plugins and handle them :D | 18:00 |
@besser82 | lisitsyn, loading and dependency solving is handled from external code | 18:00 |
-!- nszceta [~nszceta@95.211.152.2] has joined #shogun | 19:14 | |
-!- besser82 [~besser82@fedora/besser82] has quit [Ping timeout: 265 seconds] | 19:56 | |
-!- nszceta [~nszceta@95.211.152.2] has quit [Quit: My Mac has gone to sleep. ZZZzzz...] | 20:15 | |
--- Log closed Sat Apr 18 00:00:48 2015 |
Generated by irclog2html.py 2.10.0 by Marius Gedminas - find it at mg.pov.lt!