IRC logs of #shogun for Tuesday, 2018-07-24

--- Log opened Tue Jul 24 00:00:22 2018
-!- iglesiasg [~iglesias@f119189.upc-f.chello.nl] has quit [Ping timeout: 240 seconds]00:06
-!- iglesiasg [~iglesias@f119189.upc-f.chello.nl] has joined #shogun00:09
-!- iglesiasg [~iglesias@f119189.upc-f.chello.nl] has quit [Ping timeout: 256 seconds]00:20
-!- HeikoS [~heiko@2a00:23c5:e10a:5c00:51cf:933e:719e:8140] has quit [Ping timeout: 256 seconds]00:39
-!- sonney2k [~shogun@7nn.de] has joined #shogun07:05
-!- sonney2k_ [~shogun@7nn.de] has quit [Ping timeout: 244 seconds]07:05
-!- HeikoS [~heiko@2a00:23c5:e10a:5c00:51cf:933e:719e:8140] has joined #shogun11:27
-!- mode/#shogun [+o HeikoS] by ChanServ11:27
@wikingboom http://eigen.tuxfamily.org/index.php?title=ChangeLog#Eigen_3.3.511:34
@wiking Fix GeneralizedEigenSolver when requesting for eigenvalues only (0d15855abb30)11:34
@wiking Fix MKL backend for symmetric eigenvalues on row-major matrices (4726d6a24f69)11:34
@wiking Fix incorrect ldvt in LAPACKE call from JacobiSVD (88c4604601b9)11:34
@wikingcool stuff11:34
@wikingwe should upgrade :)11:34
-!- sonney2k [~shogun@7nn.de] has quit [Ping timeout: 256 seconds]11:46
-!- sonney2k [~shogun@7nn.de] has joined #shogun11:46
@HeikoSwiking: jojo11:52
@HeikoSI have a few qs11:52
@wikingshoot11:52
@HeikoSabout DotFeatures and DenseFeatures11:52
@HeikoSI was working a bit on refactoring linear regression11:53
@HeikoSsee the PR11:53
@wikingyeah11:53
@HeikoSand I think it makes sense to add some minimal API to features11:53
@HeikoScov11:53
@HeikoSgram11:53
@wikingsaw those movements11:53
@HeikoSmean11:53
@wikingyeye11:53
@HeikoSthings like this11:53
@wikingyeah that's the thing11:53
@HeikoSand then the idea would be11:53
@wikingthat we are pushing this back and forth for w ahile11:53
@wiking*while :)11:53
@HeikoSin dense features without subsets, this is implemented in batch mode, i.e. SIMD matrix operations11:53
@HeikoSand if there are subsets, it does a loop procedure iterating over the vectors11:54
@HeikoSnow I think it would be nice to move this logic up into DotFeatures11:54
@wikingyeye seen that11:54
@HeikoSactually, it is already there partially11:54
@HeikoSbut there are some questions11:54
@wikingwell some stuff was there11:54
@wikingyeah11:54
@HeikoSDenseFeatures are templated11:54
@HeikoSso I made the methods templated as well11:54
@HeikoSSGMatrix<T> cov()11:54
@wikingyep seen it11:54
@HeikoSso that it respects the feature type11:54
@HeikoSi.e. linear regression on 32bit IS actually doing 32 bit, also the matrix that is inverted11:55
@HeikoSbut DotFeatures is not templated11:55
@HeikoSso all the dot products return 64bit11:55
@wikingyeah11:55
@HeikoSI also cannot make the cov method templated, since then it cannot be virtual11:55
@HeikoScould make it a mixin?11:55
@HeikoSbut I dont know11:55
@wikingimo dotfeatures are deliberately not templated11:55
@HeikoSwas fishing for comments11:55
@HeikoSyeah exactly11:56
@wikingi.e. that they hide the type11:56
@wikingetc11:56
@HeikoSbut that means that all dot products are 64bit in result11:56
@HeikoSi.e. covariance matrix is 64bit even for 16bit features11:56
@wikingyeah11:56
@HeikoSI can of course also make it SGMatrix<float64_t> CDenseFeatures::cov()11:56
@HeikoSbut does that make sense?11:56
@wikingmmm not really11:56
@wikingbuuut11:57
@wikingyeah lemme think a bit11:57
@wikingand look at the .h11:57
@HeikoSsure11:57
@HeikoSthe thing is that with the current thing, the interface only works with densefeatures11:57
@wikingbtw man11:57
@wikinghow's your drive gonna be from .uk?11:58
@wikingyou go via france to spain11:58
@wiking?11:58
@HeikoSah11:58
@HeikoSgermany, france, spain probably11:58
@HeikoSah no11:58
@HeikoSactually11:58
@wikingmmm11:58
@HeikoSgermany will be on the way and the next stop is italy11:58
@HeikoSand then from there to spain11:58
@wikingyou cannot take things on the top of that thingy right? :)11:58
@wikingyour camper van11:58
@wiking:>11:58
@HeikoShaha11:58
@HeikoSsolar panels11:58
@HeikoSno space11:58
@wikingdoh11:58
@wikingdo you have a hook?11:59
@HeikoSwhy? nee to transport a boat? :D11:59
@wikingyeah bingo11:59
@wiking:D11:59
@HeikoSnope, went for a van without one11:59
@HeikoShahahaha11:59
@HeikoSmmmh, that might be tricky11:59
@wikinguk has good selection of used/reasonably priced boats11:59
@wiking:D11:59
@HeikoSwiking: hahaha11:59
@HeikoSwiking: btw there is another Q I had11:59
@HeikoSso ther eis a  method12:00
@HeikoStemplate <typename ST>12:00
@HeikoSSGVector<ST> CDenseFeatures<ST>::mean() const12:00
@HeikoSand obviously, this needs to scale the sum by 1/N12:00
@HeikoSnow scale is not defined for bool say12:00
@HeikoSso the linalg call fails12:00
@HeikoSI was hoping to make this a compile time thing12:00
@HeikoSlike enable_if only if ST=floatingpoint12:00
@HeikoSbut that doesnt work12:00
@HeikoSso now I am with a runtime check for non-float types raising an error12:00
@HeikoSthat sucks12:01
@wikingmmmm12:01
@wikingwhy does the compile time fails?12:01
@HeikoSI would prefer to only define those methods if ST is floating point12:01
@wikingi mean doesn't work?12:01
@HeikoSthe method is not templated12:01
@wikingwhich?12:01
@HeikoSmean12:01
@wikingisn't it?12:01
@HeikoSno the class is12:01
@wikingoh i see12:01
@wikingyeyey i see what you mean now12:02
@HeikoSif we dont inherit the methods12:02
@wikingmmmm12:02
@HeikoSthen I can make them templated12:02
@HeikoSbut12:02
@HeikoS....12:02
@wikingstatic_assert?12:02
@HeikoSdoes that work?12:02
@HeikoSif enable_if doenst?12:02
@wikingthat should be compile time12:02
@HeikoSI was thinking that yesterday12:02
@HeikoScool12:02
@HeikoSlet me try12:02
@wikingi mean you do a static assert for a type in the function itself12:02
@wikinglemme see if that actually works :D12:02
@wikingHeikoS, https://stackoverflow.com/questions/4021981/use-static-assert-to-check-types-passed-to-macro12:03
@wikingbingo?12:03
@wiking:P12:03
@wikingok i'm off to lunch but will be back12:03
@HeikoSok enjoy!12:03
@wikingin the meanwhile12:04
@wikinghttps://www.youtube.com/watch?v=CZ_Z0Zfvsj012:04
@wiking:)12:04
@HeikoSlet me know any thoughts you have about the 64bit dot features12:04
@sukey[https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/4373 synchronized by shubham80812:04
@HeikoShaha ok12:04
@HeikoSwill listen12:04
@wikingit's just oldschool  bristol music for ya12:04
@wiking:)12:04
@wikingsince you talked about bristol12:04
@wiking:P12:04
@wikingbtw in september there's a new waldeck album12:05
@wikingand this shall be really nice12:05
@wikinghttps://www.khm.at/en/visit/exhibitions/wesandersonandjumanmalouf2018/12:05
@wikingbasically https://www.youtube.com/watch?time_continue=2&v=_vTQI6Vw5nY12:06
@wikinganyhow lunch12:06
-!- travis-ci [~travis-ci@ec2-54-205-139-196.compute-1.amazonaws.com] has joined #shogun12:20
travis-ciit's Shubham Shukla's turn to pay the next round of drinks for the massacre he caused in shubham808/shogun: https://travis-ci.org/shubham808/shogun/builds/40753717712:20
-!- travis-ci [~travis-ci@ec2-54-205-139-196.compute-1.amazonaws.com] has left #shogun []12:20
@HeikoSstatic_assert no12:22
@HeikoSCDenseFeatures<bool> is instantiated at the end of the file12:22
@HeikoSalways12:22
@HeikoSso the assert fails always12:22
@HeikoSI move to runtime for now :(12:22
@wikingHeikoS, ah yeah that's the problem12:54
@wiking:))))12:54
@wikingHeikoS, that we use templates in rather none standard way12:54
@wiking:P12:54
@wikingi.e. it's being compiled generated even when it's never been used12:55
@wikingDenseFeatures<bool>12:55
@wikingit's there12:55
@wikingalthough probably not used anywhere12:55
@sukey[https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/4373 synchronized by shubham80812:57
@HeikoSyep12:58
@HeikoSwiking:  I am trying this now12:59
@HeikoSI define12:59
@HeikoSvirtual float64_t CDotFeatures::dot(index_t lhs, index_t rhs) const12:59
@wikingi mean you could define the function in the .h ?:)12:59
@wikingalthough that would not help u12:59
@HeikoSand then I overload it in CDenseFeatures12:59
@wikingyeah we should maybe move all the dense stuff to .h?12:59
@HeikoSand then  I do12:59
@HeikoS....12:59
@HeikoSresult = SGMatrix<ST>(N, N);12:59
@HeikoS...12:59
@HeikoSresult(i, j) = dot(i, j);12:59
@wikingmmm13:00
@HeikoSthe last one is implicit cast from float64_t to ST13:00
@wikingso in densef there's no ranged dot?13:00
@wikingi mean there is but this is prefered?13:00
@HeikoSI cannot use any of those methods13:00
@HeikoSbecause they are NOT CONST13:00
@wikinghihi13:00
@wikingcoolio13:01
@HeikoSnice eh?13:01
@HeikoSbecause of this feature vector on the fly computation13:01
@wikingthey cannot be made const?13:01
@wikingoh yeah i see13:01
@wiking:)13:01
@HeikoSneeds refactoring of everything13:01
@wikingyeah but even if refactor13:01
@wikinghow would you do it?13:01
@HeikoSyeah well13:01
@HeikoSfeatures const13:01
@wikingfor the on the fly things13:01
@HeikoSso this copies13:01
@wiking:13:01
@wiking:>13:01
@HeikoSyeah well13:01
@wikingyeah then memory blown13:01
@HeikoSneed to do it before13:02
@wikingi mean thats the price of immutable13:02
@wiking:)13:02
@HeikoSI think we can have 2 apis13:02
@HeikoSone const and one non const old stuff13:02
@HeikoSwhat do you think of this implicit cast stuff?13:02
@HeikoSso I can have the method in dotFeatures13:02
@HeikoSbut still I an have my efficient block methods in densefeatures13:03
@HeikoSah but it sucls13:03
@HeikoSbecause then cov is not defined for dot features13:03
@HeikoSi mean we have to decide13:03
@HeikoSeither all cov matrices are 64bit or not13:03
@HeikoSif they are, we can use nice design and dot features13:03
@HeikoSif we want their wordsize to make sense, i.e. match the features, the code needs to be in the templated feature class13:04
@HeikoSmaybe it is not that bad, having model types fixed13:05
@HeikoS ...13:05
@HeikoSah but linalg13:05
@HeikoSeven if I say, ok linear reg is not float64 model13:05
@HeikoSnow13:05
@HeikoSthen the fuck is that if I use linalg to compute dot product of feature matrices13:06
@HeikoSwhere feautre matrix is float3213:06
@HeikoSI basically need to copy the matrix, to convert it to 6413:06
@HeikoSso using float32 features13:07
@HeikoSthere is not method13:07
@HeikoSfloat64 linalg::dot(float32,float32)13:07
@HeikoSwhich means that our templated features13:07
@HeikoSare baiscally meaningless13:08
@HeikoSwiking:13:08
@wikingyep yeop13:08
@HeikoSi.e. it never really makes sense to go 32 bit13:08
@wikingthe point is13:08
@wikingthat it should be13:08
@wiking:D13:08
@HeikoSbecause we have to copy it anyways13:08
@wikingi mean i see all your troubles here13:08
@HeikoSbut then the models need to be templated13:08
@wikingbut that's due to our bad design atm13:08
@wikingbecause think about13:08
@HeikoSI mean I can play around with stuff13:08
@HeikoSmake LRR a template13:08
@wikingi mean people here (ds)13:08
@HeikoSlinearMachine a template13:09
@wikinguse csv and other formats13:09
@wikingto store a dataset right?13:09
@HeikoSlol yeah13:09
@wiking"here" in the field of ds13:09
@wikingso i mean think about that that we then read that into float6413:09
@wikingwhy?13:09
@wikingfloat32 should be mooooore than enough13:09
@HeikoSyep13:09
@wikingand that's 50% less memory13:09
@wikingokok i know you can have nowadays 1TB RAM13:09
@wikingbut still13:09
@wikingyou can have nowadays big datasets as well13:10
@HeikoSit is the old story for me, machine not templated but features yes13:10
@wikingso having that 0.5 multiplier is good13:10
@HeikoSyes totally13:10
@HeikoSespecially for cov matrices13:10
@HeikoSit is 413:10
@wikingyep13:10
@wikingso i mean i understand the pain13:10
@wikingbut maybe then just step one back13:10
@HeikoSI dont see a way out that is the issue13:10
@wikingand see the course that we could support on the end13:10
@HeikoSI could try to prototype a rewrite of this13:10
@HeikoStemplated machine13:11
@HeikoSand template type has to match feature template type13:11
@HeikoSand then features only have13:11
@HeikoST dot(idx, idx)13:11
@HeikoSwe can still have things like DotFeatures vis this CRTP thingi13:11
@HeikoSbut the current codebase, i dont see a way out of this13:12
@wikingyeah of course13:12
@HeikoSthe thing that everything is 64bit13:12
@wikingthe current needs haxingory13:12
@wikingand we cast everything to 6413:12
@wikingususaly13:12
@wiking:DDD13:12
@wikingbut there's really no point13:12
@wikingof using 64 bit13:12
@wikingmoooost of the time13:12
@wikingas our input precision is way less13:12
@wiking:DD13:12
@wikingas we know13:13
@HeikoSwith shubham, so far we did this for perceptron13:13
@HeikoSthere is is ok13:13
@wikingand i mean i dont know of any dataset (havne't seen one)13:13
@wikingwhere that difference13:13
@HeikoSas it is all implicitly casted13:13
@wiking64 vs 32 precision13:13
@HeikoSbut that was basically luck13:13
@wikingmade suge a HUGE difference13:13
@wikingin the model13:13
@HeikoSyeah defo13:13
@HeikoSok13:14
@HeikoSbreak :)13:14
@wikingkk13:14
-!- HeikoS [~heiko@2a00:23c5:e10a:5c00:51cf:933e:719e:8140] has quit [Read error: No route to host]13:15
-!- HeikoS [~heiko@host86-146-49-234.range86-146.btcentralplus.com] has joined #shogun13:16
-!- mode/#shogun [+o HeikoS] by ChanServ13:16
-!- iglesiasg [6cab80bd@gateway/web/freenode/ip.108.171.128.189] has joined #shogun13:34
iglesiasgHeikoS: hey mate13:35
iglesiasgHeikoS: http://shogun.ml/api/latest/classshogun_1_1CLinearRidgeRegression.html13:36
iglesiasgHeikoS: y_i is vector as well, no?13:36
iglesiasgall right13:38
iglesiasgI am guessing no13:38
iglesiasghttps://en.wikipedia.org/wiki/Linear_regression13:38
iglesiasgregression vs multiple regression13:38
-!- travis-ci [~travis-ci@ec2-54-205-27-163.compute-1.amazonaws.com] has joined #shogun13:58
travis-ciit's Shubham Shukla's turn to pay the next round of drinks for the massacre he caused in shubham808/shogun: https://travis-ci.org/shubham808/shogun/builds/40755527913:58
-!- travis-ci [~travis-ci@ec2-54-205-27-163.compute-1.amazonaws.com] has left #shogun []13:58
@sukey[https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/4373 synchronized by shubham80814:32
-!- travis-ci [~travis-ci@ec2-54-205-27-163.compute-1.amazonaws.com] has joined #shogun14:53
travis-ciit's Shubham Shukla's turn to pay the next round of drinks for the massacre he caused in shubham808/shogun: https://travis-ci.org/shubham808/shogun/builds/40758736214:53
-!- travis-ci [~travis-ci@ec2-54-205-27-163.compute-1.amazonaws.com] has left #shogun []14:53
@HeikoSiglesiasg: hola15:07
iglesiasghola hola15:08
@HeikoSiglesiasg: what was the Q? :)15:16
@wikinglol15:24
@wikingi almost sent out a forthnightly reminder :D15:24
wuwei[m]wiking: hi15:29
@wikingwuwei[m], hello hello!15:29
wuwei[m]wiking: could you review my prs :)15:30
@wiking!15:30
@wikingindeed15:30
@wikingwuwei[m], can u rebase plz https://github.com/shogun-toolbox/shogun/pull/435215:31
@sukey[https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/4352 synchronized by vinx1315:33
-!- HeikoS [~heiko@host86-146-49-234.range86-146.btcentralplus.com] has quit [Ping timeout: 240 seconds]15:53
@sukey[https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/4373 synchronized by shubham80815:55
@wikingwuwei[m], ok cool but i ahve a question15:55
@wikingthis is a bit annoying15:56
@wikinghttps://github.com/shogun-toolbox/shogun/pull/4352/files#diff-8faba8d51b4c212ec2cf40d103697caaR120715:56
@wikingso i mean first you do a dynamic cast of CLables to CDenseLabels15:56
@wikingand then even though you call a view on the already specialized label15:57
@wikingyou again have to case it15:57
@wiking:)15:57
@wikingdense_labels->view(subset)->as<CDenseLabels>()15:57
wuwei[m]ah yes15:57
wuwei[m]the first cast is actally not needed15:58
@wikingmmmm15:59
@wikingthis is clunky https://github.com/shogun-toolbox/shogun/pull/4352/files#diff-04136c04655708ea0382f14befa31343R32316:00
@wiking;)16:00
wuwei[m]mmm16:01
@wikingmeaning if you request a view of a CDenseFeatures<T> then you should get back a CDenseFeatures<T> not a CFeatures16:01
@wikingi mean of course i understand the problem16:01
wuwei[m]do u have any suggestions on this?16:01
@wikingi'm just stating the problem :)16:01
@wikingjust thinking16:02
@wikingi mean this adds more noise to the code16:02
@wikingthat is kind of unnecessary16:02
@wikingi mean one way of course is to do the viewing in a different way16:02
@wikingnamely16:02
@wikingFeatureView<T> (T features, index)16:02
@wikingi mean that there's a templated method16:03
@wikingwhere T is the feature type16:03
@wikingthat way you can always return T16:03
@wikingthe same type16:03
@wiking:P16:03
wuwei[m]yeah16:03
@wikingwuwei[m], see what i mean?16:03
wuwei[m]i see16:04
@wikingi mean looking at how the .view is used atm16:04
@wikingit feels that it adds quite a lot of noise16:04
@wikingwith all these .as<>() business16:04
wuwei[m]yeah i knew the problem but just didnt have a better way :)16:05
@wikingwhat do you think above the other idea?16:05
@wikingso that a templated function would take care of this16:06
@wikingi mean it doesn't even need to be part of any clase16:06
@wiking*class16:06
@wikingthis could be just a utility function right? :)16:06
@wikingsomething like16:06
wuwei[m]yes16:06
@wikingtemplate<class T> view(const T in, const SGVector<index_t>& subset) ...16:07
@wikingand this view method16:07
@wikingwoudl be the same for both features and labels16:07
@wikingright?16:07
@wikingi mean it's always in->duplicate()16:07
@wikingsubset16:07
@wikingreturn16:07
@wikingor?16:07
wuwei[m]yeah cool16:07
@wikingso this way we even lower the redundancy in the code16:07
@wiking:P16:08
wuwei[m]sure that's much better16:08
-!- travis-ci [~travis-ci@ec2-54-205-27-163.compute-1.amazonaws.com] has joined #shogun16:17
travis-ciit's Shubham Shukla's turn to pay the next round of drinks for the massacre he caused in shubham808/shogun: https://travis-ci.org/shubham808/shogun/builds/40762122416:17
-!- travis-ci [~travis-ci@ec2-54-205-27-163.compute-1.amazonaws.com] has left #shogun []16:17
-!- HeikoS [~heiko@cpc76738-dals23-2-0-cust530.20-2.cable.virginm.net] has joined #shogun16:36
-!- mode/#shogun [+o HeikoS] by ChanServ16:36
iglesiasgHeikoS: the question atm is about bias not in w17:00
iglesiasgHeikoS: I left more details in github17:00
-!- iglesiasg [6cab80bd@gateway/web/freenode/ip.108.171.128.189] has quit [Quit: Page closed]17:05
-!- HeikoS [~heiko@cpc76738-dals23-2-0-cust530.20-2.cable.virginm.net] has quit [Ping timeout: 256 seconds]17:06
-!- HeikoS [~heiko@cpc76738-dals23-2-0-cust530.20-2.cable.virginm.net] has joined #shogun17:33
-!- mode/#shogun [+o HeikoS] by ChanServ17:33
-!- HeikoS [~heiko@cpc76738-dals23-2-0-cust530.20-2.cable.virginm.net] has quit [Ping timeout: 260 seconds]17:39
-!- HeikoS [~heiko@cpc76738-dals23-2-0-cust530.20-2.cable.virginm.net] has joined #shogun17:40
-!- mode/#shogun [+o HeikoS] by ChanServ17:40
-!- HeikoS [~heiko@cpc76738-dals23-2-0-cust530.20-2.cable.virginm.net] has quit [Client Quit]17:43
-!- HeikoS [~heiko@cpc76738-dals23-2-0-cust530.20-2.cable.virginm.net] has joined #shogun17:46
-!- mode/#shogun [+o HeikoS] by ChanServ17:46
-!- HeikoS [~heiko@cpc76738-dals23-2-0-cust530.20-2.cable.virginm.net] has quit [Ping timeout: 256 seconds]17:51
-!- HeikoS [~heiko@cpc76738-dals23-2-0-cust530.20-2.cable.virginm.net] has joined #shogun18:03
-!- mode/#shogun [+o HeikoS] by ChanServ18:03
-!- HeikoS [~heiko@cpc76738-dals23-2-0-cust530.20-2.cable.virginm.net] has quit [Ping timeout: 256 seconds]19:10
@sukey[https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/4372 merged by vigsterkr19:24
@sukey[https://github.com/shogun-toolbox/shogun] New commit https://github.com/shogun-toolbox/shogun/commit/f5eacbbc4e6b1071ad2199f274e9b9222e56ea61 by vigsterkr19:24
-!- travis-ci [~travis-ci@ec2-54-205-139-196.compute-1.amazonaws.com] has joined #shogun20:14
travis-ciit's Wuwei Lin's turn to pay the next round of drinks for the massacre he caused in shogun-toolbox/shogun: https://travis-ci.org/shogun-toolbox/shogun/builds/40771368620:15
-!- travis-ci [~travis-ci@ec2-54-205-139-196.compute-1.amazonaws.com] has left #shogun []20:15
-!- travis-ci [~travis-ci@ec2-54-205-139-196.compute-1.amazonaws.com] has joined #shogun20:25
travis-ciit's Wuwei Lin's turn to pay the next round of drinks for the massacre he caused in shogun-toolbox/shogun: https://travis-ci.org/shogun-toolbox/shogun/builds/40771368620:25
-!- travis-ci [~travis-ci@ec2-54-205-139-196.compute-1.amazonaws.com] has left #shogun []20:25
-!- iglesiasg [~iglesias@f119189.upc-f.chello.nl] has joined #shogun20:52
-!- iglesiasg [~iglesias@f119189.upc-f.chello.nl] has quit [Ping timeout: 260 seconds]22:41
--- Log closed Wed Jul 25 00:00:24 2018

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