| --- Log opened Tue May 24 00:00:09 2016 | ||
| -!- HeikoS [~heiko@host-92-0-162-192.as43234.net] has quit [Quit: Leaving.] | 00:03 | |
| -!- HeikoS [~heiko@host-92-0-162-192.as43234.net] has joined #shogun | 00:04 | |
| -!- mode/#shogun [+o HeikoS] by ChanServ | 00:04 | |
| -!- HeikoS [~heiko@host-92-0-162-192.as43234.net] has quit [Quit: Leaving.] | 00:14 | |
| -!- Saurabh7 [Saurabh7@gateway/shell/panicbnc/x-wnnuuobwbmuhgbpn] has quit [Ping timeout: 260 seconds] | 02:42 | |
| -!- Saurabh7 [Saurabh7@gateway/shell/panicbnc/x-snpnavgctsbffalf] has joined #shogun | 03:05 | |
| -!- Saurabh7 [Saurabh7@gateway/shell/panicbnc/x-snpnavgctsbffalf] has quit [Ping timeout: 260 seconds] | 05:12 | |
| -!- Saurabh7 [Saurabh7@gateway/shell/panicbnc/x-qkwwseokbysimqpf] has joined #shogun | 05:34 | |
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:51 | 
|---|---|---|
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:51 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:51 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:51 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:51 | 
| lisitsyn | cleaning your kboard? | 06:51 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:51 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:51 | 
| lisitsyn | :D | 06:51 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:51 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:52 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:52 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:52 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:52 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:52 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:52 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:52 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:52 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:52 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:52 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:53 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:53 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:53 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:53 | 
| lisitsyn | uhm interesting wiking-mode | 06:53 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:53 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:53 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:53 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:53 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:53 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:53 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:54 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:54 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:54 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:54 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:54 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:54 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:54 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:54 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:54 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:54 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:55 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:55 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:55 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:55 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:55 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:55 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:55 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:55 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:55 | 
| -!- arianepaola [~ariane@unaffiliated/arianepaola] has left #shogun [] | 06:55 | |
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:56 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:56 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:56 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:56 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:56 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:56 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:56 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:56 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:56 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:56 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:57 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:57 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:57 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:57 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:57 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:57 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:57 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:57 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:57 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:57 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:58 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:58 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:58 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:58 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:58 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:58 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:58 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:58 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:58 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:58 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:59 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:59 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:59 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:59 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:59 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:59 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:59 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:59 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:59 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 06:59 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 07:00 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 07:00 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 07:00 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 07:00 | 
| @wiking | `````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 07:00 | 
| @wiking | ````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` | 07:00 | 
| @wiking | mmm | 07:00 | 
| @wiking | error :) | 07:00 | 
| shogun-buildbot | build #243 of deb1 - libshogun - PR is complete: Failure [failed configure] Build details are at http://buildbot.shogun-toolbox.org/builders/deb1%20-%20libshogun%20-%20PR/builds/243 blamelist: OXPHOS | 07:32 | 
| @wiking | lisitsyn: :) fell asleep while coding :P | 07:36 | 
| lisitsyn | wiking: lol | 07:37 | 
| -!- arianepaola [~ariane@unaffiliated/arianepaola] has joined #shogun | 09:29 | |
| -!- HeikoS [~heiko@host-92-0-162-192.as43234.net] has joined #shogun | 10:04 | |
| -!- mode/#shogun [+o HeikoS] by ChanServ | 10:04 | |
| -!- HeikoS [~heiko@host-92-0-162-192.as43234.net] has quit [Quit: Leaving.] | 10:59 | |
| -!- HeikoS [~heiko@host-92-0-162-192.as43234.net] has joined #shogun | 11:02 | |
| -!- mode/#shogun [+o HeikoS] by ChanServ | 11:02 | |
| -!- sanuj [~sanuj@117.203.1.250] has joined #shogun | 11:21 | |
| sanuj | HeikoS, yo | 11:22 | 
| shogun-buildbot | build #244 of deb1 - libshogun - PR is complete: Success [build successful] Build details are at http://buildbot.shogun-toolbox.org/builders/deb1%20-%20libshogun%20-%20PR/builds/244 | 11:22 | 
| @HeikoS | sanuj: hihi | 11:22 | 
| sanuj | i saw the cookbook errors | 11:22 | 
| @HeikoS | how are things? | 11:22 | 
| sanuj | didn't built it in csharp and r on my pc | 11:22 | 
| sanuj | good | 11:22 | 
| @HeikoS | sanuj: the error comes from the fact that a double is passed to a method that accespts int | 11:23 | 
| @HeikoS | and since java and csharp are compiled, the compiler moans about that | 11:23 | 
| sanuj | yes i got that | 11:23 | 
| sanuj | do i need to change json | 11:23 | 
| @HeikoS | not sure | 11:23 | 
| sanuj | or my cookbook page | 11:23 | 
| sanuj | okay | 11:23 | 
| sanuj | i'll check | 11:23 | 
| @HeikoS | what we need is to define this number as an integer | 11:23 | 
| sanuj | yes | 11:23 | 
| @HeikoS | Real component_num = 1 | 11:24 | 
| @HeikoS | sould be Int | 11:24 | 
| @HeikoS | but I am not sure whether the cookbook accepts that :) | 11:24 | 
| sanuj | i tried that | 11:24 | 
| @HeikoS | if not | 11:24 | 
| @HeikoS | need to adjust the json | 11:24 | 
| @HeikoS | and maybe the grammar | 11:24 | 
| sanuj | cookbook doesn't build i i keep Int instead of Real | 11:24 | 
| sanuj | gives error | 11:25 | 
| sanuj | shall i tell you the error? | 11:25 | 
| @HeikoS | no no | 11:25 | 
| sanuj | okay | 11:25 | 
| sanuj | :P | 11:25 | 
| @HeikoS | I know why :) | 11:25 | 
| sanuj | do we have a tutorial on how examples are generated | 11:25 | 
| sanuj | somewhere in the wiki? | 11:26 | 
| sanuj | and | 11:26 | 
| @HeikoS | the readme | 11:26 | 
| sanuj | HeikoS, need your feedback on this | 11:26 | 
| sanuj | https://docs.google.com/document/d/1ZVV9KsHxpoj2G3HYYp-8MNjDpHVL0RGvj5hD0r03lgg/edit?usp=sharing | 11:26 | 
| @HeikoS | in the meta examples dir | 11:26 | 
| sanuj | me and sergey wrote a timeline | 11:26 | 
| sanuj | after midterm is not very specific....might change | 11:27 | 
| @HeikoS | thats good I guess | 11:27 | 
| @HeikoS | seems tight | 11:27 | 
| sanuj | oh you saw that? | 11:27 | 
| sanuj | cool | 11:27 | 
| @HeikoS | yeah | 11:27 | 
| @HeikoS | fine with it | 11:27 | 
| sanuj | cool | 11:27 | 
| @HeikoS | sanuj: mmg | 11:28 | 
| @HeikoS | whats the error when you put Int? | 11:28 | 
| @HeikoS | looking at it now, it should work | 11:29 | 
| sanuj | error is this | 11:29 | 
| sanuj | [ 0%] Generating examples from meta-language | 11:29 | 
| sanuj | Traceback (most recent call last): | 11:29 | 
| sanuj | File "/home/sanuj/Projects/shogun/examples/meta/generator/generate.py", line 116, in <module> | 11:29 | 
| sanuj | includedTargets=args.targets, storeVars=storeVars) | 11:29 | 
| sanuj | File "/home/sanuj/Projects/shogun/examples/meta/generator/generate.py", line 56, in translateExamples | 11:29 | 
| sanuj | storeVars=storeVars if target['FileExtension']==".cpp" else False) | 11:29 | 
| sanuj | File "/home/sanuj/Projects/shogun/examples/meta/generator/translate.py", line 363, in translate | 11:29 | 
| sanuj | return translator.translateProgram(ast["Program"], programName, tags, storeVars) | 11:29 | 
| sanuj | File "/home/sanuj/Projects/shogun/examples/meta/generator/translate.py", line 54, in translateProgram | 11:29 | 
| sanuj | dependencies=self.dependenciesString(), | 11:29 | 
| sanuj | File "/home/sanuj/Projects/shogun/examples/meta/generator/translate.py", line 119, in dependenciesString | 11:29 | 
| sanuj | allClassDependencies = template.substitute(classlist=self.seperatedClassDependencies("AllClasses")) | 11:29 | 
| sanuj | File "/home/sanuj/Projects/shogun/examples/meta/generator/translate.py", line 157, in seperatedClassDependencies | 11:29 | 
| @HeikoS | sanuj: argh | 11:29 | 
| sanuj | csdependencies += elementTemplate.substitute(element=x, include=self.getIncludePathForClass(x)) | 11:29 | 
| @HeikoS | dont paste here ;) | 11:29 | 
| sanuj | File "/home/sanuj/Projects/shogun/examples/meta/generator/translate.py", line 179, in getIncludePathForClass | 11:29 | 
| @HeikoS | spam | 11:29 | 
| sanuj | raise Exception('Failed to obtain include path for %s' % (' or '.join(variants))) | 11:29 | 
| @HeikoS | send me a gist | 11:29 | 
| sanuj | Exception: Failed to obtain include path for int32_t or Cint32_t or int32_t or Cint32_t | 11:29 | 
| sanuj | make[3]: *** [examples/meta/CMakeFiles/meta_examples] Error 1 | 11:29 | 
| sanuj | make[2]: *** [examples/meta/CMakeFiles/meta_examples.dir/all] Error 2 | 11:29 | 
| sanuj | make[1]: *** [doc/cookbook/CMakeFiles/cookbook.dir/rule] Error 2 | 11:29 | 
| sanuj | make: *** [cookbook] Error 2 | 11:30 | 
| sanuj | haha | 11:30 | 
| sanuj | won't happen again | 11:30 | 
| sanuj | do you want a gist | 11:30 | 
| sanuj | this is the whole error ^^^^ | 11:30 | 
| sanuj | :P | 11:30 | 
| @HeikoS | yes | 11:30 | 
| @HeikoS | gist please | 11:30 | 
| sanuj | okay | 11:30 | 
| sanuj | HeikoS, https://gist.github.com/sanuj/3fbf04519f9bb7e4c8dfb196af50e8d9 | 11:31 | 
| sanuj | HeikoS, can't we make simple vectors and matrices in cookbook? | 11:33 | 
| sanuj | like RealVector a([1,2,3]) | 11:33 | 
| lisitsyn | hey there | 11:33 | 
| sanuj | hi lisitsyn | 11:33 | 
| sanuj | HeikoS, are you fixing the error with Int right now? | 11:36 | 
| @HeikoS | sanuj: looking at it | 11:40 | 
| @HeikoS | sanuj: nope | 11:40 | 
| sanuj | okay | 11:40 | 
| @HeikoS | sanuj: if you want it, you need to add it :) | 11:40 | 
| @HeikoS | possible easily | 11:40 | 
| sanuj | i see | 11:41 | 
| sanuj | okay | 11:41 | 
| sanuj | HeikoS, `Expectation Maximization(EM) algorithm <https://en.wikipedia.org/wiki/Expectation%E2%80%93maximization_algorithm>`_ is used to train ...... | 11:41 | 
| sanuj | are these hyper links fine in the cookbook ^^ | 11:41 | 
| @HeikoS | sanuj: yes you can do that | 11:47 | 
| @HeikoS | or just put them at the references below | 11:47 | 
| sanuj | okay | 11:47 | 
| sanuj | cool | 11:47 | 
| @HeikoS | sanuj: btw can you debug the example generation error yourself? | 11:47 | 
| sanuj | i will give it a try | 11:47 | 
| -!- lambday [8028b10a@gateway/web/freenode/ip.128.40.177.10] has joined #shogun | 11:47 | |
| -!- mode/#shogun [+o lambday] by ChanServ | 11:47 | |
| @HeikoS | It comes from the fact that it is trying to find the include path for the in variable | 11:47 | 
| @HeikoS | but it shouldnt do that | 11:47 | 
| @HeikoS | just like for Real | 11:47 | 
| @HeikoS | where it doesnt do that, and it doesnt fail | 11:48 | 
| @HeikoS | need to find that check and extend it to Int | 11:48 | 
| @HeikoS | lambday: jojo | 11:48 | 
| @lambday | HeikoS: hey | 11:48 | 
| @HeikoS | lambday: all good? | 11:48 | 
| sanuj | aren't you guys sitting together this time? :P | 11:48 | 
| @lambday | HeikoS: yeah.. | 11:48 | 
| @HeikoS | sanuj: technically yes | 11:49 | 
| @HeikoS | haha | 11:49 | 
| @HeikoS | but I work from remote quite a bit | 11:49 | 
| @lambday | sanuj: I've stone his LAN cable so he's wfh | 11:50 | 
| @HeikoS | so still at home, meeings since morning | 11:50 | 
| @lambday | stolen* | 11:50 | 
| @HeikoS | haha | 11:50 | 
| sanuj | oh i see | 11:50 | 
| sanuj | lambday, how's london :) | 11:50 | 
| @lambday | sanuj: pretty ;) | 11:50 | 
| @HeikoS | lambday: will finish something and then come in | 11:50 | 
| @HeikoS | see you soon | 11:50 | 
| @lambday | HeikoS: alright.. see you | 11:50 | 
| @HeikoS | sanuj: let me know how things go with the meta example fix | 11:51 | 
| sanuj | HeikoS, yes | 11:51 | 
| -!- HeikoS [~heiko@host-92-0-162-192.as43234.net] has quit [Quit: Leaving.] | 11:54 | |
| @lambday | sanuj: how's it going? | 11:55 | 
| sanuj | lambday, made some prototypes | 11:55 | 
| sanuj | lots to do | 11:55 | 
| sanuj | these passport people are frying my head :P | 11:55 | 
| @lambday | sanuj: hehe what happened? | 11:55 | 
| sanuj | it's been 5 months but i didn't get it | 11:56 | 
| sanuj | did police verification twice | 11:56 | 
| sanuj | from home and college | 11:56 | 
| @lambday | sanuj: ah I've heard that things in guwahati is quite slow :( | 11:56 | 
| sanuj | oh | 11:56 | 
| @lambday | you should have done it from bangalore.. I got mine within 10 days of applying | 11:56 | 
| @lambday | that too normal, not tatkal | 11:56 | 
| sanuj | oh reallly | 11:56 | 
| sanuj | wow | 11:57 | 
| sanuj | haha | 11:57 | 
| sanuj | i hope i get it soon | 11:57 | 
| sanuj | want to apply for research interns soon | 11:57 | 
| @lambday | yeah don't worry.. sometimes they take time | 11:57 | 
| sanuj | okay :) | 11:57 | 
| @lambday | cool!.. decided not to join samsung? | 11:57 | 
| sanuj | i never wanted to | 11:57 | 
| sanuj | but first i need to get an intern | 11:57 | 
| @lambday | sanuj: try here ;) | 11:58 | 
| sanuj | talked to a few guys working there in samsung delhi office | 11:58 | 
| sanuj | oh | 11:58 | 
| sanuj | haha | 11:58 | 
| sanuj | i'll | 11:58 | 
| sanuj | ;) | 11:58 | 
| sanuj | what are you working on? | 11:58 | 
| @lambday | sanuj: statistical testing framework... same things that heiko worked on.. | 11:59 | 
| sanuj | heiko for his phd? | 11:59 | 
| @lambday | he did most of these things in his Masters.. I'm just learning now.. | 12:00 | 
| sanuj | all my friends are going into deep learning research | 12:00 | 
| @lambday | :D | 12:00 | 
| sanuj | oh | 12:00 | 
| sanuj | cool | 12:00 | 
| @lambday | hehe.. yeah ... Arthur said that deep learning was like in 2nd place in terms of the percentage of accepted papers in NIPS.. | 12:00 | 
| @lambday | 1st was GP :P | 12:00 | 
| sanuj | i see | 12:01 | 
| @lambday | doesn't matter though | 12:01 | 
| sanuj | lambday, you will apply for PhD next year? | 12:01 | 
| @lambday | I haven't decided my topic yet.. let's see | 12:01 | 
| sanuj | yeah | 12:01 | 
| @lambday | sanuj: haha tough question.. I want to.. | 12:01 | 
| sanuj | phds are shorter in london i have heard | 12:02 | 
| sanuj | 4 years | 12:02 | 
| @lambday | 4 years | 12:02 | 
| @lambday | yes | 12:02 | 
| sanuj | lambday, did you visit google deepmind :P | 12:02 | 
| @lambday | sanuj: not yet.. but we'll visit .. hopefully | 12:03 | 
| sanuj | cool | 12:03 | 
| @lambday | but fish and chips man.. awesome food :D | 12:04 | 
| sanuj | haha | 12:04 | 
| sanuj | i'm a vegetarian | 12:04 | 
| @lambday | that's what london is famous for.. so I heard.. | 12:05 | 
| @lambday | haha I know ;) | 12:05 | 
| sanuj | but can try for sure | 12:05 | 
| sanuj | :P | 12:05 | 
| @lambday | really! that's great then | 12:05 | 
| sanuj | and it rains a lot? | 12:05 | 
| sanuj | compared to bombay? | 12:05 | 
| @lambday | in bombay it only rains for 3 months.. here it rains always I've heard.. | 12:05 | 
| @lambday | but not heavy rainfall like bombay | 12:06 | 
| @lambday | today it's sunny yayy :D | 12:06 | 
| sanuj | okay | 12:06 | 
| sanuj | hah | 12:06 | 
| sanuj | i did an intern in iit-b | 12:06 | 
| @lambday | awesome! with whom? | 12:06 | 
| sanuj | was stuck due to rain for 3 days | 12:06 | 
| sanuj | oh it was first year | 12:06 | 
| @lambday | haha I can imagine! | 12:06 | 
| sanuj | not a prof | 12:06 | 
| sanuj | ITSP | 12:07 | 
| sanuj | some student organized project workshop | 12:07 | 
| @lambday | I see | 12:07 | 
| sanuj | we made a home automation system controlled by facebook | 12:07 | 
| sanuj | :P | 12:07 | 
| @lambday | haha sounds awesome! | 12:07 | 
| sanuj | lambday, where are you staying? | 12:09 | 
| sanuj | sharing with someone? | 12:09 | 
| sanuj | and how is UCL | 12:09 | 
| @lambday | sanuj: I stay pretty far.. near east ham.. staying in a paying guest with a gujarati family.. that's the cheapest option I could find.. plus I have a friend who's staying there.. | 12:10 | 
| @lambday | london is quite costly | 12:11 | 
| sanuj | yeah london is costly | 12:11 | 
| @lambday | UCL is awesome.. distributed campus.. not like iits there | 12:11 | 
| sanuj | then how do you travel? | 12:11 | 
| @lambday | tube | 12:11 | 
| sanuj | cool | 12:11 | 
| sanuj | looking forward to coming there sometime :P | 12:12 | 
| @lambday | haha yeah you'll love it.. | 12:12 | 
| @lambday | it's an ancient city.. and looks like a prettier version of mumbai/camcutta | 12:12 | 
| @lambday | calcutta* | 12:13 | 
| sanuj | ohkay | 12:13 | 
| @lambday | people are very polite (and indirect) :D | 12:13 | 
| sanuj | haha | 12:14 | 
| sanuj | lambday, weren't you getting married? :D | 12:14 | 
| @lambday | sanuj: yeah.. next Jan | 12:14 | 
| sanuj | i see | 12:15 | 
| sanuj | 2017 | 12:15 | 
| @lambday | yep | 12:15 | 
| @lambday | anyway.. I'll let you get back to work.. and so will I (see? learned politeness already).. | 12:16 | 
| @lambday | haha | 12:16 | 
| @lambday | see ya | 12:16 | 
| sanuj | haha | 12:16 | 
| sanuj | yeah | 12:16 | 
| sanuj | take care | 12:16 | 
| @lambday | you too | 12:16 | 
| sanuj | :) | 12:17 | 
| arianepaola | hello :-) | 13:19 | 
| -!- c4goldsw [c1a99ae1@gateway/web/cgi-irc/kiwiirc.com/ip.193.169.154.225] has joined #shogun | 13:26 | |
| c4goldsw | Hey all, is the meeting today being held in the IRC? | 13:28 | 
| -!- c4goldsw [c1a99ae1@gateway/web/cgi-irc/kiwiirc.com/ip.193.169.154.225] has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client] | 13:53 | |
| -!- HeikoS [~heiko@nat-229-174.internal.eduroam.ucl.ac.uk] has joined #shogun | 13:54 | |
| -!- mode/#shogun [+o HeikoS] by ChanServ | 13:54 | |
| -!- leagoetz [~leagoetz@nat-231-184.internal.eduroam.ucl.ac.uk] has joined #shogun | 14:17 | |
| -!- c4goldsw [c1a99ae1@gateway/web/cgi-irc/kiwiirc.com/ip.193.169.154.225] has joined #shogun | 14:22 | |
| c4goldsw | HeikoS Hey, is the meeting today going to be held in the IRC? | 14:22 | 
| -!- sanuj [~sanuj@117.203.1.250] has quit [Ping timeout: 276 seconds] | 14:53 | |
| -!- c4goldsw [c1a99ae1@gateway/web/cgi-irc/kiwiirc.com/ip.193.169.154.225] has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client] | 14:56 | |
| -!- Saurabh7_ [~Saurabh7@117.215.53.11] has joined #shogun | 15:11 | |
| -!- sanuj [~sanuj@117.203.1.250] has joined #shogun | 15:15 | |
| @HeikoS | yes | 15:35 | 
| -!- besser82 [~besser82@fedora/besser82] has joined #shogun | 15:40 | |
| -!- mode/#shogun [+o besser82] by ChanServ | 15:40 | |
| @HeikoS | wiking: where is bender? | 15:41 | 
| sanuj | i'm about to fix the meta examples error | 15:41 | 
| sanuj | took a lot of time to track down | 15:41 | 
| sanuj | but now i understand how meta examples are generated | 15:42 | 
| sanuj | HeikoS, Real also finds the include path | 15:42 | 
| sanuj | it's shogun/lib/common.h | 15:43 | 
| @HeikoS | sanuj: great stuff | 15:45 | 
| @HeikoS | why doesnt that work for the int? | 15:45 | 
| sanuj | because for Int there is no path | 15:45 | 
| @HeikoS | the path comes from ctags I guess | 15:45 | 
| @HeikoS | is int not defined in common.h? | 15:45 | 
| sanuj | let me see | 15:46 | 
| sanuj | it is defined | 15:46 | 
| @HeikoS | so how did you fix it? | 15:46 | 
| sanuj | i'm going to fix it....wait | 15:47 | 
| sanuj | :P | 15:47 | 
| @HeikoS | kk | 15:47 | 
| leagoetz | hi everyone | 15:57 | 
| leagoetz | I see it's getting nicely busy in IRC :) | 15:57 | 
| leagoetz | let's maybe wait 5 more mins, or is everyone here? | 15:58 | 
| Saurabh7_ | hi | 15:58 | 
| Saurabh7_ | oh its in 5 min | 15:58 | 
| Saurabh7_ | wasnt it 3 pm ? | 15:59 | 
| sanuj | HeikoS, i dunno how ctags work :/ | 15:59 | 
| @HeikoS | sanuj: lisitsyn is your man | 15:59 | 
| leagoetz | yep, 3pm | 15:59 | 
| @HeikoS | 3pm London time | 15:59 | 
| @HeikoS | which is now | 15:59 | 
| @HeikoS | leagoetz: maybe send an email to everyone saying that meeting is *now* | 15:59 | 
| Saurabh7_ | oh i see | 15:59 | 
| leagoetz | sorry about the time confusion guys, my doodle was a bare bones version | 16:00 | 
| leagoetz | yes will do | 16:00 | 
| Saurabh7_ | i was checking utc its says 2 | 16:00 | 
| -!- OXPHOS [9d8b131c@gateway/web/freenode/ip.157.139.19.28] has joined #shogun | 16:00 | |
| -!- c4goldsw [c1a99ae1@gateway/web/cgi-irc/kiwiirc.com/ip.193.169.154.225] has joined #shogun | 16:00 | |
| sanuj | Saurabh7_, it was 3 pm UTC | 16:01 | 
| sanuj | the meeting i mean | 16:01 | 
| sanuj | ? | 16:01 | 
| sanuj | anyways i'm here | 16:01 | 
| Saurabh7_ | yeah | 16:01 | 
| Saurabh7_ | ye me too :) | 16:01 | 
| @HeikoS | lets see | 16:01 | 
| leagoetz | given that EVERYONE seems to be here it doesn't really matter, does it? | 16:01 | 
| leagoetz | :) | 16:01 | 
| sanuj | nope | 16:01 | 
| lisitsyn | hey | 16:01 | 
| sanuj | lisitsyn, ping | 16:01 | 
| sanuj | oh hi | 16:01 | 
| lisitsyn | yeah just in time | 16:01 | 
| @HeikoS | wiking, arianepaola, lisitsyn, OXPHOS are you there? | 16:01 | 
| @HeikoS | lisitsyn: hi | 16:01 | 
| c4goldsw | Hey everyone. | 16:01 | 
| sanuj | lisitsyn, i need your help with c tags | 16:01 | 
| @HeikoS | rcurtin: you around by any chance? | 16:02 | 
| OXPHOS | yep | 16:02 | 
| @HeikoS | c4goldsw: hi there | 16:02 | 
| @HeikoS | you want to join? | 16:02 | 
| c4goldsw | That's why I'm here :) | 16:02 | 
| @HeikoS | cool | 16:02 | 
| @HeikoS | wiking is the last missing | 16:02 | 
| @HeikoS | but his timezone is tricky | 16:02 | 
| @HeikoS | leagoetz: did he say he can make it on the doodle? | 16:02 | 
| leagoetz | kk do you think we should start without him | 16:02 | 
| leagoetz | he said he could make it | 16:02 | 
| leagoetz | but maybe he thinks it's in an hour :~ | 16:03 | 
| @HeikoS | well his account is online, so he can read logs | 16:03 | 
| @HeikoS | lets start | 16:03 | 
| leagoetz | OK | 16:03 | 
| leagoetz | Hi everyone and thanks for joining this kick-off meeting. it’ll be a short meeting. Students and mentors can | 16:03 | 
| leagoetz | take the opportunity to hang out afterwards, discuss, etc | 16:03 | 
| leagoetz | GSoC 2016 has officially begun and we’re very excited! | 16:03 | 
| leagoetz | This meeting will be a short reminder of what needs to be done during the summer, what we expect of you and to start the discussion. | 16:04 | 
| leagoetz | btw, I will put up the minutes of this meeting on the Wiki for future reference (special request by sanju: ^^) | 16:04 | 
| sanuj | sanuj* | 16:04 | 
| leagoetz | yes, sorry | 16:04 | 
| leagoetz | (and do ask questions any time if you have them). | 16:04 | 
| @HeikoS | "the minutes"? | 16:04 | 
| leagoetz | or make comments | 16:04 | 
| leagoetz | and correct me | 16:04 | 
| leagoetz | yes, that's what it's called | 16:04 | 
| leagoetz | list of things that have been said | 16:04 | 
| @HeikoS | I see | 16:04 | 
| leagoetz | 1. short reminder of our Expectations of GSoC **during the next weeks**: | 16:05 | 
| @HeikoS | also we can put the chat log link | 16:05 | 
| leagoetz | (was my plan) | 16:05 | 
| leagoetz | you’ll be members of our Shogun community, so don't just code alone in the dark: | 16:05 | 
| leagoetz | instead hang out in IRC | 16:05 | 
| leagoetz | share the experience with the other students :) | 16:05 | 
| leagoetz | keep in touch with your mentor, and .. | 16:05 | 
| leagoetz | the other shogun members | 16:05 | 
| leagoetz | As part of this, please send a very brief email to the mailing list each Monday | 16:05 | 
| leagoetz | saying what you’ve been up to in the previous week and what are your plans for the coming week. | 16:05 | 
| leagoetz | Everyone will be curious to see how it’s going. | 16:05 | 
| leagoetz | Remember: GSoC is full-time - we expect you to fully concentrate on Shogun this summer. This way, you will also get out the most | 16:06 | 
| leagoetz | We expect you to always be visible in IRC during GSoC, and try to talk to your mentor at least 2-3 times a week. | 16:06 | 
| leagoetz | Finally, and very important: we expect everyone to enjoy this experience -- we did so in the past :) | 16:06 | 
| leagoetz | ok done with monologue part 1. any questions? | 16:06 | 
| leagoetz | :) | 16:06 | 
| @HeikoS | maybe a comment: | 16:07 | 
| @HeikoS | usually, if everyone hangs out in IRC, everyone has more fun | 16:07 | 
| @HeikoS | experience tells | 16:07 | 
| sanuj | yes | 16:07 | 
| @HeikoS | especially if lisitsyn is around | 16:07 | 
| leagoetz | yes | 16:07 | 
| leagoetz | haha | 16:07 | 
| sanuj | haha | 16:07 | 
| lisitsyn | sorry | 16:07 | 
| leagoetz | ok moving on | 16:07 | 
| OXPHOS | lol | 16:07 | 
| lisitsyn | :D | 16:07 | 
| @lambday | lisitsyn: don't be :P | 16:07 | 
| @HeikoS | sorry? :D | 16:07 | 
| leagoetz | 2. Plans for the first weeks | 16:08 | 
| lisitsyn | HeikoS: that's my default answer to any highlight of my nickname | 16:08 | 
| lisitsyn | I thought something is wrong :D | 16:08 | 
| Saurabh7_ | haha | 16:08 | 
| leagoetz | Can each student please describe briefly what you want to do in the first 2 weeks. | 16:08 | 
| leagoetz | briefly, yet concretely. Just let us know what you are currently doing, | 16:08 | 
| leagoetz | what the issues are, and when you plan to finish it. | 16:08 | 
| leagoetz | Sanuj, do you want to start? | 16:08 | 
| sanuj | okay | 16:08 | 
| sanuj | In my first week, main aim is to get shogun support tags and parameter framework | 16:09 | 
| sanuj | so that OXPHOS can work on serialization with the new framework | 16:09 | 
| sanuj | and cookbooks etc | 16:09 | 
| sanuj | done | 16:09 | 
| leagoetz | Ok, then OXPHOS: | 16:09 | 
| OXPHOS | I plan to work on the prototype of serialization - with models in SGVector and SGObject. | 16:10 | 
| OXPHOS | Not sure whether there's a conflict with sanuj but doubt I'll be that fast | 16:10 | 
| leagoetz | in any case you two should keep talking | 16:11 | 
| OXPHOS | and cookbooks. and maybe linalg design. done. | 16:11 | 
| OXPHOS | sure | 16:11 | 
| @HeikoS | about cookbooks: we expect to see all sorts of issues there as this is the first time we really stress test the system scaling up. sanuj already found a bug, and there will be more. Consider fixing them as part of your GSoC experience ;) | 16:11 | 
| leagoetz | arianepaola: | 16:11 | 
| leagoetz | next up | 16:11 | 
| leagoetz | hm, are you here arianepaola? | 16:12 | 
| leagoetz | Ok, let's have Saurabh7: then | 16:12 | 
| Saurabh7_ | Ok right now I am working on making crossvalidation run in parallel, i.e thread safe features and subsets | 16:13 | 
| Saurabh7_ | wiht that next week i can dive into an algorithm like random foresta nd use the thread safety there too | 16:13 | 
| Saurabh7_ | and cookbooks ocfc | 16:13 | 
| Saurabh7_ | done | 16:13 | 
| leagoetz | happy to hear that you're all thinking about the cookbook, because my next point was ... | 16:14 | 
| leagoetz | 3. Cookbook patches. | 16:14 | 
| leagoetz | As mentioned often enough ;P, we expect you to contribute 2-3 patches to our cookbook. | 16:14 | 
| leagoetz | (which after your GSoC contributions will be awesome I think btw) | 16:14 | 
| leagoetz | **disclaimer** | 16:14 | 
| leagoetz | As some of you have experienced already, there are some problems with this at the moment (we are stress-testing things). | 16:14 | 
| leagoetz | But please send the PRs nevertheless. | 16:14 | 
| leagoetz | and finally ... | 16:15 | 
| @HeikoS | I suggest to do these in a sep. feature branch each (on your side), so that we can manage multiple of them at once | 16:15 | 
| @HeikoS | (it might take time to resolve some of the problems) | 16:15 | 
| @HeikoS | And please: | 16:15 | 
| @HeikoS | chose the most important algorithms first | 16:15 | 
| @HeikoS | before adding cookbooks on single kernels or similar | 16:15 | 
| leagoetz | oh and make sure you're not two of you working on the same | 16:16 | 
| @HeikoS | shall we maybe have a list or so | 16:16 | 
| @HeikoS | of work in progress | 16:16 | 
| leagoetz | but if you're interacting should be no problem | 16:16 | 
| @HeikoS | google doc | 16:16 | 
| leagoetz | yes | 16:16 | 
| @HeikoS | or just leave it to you guys to sort that out? | 16:16 | 
| sanuj | yes that would be helpful | 16:16 | 
| @HeikoS | maybe you can ask each other | 16:16 | 
| leagoetz | or just write that in your Monday email the one's you plan to tackle | 16:16 | 
| @HeikoS | leagoetz: +1 | 16:16 | 
| sanuj | cool | 16:16 | 
| leagoetz | yes, sort it out in IRC, then write which one's you're resposible for in the coming week | 16:16 | 
| leagoetz | Ok great | 16:17 | 
| leagoetz | I think Heiko and Viktor want to say something about the release before the meeting is finished | 16:17 | 
| leagoetz | HeikoS: | 16:17 | 
| leagoetz | ? | 16:17 | 
| @HeikoS | yeah | 16:17 | 
| leagoetz | wiking: | 16:17 | 
| leagoetz | ? | 16:17 | 
| @HeikoS | as wiking is not here | 16:17 | 
| leagoetz | oh right | 16:17 | 
| @HeikoS | so there is the list of issues on the release: | 16:17 | 
| @HeikoS | let me get the link | 16:18 | 
| @HeikoS | https://github.com/shogun-toolbox/shogun/issues?q=is%3Aopen+is%3Aissue+milestone%3A%22Shogun+4.2.0+-+Takechi+Hanpeita%22 | 16:18 | 
| @HeikoS | some of you already fixed some bugs, warnings etc | 16:18 | 
| @HeikoS | thanks a lot for that | 16:18 | 
| @HeikoS | some are still open, and need work | 16:18 | 
| @HeikoS | if you know how to solve something, do it | 16:18 | 
| @HeikoS | very much appreciated | 16:18 | 
| -!- sonne|work [~sonnenbu@ip5b414dfc.dynamic.kabel-deutschland.de] has joined #shogun | 16:19 | |
| @HeikoS | arianepaola: in particular you could help e.g. with the eigen3 problem | 16:19 | 
| @HeikoS | apart from that we are almost ready to release | 16:19 | 
| leagoetz | wohooo | 16:19 | 
| @HeikoS | after the release | 16:19 | 
| @HeikoS | you can use c++11 in your codes | 16:19 | 
| @HeikoS | which will be interesting for sanuj and OXPHOS | 16:19 | 
| sonne|work | hey everyone... | 16:19 | 
| @HeikoS | done | 16:19 | 
| @HeikoS | sonne|work: hi! | 16:19 | 
| leagoetz | ok, does anyone have any questions? | 16:20 | 
| leagoetz | (if something comes to you later, send me an email or find me in IRC) | 16:20 | 
| c4goldsw | A quick one: what are cookbooks exactly? | 16:20 | 
| c4goldsw | Examples of how to use certain parts of features of Shogun? | 16:20 | 
| @HeikoS | http://shogun.ml/cookbook/latest/ | 16:20 | 
| @HeikoS | c4goldsw: ^ | 16:20 | 
| c4goldsw | Thanks. | 16:21 | 
| leagoetz | more questions? | 16:21 | 
| OXPHOS | What exactly is the time in UTC now? | 16:21 | 
| @HeikoS | c4goldsw: it is three things: examples, integration tests, and documentation for all modular targets | 16:21 | 
| @HeikoS | http://lmgtfy.com/?q=current+time+UTC | 16:21 | 
| @HeikoS | ;) | 16:21 | 
| leagoetz | 2:20 | 16:21 | 
| leagoetz | I messed up | 16:21 | 
| leagoetz | oh well | 16:21 | 
| @HeikoS | haha | 16:22 | 
| OXPHOS | Aha yes I googled and confused | 16:22 | 
| @HeikoS | well almost everyone made it | 16:22 | 
| OXPHOS | thought the world break down | 16:22 | 
| @HeikoS | wiking and arianepaola can talk with each other I guess | 16:22 | 
| leagoetz | yes, I'll write to them | 16:22 | 
| leagoetz | OK | 16:22 | 
| leagoetz | quick summary and then the meeting is over:Â | 16:22 | 
| leagoetz | 1. make sure you meet the expectations:Â | 16:22 | 
| leagoetz | full-time, | 16:22 | 
| leagoetz | hang out in IRC &Â | 16:22 | 
| leagoetz | keep in touch with your mentor, | 16:22 | 
| leagoetz | update us on your progress, | 16:23 | 
| leagoetz | contribute to cookbook | 16:23 | 
| leagoetz | 2. your plan for the first 2 weeks … | 16:23 | 
| leagoetz | … do it :) | 16:23 | 
| leagoetz | 3. don’t forget the cookbook patches | 16:23 | 
| leagoetz | 4. have a great time! | 16:23 | 
| leagoetz | That's it | 16:23 | 
| leagoetz | Take care everyone and let me know if you have any questions/issues/comments! | 16:23 | 
| @HeikoS | thanks leagoetz! | 16:23 | 
| sanuj | great | 16:23 | 
| OXPHOS | thanks! | 16:23 | 
| lisitsyn | thanks | 16:23 | 
| @HeikoS | lambday and OXPHOS: maybe the two of you can discuss a bit the linalg design? | 16:24 | 
| @lambday | HeikoS: yeah.. | 16:24 | 
| @lambday | OXPHOS: you have a min? | 16:24 | 
| OXPHOS | lambday: sure. I have something to show. lemme dump it in the gist? | 16:24 | 
| @HeikoS | sanuj: so hows the patch going? | 16:24 | 
| @lambday | OXPHOS: alright.. | 16:24 | 
| OXPHOS | lambday: or you wanna say sth. first? | 16:25 | 
| @HeikoS | Saurabh7_: any news on the xvalidation? | 16:25 | 
| @lambday | OXPHOS: let me check your gist | 16:25 | 
| @lambday | maybe you have something better ;) | 16:25 | 
| sanuj | OXPHOS, i will update you about my tags/parameter prototype later today...didn't want to confuse you earlier as it was not complete :) | 16:25 | 
| sanuj | HeikoS, lisitsyn about the meta example fix | 16:26 | 
| OXPHOS | lambday: https://gist.github.com/OXPHOS/16c7a4d31cb4f5553fd8e7bc70ca5114 | 16:26 | 
| OXPHOS | sanuj: thx! | 16:26 | 
| Saurabh7_ | HeikoS, working on it, but found that things a re a bit different for this locked training we have for say kernel machines | 16:26 | 
| @HeikoS | Saurabh7_: that is if kernel matrix is precomputed | 16:27 | 
| @HeikoS | Saurabh7_: only want to do that once in xvalidation | 16:27 | 
| @HeikoS | so there | 16:27 | 
| Saurabh7_ | HeikoS, hm | 16:27 | 
| @HeikoS | it is not just the features which get a different subset every time | 16:28 | 
| @HeikoS | but also the kernel | 16:28 | 
| sanuj | HeikoS, lisitsyn there is nothing to include for int32_t from tags so it breaks | 16:28 | 
| Saurabh7_ | yeah kernel have row as well as column subsets | 16:28 | 
| @HeikoS | But I think, the first version should ignore the locked case | 16:28 | 
| Saurabh7_ | yup i am ignoring it for now | 16:28 | 
| Saurabh7_ | for now | 16:28 | 
| lisitsyn | sanuj: ?? | 16:28 | 
| sanuj | lisitsyn, have you seen this build failure https://travis-ci.org/shogun-toolbox/shogun/builds/132213314 | 16:28 | 
| lisitsyn | didn't get it | 16:28 | 
| Saurabh7_ | HeikoS, so i will try with kernel svm and relevant features and unlcoked training ? | 16:29 | 
| Saurabh7_ | to get it going | 16:29 | 
| lisitsyn | sanuj: the errors look unrelated? | 16:29 | 
| -!- HeikoS [~heiko@nat-229-174.internal.eduroam.ucl.ac.uk] has quit [Quit: Leaving.] | 16:29 | |
| sanuj | lisitsyn, i found the reason for the error | 16:30 | 
| -!- leagoetz [~leagoetz@nat-231-184.internal.eduroam.ucl.ac.uk] has quit [] | 16:30 | |
| sanuj | lisitsyn, let me link you to the code | 16:30 | 
| lisitsyn | ok | 16:30 | 
| @lambday | OXPHOS: so the idea here is, to have a "dot" method in the class itself, and then in linalg we use that one | 16:30 | 
| @lambday | OXPHOS: did I get this right? | 16:30 | 
| -!- HeikoS [~heiko@nat-229-174.internal.eduroam.ucl.ac.uk] has joined #shogun | 16:31 | |
| -!- mode/#shogun [+o HeikoS] by ChanServ | 16:31 | |
| OXPHOS | lambday: aha it doesn't have to be dot only. All methods can be dumped in. If this is what you meant | 16:31 | 
| sanuj | lisitsyn, https://github.com/shogun-toolbox/shogun/blob/develop/examples/meta/generator/translate.py#L179 | 16:31 | 
| @lambday | OXPHOS: yeah that was my point.. but it kinda defeats the purpose of having the methods in linalg then, isn't it? | 16:32 | 
| @lambday | OXPHOS: I think what ideally we want is to just have linalg::foo(....) and get rid of all the class methods.. | 16:33 | 
| sanuj | lisitsyn, the error in the build was due to using Real instead of Int as Java and csharp have problem with type conversion | 16:33 | 
| @lambday | OXPHOS: does it sound reasonable? | 16:33 | 
| OXPHOS | lambday: you mean like linalg::foo(dot, a, b)? | 16:33 | 
| sanuj | lisitsyn, when i tried using Int the cookbook gave this error: https://gist.github.com/sanuj/3fbf04519f9bb7e4c8dfb196af50e8d9 | 16:34 | 
| @lambday | OXPHOS: more like, linalg::dot(a, b).. and similarly, other methods | 16:34 | 
| lisitsyn | sanuj: oh ok | 16:34 | 
| lisitsyn | so it's ctags issue? | 16:34 | 
| sanuj | lisitsyn, yep | 16:34 | 
| OXPHOS | lambday: I think this is what I showed. dot is in linalg namespace. Or I was wrong? | 16:35 | 
| sanuj | lisitsyn, in case of Real float64_t includes shogun/lib/common.h | 16:35 | 
| sanuj | lisitsyn, but in case of Int i.e. int32_t there is nothing to include so throws the exception | 16:36 | 
| @lambday | OXPHOS: yeah.. that's fine.. but what I meant is that, this solution requires that we have a dot method in the vector class itself as a member method | 16:36 | 
| @lambday | that's something we want to avoid | 16:36 | 
| OXPHOS | lambday: aa sry I get it | 16:36 | 
| @lambday | OXPHOS: no worries.. | 16:37 | 
| @lambday | so.. | 16:37 | 
| sanuj | lisitsyn, i dunno how ctags work | 16:37 | 
| OXPHOS | it is in base class. not exactly vector (but go ahead) | 16:37 | 
| lisitsyn | sanuj: ok got it | 16:37 | 
| @lambday | let's think about how we're going to use the API | 16:37 | 
| @lambday | OXPHOS: yeah but in the subclasses also you must have to overload the virtual dot methods to make it work | 16:37 | 
| sanuj | lisitsyn, what's the fix :) | 16:37 | 
| @lambday | or did I get this wrong? | 16:38 | 
| @lambday | override* | 16:38 | 
| lisitsyn | sanuj: let me check | 16:38 | 
| OXPHOS | lambday: yes. but the subclasses are like CPU_end and GPU_end? I don't feel like the calculation will fall back to SGVector..But I might be wrong | 16:39 | 
| @HeikoS | Saurabh7_: yes do that first | 16:39 | 
| @lambday | OXPHOS: https://gist.github.com/OXPHOS/16c7a4d31cb4f5553fd8e7bc70ca5114#file-dot-cpp-L9 this call here will always call the Base<T>::dot, isn't it | 16:40 | 
| @lambday | because we're not using the pointers | 16:40 | 
| -!- c4goldsw [c1a99ae1@gateway/web/cgi-irc/kiwiirc.com/ip.193.169.154.225] has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client] | 16:41 | |
| OXPHOS | lambday: yes | 16:41 | 
| @lambday | OXPHOS: okay.. so maybe I am not getting it properly.. so let me check if I get this correctly... | 16:41 | 
| @lambday | you have a Base.. and then you extend this to create classes CPU vec and GPU vec | 16:41 | 
| @lambday | and these override the dot interface (similarly other methods) | 16:41 | 
| @lambday | and then you give your SGvector to the factory... get an instance of CPU and GPU vectors based on the available backend.. | 16:42 | 
| @lambday | and then want to call dot on those | 16:42 | 
| @lambday | that's the idea | 16:42 | 
| @lambday | am I right>? | 16:42 | 
| OXPHOS | yes. send SGVector in. then get sth out for the further calculation | 16:43 | 
| @lambday | OXPHOS: yeah.. | 16:43 | 
| @lambday | OXPHOS: so, to make this work, I think we need the factory to return a ptr so we are able to make the virtual call | 16:43 | 
| @lambday | otherwise, it always calls the base::dot | 16:44 | 
| lisitsyn | sanuj: lets just add that to common.h | 16:44 | 
| lisitsyn | should be ok | 16:44 | 
| OXPHOS | lambday: hmm. we can do it right? | 16:45 | 
| @lambday | OXPHOS: yeah.. but let's think a bit.. the linalg interface in this case always works with SGvector | 16:45 | 
| @lambday | OXPHOS: am I right? | 16:46 | 
| OXPHOS | lambday: yes | 16:46 | 
| -!- besser82 [~besser82@fedora/besser82] has quit [Ping timeout: 258 seconds] | 16:46 | |
| OXPHOS | lambday: you're thinking having a separate GPUVector? | 16:46 | 
| @lambday | OXPHOS: so, in each linalg::dot call, we **MUST** call the factory to get the appropriate vector type | 16:47 | 
| @lambday | nono | 16:47 | 
| OXPHOS | yes | 16:47 | 
| @lambday | so in that case, we end up doing cpu <--> gpu transfer in each linalg::dot call, where we simply could have used | 16:47 | 
| @lambday | auto a = factory(v) | 16:47 | 
| @lambday | auto b = factory(u) | 16:47 | 
| @lambday | a->dot(b) | 16:48 | 
| @lambday | so it's not very good, no? | 16:48 | 
| OXPHOS | very clumsy : / | 16:48 | 
| @lambday | OXPHOS: yeah | 16:48 | 
| @lambday | OXPHOS: so let's think for a sec about how one would actually use this | 16:49 | 
| @lambday | let's write a small use-case | 16:49 | 
| @lambday | say, this is the code for mycoolalgo | 16:49 | 
| @lambday | inside that, I do | 16:49 | 
| @lambday | auto a = factory(u) // u is my input vector.. | 16:49 | 
| @lambday | so any cpu <--> gpu thing happens here | 16:49 | 
| @lambday | then I want to use just this one.. | 16:50 | 
| @lambday | linalg::foobar(a) | 16:50 | 
| @lambday | linalg::barbar(a)... | 16:50 | 
| @lambday | so on | 16:50 | 
| @lambday | and then finally.. i want to transfer the result back to cpu | 16:50 | 
| @lambday | so the linalg interfaces in this case should directly work with the Base<T> ptr type.. | 16:51 | 
| sanuj | lisitsyn, what do you want to add to common.h? | 16:51 | 
| lisitsyn | sanuj: the missing types | 16:51 | 
| lisitsyn | int64_t int32_t | 16:51 | 
| @lambday | OXPHOS: does it sound reasonable? | 16:51 | 
| sanuj | its there | 16:51 | 
| lisitsyn | nope | 16:52 | 
| lisitsyn | float32_t is defined | 16:52 | 
| lisitsyn | but not int32_t | 16:52 | 
| OXPHOS | lambday: sounds good. and I feel like it is similar to what I have..? | 16:52 | 
| sanuj | there is typedef int32_t index_t; | 16:52 | 
| @lambday | OXPHOS: yeah, except, it's all runtime now | 16:52 | 
| @lambday | so we always work with base<T>* now | 16:53 | 
| @lambday | instead of stack objects | 16:53 | 
| OXPHOS | lambday: bascially ask the users to do the factory() step? | 16:53 | 
| sanuj | lisitsyn, ^ | 16:53 | 
| @lambday | OXPHOS: nono.. this is what will happen **inside** shogun code.. | 16:54 | 
| OXPHOS | lambday: I guess I never get the 'runtime' and 'compile' difference | 16:54 | 
| @lambday | factory thing will be sort of a plugin thing.. that (based on the installation) will return things.. | 16:55 | 
| lisitsyn | sanuj: it doesn't define int32_t | 16:55 | 
| @lambday | OXPHOS: hehe don't worry.. | 16:55 | 
| @lambday | OXPHOS: what is important for now, is that we keep the linalg interface ready that works with Base ptrs | 16:56 | 
| -!- besser82 [~besser82@fedora/besser82] has joined #shogun | 16:56 | |
| -!- mode/#shogun [+o besser82] by ChanServ | 16:56 | |
| @lambday | we'll worry about the factory later onwards | 16:56 | 
| sanuj | lisitsyn, okay, how do i define int32_t...there are typedefs of others like float64_t etc | 16:56 | 
| lisitsyn | sanuj: typedef int int32_t; | 16:56 | 
| @lambday | but imagine that by some magic, you have an instance of a GPUVector ptr/CPUVector ptr.. | 16:57 | 
| sanuj | lisitsyn, there is already typedef int machine_int_t; | 16:57 | 
| @lambday | now, we need to make our dot work with that | 16:57 | 
| lisitsyn | sanuj: what has it to do with int32_t? :D | 16:57 | 
| sanuj | lisitsyn, 2 typedefs with same name are fine? | 16:57 | 
| @lambday | OXPHOS: if you have a min, then you can have a look at the LinearOperator interface.. | 16:58 | 
| OXPHOS | lambday: step1: transfer (done in factory) step2: make linalg work with transferred datatype (Base*)? | 16:58 | 
| OXPHOS | or reverse | 16:58 | 
| sanuj | lisitsyn, will you be around after an hour | 16:58 | 
| sanuj | need to go have dinner | 16:58 | 
| @lambday | OXPHOS: yes that's how we'd use it.. but we can develop step2 first and make step1 work later | 16:58 | 
| @lambday | all we need is the classes | 16:59 | 
| @lambday | OXPHOS: but is it clear now that if we don't use Base*, then it's no more runtime decided? | 17:00 | 
| @lambday | because we'll be using runtime polymorphism to make things work.. which, without pointers, won't really work I'm afraid | 17:01 | 
| OXPHOS | lambday: !!! finally..so dot(Base* a, Base* b), but not a.dot(b)? | 17:01 | 
| @lambday | OXPHOS: I'm afraid so :) | 17:01 | 
| OXPHOS | lambday: yes | 17:01 | 
| @lambday | OXPHOS: great! | 17:02 | 
| OXPHOS | lambday: So I'll 1. code base and subclasses 2. refactor dot | 17:03 | 
| @HeikoS | OXPHOS: probably good to summarise things in an email, send it back to lambday, and cc Viktor | 17:03 | 
| @lambday | OXPHOS: maybe first draft the use-case.. and walk through the details? | 17:03 | 
| @lambday | OXPHOS: how the classes should look.. etc | 17:04 | 
| OXPHOS | HeikoS lambday: sure | 17:04 | 
| @lambday | OXPHOS: we don't want that we put so much effort in coding up something and then it's not really a good idea | 17:04 | 
| @lambday | OXPHOS: so, inside the linalg dot, can we make it work, without having to have a dot method in the class itself? | 17:05 | 
| @lambday | let's think! | 17:05 | 
| @lambday | (the tricky part is th first method :D .. once a single method is added, rest is simple :) | 17:05 | 
| arianepaola | hmmm, just saw it is the other UTC UTC :-( | 17:05 | 
| @HeikoS | arianepaola: hi there | 17:06 | 
| @HeikoS | no worries | 17:06 | 
| @HeikoS | you can read th elogs | 17:06 | 
| @HeikoS | know where they are? | 17:06 | 
| @HeikoS | arianepaola: I guess what we need from you is some status for the coming two weeks, what will you work on, how long will it take? etc | 17:07 | 
| @HeikoS | apart from that, helping with the release issues would be useful | 17:07 | 
| @HeikoS | and of course a cookbook page | 17:07 | 
| arianepaola | thank for the update HeikoS | 17:07 | 
| OXPHOS | lambday: very violent: Base now is just a datatype, either Eigen or GPU. Can we just ask dot to take up either Eigen or GPU parameters? | 17:08 | 
| @lambday | OXPHOS: please feel free to ask about anything that's not clear.. don't worry if what i am saying doesn't make much sense | 17:08 | 
| @HeikoS | arianepaola: is that all good? | 17:08 | 
| OXPHOS | lambday: yea thanks so much | 17:08 | 
| @HeikoS | arianepaola: the other thing: try to be in IRC during your work hours | 17:08 | 
| @HeikoS | so that we can always catch up when we have a minute | 17:08 | 
| @HeikoS | and its more fun with the others | 17:08 | 
| @lambday | OXPHOS: what do you mean? Base is out native type, right? | 17:09 | 
| @HeikoS | arianepaola: so what will you look at first? | 17:09 | 
| OXPHOS | lambday: ideally base* = factory(SGVector). In factory we decide which backend(CPU, GPU) we want to use | 17:09 | 
| @lambday | OXPHOS: exactly! | 17:10 | 
| OXPHOS | lambday: so the base* will be the data either on CPU or GPU | 17:10 | 
| @lambday | OXPHOS: exactly! | 17:10 | 
| @lambday | OXPHOS: let's say, it will be either CPUVector<T> <-- Base<T> or GPUVector<T> <--- Base<T> | 17:11 | 
| arianepaola | HeikoS: I am working on the Debian packages | 17:11 | 
| OXPHOS | so dot(base * a, b) is either dot(EigenVector a, b) or dot (GPUVector a, b) | 17:11 | 
| OXPHOS | yes | 17:11 | 
| arianepaola | looking at the LDATest and FLDATest that are failing | 17:11 | 
| @lambday | yeah.. but we have the pointers.. | 17:11 | 
| @HeikoS | arianepaola: lets talk pm | 17:11 | 
| @HeikoS | arianepaola: sent you a message | 17:11 | 
| @lambday | OXPHOS: so in both cases, the call will go to dot(base* a, base* b) | 17:12 | 
| OXPHOS | lambday: so with pointers we cannot overload(?) the dot | 17:12 | 
| @lambday | OXPHOS: nope.. overload is not an option here | 17:12 | 
| @lambday | OXPHOS: we want it to be decided in the runtime | 17:12 | 
| @lambday | OXPHOS: here is an idea | 17:13 | 
| @lambday | typecast :) | 17:13 | 
| OXPHOS | didn't get it : ( | 17:14 | 
| @lambday | OXPHOS: let's say, we do something like this in the dot method.. | 17:14 | 
| @lambday | auto casted_a = dynamic_cast<CPUVector<T>>(a); | 17:15 | 
| @lambday | if "a" is actually an underlying CPUVector type, then we get a valid ptr in casted_a | 17:15 | 
| @lambday | which is of CPUVector ptr type | 17:15 | 
| @lambday | if it is not of CPUVector type (i.e. GPUvector maybe), then we get nullptr | 17:16 | 
| @lambday | so let's assume that casted_a is not null | 17:16 | 
| @lambday | so now we know how to locate the actual data ptr inside it.. we can just call eigen | 17:16 | 
| @lambday | using those ptrs and make the dot work | 17:16 | 
| @lambday | that's the if (casted_a != nullptr) part | 17:17 | 
| OXPHOS | fancy | 17:17 | 
| @lambday | otherwise, we try to cast it to GPUVector.. check if that's not null.. and then call viennacl to make that work | 17:17 | 
| @lambday | that's the else part | 17:17 | 
| @lambday | OXPHOS: that's one way to do it | 17:18 | 
| @lambday | OXPHOS: maybe you have better ideas? | 17:18 | 
| @lambday | I see 2 points.. (1) this doesn't require that we have the "dot" methods inside the classes itself.. dunno whether that's a good idea or bad (2) it will be a bit slow but that's the price we pay for being runtime-decided | 17:19 | 
| @lambday | lisitsyn: yo | 17:19 | 
| @lambday | lisitsyn: don't say worry :D | 17:19 | 
| @lambday | sorry* | 17:19 | 
| @lambday | lisitsyn: you had an idea to bypass dynamic casting, right? | 17:19 | 
| OXPHOS | lambday: this one looks so cool.. or can we just have a flag in subclasses? like CPUVector.onGPU() = false | 17:19 | 
| OXPHOS | const | 17:20 | 
| @lambday | OXPHOS: yeah that too.. but you have to cast it anyway to access the underlying data structures | 17:20 | 
| @lambday | with just base ptr, you don't have access to that | 17:20 | 
| OXPHOS | lambday: ahh right | 17:20 | 
| lisitsyn | lambday: wazup? | 17:21 | 
| @lambday | lisitsyn: yoyo | 17:21 | 
| lisitsyn | what do you mean by bypassing dyn casting? | 17:21 | 
| @lambday | lisitsyn: so the problem we have here is that we have a base ptr, and the interface we design works with that.. | 17:22 | 
| @lambday | but inside the method we want to do something very specific | 17:22 | 
| @lambday | so (1) either we have to cast or (2) write virtual calls to do that stuff | 17:22 | 
| @lambday | lisitsyn: which one would be faster? | 17:22 | 
| lisitsyn | is it about linalg? | 17:22 | 
| @lambday | lisitsyn: yeah.. we're designing it all runtime now | 17:23 | 
| lisitsyn | I wouldn't care about virtual calls in linalg then | 17:23 | 
| lisitsyn | :) | 17:23 | 
| @lambday | lisitsyn: dynamic casting is slow? | 17:23 | 
| lisitsyn | I mean your virtual call is going to start | 17:23 | 
| lisitsyn | e.g. multiplying 10000 numbers | 17:24 | 
| lisitsyn | why bother about its runtime :D | 17:24 | 
| lisitsyn | lambday: dynamic casting should be slower than virtual calls | 17:24 | 
| @lambday | lisitsyn: I see | 17:24 | 
| @lambday | that's what I wanted to know | 17:24 | 
| lisitsyn | okie | 17:24 | 
| @lambday | in that case.. the best idea would be to simply override methods.. | 17:25 | 
| @lambday | as class members | 17:25 | 
| @lambday | so OXPHOS | 17:25 | 
| @lambday | the use case then becomes: | 17:25 | 
| @lambday | Base<T>* vec = Factory(a); | 17:25 | 
| @lambday | Base<T>* vec2 = Factory(b); | 17:25 | 
| @lambday | vec->dot(2) | 17:25 | 
| @lambday | instead of using non-member linalg methods, this would be faster I think | 17:26 | 
| lisitsyn | please no pointers | 17:26 | 
| lisitsyn | :D | 17:26 | 
| lisitsyn | please | 17:26 | 
| @lambday | lisitsyn: I see what you mean.. but without ptrs you can't make it really runtime dependent :D | 17:26 | 
| OXPHOS | so dot will be in Base class? | 17:27 | 
| @lambday | lisitsyn: other-wise it's compile-time.. fast, true, but two different binaries | 17:27 | 
| lisitsyn | lambday: no just use some wrappers | 17:27 | 
| @lambday | OXPHOS: yes.. and so is all the methods | 17:27 | 
| lisitsyn | I mean no raw pointers in the code | 17:27 | 
| @lambday | lisitsyn: oh yeah sure that's no biggie | 17:27 | 
| @lambday | she will use unique-ptrs :D | 17:28 | 
| OXPHOS | np :D | 17:28 | 
| lisitsyn | yes | 17:28 | 
| lisitsyn | call it Shared | 17:28 | 
| lisitsyn | :) | 17:28 | 
| @lambday | lisitsyn: why shared :( that's too much :P | 17:29 | 
| @lambday | I don't like to share stuffs... I eat everything :D | 17:29 | 
| lisitsyn | Unique! | 17:29 | 
| @lambday | Unique is good.. lightweight :D | 17:29 | 
| @lambday | OXPHOS: did you get a picture now? | 17:30 | 
| @lambday | OXPHOS: just check LinearOperator interface once | 17:30 | 
| @lambday | OXPHOS: basically that's how this stuff would work | 17:30 | 
| @lambday | and the GPUMatrix will actually be a part of LinearOperator interface itself | 17:30 | 
| @lambday | **BUT** | 17:31 | 
| @lambday | maybe write a mail with the design and check it once with wiking | 17:31 | 
| OXPHOS | lambday: sure. I think so..just basically what I have for now except the pointer part? | 17:31 | 
| @lambday | OXPHOS: check that we have this CDenseMatrixOperator... imagine that we have a similar CGPUMatrixOperator or so.. | 17:31 | 
| OXPHOS | but still the same vector will be factory-ed multiple times | 17:32 | 
| @lambday | OXPHOS: no.. we won't have those linalg::dot(...) calls anymore at all! | 17:32 | 
| @lambday | in code, this directly calls the methods.. | 17:32 | 
| @lambday | OXPHOS: just check the above use-case i wrote.. | 17:33 | 
| @lambday | basically that's how we'd use this in shogun code | 17:33 | 
| @lambday | wherever we need to use dynamic linalg backend | 17:33 | 
| @lambday | OXPHOS: does it make sense? | 17:34 | 
| OXPHOS | lambday: I have the same thing in my gist..? | 17:34 | 
| @lambday | we already have the dynamic polymorphism going on.. why would we need it to go through another method call? | 17:35 | 
| @lambday | OXPHOS: yes.. except the top namespace linalg {.... } part.. that won't be there anymore | 17:35 | 
| @lambday | OXPHOS: https://gist.github.com/OXPHOS/16c7a4d31cb4f5553fd8e7bc70ca5114#file-dot-cpp-L5 this should go | 17:35 | 
| arianepaola | HeikoS: The nightly Fedora rpm is marked for 4.2.0 https://github.com/shogun-toolbox/shogun/issues/3131 | 17:36 | 
| @HeikoS | arianepaola: yep, thats what I meant with helping for release | 17:36 | 
| @HeikoS | arianepaola: the pip install is as well | 17:36 | 
| OXPHOS | lambday: ahh so everything is base. sorry to be torturing you | 17:36 | 
| arianepaola | HeikoS: Integrating the snippet that I posted should build it on buildbot. The only issue is to get HEAD from git instead of a tag | 17:36 | 
| @lambday | OXPHOS: don't worry about that.. it's important that we get this done right :D | 17:37 | 
| @lambday | OXPHOS: what do you mean that everything is base? | 17:37 | 
| @HeikoS | arianepaola: maybe that is a good thing to start with then? | 17:37 | 
| @lambday | in base, we'll have all the interfaces... for dot and all kinds of other shits.. | 17:37 | 
| @lambday | then subclasses override those methods | 17:37 | 
| @lambday | and then while using it, we query the factory to give us a type... | 17:37 | 
| arianepaola | HeikoS: Tried to ask besser82 about it | 17:38 | 
| @lambday | we make the call.. | 17:38 | 
| arianepaola | besser82: ping | 17:38 | 
| @HeikoS | arianepaola: it would be good to discuss this with wiking as well | 17:38 | 
| @lambday | OXPHOS: if you check LinearOperator interface, there also we do similar thing.. we have a "apply" method... | 17:39 | 
| @lambday | that is pure virtual.. | 17:39 | 
| arianepaola | HeikoS: wiking mentioned to ping besser82 about the command to download the git HEAD from rpmbuild | 17:39 | 
| @lambday | OXPHOS: then in subclasses (CDenseMatrixOperator and CSparseMatrixOperator) we implement those.. | 17:39 | 
| @HeikoS | arianepaola: ok | 17:39 | 
| arianepaola | that's the part that is blocking | 17:39 | 
| @lambday | OXPHOS: basically the same idea here! | 17:39 | 
| @HeikoS | lets see what he sais | 17:39 | 
| @HeikoS | besser82: ^ | 17:39 | 
| OXPHOS | lambday: lemme see | 17:40 | 
| @HeikoS | arianepaola: doesnt google or the fedora IRC should asnwer that? | 17:40 | 
| arianepaola | not google, but have to try fedora IRC | 17:41 | 
| OXPHOS | lambday: I got the `apply` part. So for the factory - it should be OUTSIDE base class - right? | 17:41 | 
| @HeikoS | lisitsyn: jo | 17:48 | 
| lisitsyn | HeikoS: sup | 17:49 | 
| @HeikoS | what if they static cast | 17:49 | 
| @HeikoS | in linalg::dot(a,b) | 17:49 | 
| @HeikoS | check the flag | 17:49 | 
| lisitsyn | static? | 17:49 | 
| @HeikoS | a.lives_on_gpu() | 17:49 | 
| @HeikoS | and then static cast it to subclass | 17:49 | 
| lisitsyn | I am sorry I wasn't following - too much for me | 17:49 | 
| lisitsyn | :D | 17:49 | 
| lisitsyn | what's happening? | 17:50 | 
| @HeikoS | lisitsyn: I dont know | 17:50 | 
| @HeikoS | I thought you knew | 17:50 | 
| lisitsyn | meh | 17:50 | 
| lisitsyn | then | 17:50 | 
| lisitsyn | what problem are you trying to solve? | 17:50 | 
| @lambday | lisitsyn: let me clarify a bit | 17:50 | 
| @lambday | OXPHOS: just give me a sec | 17:50 | 
| @lambday | lisitsyn: so, remember the dynamic cast vs virtual calls thing I asked you about? | 17:51 | 
| @lambday | :P | 17:51 | 
| lisitsyn | yes | 17:51 | 
| @lambday | lisitsyn: so HeikoS says that, maybe we can avoid dynamic casting altogether if we rely on flags and static cast | 17:51 | 
| @lambday | lisitsyn: would that one be faster than virtual calls? | 17:51 | 
| lisitsyn | just make it dynamic | 17:52 | 
| lisitsyn | you're going to run a heavy operation | 17:52 | 
| @HeikoS | lisitsyn: is that always true? | 17:52 | 
| @HeikoS | what about low dim dot product? | 17:52 | 
| lisitsyn | like 3-4-5? | 17:52 | 
| @HeikoS | like the issue Saurabh7_ discovered in kmeans | 17:52 | 
| @HeikoS | where in low dimenions, the overhead of pass-by-value of SGVector had a severe impact | 17:53 | 
| lisitsyn | yes but that's copy? | 17:53 | 
| @HeikoS | of SGVector | 17:53 | 
| lisitsyn | virtual call is much faster | 17:53 | 
| @HeikoS | not of data | 17:53 | 
| lisitsyn | of sgvector? | 17:53 | 
| lisitsyn | any reference? | 17:53 | 
| @HeikoS | no | 17:53 | 
| @HeikoS | :D | 17:53 | 
| @HeikoS | just saying | 17:53 | 
| @HeikoS | dot products can be cheap | 17:53 | 
| @HeikoS | so not sure about the dynamic cast | 17:54 | 
| lisitsyn | no dynamic cast but virtual call | 17:54 | 
| @HeikoS | sure | 17:54 | 
| @HeikoS | but cant we check a flag and do a static cast? | 17:54 | 
| lisitsyn | static cast is free | 17:55 | 
| @lambday | lisitsyn: I think the idea is to avoid having member methods.. | 17:55 | 
| @HeikoS | yes, thats what I meant | 17:55 | 
| lisitsyn | what flag? | 17:55 | 
| @HeikoS | a.lives_on_gpu() | 17:55 | 
| @HeikoS | if (a.is_on_gpu()) static_cast_a_as_gpu_vec | 17:55 | 
| @HeikoS | ; | 17:56 | 
| lisitsyn | why to do that? | 17:56 | 
| @HeikoS | to access the gpu data structure inside linalg::foo | 17:57 | 
| @HeikoS | lisitsyn: see why? | 17:58 | 
| lisitsyn | ok | 17:58 | 
| @HeikoS | so we dont have to do | 17:58 | 
| @HeikoS | a.dot(b) | 17:58 | 
| @HeikoS | but can do | 17:58 | 
| @HeikoS | linalg::dot(amb) | 17:59 | 
| @HeikoS | dot(a,b) | 17:59 | 
| lisitsyn | HeikoS: well in this case this seems reasonable enough | 17:59 | 
| lisitsyn | but I am not a fan of avoiding dynamic stuff at all | 17:59 | 
| @HeikoS | then we can do what wiking suggested, but wihtout having ViennaCL as a hard dependency | 18:01 | 
| @lambday | lisitsyn: https://gist.github.com/OXPHOS/a9b79a995b75a0972811f634e80ff632 | 18:01 | 
| @HeikoS | see down there | 18:01 | 
| @lambday | lisitsyn: just have a look at wiking's comment | 18:01 | 
| arianepaola | Maybe this can help: http://www.stroustrup.com/fast_dynamic_casting.pdf - "We describe a scheme for implementing dynamic casts suitable for systems where the performance and predictability of performance is essential." | 18:02 | 
| arianepaola | but it's from 2005 | 18:02 | 
| -!- leagoetz [~leagoetz@nat-231-184.internal.eduroam.ucl.ac.uk] has joined #shogun | 18:03 | |
| @HeikoS | arianepaola: thanks, checking :) | 18:03 | 
| @lambday | OXPHOS: actually, what wiking wrote there is pretty doable :) | 18:04 | 
| @lambday | wiking: with a few changes here and there | 18:04 | 
| leagoetz | arianepaola: just saw your email, thanks! | 18:04 | 
| arianepaola | leagoetz: :-) | 18:04 | 
| @lambday | arianepaola: thanks.. | 18:04 | 
| OXPHOS | lambday: I had question with a.onGPU() part | 18:05 | 
| @lambday | OXPHOS: yes please ask | 18:05 | 
| OXPHOS | if it is a SGVector, I can't see a way to avoid ifdef in SGVector | 18:06 | 
| @lambday | OXPHOS: how about we make it work with the base? | 18:07 | 
| @lambday | OXPHOS: let me make a draft | 18:07 | 
| OXPHOS | lambday: was trying to work sth out with wiking and HeikoS 's comments. But turned out to be what I have now... | 18:07 | 
| arianepaola | found a speed comparison (2010), tested with g++, clang, MSVC http://tinodidriksen.com/2010/04/14/cpp-dynamic-cast-performance/ | 18:09 | 
| OXPHOS | arianepaola: thanks! | 18:10 | 
| -!- sanuj [~sanuj@117.203.1.250] has quit [Ping timeout: 260 seconds] | 18:10 | |
| arianepaola | OXPHOS: one more https://ciaranm.wordpress.com/2010/05/24/runtime-type-checking-in-c-without-rtti/ | 18:10 | 
| arianepaola | OXPHOS: :-) | 18:10 | 
| @HeikoS | arianepaola: haha lots of stuff going on there | 18:11 | 
| @HeikoS | but you know, I think this one is not really the problem | 18:11 | 
| @HeikoS | as we can static cast things | 18:12 | 
| @HeikoS | I think it is also more clean | 18:12 | 
| @HeikoS | simple flag, if-then-else and cast, done | 18:12 | 
| -!- sanuj [~sanuj@117.203.1.250] has joined #shogun | 18:13 | |
| @HeikoS | we will only ever have two classes | 18:13 | 
| @HeikoS | not 100s | 18:13 | 
| arianepaola | :-) | 18:13 | 
| @HeikoS | OXPHOS: lambday is drafting something here next to me | 18:14 | 
| OXPHOS | HeikoS: please say thank you for me. And thank you XD | 18:15 | 
| @HeikoS | will say so :) | 18:15 | 
| @lambday | OXPHOS: something like https://gist.github.com/lambday/ffc5ac685650775772e8eda0994257c5 | 18:18 | 
| sanuj | HeikoS, the int stuff in common.h is like | 18:19 | 
| arianepaola | does anyone know what the latest clang version is that is used on the buildbot instances or that compiles shogun git without any major problems? | 18:19 | 
| sanuj | HeikoS, typedef int machine_int_t; | 18:19 | 
| @HeikoS | arianepaola: you can always check the buildbot logs | 18:19 | 
| arianepaola | by any chance it is 3.8? | 18:19 | 
| @HeikoS | I dont know by heart | 18:20 | 
| sanuj | and typedef int32_t index_t; | 18:20 | 
| @HeikoS | sanuj: thats not enough? | 18:20 | 
| sanuj | okay | 18:20 | 
| sanuj | sergey told me the same | 18:20 | 
| sanuj | he told me to do typedef int int32_t | 18:20 | 
| arianepaola | it's 3.8 :-) | 18:20 | 
| sanuj | HeikoS, but 2 typedefs with same alias won't work | 18:21 | 
| @HeikoS | sanuj: chain them maybe? | 18:21 | 
| sanuj | what's that | 18:22 | 
| OXPHOS | lambday: thank you. very clear. | 18:22 | 
| @lambday | OXPHOS: the details are not really there.. but maybe it is doable with just two different vector classes | 18:22 | 
| @lambday | OXPHOS: we avoid dynamic casting altogether | 18:23 | 
| @HeikoS | sanuj: define the one you want, then then use it to define the other one | 18:23 | 
| arianepaola | Is there anything particular about the ppa:george-edison55/cmake-3.x (having cmake 3.4.1) used in the Dockerfile. We could use the official ones from http://llvm.org/apt/ | 18:24 | 
| OXPHOS | lambday: So the user has to do the SGVector->vector transfer? Or can we actually put the vector class in SGVector? | 18:24 | 
| @HeikoS | arianepaola: wiking know that, maybe drop an email | 18:24 | 
| @HeikoS | no idea, I think it was just the first he found | 18:24 | 
| @lambday | OXPHOS: yeah the user calls the factory.. | 18:25 | 
| OXPHOS | If every single SGVector owns a vector, 1.users can directly call dot(SGVector) 2. Factory will be called only once for one SGVector instance | 18:27 | 
| OXPHOS | lambday ^ | 18:27 | 
| arianepaola | :-) sure, I just need to "Vagrant Docker" the things a little bit (https://github.com/arianepaola/shogun/tree/feature/vagrant_docker/configs + the fixed Dockerfile from #3200) | 18:28 | 
| @lambday | OXPHOS: maybe we won't make any changes in the SGVector class at all.. | 18:28 | 
| @lambday | OXPHOS: so, the factory will take a SGVector, and will return a CPUVector instance or GPUVector instance.. | 18:29 | 
| @lambday | that's dynamically decided.. | 18:29 | 
| @lambday | and then using that instance, we call our linalg::dot(...) | 18:29 | 
| @lambday | that's how it will be used | 18:29 | 
| arianepaola | is there a particular swig version dependency? or will both 2.x and 3.x work equally well? | 18:29 | 
| @lambday | so as long as we don't let go of the Vector instance that we got from the factory, the data will still be on GPU | 18:30 | 
| OXPHOS | lambday: I got it. Just think it'll be more concise in SGVector | 18:30 | 
| @lambday | we'll only release that one, when we're done with it | 18:30 | 
| @lambday | OXPHOS: well, SGvector is being used in many places.. and we have used SGVector.vector and SGvector.vlen in many places.. plus it already has a working map to modular types.. (e.g. numpy arrays).. | 18:31 | 
| @lambday | if we touch SGvector, then we may mess up many things | 18:31 | 
| @lambday | this linalg stuff is more of internal.. we won't need to provide any modular interfaces for these.. | 18:32 | 
| @lambday | that means, no one will call this method from python when using shogun | 18:32 | 
| @lambday | this is just our shogun developer's use | 18:32 | 
| OXPHOS | lambday: ahh got it. you're absolutely right | 18:32 | 
| @lambday | OXPHOS: think you can make a small program like this work? a running gist? | 18:33 | 
| sanuj | lisitsyn, ping | 18:33 | 
| OXPHOS | lambday: yes | 18:33 | 
| @lambday | OXPHOS: don't worry about the factory and the details now.. just a working implementation of the gist I sent you would be nice | 18:33 | 
| @lambday | we can test it by creating the appropriate vectors by hand for now | 18:33 | 
| OXPHOS | lambday: cool! thanks so much | 18:34 | 
| @lambday | OXPHOS: no worries... | 18:34 | 
| @lambday | OXPHOS: let me know if you have further questions :) | 18:34 | 
| sanuj | lambday, you know ctags? | 18:34 | 
| @lambday | OXPHOS: looking forward to see the gist :) | 18:34 | 
| @lambday | sanuj: nope! | 18:34 | 
| sanuj | okay | 18:34 | 
| OXPHOS | @lambday: copy that! | 18:34 | 
| @lambday | OXPHOS: over and out :D | 18:35 | 
| @HeikoS | arianepaola: I think both should work, 2 and 3 | 18:36 | 
| @HeikoS | there are some cases that dont work, but these are blocked from cmake | 18:37 | 
| sanuj | HeikoS, have some questions | 18:38 | 
| @HeikoS | sanuj: shoot | 18:38 | 
| @HeikoS | haha gsoc madness in IRC :) | 18:38 | 
| sanuj | look at common.h | 18:38 | 
| sanuj | what's machine_int_t | 18:38 | 
| arianepaola | thanks HeikoS | 18:38 | 
| @HeikoS | sanuj: that is used for enums in swig | 18:39 | 
| sanuj | okay | 18:39 | 
| @HeikoS | CT_CLASSIFIER | 18:39 | 
| @HeikoS | K_GAUSSIAN | 18:39 | 
| @HeikoS | etc | 18:39 | 
| sanuj | HeikoS, how do i add int32_t | 18:39 | 
| @HeikoS | ever saw those? | 18:39 | 
| sanuj | in python? | 18:39 | 
| @HeikoS | sanuj: yes from modular | 18:39 | 
| sanuj | yeah | 18:39 | 
| @HeikoS | sanuj: btw | 18:40 | 
| @HeikoS | just an idea | 18:40 | 
| @HeikoS | check targets/cpp.json | 18:40 | 
| @HeikoS | in the meta example dir | 18:40 | 
| sanuj | yeah | 18:40 | 
| sanuj | it's open | 18:40 | 
| @HeikoS | there you can "select" to what c++ type your "Int" in the meta examples is translated | 18:40 | 
| @HeikoS | can't you just choose something that works in there? | 18:40 | 
| @HeikoS | i.e. that is defined in common? | 18:40 | 
| sanuj | there is index_t and machine_int_t | 18:41 | 
| sanuj | HeikoS, shall i choose machine_int_t | 18:41 | 
| sanuj | and i'll have to do this for other jsons also | 18:42 | 
| sanuj | java and csharp | 18:42 | 
| @HeikoS | might be | 18:42 | 
| @HeikoS | no maybe lets stay with int32_t | 18:42 | 
| sanuj | HeikoS, how do i add it in common.h | 18:42 | 
| @HeikoS | typedef int int32_t | 18:42 | 
| @HeikoS | doesnt work? | 18:42 | 
| @HeikoS | and then typedef int32_t machine_int_t | 18:43 | 
| @HeikoS | ? | 18:43 | 
| sanuj | can we have 2 typedef with same alias name? | 18:43 | 
| @HeikoS | its not that | 18:44 | 
| sanuj | there is already typedef int machine_int_t and typedef int32_t index_t present in common.h | 18:44 | 
| @HeikoS | you just define the one you want | 18:44 | 
| sanuj | oh | 18:44 | 
| @HeikoS | and then change the other definition | 18:44 | 
| @HeikoS | and base it on the one you want | 18:44 | 
| @HeikoS | that was what I meant with "chaning" | 18:44 | 
| @HeikoS | sanuj: does that work? | 18:46 | 
| @HeikoS | just getting some water, back in 5 mins | 18:46 | 
| sanuj | i'm checking | 18:46 | 
| sanuj | oh man sorry | 18:48 | 
| sanuj | i had lost it for a while :P | 18:48 | 
| sanuj | i was thinking that in "typedef a b" a is alias | 18:49 | 
| sanuj | sigh | 18:49 | 
| @HeikoS | haha | 18:55 | 
| @HeikoS | to deep in the code | 18:55 | 
| @HeikoS | does it work now then? | 18:55 | 
| sanuj | building it | 18:55 | 
| -!- Saurabh7_ [~Saurabh7@117.215.53.11] has quit [Quit: Leaving] | 18:57 | |
| sanuj | HeikoS, not working | 19:03 | 
| sanuj | same error | 19:03 | 
| lisitsyn | back | 19:04 | 
| @HeikoS | sanuj: what did you exactly do now? | 19:04 | 
| sanuj | typedef int int32_t; | 19:05 | 
| sanuj | typedef int32_t machine_int_t; | 19:05 | 
| @HeikoS | mmh | 19:08 | 
| @HeikoS | weird | 19:08 | 
| @HeikoS | re-run ctag? | 19:09 | 
| @HeikoS | renmove the tag file and re-run I mean | 19:09 | 
| @HeikoS | maybe it wasnt updated | 19:09 | 
| @HeikoS | sanuj: I gotta leave now, have to continue tomorrow | 19:09 | 
| @HeikoS | bye | 19:09 | 
| -!- HeikoS [~heiko@nat-229-174.internal.eduroam.ucl.ac.uk] has quit [Quit: Leaving.] | 19:09 | |
| lisitsyn | yes please try that | 19:10 | 
| lisitsyn | could help | 19:10 | 
| -!- leagoetz [~leagoetz@nat-231-184.internal.eduroam.ucl.ac.uk] has quit [Remote host closed the connection] | 19:11 | |
| sanuj | yeah | 19:11 | 
| sanuj | doing | 19:11 | 
| @lambday | OXPHOS: there? | 19:21 | 
| sanuj | lisitsyn, it worked with a fresh build | 19:39 | 
| arianepaola | sanuj: fresh builds = fresh baked bread :-) always tasty | 19:52 | 
| sanuj | arianepaola, haha | 19:53 | 
| rcurtin | HeikoS: I am here now, but you are not :( | 20:01 | 
| -!- lambday [8028b10a@gateway/web/freenode/ip.128.40.177.10] has quit [Ping timeout: 250 seconds] | 20:13 | |
| -!- sanuj [~sanuj@117.203.1.250] has quit [Quit: Leaving] | 20:24 | |
| arianepaola | until tomorrow everyone | 22:03 | 
| lisitsyn | see ya | 22:09 | 
| -!- besser82 [~besser82@fedora/besser82] has quit [Ping timeout: 260 seconds] | 22:49 | |
| -!- besser82 [~besser82@fedora/besser82] has joined #shogun | 23:51 | |
| -!- mode/#shogun [+o besser82] by ChanServ | 23:51 | |
| --- Log closed Wed May 25 00:00:10 2016 | ||
Generated by irclog2html.py 2.10.0 by Marius Gedminas - find it at mg.pov.lt!