Open in new window / Try shogun cloud
--- Log opened Wed Feb 18 00:00:22 2015
--- Day changed Wed Feb 18 2015
shogun-buildbotbuild #230 of osx2 - modular_interfaces is complete: Failure [failed csharp modular]  Build details are at  blamelist: sanuj <>00:00
shogun-buildbotbuild #231 of osx2 - modular_interfaces is complete: Failure [failed csharp modular]  Build details are at  blamelist: Sergey Lisitsyn <>00:08
-!- sonne|osx [] has joined #shogun00:46
-!- PirosB3 [] has quit [Quit: PirosB3]01:44
-!- sonne|osx [] has quit [Quit: sonne|osx]02:16
-!- shogun-notifier- [] has quit [Quit: transmission timeout]02:20
shogun-buildbotbuild #536 of debian wheezy - memcheck is complete: Failure [failed memory check]  Build details are at  blamelist: sanuj <>, Sergey Lisitsyn <>02:52
shogun-buildbotbuild #849 of nightly_none is complete: Failure [failed compile]  Build details are at  blamelist: sanuj <>, Sergey Lisitsyn <>03:01
-!- nirantk [73f91219@gateway/web/freenode/ip.] has joined #shogun05:18
shogun-buildbotbuild #967 of nightly_default is complete: Failure [failed notebooks]  Build details are at  blamelist: sanuj <>, Sergey Lisitsyn <>06:13
-!- sonne|osx [] has joined #shogun06:19
-!- sonne|osx [] has quit [Quit: sonne|osx]06:42
-!- lambday [c40f1066@gateway/web/freenode/ip.] has joined #shogun06:54
-!- mode/#shogun [+o lambday] by ChanServ06:54
-!- exploreshaifali [~shaifali@] has joined #shogun07:18
-!- exploreshaifali [~shaifali@] has quit [Quit: Leaving]07:24
-!- exploreshaifali [~shaifali@] has joined #shogun07:25
-!- exploreshaifali [~shaifali@] has quit [Quit: Leaving]07:34
-!- SWAGGRegation [~besser82@fedora/besser82] has joined #shogun07:37
-!- mode/#shogun [+o SWAGGRegation] by ChanServ07:37
-!- SWAGGRegation [~besser82@fedora/besser82] has quit [Remote host closed the connection]07:55
-!- kshitijk [~kshitijk@] has joined #shogun08:07
-!- exploreshaifali [~shaifali@] has joined #shogun08:19
-!- PirosB3 [] has joined #shogun09:24
-!- PirosB3 [] has quit [Quit: PirosB3]09:32
@lambdayrock_curve: hola09:39
@rock_curvelambday: hey09:40
@lambdayrock_curve: did you register as a mentor already?09:40
@rock_curvelambday: no only as admin09:40
@lambdayrock_curve: do I have to register here?
@rock_curveI think so09:41
@lambdayrock_curve: mentors also get tshirts?09:41
@rock_curvelambday: yes except some countries09:41
@rock_curveargentina, brazil, russia etc09:41
@rock_curveindia works09:42
@lambdayrock_curve: for students as well?09:42
@rock_curvelambday: yeah no t-shirts since 201209:42
@rock_curverock_curve: my t-shirts are delivered to sonney2k09:43
@rock_curvelambday: ^09:43
@lambdayrock_curve: haha awesome! :D09:43
@lambdayrock_curve: btw heiko and viktor discussed regarding the parallel engine idea over mail - viktor suggested that having mesos will solve it all09:43
@rock_curvesome day I will be in berlin again I think09:43
@rock_curvelambday: yes mesos will solve everything09:43
@lambdayrock_curve: you will be as in? visiting or staying?09:44
@rock_curvelambday: no just visiting :D09:45
@lambdayrock_curve: hah09:45
@lambdayrock_curve: did you think anything about PhD?09:45
@rock_curvelambday: well09:46
@rock_curvedon't know09:46
@rock_curvelambday: I had crazy thoughts on philosophy phd09:47
@lambdayrock_curve: lol don't worry you're fit for that too :D09:47
@rock_curvelambday: I am interested in aesthetics09:48
@lambdaybeauty man :D09:48
@lambdaybe a fashion show judge - will totally pay off for the knack :D09:48
@rock_curvelambday: yeah I am curious what is beauty09:48
@rock_curvehaha no that's cool but different thing09:49
@lambdayrock_curve: can't deny the "beauty" part of that though :P09:49
@rock_curvelambday: I mean I am really curious why, say, pollock paintings are so cool09:49
@rock_curveI find these questions more interesting than gaussian latent megamodel09:49
@lambdayrock_curve: you mean to say which chemicals in our brain produces the "feel good about that" feeling? :D09:50
@rock_curvelambday: ohh that's very materialistic!09:51
@lambdayrock_curve: haha! well, that's the science of it :D09:51
@rock_curvelambday: yes but you can't decide anything on that level09:52
@lambdaydopamine I guess09:52
@rock_curvelambday: it's like researching car by its atoms09:52
@rock_curveon such level of detail you ain't gonna understand process09:52
@lambdayrock_curve: now you talk like a philosophy major :D09:53
@rock_curvelambday: ok then tell me why dopamine is produced in any other educated brain that see a picture09:53
@rock_curveon neural level they are completely different09:53
@rock_curveno common configuration on low level09:54
@rock_curvebut that works on high level09:54
@rock_curvethat's what I mean :)09:54
@lambdayrock_curve: lol I see your point09:55
@lambdayrock_curve: I don't think beauty can **have** a common config09:56
@lambdaywhat is beautiful to me may seem totally shitty to you09:56
@lambdayimagine a jazz lover listening to 50cent09:56
@rock_curvelambday: well that's a question09:56
@rock_curvethere are things everybody loves09:56
@rock_curvebut most are different yes09:57
@rock_curvelambday: apparently there is something common09:58
@rock_curveand that's why it is worth investigating09:58
@rock_curveI mean if it was like everyone is really different then it would be described by dopamin09:58
@rock_curveor like his neural net is trained to produce happiness on that09:58
@rock_curvelambday: the most fascinating thing for me now is ortega y gasset's idea on dehumanization of art10:00
-!- lambday [c40f1066@gateway/web/freenode/ip.] has quit [Ping timeout: 246 seconds]10:01
-!- lambday [c40f1069@gateway/web/freenode/ip.] has joined #shogun10:04
-!- mode/#shogun [+o lambday] by ChanServ10:04
@rock_curvelambday: lost you10:06
@lambdayrock_curve: lol yeah I came to a meeting :D10:06
@lambdayrock_curve: will get back on that topic :P10:06
@rock_curvelambday: I can give you access to that thing that connects to irc10:06
@rock_curveirc bouncer10:07
@rock_curveI have an instance on digital ocean that does it for me10:07
@lambdayrock_curve: irc bouncer? for always online irc handle?10:09
@rock_curvelambday: yes10:09
@lambdayrock_curve: yeah that would be really useful :D10:13
@lambdayrock_curve: so its a remote client which is logged in always10:13
@lambdaywhat happens when I actually physically wanna see what's going on there?10:13
@rock_curvelambday: when you connect you receive messages that were here while you was offline10:14
@lambdayrock_curve: cool!10:15
@rock_curvelambday: I am connected through this right now10:15
@lambdayrock_curve: do I have to install something locally as well?10:15
@rock_curvelambday: no just use different irc address10:15
@lambdayrock_curve: guide me o' master10:16
@rock_curvelambday: ok I am leaving home now can add account in a few hours10:16
@lambdayrock_curve: alrighty10:16
@rock_curvelambday: bad thing is that I will know your pass ;)10:16
@lambdayrock_curve: lol I trust you with that :D10:16
-!- exploreshaifali [~shaifali@] has quit [Quit: Leaving]10:17
-!- kshitijk [~kshitijk@] has quit [Ping timeout: 245 seconds]10:55
-!- exploreshaifali [~shaifali@] has joined #shogun11:03
-!- lambday [c40f1069@gateway/web/freenode/ip.] has quit [Quit: Page closed]11:22
-!- lambday [c40f106a@gateway/web/freenode/ip.] has joined #shogun11:48
-!- mode/#shogun [+o lambday] by ChanServ11:49
-!- sonne|osx [] has joined #shogun11:59
-!- sonne|osx [] has quit [Quit: sonne|osx]12:07
-!- exploreshaifali [~shaifali@] has quit [Ping timeout: 240 seconds]12:11
-!- exploreshaifali [~shaifali@] has joined #shogun12:25
-!- exploreshaifali [~shaifali@] has quit [Client Quit]12:29
-!- vortex_ape [~vortex_ap@] has joined #shogun12:40
-!- abinashm [uid66179@gateway/web/] has joined #shogun12:48
-!- kshitijk [~kshitijk@] has joined #shogun12:53
-!- rajul [] has joined #shogun12:57
-!- lambday [c40f106a@gateway/web/freenode/ip.] has quit [Ping timeout: 246 seconds]13:06
-!- anishshah_ [uid50585@gateway/web/] has joined #shogun13:21
-!- nirantk [73f91219@gateway/web/freenode/ip.] has quit [Ping timeout: 246 seconds]13:40
-!- HeikoS [] has joined #shogun13:45
-!- mode/#shogun [+o HeikoS] by ChanServ13:45
@rock_curveHeikoS: !13:46
@HeikoSrock_curve: heja13:46
@rock_curveHeikoS: you gotta learn russian13:47
@rock_curvewar is near13:47
@rock_curveHeikoS: ok so what can we do with the application?13:48
@HeikoSno idea13:48
@HeikoSjust only turned computer on13:48
@rock_curveHeikoS: good13:48
-!- vortex_ape [~vortex_ap@] has quit [Ping timeout: 246 seconds]13:48
@rock_curveHeikoS: now lets proceed to the next step13:49
@HeikoSwhich is? :)13:49
@rock_curvelets make a gsoc application13:49
@HeikoSah yeah13:49
@HeikoSthats for today13:49
@HeikoSIll register in melange13:51
@rock_curveregister wahat?13:53
@HeikoSmelange account13:53
@HeikoSdid someone already register Shogun?13:53
@HeikoSwhere can I see that13:53
@HeikoSI saw someone did13:53
@HeikoSwas that you?13:54
@rock_curveyou sure it is HeikoS?13:54
@HeikoScan you add me as mentor?13:54
@HeikoSor admin better13:54
@rock_curvecan't send you this thing13:54
@HeikoSyes its HeikoS13:55
@HeikoSwhat thing?13:55
@rock_curve"HeikoS" is not a properly-formed identifier.13:55
@rock_curvecan you change that?13:55
@HeikoSthats my user name13:56
@HeikoSpublic name is HeikoS13:56
@rock_curvesee mail13:56
@HeikoSno email yet13:56
@HeikoSstill not13:57
@rock_curveHeikoS: hmm try to look into my dashboard13:57
@rock_curveprobably no email13:57
@rock_curvemy connections13:57
@HeikoSnothing in there :(13:57
@HeikoSthere we go13:57
@HeikoSjust chagned13:57
@HeikoSrequested role13:58
@HeikoSpls do admin13:58
@HeikoSwant to get emails13:58
@HeikoSok got it13:58
@HeikoSshould I iterate over the thing a bit?13:58
@HeikoSwhere did we store last year's proposal?13:58
@rock_curveHeikoS: it is already filled in13:58
@rock_curveHeikoS: go to managed orgs13:58
@HeikoSyeah but we want to save the changes for next time13:59
@rock_curveand click on shogun13:59
@rock_curveyeah we have shogun-publicity13:59
@HeikoSso not edit in melange, but rather in git13:59
@HeikoSand then changes are stored13:59
@rock_curvethen use it13:59
@HeikoSdid you yet change anything?13:59
@HeikoSok good13:59
@rock_curveHeikoS: I'll put logo13:59
@HeikoSill iterate a bit over the git documents13:59
@rock_curveHeikoS: I don't remember14:04
@rock_curvedid we go with variational recommendations?14:04
@rock_curveHeikoS: we had no student on that, right?14:06
@HeikoSWu did14:07
@HeikoSthe GP stuff14:07
@rock_curveHeikoS: ah so we renamed it14:11
@rock_curveHeikoS: not about recommendations but variational stuff in general14:11
@HeikoSalmost done with editing14:17
@rock_curvethis is much simpler14:20
@HeikoSrock_curve: I pushed an update14:41
@HeikoScan you fill that in?14:42
@HeikoSchange some things here and there14:42
@HeikoSput new links, last years GSoC, etc14:42
@rock_curveHeikoS: an update to shogun-publicity?14:42
@HeikoSI can change that14:42
@rock_curveyeah thanks14:42
@rock_curveI don't have it anyway14:43
@rock_curvewould take time to set up14:43
@HeikoSrock_curve: where is this text coming from?14:43
@HeikoSImproving shoguns infrastructureIntegration of existing and new machine algorithms.14:43
@HeikoSImproving shoguns infrastructureIntegration of existing and new machine algorithms.14:43
@HeikoSyou know the one that shows up14:43
@HeikoSits not in the application14:43
@rock_curvedon't get it14:43
@HeikoSthe text that shows up here14:43
@HeikoSProfile text14:44
@rock_curveHeikoS: don't know14:45
@HeikoSyou put it didnt you?14:45
@rock_curvesonney did14:45
@HeikoSI see14:45
-!- abinashm [uid66179@gateway/web/] has quit [Quit: Connection closed for inactivity]14:58
-!- vortex_ape [~vortex_ap@] has joined #shogun15:02
-!- exploreshaifali [~shaifali@] has joined #shogun15:05
@HeikoSrock_curve: I submitted15:08
@HeikoSwe have an application15:08
@HeikoSplease go over it and proof read15:08
@HeikoSin particular in the publicity15:08
-!- HeikoS [] has left #shogun []15:08
-!- HeikoS [] has joined #shogun15:09
-!- mode/#shogun [+o HeikoS] by ChanServ15:09
-!- HeikoS [] has left #shogun []15:09
-!- HeikoS [] has joined #shogun15:09
-!- mode/#shogun [+o HeikoS] by ChanServ15:09
@HeikoSrock_curve: no logo updated15:09
@rock_curveHeikoS: just a sec15:10
@rock_curveHeikoS: we still don't have any high-res on15:10
@HeikoSrock_curve: ok15:12
@HeikoSplease carefully proof read everything once more15:12
@rock_curveHeikoS: ok15:12
@rock_curveHeikoS: just a sec, some release is going on here15:12
@HeikoSalso let's add fernando as an additional mentor and make him proofread (and update the publicity) too15:12
@HeikoSokok :)15:12
@HeikoSBut I think we are fine15:12
@HeikoSvery very strong application15:12
@rock_curveHeikoS: yeah no problem I think15:12
@HeikoSi need a break15:13
@rock_curveHeikoS: we didn't fail any student hah15:13
@HeikoSwe did not have to15:14
@HeikoSbecause we do SUCH A GOOD JOB :D15:14
@rock_curveHeikoS: yeap15:14
-!- rock_curve is now known as lisitsyn15:14
@lisitsynok enough15:14
@lisitsynHeikoS: ok logo is here15:16
-!- kshitijk [~kshitijk@] has quit [Ping timeout: 240 seconds]15:21
-!- vortex_ape [~vortex_ap@] has quit [Ping timeout: 264 seconds]15:38
-!- vortex_ape [~vortex_ap@] has joined #shogun15:39
-!- vortex_ape [~vortex_ap@] has quit [Ping timeout: 246 seconds]15:50
-!- lambday [6a33f0a8@gateway/web/freenode/ip.] has joined #shogun15:51
-!- mode/#shogun [+o lambday] by ChanServ15:51
@lambdayHeikoS: hey15:51
@lambdayHeikoS: I updated a few things on linalg ideas wiki15:51
@lambdayHeikoS: I'm thinking that we should include iterative solvers as well - from eigen3 and viennacl15:52
@lambdayits high time I learn some viennacl myself :D15:52
@lambdaylisitsyn: hola15:53
@lambdaylisitsyn: Wu has made some suggestions regarding in-place linalg operations for GPU
@lambdaylisitsyn: could use your notes on that15:55
-!- kshitijk [~kshitijk@] has joined #shogun15:57
@lisitsynlambday: hmm yeah inplace is cool16:14
@lambdaylisitsyn: could you please just go through last few comments16:15
@lambdayalso, I am thinking that elementwise operations should look something like linalg::element_wise<square>(A)16:17
@lambdaynot sure about row-wise/col-wise ops yet16:17
@lambdayelement_wise will take unary and binary functors as templates :/16:19
@lambdaylinalg::element_wise<product>(A, B, result)16:20
@lambdayor in place16:20
@lisitsynlambday: exactly16:22
@lisitsynlambday: that's pretty cool way to do that16:24
@lambdaylisitsyn: yeah I think so too..16:26
@lambdaylisitsyn: btw loved your from, to :P16:26
@lisitsynlambday: ha16:27
@lambdaylisitsyn: you have any idea reagarding the IO-efficient blocking tricks Wu is talking about?16:28
@lisitsynlambday: well yeah we should use cache16:32
-!- exploreshaifali [~shaifali@] has quit [Quit: Leaving]16:33
-!- sonne|osx [] has joined #shogun16:46
-!- aditya95 [6f5d0646@gateway/web/freenode/ip.] has joined #shogun16:53
-!- lambday [6a33f0a8@gateway/web/freenode/ip.] has quit [Ping timeout: 246 seconds]16:55
-!- sonne|osx [] has quit [Ping timeout: 246 seconds]16:56
-!- rajul [] has quit [Quit: Leaving]16:57
-!- aditya95 [6f5d0646@gateway/web/freenode/ip.] has quit [Quit: Page closed]17:01
-!- aditya95 [6f5d0646@gateway/web/freenode/ip.] has joined #shogun17:02
@HeikoSlisitsyn: still there?17:02
@lisitsynHeikoS: yes17:03
@HeikoSIll forward you an email17:03
@HeikoSlisitsyn: we need a user guide17:03
@HeikoSthat lists all the methods we have17:03
@HeikoSlike this :
@HeikoSGSoC students can write this17:03
@lisitsynHeikoS: yes17:04
@HeikoSbut how to organise17:04
@HeikoSThe thing is: in order to stay maintainable, we need to include this in the build17:04
@HeikoSwe had this idea with doxygen17:04
@HeikoSwhere one can include concrete example code in the docs17:04
@lisitsynHeikoS: we can jump to sphinx17:04
@HeikoSbut that is so hard to edit17:04
@HeikoSlots of overhead17:04
@HeikoSremember what I mean?17:04
@lisitsynit looks better and supports markdown17:04
@HeikoSdoxygen support markdown17:05
@HeikoSdont know17:05
@HeikoSwe should do something about this before GSoC17:06
@HeikoSwe need a list with all methods in a neat form like the scikit people have17:06
@HeikoSand with code snippets that do things17:06
@HeikoSthat are included in the build17:06
@HeikoSso best thing would be to include the modular example code in the page17:06
@HeikoSmaybe rewrite here and there17:06
@HeikoSbut yeah17:06
@HeikoSwrote this a while ago17:07
@HeikoSsecond one is the one I mean17:08
-!- lambday [6a33f0a8@gateway/web/freenode/ip.] has joined #shogun17:11
-!- mode/#shogun [+o lambday] by ChanServ17:11
@lambdayHeikoS: yeah17:12
@HeikoSlambday: hi!?17:12
@lambdayHeikoS: I'll do that asap17:12
@HeikoSlambday: how are things?17:12
@HeikoSlambday: what do you think of this:17:12
@lambdayHeikoS: things are good :)17:12
@HeikoSuse this to generate a clone of this:
@lambdayHeikoS: checking17:13
@HeikoSidea: use doxygen to write documentation. Code in there comes from actual examples so is executed in build. we need a documentation that lists all methods17:13
@lambdayHeikoS: their docs are super cool17:14
@HeikoSlambday: do you think this doxygen way to do things is feasible?17:14
@lambdayHeikoS: umm.. that would include writing a whole tutorial type of things with the class documentation right17:15
@HeikoSlambday: not quite17:15
@HeikoShave a look here17:15
@HeikoSit would involve writing  pages like this one17:16
@lambdayHeikoS: oh wow.. this looks good17:16
@lambdayHeikoS: so one root page can have multiple subpages for different methods?17:17
@HeikoSyeah, same structure as the scikit one17:17
@HeikoSand then the coolest thing ever17:17
@lambdayHeikoS: that's awesome17:17
@HeikoSthere will be a header link where one can change the language17:17
@HeikoSsince the examples are implemented in the meta language17:17
@HeikoSso doxygen can generate this automatically for all languages17:17
@lambdayHeikoS: greatest idea ever!!17:17
@lambdayHeikoS: this really shows off shogun's true power17:18
@HeikoSso then we do the document structure ourselves17:18
@HeikoSyeah exactly17:18
@HeikoSwe get a list of supported algos along with the fact that any languages can be sued17:18
@HeikoSeven tempted to make this a GSoC project17:18
@lambdayHeikoS: yeah17:18
@lambdayHeikoS: absolutely17:18
@HeikoSbut maybe we can also just make applicants write some bits of it17:19
@HeikoSbecause its a lot to do for a single person17:19
@HeikoSnot really coding17:19
@HeikoSthough examples have to be written (in meta language17:19
@HeikoSShogun missionary 217:19
@lambdayHeikoS: well, porting all shogun examples in the meta languages developed is some coding :D17:19
@HeikoSyeah true17:19
@lambdaylol you type a lot faster than me :D17:19
@HeikoShahah just had too much coffee :)17:20
@HeikoSalso make more typos than you do I guess ;)17:20
-!- sonne|osx [] has joined #shogun17:20
@lambdayHeikoS: lol not really :D17:20
@HeikoSlambday: so the PR for the meta languages will come soon17:21
@HeikoSEsben is basically done17:21
@lambdayHeikoS: anyway this is a super cool idea.. people use scikit learn more because they can figure out on their own what to do/how to do/where do we find stuffs17:21
@HeikoSyeah exactly17:21
@lambdayhats off to him and you17:21
@HeikoSalso just got an email by a guy being a potential mentor who complained that it is not even clear which methods are implemented in Shogun17:21
@lambdayHeikoS: yeah... an entire class list is not a good place to do that17:22
@HeikoSand then the notebooks could be used to do more involved stuff17:22
@HeikoSI mean we have this17:22
@HeikoSbut its horrible17:22
@HeikoSlisitsyn, lambday rather than having a project on this17:23
@HeikoSwhat about making every student write at least one little section each week?17:23
@HeikoSso then everyone learns about ML17:23
@HeikoSand m?re interaction is g?ing on17:23
@lisitsynm?chine l?arning17:24
@HeikoSOk Ill set up a prototype17:24
@lambdayHeikoS: awesome idea!17:26
@HeikoSlambday: I probably need some help with structuring things from you guys17:26
@HeikoSIll set up a PR now17:26
@HeikoScan we discuss in say an hour?17:26
@lisitsynHeikoS: will be in underground17:27
@lisitsynin da tube17:27
@HeikoSlambday: so question 1 :)17:27
@lambdayHeikoS: yeah17:28
@HeikoShow to generate multiple of these doxygen pages that replace17:28
@HeikoS\snippet classifier_libsvm_probabilities.cpp headers17:28
@HeikoS\snippet headers17:28
@HeikoSit would be cool if we did not have to have multiple doxygen files17:28
@lambdayHeikoS: jinja2?17:28
@HeikoSmaybe an indea17:29
@HeikoSlambday: though it would be cool to keep things super super simple to write17:29
@HeikoSideally, we edit the pages from a wiki17:29
@HeikoSwhat do the scikit people use do you know?17:29
@lambdayHeikoS: nah.. but I can check their src17:30
@HeikoSthing is also the plots the scikit documentation has are amazinh17:30
@HeikoSbut we can only do them from python17:30
@HeikoSso what do we do with them?17:30
@HeikoSthinking more and more maybe this could be a GSoC17:31
@HeikoSand then we develop a little mini framework for this17:31
@HeikoSwhich uses jinja2 etc17:31
-!- sonne|osx [] has quit [Quit: sonne|osx]17:32
@lambdayHeikoS: yeah... about plots I'm not sure.. you're planning to do it in the same way that we do in ipython notebooks?17:32
@lambdayin scikit they just show the plots17:32
@HeikoSmaybe more like this:17:32
@lambday'they don't tell how to generate those plots17:33
@HeikoSAh I did not know17:33
@HeikoSI thought they were generated from the code17:33
@HeikoSah no17:33
@HeikoSevery plot has a link to code that generated it17:33
@lambdayHeikoS: well I am also just now noticing17:33
@lambdayHeikoS: so plot can be python17:34
@HeikoSso they have actually 2 things17:34
@HeikoSwhich just contains code snippets17:34
@lambdayHeikoS: yeah ... in the main page no code for plotting17:34
@HeikoSand then they have these examples  from which they show the plot17:34
@HeikoSbut one has to click17:34
@HeikoSquite clever17:35
@HeikoSand the examples are executed17:35
@HeikoSit shows runtime on the bottom17:35
@HeikoSBut the example obviously is too long for the main text17:35
@lambdayHeikoS: yeah - its better actually this way17:36
@HeikoSI wonder how they maintain the main text code snippets17:36
@HeikoSthey are more like our API examples17:36
@lisitsynHeikoS: is srini a potential mentor?17:36
@HeikoSlisitsyn: yeah17:37
@HeikoSbut he will not join now I am sure17:37
@HeikoSthis annoys him17:37
@HeikoSI know that from last year when I tried to convince him17:37
@lisitsynwhat annoys?17:37
@HeikoSand its always the same17:37
@HeikoS"no documentation", "unable to install"17:37
@HeikoSfor years now17:37
@lisitsynoh I see17:37
@HeikoShe wanted to check the NNs we have17:37
@HeikoSbut no list17:37
-!- curiousguy13 [~curiousgu@] has joined #shogun17:38
@lambdayHeikoS: is it a good idea to use doxygen?17:39
@HeikoSlambday: not sure17:39
@HeikoSlets discuss17:39
@lambdayHeikoS: I don't have much exp on that17:39
@lambdaykevin is the guy17:39
@HeikoSlambday, lisitsyn lets brainstorm a bit and solve this conceptually17:39
@HeikoSlisitsyn: you  mentioned this sphinx17:40
@HeikoSlisitsyn: can this help us?17:40
@lisitsynbecause sphinx looks cool17:40
@lambdaylisitsyn: any example sites?17:41
@lisitsynhmm yes17:41
@lambdaylisitsyn: hah niccee17:42
@HeikoSit for sure looks cooler than doxygen17:42
@HeikoSlisitsyn: so if we used that, do we then only use doxygen for class documentation?17:43
@lisitsynHeikoS: I think it can do something on that17:43
@HeikoSlisitsyn: examples?17:43
@lisitsynlet me search17:43
@HeikoSlisitsyn, lambday in any case, *how* we do things is not so important in my eyes, just distracting. Questions is *how* we document17:43
@HeikoSand how we make it happen17:44
@lisitsynHeikoS: sphinx
@HeikoSlisitsyn: can we generate this from our current source code docs?17:45
@lisitsynno idea17:45
@lisitsynhave to check17:45
@HeikoSlisitsyn: next thing that would be cool17:46
@lisitsynHeikoS: ^17:46
@HeikoSif we could use the github md editor to write documentation17:46
@HeikoSbut then they somehow get linked back17:46
@lisitsynon top of doxygen17:47
@HeikoSso what are the goals we aim to get?17:47
@lisitsynok I have no idea now17:47
@HeikoS1. We clone this
@HeikoSstructure wise17:48
@lisitsynlist of machines17:48
@HeikoS2. All the code snippets in there come from meta language examples, every code snippet has a header where one can switch the modular target17:48
@HeikoSso in this documentation, one can switch language easily17:48
@HeikoSthe code snippets are mostly API examples and to illustrate17:49
@HeikoSwe can use doxygens (or other) ability to only show snippets from a larger code file, text can be written around it17:49
-!- drawert [c65b040e@gateway/web/freenode/ip.] has joined #shogun17:50
@HeikoS3. There are pictures with output of more complex examples17:50
@HeikoSlike in scikit docs, we can use python for the plots, too17:50
@HeikoSwhich means we need plotting code in python17:50
@HeikoSbut still would be cool to swap language in the longer examples17:50
@HeikoSIf we have this and manage to populate it, we will be the greatest ;)17:51
@HeikoS4. It is able to populate this via the github wiki editor17:51
@HeikoS(which might be challenging in practice)17:52
@HeikoSNo need to have this17:52
@HeikoSwe can use md files17:52
@HeikoSso Questions:17:52
@lambdaymarkdown parsers can be used there17:52
@HeikoSwhat does that mean?17:52
@lambdayoh but then we won't be able to edit from github wiki17:53
@HeikoSMaybe its fine17:53
@HeikoSQuestion is: which system should we use to write these pages17:53
@HeikoSIt needs:17:53
@HeikoSmarkdown support17:53
@HeikoSable to put in snippets of code, that are somehow marked in example files17:54
@HeikoSwe only want to write the doc entry *once*17:54
@HeikoSand reference snippets that were marked in the meta language example17:54
@HeikoSand the system then generates a listing box with the links for changing language17:54
@HeikoSfirst point works with doxygen17:55
@HeikoSsecond does not really17:55
@HeikoScould make this work via jinja17:55
@HeikoSbut the problem then is17:55
@HeikoSthat the system gets messy to use17:55
@HeikoSwhich means nobody will use it17:55
@HeikoSso what to do there?17:55
@HeikoSwrite a little mini framework that does this?17:55
@HeikoSwe can start from here:17:56
@HeikoSso if in there, we would put17:56
@HeikoS\snippet headers17:56
@HeikoSand then use some grep/jinja magic to replace the .sg with the automatically generated listings17:57
@HeikoSthen we would get multiple pages17:57
@HeikoSbut doxygen does not offer a nice way to switch17:57
@HeikoSwe need some kind of bar in the top of the page that globally selects target language17:57
* HeikoS spams17:57
@lambdayHeikoS: why globally17:58
@HeikoSlambday: imagine someone only wants to look at octave17:58
-!- pickle27 [] has joined #shogun17:58
@HeikoShe doesnt want to click octave for any listing17:58
@HeikoSpickle27: hi!17:58
@HeikoSpickle27: read the logs of the last 30 mins, some good idea going on here, and we need your help :)17:58
@lambdayoh yeah that makes sense17:58
pickle27can you give me a tldr?17:59
pickle27I just got back from 2 week vacay17:59
@HeikoSpickle27: yes17:59
@HeikoSoh haha :)17:59
pickle27and I am catching up on everything17:59
@HeikoSpickle27: Ill write it up later17:59
@HeikoSpickle27: and share17:59
@HeikoSlambday: so if we use jinja to create multiple doxygen sites17:59
@HeikoSthat would be possible17:59
@HeikoSthere is some root where one can select language18:00
@HeikoSand then comes to the generated sites18:00
@lambdayHeikoS: multiple static html pages??18:00
@HeikoSlambday: maybe?18:00
@HeikoSlambday: would at least work18:00
@HeikoSlambday: but not pretty right?18:00
@lambdayumm nah there must be a better way18:00
@HeikoSlambday: are there maybe some markdown objects that can do such things?18:00
@HeikoSah no18:00
@HeikoSso doxygen can only generate static htmlk18:01
@HeikoSwe would need dynamically generated sites then18:01
@HeikoSnow my expertise ends18:01
@lambdayHeikoS: yeah18:01
@lambdaylisitsyn: sphinx does that?18:01
@lisitsynwhy dynamic?18:01
@lisitsynsphinx is as static18:01
@lambdaypickle27 is the guy :D18:01
@HeikoSlisitsyn: for that language switching business18:02
@HeikoSpickle27: ok let me summarise now18:02
@HeikoSwould be cool to get your input18:02
@lambdaylisitsyn: imagine we support 10 languages.. do we really wanna generate 10 static html pages for that?18:02
@HeikoSpickle27: so we want to clone this:
@HeikoSthere are two types of code listings in there, snippets and full examples if you click on the pictures18:02
@HeikoSwe want the same for shogun18:03
@lambdaylisitsyn: lol :D18:03
@HeikoSbut there should be some bar at the top, where one can change the language of the snippets18:03
@HeikoSpickle27: since the meta language project is done, that is possible18:03
@lisitsynHeikoS: dynamic like javascript?18:03
@lisitsynor what?18:03
pickle27web wise its pretty straight forward18:03
@HeikoSpickle27: but how to do the website, what system to ouse?18:03
@HeikoSwe want to be able to write *one* md page per method18:04
pickle27you could do it a lot of different ways18:04
@HeikoSand then somehow reference snippets from the example in the meta language18:04
@HeikoSand then based on the user selection, the snippets are pasted from the different target listing18:04
@HeikoSpickle27: has to be easy to use, too, so something like this18:04
pickle27I like where lisitsyn was going with statically generating it18:05
@HeikoSpickle27: so this gist shows how to do it in doxygen for a fixed language18:05
pickle27then we can't break it :p18:05
@lisitsynjust generate all the stuff18:05
@HeikoSthen we could use doxygen18:05
-!- xAndreLopesx [b194c420@gateway/web/cgi-irc/] has joined #shogun18:05
@HeikoSjust need to generate all the doxypages and replace the source code of the snippet18:05
@lisitsynsorry guys heading home18:06
@HeikoSlisitsyn: bye18:06
@HeikoSpickle27: so what do you think?18:06
@lisitsynHeikoS: will you be online in 2 hrs?18:06
pickle27yeah sounds good18:06
@HeikoSis the gist the way to go? along with some mechanism to create copies of the doxypage with the listing filename chnaged?18:06
@HeikoSlisitsyn: maybe18:06
@HeikoSlisitsyn: depends on whether I go climbing :)18:07
@lisitsynlets update this18:07
@HeikoSlisitsyn: go for it :)18:07
@lisitsynlets make it huge18:07
pickle27doxygen is kind of old school18:07
@HeikoSpickle27: suggestions?18:07
@HeikoSpickle27: cool thing:18:07
pickle27what about jekyll18:07
@HeikoSthis is just an md file18:07
@HeikoSso as long as these things work:18:08
@HeikoS"\snippet classifier_libsvm_probabilities.cpp headers"18:08
@HeikoSwe are fine18:08
pickle27and we can host on github18:08
@lisitsynpickle27: but it doesn't scan all the classes18:08
@lisitsynfor their doc18:08
@HeikoSkeep in mind this is not class docs18:08
@lisitsynwe still need to have class reference18:08
@HeikoSthey can stay doxygen for now18:08
@HeikoSwe want a manual18:08
@lisitsyna manual is sphinx or jekyll18:08
@HeikoSthat is not this here:
@lisitsynno other sane way18:08
pickle27yeah if we want class links then doxygen works18:08
pickle27I was thinking this was more of a curated example set kind of like the notebooks etc18:09
@HeikoSyeah like the scikit18:09
@HeikoSpickle27, lisitsyn so whats different between jekyll or sphinx18:09
@HeikoSpickle27: what does this hosting on gitub imply?18:09
pickle27jekyll takes plain text and makes a static site18:10
@HeikoShow would the gist example look in jekyll?18:10
pickle27github can host a static page for you from a repo18:10
pickle27I am not sure I'd have to look into it18:10
pickle27then when you push to the repo the site updates18:10
@HeikoSpickle27: ah thats amazin18:10
pickle27yeah it is quite nice18:11
pickle27but you can only write html and javascript they can't run anything else18:11
@HeikoSpickle27: is that a problem?18:11
pickle27I think what might be best is to put some kind of post process after doxygen18:11
pickle27HeikoS: not really for the docs but for the main site we run some stuff background wise18:12
pickle27I was thinking about how we might do our whole site from github pages18:12
pickle27that is what a lot of web open source projects do18:12
pickle27but yeah maybe jekyll on top of doxygen18:12
pickle27jekyll can add javascript and styles etc to the doxygen base18:13
@HeikoSpickle27: so you would keep doxygen for the manual?18:13
@HeikoSthing is I want to avoid doing something that we cannot use if we switch the system18:13
pickle27keep doygen for generating the plain html from the source code and then post process in jeykll to make it look better18:13
pickle27I dunno I am brain dumping here18:14
@HeikoScool thing here is that this is just md,
@HeikoSany system that can parse this and generate a static page is fine18:14
@HeikoSand we generate multiple of them via post-processing with jinja18:14
pickle27yeah that works too18:14
@HeikoSand that can be postprocessed then18:15
@HeikoSone thing18:15
@HeikoSpickle27: it would be amazing to have like a header bar where use can select the language18:15
pickle27so if that works we just need to host it and add styles?18:15
@HeikoScheck here18:15
@HeikoSthey have this thing to remove the <<< from the python snippet18:15
@HeikoSsomething like that for all languages, but maybe globally18:15
@HeikoSso all snippets change18:16
pickle27yeah so what I would do there is include all the languages in the md file18:16
pickle27and somehow make it generate them in different divs18:16
pickle27then do something like this18:16
-!- abinashm [uid66179@gateway/web/] has joined #shogun18:17
@HeikoSpickle27: these tabs you mean?18:20
@HeikoSpickle27: thing is18:20
pickle27we can re-style them18:20
@HeikoSimagine a user wants to have octave18:20
@HeikoShe doesnt want to press on octave button on each snippet18:20
@HeikoSjust once18:20
@HeikoSso thats why like a header or so with these would be cool18:20
pickle27sure we can js a global bar18:20
pickle27thats easy to do18:20
@HeikoSand that would change the static html site?18:21
pickle27what we need is to have each language in a div with the id or class set to the language18:21
@HeikoSpickle27: multiple files not good?18:21
pickle27then we write a bit of javascript that we include on the page18:21
@HeikoSpickle27: would be in fact easier18:21
@HeikoSremember the developers have to write this here:18:22
pickle27we use javascript to control which div is visible is all18:22
@HeikoSin there I would just put18:22
@HeikoS\snippet classifier_libsvm_probabilities.cpp headers18:22
@HeikoSwith .sg instead of cpp18:22
@HeikoSand then postprocessing does the rest18:22
pickle27yeah post process would need to include every language file18:22
pickle27so we can say what is visible18:23
@HeikoSif we have to put all the stuff in there, that might be messy?18:23
pickle27for a static site18:23
pickle27nah I dont think so18:23
@HeikoSbut the file itself is markdown18:23
@HeikoShow to put all listings in there?18:23
@HeikoSbut actually better as only one copy of the file18:23
@HeikoShow does the div thing work?18:23
@HeikoShow would it look like?18:23
-!- drawert [c65b040e@gateway/web/freenode/ip.] has quit [Quit: Page closed]18:24
@lambdayit would just hide other language ids18:24
pickle27this ^18:24
pickle27we need to load all content and then control visibility18:24
pickle27I would say we write some sort of macro for whatever processes the md files to automatically include all the languages18:25
@lambdaywe can have a script to generate different divs with different ids for different langs18:25
@HeikoSI dont know this thing, could you paste an example?18:25
pickle27errr one sec18:26
pickle27it would look like this
@HeikoSI meant more the code18:27
@HeikoShow the file with all content would look like18:28
pickle27yup working on it18:28
@HeikoSah ok18:28
@HeikoSwhat should I look at at this page?18:28
@HeikoSpickle27: and the postprocessed doxygen file?18:30
pickle27thats the html we need in the end18:31
@HeikoSbut I still dont get one thing18:31
@HeikoSare there multiple html files?18:31
@HeikoSor just one?18:31
@lambdayfor each example you have one18:32
pickle27kinda depends how we lay it out18:32
pickle27I would agree with lambday one file for each example18:32
pickle27we can concat them later if they are all on one page and use them as partials18:32
@HeikoSso how does the pipeline go18:33
@HeikoSwe start here18:33
@HeikoSthis is the md file18:33
-!- hiii [74ca656a@gateway/web/freenode/ip.] has joined #shogun18:33
@HeikoSthen a script runs over it and replaces *.sg with all the listings18:33
@HeikoSthat we have18:33
pickle27yeah something like that18:33
@HeikoSso then we have multiple of those md files18:34
@HeikoSeach of which with a different snippet listing filename18:34
@HeikoSdoxygen generates static html pages for each of them18:34
@HeikoSWe have a set of html files18:34
pickle27yeah unless we can generate the original md file too18:34
@HeikoSthose are then put into the tab by the js code you sent18:34
@HeikoSwhat do you mean generate the original md file?18:34
pickle27like if we want to do this for all examples then we could put the text in the .sg file and extract it18:35
@HeikoSI see18:35
@HeikoSI kind of dont want to do that18:35
@HeikoSWould like to have a seperate set of examples just for the manual18:36
@HeikoSand then longer examples (the ones we currently have) that generate a plot or so18:36
pickle27or we could still put the code in the .sg and then have a whitelist for the manual18:36
@HeikoSand then distributing the exisitng examples into that categoriy18:36
@HeikoShow do you mean?18:36
@HeikoSI think the end goal is to have a site like the scikit one18:37
@HeikoSand the entries are hand-crafted18:37
@HeikoSwhat about this:18:37
@HeikoSah no18:37
@HeikoSmaybe the sg file contains the markdown code at the beginning to have things together?18:37
@lambdaydo wew need to generate multiple md files?18:38
@HeikoSBut I think thats not so nice18:38
@HeikoSrather write the manual entries by hand18:38
@HeikoSquickly summarise what the method does18:38
@HeikoSgive some mini snippets how to use it18:38
@HeikoSnot a while example file, thats the point18:38
@HeikoSjust a selection of some code (that is though executable to maintain)18:38
@lambdayjust the snippet part should be copied ands pasted over the same md ... then some div magic18:38
pickle27ah okay gotcha18:39
pickle27didn't realize the snippets were not the examples18:39
pickle27yeah I think we have the overall idea nailed out18:39
@HeikoSpickle27: idea is to have markers in the .sg file18:39
@HeikoSsee the gist I sent18:39
@HeikoSsecond file18:39
@HeikoSand then reference that from the manual text18:39
pickle27yeah I think this will work18:40
@HeikoSpickle27, lambday one more thing I would like to ask you about18:40
@HeikoSthere are these plots18:40
@HeikoSand one can click to get the code that generated the plot18:40
@HeikoSthis is different to the snippets18:41
@HeikoSIt would be cool to have something similar18:41
@HeikoSbut how to do?18:41
@HeikoSsince plots can only be done in python18:41
pickle27I would just link to a python script then18:41
pickle27or plot in something else for the manual18:41
pickle27like d3 / nvd318:42
pickle27and just output json from the snippet18:42
pickle27probably best to stick with python and link to the single script though18:42
@HeikoSthe scikit people have two things per method18:42
@HeikoS1. snippet 2. long example that generates plot18:42
@HeikoS= more work than one18:42
@HeikoSbut maybe best way18:42
@HeikoSlong example can be python18:43
@HeikoShave to use that for the plot anyways18:43
@HeikoSsnippets are multiple languages18:43
pickle27I think that makes sense18:43
@HeikoSany idea how to get the image in  in a systematic way?18:43
-!- exploreshaifali [~shaifali@] has joined #shogun18:43
@HeikoSso we now have written the doxypage in md18:43
@HeikoSat some point, we put like18:43
@HeikoSirc commands18:44
@HeikoSa line like18:44
@HeikoSexampleimage     log_regression.py18:45
@HeikoSwith a slash in front18:45
@HeikoSthat could be in the md18:45
@HeikoSand then somehow, the picture gets included18:45
@HeikoSor, we just refer to notebook?18:45
pickle27yeah something like that could work18:45
@HeikoSdont know18:45
@HeikoSseems messy18:45
@HeikoSthe scikit people have these example sections18:46
@HeikoSbullet points with examples18:46
pickle27yeah loading images by path is a bit messy but there isn't really another way18:46
pickle27we just need to ensure that the images get made properly18:46
@HeikoSthat leads to a page which contains the plot and the script output and the sourcce code below18:46
@HeikoSand they then just include that same plot in the manual itself18:46
@HeikoSmaybe that can be done later18:47
@HeikoScould be added after first thing is working18:47
@HeikoSright? should be possible to extend somehow18:47
pickle27I actually have to run, let me know what you come up with and I can happily help review etc but no time to work on it myself18:47
@HeikoSIll try to set up a prototype18:47
pickle27all my shogun time needs to go to the website v218:47
@HeikoSyeah :)18:47
@HeikoSlambday: still there?18:48
@lambdayHeikoS: yeah18:48
@lambdayfinished dinner in between :D18:48
@HeikoSwhat if there were no pictures at the manual for now18:48
@HeikoShewhe :)18:48
@HeikoSwhat did you ahve?18:48
@lambdayHeikoS: Indian :D and not the spicy things people assume :D18:49
@lambdayHeikoS: yeah it can be done later.. but would be better if we think about it before hand18:49
@HeikoSI like indian food18:49
@HeikoSI agree18:50
@HeikoSI like to think from the perspective of the person a) reading it and b) writing the manual entry18:50
@lambdayHeikoS: I'm am not getting how multiple md files can be parsed into one html by doxygen..18:50
@HeikoSso from a) we definitely need pictures18:50
@HeikoSlambday: I think we would have to have mutliple static html files18:50
@HeikoSand then pickle27 s js magic deals with them somehow18:51
@lambdayHeikoS: but also duplicating the text surrounding to the snippets?18:51
@lambdaythey get copied too?18:51
@HeikoSI guess yes18:51
@HeikoSdoxygen can only process the md files themselves18:52
@HeikoSor maybe put all snippets?18:52
@HeikoSand then they get cut out18:52
@HeikoSbut I dont know to make doxygen do that18:52
@HeikoSlike the static version more as I understand it :)18:52
@HeikoSand if no js is available this still works18:52
@HeikoSand one has clean single sites, not a big one with everything18:52
@lambdayhehe..but hiding thing is cool...18:53
@lambdaydrop down menus work similarly I assume18:53
@HeikoSany idea how to make doxygen output html that can be postprocessed in this way?18:53
@lambdaythey have all the text there itself.. they just hide certain parts18:54
@HeikoSI see18:54
-!- curiousguy13 [~curiousgu@] has quit [Ping timeout: 250 seconds]18:54
@lambdaythe reason you want doxygen is because of its md parsing capability18:54
@lambdayI didn't understand how postprocessing would work though18:55
@HeikoSin the gist18:55
@HeikoSpostprocessing creates a number of copies of the md file18:56
@HeikoSeach of which contains *.py rather than *.sg18:56
@lambdaynah I meant to say - once doxygen generates the static html.. after that what?18:56
@lambdayisn't it possible to tell doxygen to create some predefined snippet with some spcific id/class18:57
@lambdayI meant to say - you have this md file ... then a post processing script copies and pastes the snippet over and over for all the languages.. and somehow doxygen/something else is instructed to generate different divs with those snippets.. different ids/class18:58
@lambdaythen with one html you have it all - text just once.. just the appropriate snippet shown for selected lang18:58
@lambdayeach example one html18:59
@lambdayjs can take care of hiding18:59
@HeikoSyeah in this view I meant, there is one html per target language18:59
@HeikoSin yours, there is one html file with all listings18:59
@HeikoSand then some are hidden18:59
@HeikoSwhich is way nicer18:59
@lambdayHeikoS: I don't know what to use technically to achieve this - but should be possible19:00
@HeikoSlambday: I dont think doxygen can do this19:01
@HeikoSbut it would be awesome right19:01
@lambdayif we have different htmls.. then the links has to be taken care of as well19:01
@lambdayswitching language idea is a killer :D19:02
@HeikoShehe :)19:02
@HeikoSso what about this:19:02
@HeikoSpostprocessing generates all these html files19:02
@HeikoSand then post - postprocessing merges them into one19:02
@HeikoSxAndreLopesx: Hi!19:02
xAndreLopesxim reading the chat log... you guys are working on javadoc and other lkanguages doc?19:02
@HeikoSxAndreLopesx: doxygen19:03
xAndreLopesxso yes, right?19:03
@HeikoSwe want to build a clone of
@HeikoSbut with shogun19:03
@HeikoSand with a 1-click way of changing the code language19:03
xAndreLopesxi thought you guys were talking about docs19:03
@HeikoSyeah we do19:04
@HeikoSthats docs19:04
@HeikoSxAndreLopesx: have a read through the last hour ;)19:04
@lambdaypost post processing haha :D19:04
xAndreLopesxthe last hour was erased19:04
xAndreLopesxi have just partial log19:04
@HeikoSxAndreLopesx: its in the channel logs19:04
xAndreLopesxim using kiwi irc19:04
@HeikoSlambday: thats possible right?19:04
xAndreLopesxjavadoc S219:04
@HeikoSsince we can look for the html output of doxygen that starts a snippet19:04
@HeikoSand then replace with this div thing of all languages19:05
@HeikoSthough not clean19:05
@lambdayHeikoS: hehe yeah.. have some way to tell code part from the snippet part in the html19:05
@HeikoSlambday: its possible but hacky19:05
@HeikoSso not nice19:05
@HeikoSlets assume we do multiple static html files for now19:06
@HeikoSand the header just causes the system to load the appropriate ones19:06
@lambdayHeikoS: yeah that's technically possible19:06
@HeikoSso fine19:06
@HeikoSso we have sorted a) from above19:07
@HeikoSwhat about the pictures19:07
@HeikoSso there we could link to generated images from the examples19:07
-!- curiousguy13 [~curiousgu@] has joined #shogun19:07
@HeikoSbut then we need to write things in python19:07
@HeikoSso we need two code files for each method19:08
@HeikoSone is just the snippet stuff, minimal19:08
@HeikoSthe other one (optional) is the thing that generates the image19:08
@HeikoSand we generate pages like this
@HeikoSand then somehow put image+link in the main manual19:08
@HeikoSok I will draft a prototype19:08
@HeikoSlets see where we get19:08
@HeikoSneed a break now19:09
@HeikoSIll put this into the wiki19:09
@lambdayyeah.. we generate these images each make doc? or just statically have those images along-with the pyscripts19:09
@lambdayHeikoS: yeah.. :D19:09
@lambdayHeikoS: coffee?19:09
@HeikoShaha no I had enough, water :)19:10
-!- xAndreLopesx [b194c420@gateway/web/cgi-irc/] has quit [Quit: - A hand crafted IRC client]19:10
@lambdaywe made a few MB log today19:11
@HeikoSthats good19:11
-!- kshitijk [~kshitijk@] has quit [Ping timeout: 265 seconds]19:14
-!- xAndreLopesx [b194c420@gateway/web/cgi-irc/] has joined #shogun19:25
xAndreLopesxDoubleMatrix.loadAsciiFile requires the full path?19:25
@HeikoSxAndreLopesx: not sure, check jblas documentation19:26
@HeikoSI guess this is java?19:26
-!- hiii [74ca656a@gateway/web/freenode/ip.] has quit [Ping timeout: 246 seconds]19:26
xAndreLopesxits java19:26
xAndreLopesxit seems it does use full path :(19:26
@HeikoSxAndreLopesx: annoying19:29
@HeikoSmaybe open a bug report for jblas?19:29
xAndreLopesxwill do19:29
@HeikoSlambday: there is another question: still around?19:29
@lambdayHeikoS: yeah'19:29
@HeikoShave a look at19:30
@HeikoSthey use toy data19:30
@HeikoSand its immediately clear what this consists of and in what format it is19:30
@HeikoSnow our meta examples look like:19:30
@lambdayHeikoS: synthetic data?19:30
@lambdayoh no19:30
@HeikoSthey load files19:31
@HeikoSI wonder whether this is good for such documentation?19:31
@HeikoSsee what I mean?19:32
@HeikoSand another thing19:33
@lambdayHeikoS: umm no. I think while explaining a method, minimal importance should be given to the data... creates less confusion to the readers19:34
@lambdayif that's what you mean19:34
@HeikoSso you think loading files is ok?19:34
@lambdayHeikoS: what alternative idea you have? generating small dataset in the program itself?19:34
@HeikoSdont know19:34
@HeikoSbut thats not possible with meta language19:34
@lambdayHeikoS: would loading be a problem for sg programs?19:35
@lambdayi see19:35
@lambdaygenerating data is not possible either19:35
@lambdayunless its all shogun code19:36
@lambdaybut for python we use numpy etc for that19:36
@HeikoSgenerating would be if we added a class19:36
xAndreLopesxCan i make a quick question?19:38
xAndreLopesxperceptron.train(); I noticed it locks the thread.. How can i get the error rate?19:39
xAndreLopesxAnd its possible to get the error rate during training ?19:39
@HeikoSxAndreLopesx: unfortuately not, but I think you can set a max number of iterations19:39
xAndreLopesxeven using C++ ?19:39
@HeikoSxAndreLopesx: the perceptron implementation we have is very crappy, it is not really useful, rather use another linear method, perceptron is not a good choice anyways19:40
@HeikoSthough we need to clean this up19:40
xAndreLopesxim just running the example..19:40
@HeikoSxAndreLopesx: nope even in c++19:40
@HeikoSthe example should work19:40
xAndreLopesxGoing to try neural networks then. Im used to Encog.19:40
xAndreLopesxLets see what i dig, im new to shogun :)19:40
@HeikoSyeah go to NNs :)19:40
@HeikoSall new19:40
@HeikoS(and hopefully proper)19:41
@HeikoSsvms all work for sure19:41
@HeikoSand super mature and stable19:41
@lambdayHeikoS: added a class where?19:41
@HeikoSlambday: shogun c++ class to generate toy data19:42
@HeikoSbut not really good, we can just load I agree19:42
@lambdayHeikoS: oh.. yeah.. then meta can handle it19:42
@lambdayHeikoS: yeah.. these are standard datasets right..19:43
@lambdayif we can load then it would be good19:43
@HeikoSyep works19:43
@HeikoSIll show you an exampl ein 10 secs19:44
@lambdaywow :D19:44
xAndreLopesxDynamicObjectArray :O19:44
xAndreLopesxso DynamicObjectArray holds CSGObjects19:45
@HeikoSso any shogun object19:45
@lambdayoh yeah we have files :D19:45
@HeikoSwith reference counting19:45
@HeikoSxAndreLopesx: in java you dont need that19:45
xAndreLopesxThe ANN is asking for DynamicObjectArray as a parameter or nothing at all19:46
xAndreLopesxim not sure whats the method to add layers and neurons :O19:46
@HeikoSOk so create one :)19:46
xAndreLopesxThere is this19:46
xAndreLopesxset_layers(DynamicObjectArray doa)19:46
@HeikoSmethods are documented here:19:46
xAndreLopesxthis page, right?19:46
xAndreLopesxso this DOA will hold the layers, right?19:47
xAndreLopesxgot it19:48
xAndreLopesxyay its not so jhard after all :P19:48
@HeikoScheck the notebooks on NNs19:48
@HeikoSsame syntax when you use Java19:48
xAndreLopesxthats way better :)19:50
@lambdaylol I remember when I came here for the first time :D19:51
@HeikoSlambday: hehe how was it?19:51
@lambdayHeikoS: I guess you answered my queries there as well :D19:51
@lambdayI wanted to implement a string kernel using shogun19:52
@HeikoSah yeah19:52
@HeikoSthats on stack overflow right?19:52
@lambdayHeikoS: its not in shogun as well :D19:52
@lambdaylisitsyn: hola amigo19:52
@lambdayoops it *is* in shogun19:53
@HeikoSlisitsyn: its all solved19:53
@HeikoSsee our website19:53
@HeikoSlambday: wrote all examples in 2 hrs19:53
@HeikoSmagic script19:53
@lisitsynwhat solved?19:53
@HeikoSwe now have a manual19:53
@lambdayHeikoS: whoa!!19:53
@lambdaylisitsyn: lol you missed the show :D19:53
@lisitsynohhh english humour19:54
@lambdayI got to understand how this meta language works!19:55
@HeikoSI am prototyping19:55
@HeikoSbut gotta go soon19:55
@lambdayHeikoS: trekking?19:55
@HeikoSclimbing :)19:56
@lambdayoh but in london it must be 719:56
xAndreLopesxshogun is implemented in C++ right?19:56
@HeikoSlambday: yeah it is19:57
xAndreLopesxwhere is the activationFunctions :O19:57
@HeikoSxAndreLopesx: C++11 rules!19:57
@lisitsynauto auto = auto();19:57
@lisitsynthat's my favourite program in C++2419:58
@lambdayc++17 is coming :D19:58
-!- sonne|osx [] has joined #shogun19:58
@lisitsynI am programming in C++29 usually19:58
@lisitsynbut that's a matter of taste19:59
@lambdayxAndreLopesx: check the doxygen doc for the class.. it must be there somewhere19:59
@lisitsynsome don't like metaheterogeneous pseudoconverters of latent inline indicator const functions19:59
@lambdaylisitsyn: how's the terminators doing?19:59
@lisitsynlambday: they were written in c99 and crashed19:59
@lambday+1 for humanity20:00
@lambdaylisitsyn: so when we're having "Code code = generate_everything_I_am_too_lazy();" in c++?20:00
@lisitsynlambday: that's auto auto = auto();20:01
xAndreLopesxat 3 pm20:01
@lambdaylisitsyn: lol20:01
@lisitsynlambday: you've got to use mvalue20:01
@lambdayxAndreLopesx: haha :D20:01
xAndreLopesxI have seen it in my nightmares20:01
xAndreLopesxrobots coming from the sky.20:01
@lisitsynafter introducing rvalues in addition to lvalues20:02
@lisitsynthey added mvalue20:02
@lisitsynthis is meta-transcendent value of horror20:02
@lisitsynit does some kind of random type inference20:02
@lisitsynit is quite simple when you realize it is a functor on top of that Strathmann manifold20:02
@lambdayhahahaha :D20:03
@lambdayHeikoS: ^20:03
@HeikoSStrathmanian manifold20:03
@lisitsynStrathmanian is a determinant of third order curvature matrix of Strathmann manifold20:04
@HeikoShow can I make doxygen produce output when I have only one input file?20:04
@lisitsynsee Strathmann 201920:05
@lisitsynHeikoS: it can only work on two files20:05
@lambdayyou're on the roll :D20:05
@HeikoSdoesnt produce anything20:06
@lisitsynHeikoS: ok I stop :D20:06
@lisitsynwhat's the problem?20:06
@HeikoSls20:07  html
@HeikoSdoxygen . html20:07
@HeikoSthe index.html is empty20:07
@HeikoS# The INPUT tag can be used to specify the files and/or directories that contain20:07
@HeikoS# documented source files. You may enter file names like "myfile.cpp" or20:07
@HeikoS# directories like "/usr/src/myproject". Separate the files or directories20:07
@HeikoS# with spaces.20:07
@HeikoSINPUT                  = knn.sg20:07
@HeikoSem .md20:08
@HeikoSnow worked20:08
@HeikoSjust doesnt see the .sh20:08
@lisitsynHeikoS: you are welcome! ;)20:08
@lisitsynso helpful I am20:08
@lisitsynHeikoS: you just try to explain me a problem until you realize how to solve it20:09
@lisitsynthe dummy listener method20:09
@lambdayHeikoS: how does the html look?20:10
@HeikoSneed to put code20:11
@HeikoSjust trying20:11
@lambdayumm I thought it worked :D20:11
@lisitsynwhat you decide?20:11
@HeikoSjust a sec20:12
@HeikoSalmost done20:12
@lambdaymd like HeikoS has --> script to generate multiple such mds for each supported lang --> pass it to doxygen --> generate static htmls ---> [optional] merge them together to hide these snippets under some div with different id/class ---> use js to hide the rest of the snippets except for the currently selected one20:13
@HeikoSnow one more thing20:13
@lambdaywhoa this itself is tl20:13
@lisitsynnow I understand20:14
@lisitsynI speak english if it is less than screen20:14
@lisitsynotherwise I don't20:14
-!- xAndreLopesx [b194c420@gateway/web/cgi-irc/] has quit [Quit: - A hand crafted IRC client]20:14
@lisitsynHeikoS: you can use bootstrap tabs20:18
@lisitsynis that a plan?20:18
@lambdaylisitsyn: for hiding stuffs?20:18
@HeikoSlisitsyn: maybe20:19
@lambdaybut we don't want to select language for every example - a user wants to use shogun in java.. he just selects java once - rest will be presented to him in java only20:19
@HeikoSlisitsyn: yeah pickle27 mentioned that20:19
@lisitsynHeikoS: lambday: we can bound them together20:20
@lisitsynif java is selected all examples get java20:20
-!- PirosB3 [] has joined #shogun20:23
-!- zxtx_ [] has joined #shogun20:28
-!- zxtx [] has quit [Read error: Connection reset by peer]20:29
-!- kshitijk [~kshitijk@] has joined #shogun20:30
-!- vortex_ape [~vortex_ap@] has joined #shogun20:44
@HeikoSlisitsyn, lambday, pickle2720:53
@HeikoSwe now need to sort out some examples and make it pretty20:54
@HeikoSthis generates static html for target languages20:54
-!- xAndreLopesx [b194c420@gateway/web/cgi-irc/] has joined #shogun20:56
xAndreLopesxAnyone online ?21:04
@HeikoSxAndreLopesx: just about to go, whats up?21:06
xAndreLopesxhey, im having a little questions about neural networks in shogun.. if you have 5 mins for me :)21:06
@lisitsynthat's for me21:06
xAndreLopesxOkay :) do you mind if i ask you some questions?21:07
xAndreLopesxI did this listsyn21:08
xAndreLopesxdoa.append_element(new NeuralInputLayer(2));21:08
xAndreLopesx        doa.append_element(new NeuralLogisticLayer(2));21:08
xAndreLopesx        doa.append_element(new NeuralLogisticLayer(2));21:08
xAndreLopesxand then i used quickConnect..21:08
xAndreLopesxit will know the outputLayer, right ?21:08
@HeikoSlisitsyn: share your wisdom :D21:12
@HeikoSi gotta run, see you!21:12
xAndreLopesxcya :)21:12
-!- exploreshaifali [~shaifali@] has quit [Quit: Leaving]21:13
-!- HeikoS [] has quit [Quit: Leaving.]21:13
-!- sonne|osx [] has quit [Quit: sonne|osx]21:18
xAndreLopesxDynamicObjectArray() doesnt work for java?21:23
xAndreLopesxWell this :    DynamicObjectArray doa = new DynamicObjectArray(); makes my JVM crash21:25
-!- vortex_ape [~vortex_ap@] has quit [Ping timeout: 255 seconds]21:38
-!- vortex_ape [~vortex_ap@] has joined #shogun21:38
-!- kshitijk [~kshitijk@] has quit [Ping timeout: 255 seconds]21:41
@lisitsynxAndreLopesx: should work..21:44
xAndreLopesxit works now :)21:44
xAndreLopesxi forgot to init shogun21:44
xAndreLopesxbut now its asking for labels...21:44
xAndreLopesxim not sure what are labels in shogun21:44
@lisitsynxAndreLopesx: labels are target variables like class or probability21:46
xAndreLopesxi never used them on ANN's21:46
xAndreLopesxim a bit confused :(21:46
@lisitsynxAndreLopesx: well you probably want to predict something? ;)21:47
xAndreLopesxim making a stupid input-sum with 1 output21:47
@lisitsynwhen you train labels contain what you want to get21:47
xAndreLopesxso the labels are just the result i expect?21:47
@lisitsynand the result you get as well21:48
xAndreLopesxgot it21:48
@lisitsynwhen you classify some data you also get labels21:48
xAndreLopesxfor clustering, correct?21:48
xAndreLopesxor SOM?21:48
@lisitsynhmm no we don't have som21:49
@lisitsynand no clustering21:49
xAndreLopesxoh ok21:49
-!- abinashm [uid66179@gateway/web/] has quit [Quit: Connection closed for inactivity]21:58
-!- pickle27 [] has quit [Remote host closed the connection]22:15
xAndreLopesx#lisitsyn How can print the error rate?22:16
@lisitsynxAndreLopesx: you using java?22:21
@lisitsynlet me find an example22:21
xAndreLopesxtrying to find
-!- vortex_ape [~vortex_ap@] has quit [Quit: Leaving]22:22
@lisitsynxAndreLopesx: yes that would print training error22:22
@lisitsynor MSG_DEBUG22:22
xAndreLopesxcant find that22:22
xAndreLopesxno class with that tag that i can find22:23
@lisitsynwhat tag?22:23
xAndreLopesxlog level22:23
xAndreLopesxi meant.22:23
xAndreLopesxanything related to log at all22:24
@lisitsynxAndreLopesx: maybe org.shogun.EMessageType.MSG_DEBUG?22:30
xAndreLopesxdo you know wheres the package to set this log level?22:31
@lisitsynxAndreLopesx: just get io of any object22:32
@lisitsyntry something like;22:33
-!- pickle27 [] has joined #shogun22:33
xAndreLopesxio returns me22:33
@lisitsynyeah then call set_loglevel22:35
@lisitsynand it will output all the stuff22:35
-!- pickle27 [] has quit [Remote host closed the connection]22:35
xAndreLopesxcant find method22:36
@lisitsynwhy getIo?22:36
xAndreLopesxyou said to get IO of any object :P22:37
-!- prakhar2511 [~prakhar25@] has joined #shogun22:39
@lisitsynit is a field22:39
xAndreLopesxtheres no io in neural network object22:40
@lisitsynhmm this sucks :)22:42
@lisitsynxAndreLopesx: I have to compile java interface22:43
-!- aditya95 [6f5d0646@gateway/web/freenode/ip.] has quit [Ping timeout: 246 seconds]22:46
xAndreLopesxException in thread "main" java.lang.NullPointerException: vector expected22:46
xAndreLopesxok im stopping for tonight22:46
xAndreLopesxim lost22:47
-!- prakhar2511 [~prakhar25@] has quit [Ping timeout: 252 seconds]22:48
-!- xAndreLopesx [b194c420@gateway/web/cgi-irc/] has quit [Quit: - A hand crafted IRC client]22:57
-!- anishshah_ [uid50585@gateway/web/] has quit [Quit: Connection closed for inactivity]23:50
--- Log closed Thu Feb 19 00:00:26 2015