Friday, May 22, 2015

WCFExtras+ and XML comment doesn't work ?

I have struggled to make XML comment enabled using WCFExtras+ when creating WCF SOAP webservices. I document the solution here for myself and for those who have similar problem.

First we need to follow instruction here : https://wcfextrasplus.codeplex.com/documentation
Second, we need to enable project properties as follow
Now we should see wsdl:documentation tag appeared in our WSDL

Tuesday, May 5, 2015

SSH brute force attack on my Raspberry Pi

Here is the log of SSH attack to my Raspberry after one night (228 attacks in total):
 pi@raspberrypi ~ $ cat /var/log/auth.log | grep "Failed password"  
 May 4 19:04:28 raspberrypi sshd[2345]: Failed password for root from 162.248.8.39 port 42442 ssh2  
 May 4 19:04:31 raspberrypi sshd[2349]: Failed password for root from 162.248.8.39 port 44255 ssh2  
 May 4 19:04:34 raspberrypi sshd[2353]: Failed password for invalid user vyatta from 162.248.8.39 port 46238 ssh2  
 May 4 19:04:38 raspberrypi sshd[2358]: Failed password for invalid user vyatta from 162.248.8.39 port 48112 ssh2  
 May 4 19:04:42 raspberrypi sshd[2362]: Failed password for invalid user sql from 162.248.8.39 port 51016 ssh2  
 May 4 19:04:45 raspberrypi sshd[2366]: Failed password for invalid user default from 162.248.8.39 port 53016 ssh2  
 May 4 19:04:48 raspberrypi sshd[2370]: Failed password for invalid user bob from 162.248.8.39 port 54849 ssh2  
 May 4 19:04:52 raspberrypi sshd[2374]: Failed password for invalid user linux from 162.248.8.39 port 57116 ssh2  
 May 4 19:04:55 raspberrypi sshd[2378]: Failed password for invalid user xbmc from 162.248.8.39 port 59118 ssh2  
 May 4 19:04:58 raspberrypi sshd[2383]: Failed password for root from 162.248.8.39 port 32968 ssh2  
 May 4 19:05:01 raspberrypi sshd[2387]: Failed password for root from 162.248.8.39 port 34954 ssh2  
 May 4 19:05:04 raspberrypi sshd[2394]: Failed password for invalid user PlcmSpIp from 162.248.8.39 port 37338 ssh2  
 May 4 19:05:09 raspberrypi sshd[2398]: Failed password for invalid user ftpuser from 162.248.8.39 port 39863 ssh2  
 May 4 19:05:12 raspberrypi sshd[2402]: Failed password for invalid user lpd from 162.248.8.39 port 42792 ssh2  
 May 4 19:05:15 raspberrypi sshd[2406]: Failed password for invalid user contact from 162.248.8.39 port 45064 ssh2  
 May 4 19:05:18 raspberrypi sshd[2410]: Failed password for games from 162.248.8.39 port 47279 ssh2  
 May 4 19:05:21 raspberrypi sshd[2414]: Failed password for invalid user openvpn from 162.248.8.39 port 49982 ssh2  
 May 4 19:05:24 raspberrypi sshd[2418]: Failed password for pi from 162.248.8.39 port 51866 ssh2  
 May 4 19:05:27 raspberrypi sshd[2422]: Failed password for invalid user ubnt from 162.248.8.39 port 54132 ssh2  
 May 4 19:05:31 raspberrypi sshd[2426]: Failed password for root from 162.248.8.39 port 56371 ssh2  
 May 4 21:28:20 raspberrypi sshd[2571]: Failed password for root from 121.101.208.41 port 33128 ssh2  
 May 4 21:28:28 raspberrypi sshd[2575]: Failed password for root from 121.101.208.41 port 34182 ssh2  
 May 4 21:28:34 raspberrypi sshd[2580]: Failed password for root from 121.101.208.41 port 35412 ssh2  
 May 4 21:28:40 raspberrypi sshd[2584]: Failed password for root from 121.101.208.41 port 36199 ssh2  
 May 4 21:28:50 raspberrypi sshd[2588]: Failed password for root from 121.101.208.41 port 37237 ssh2  
 May 4 21:28:55 raspberrypi sshd[2592]: Failed password for root from 121.101.208.41 port 38660 ssh2  
 May 4 21:29:03 raspberrypi sshd[2596]: Failed password for root from 121.101.208.41 port 39632 ssh2  
 May 4 21:29:09 raspberrypi sshd[2600]: Failed password for root from 121.101.208.41 port 40954 ssh2  
 May 4 21:29:17 raspberrypi sshd[2604]: Failed password for root from 121.101.208.41 port 41983 ssh2  
 May 4 21:29:22 raspberrypi sshd[2608]: Failed password for root from 121.101.208.41 port 43447 ssh2  
 May 4 21:29:27 raspberrypi sshd[2612]: Failed password for root from 121.101.208.41 port 44288 ssh2  
 May 4 21:29:32 raspberrypi sshd[2616]: Failed password for root from 121.101.208.41 port 45289 ssh2  
 May 4 21:29:38 raspberrypi sshd[2620]: Failed password for root from 121.101.208.41 port 46165 ssh2  
 May 4 21:29:46 raspberrypi sshd[2624]: Failed password for root from 121.101.208.41 port 47275 ssh2  
 May 4 21:29:51 raspberrypi sshd[2628]: Failed password for root from 121.101.208.41 port 48583 ssh2  
 May 4 21:30:00 raspberrypi sshd[2632]: Failed password for root from 121.101.208.41 port 49544 ssh2  
 May 4 21:30:04 raspberrypi sshd[2636]: Failed password for invalid user test from 121.101.208.41 port 51094 ssh2  
 May 4 21:30:09 raspberrypi sshd[2643]: Failed password for invalid user test1 from 121.101.208.41 port 51836 ssh2  
 May 4 21:30:14 raspberrypi sshd[2647]: Failed password for invalid user test1 from 121.101.208.41 port 52684 ssh2  
 May 4 21:30:19 raspberrypi sshd[2651]: Failed password for invalid user test from 121.101.208.41 port 53716 ssh2  
 May 4 21:30:26 raspberrypi sshd[2655]: Failed password for invalid user test from 121.101.208.41 port 54751 ssh2  
 May 4 21:30:38 raspberrypi sshd[2659]: Failed password for invalid user test from 121.101.208.41 port 56153 ssh2  
 May 5 03:17:03 raspberrypi sshd[2940]: Failed password for invalid user zhangyan from 111.207.179.16 port 52367 ssh2  
 May 5 03:17:08 raspberrypi sshd[2955]: Failed password for invalid user dff from 111.207.179.16 port 53152 ssh2  
 May 5 03:17:13 raspberrypi sshd[2959]: Failed password for root from 111.207.179.16 port 53800 ssh2  
 May 5 03:17:18 raspberrypi sshd[2964]: Failed password for root from 111.207.179.16 port 54602 ssh2  
 May 5 03:17:24 raspberrypi sshd[2968]: Failed password for root from 111.207.179.16 port 55354 ssh2  
 May 5 03:17:29 raspberrypi sshd[2972]: Failed password for root from 111.207.179.16 port 56174 ssh2  
 May 5 03:17:34 raspberrypi sshd[2976]: Failed password for root from 111.207.179.16 port 56895 ssh2  
 May 5 03:17:39 raspberrypi sshd[2981]: Failed password for root from 111.207.179.16 port 57658 ssh2  
 May 5 03:17:44 raspberrypi sshd[2985]: Failed password for root from 111.207.179.16 port 58404 ssh2  
 May 5 03:17:49 raspberrypi sshd[2989]: Failed password for root from 111.207.179.16 port 59170 ssh2  
 May 5 03:17:54 raspberrypi sshd[2993]: Failed password for root from 111.207.179.16 port 59974 ssh2  
 May 5 03:17:59 raspberrypi sshd[2997]: Failed password for root from 111.207.179.16 port 60644 ssh2  
 May 5 03:18:04 raspberrypi sshd[3001]: Failed password for root from 111.207.179.16 port 61423 ssh2  
 May 5 03:18:10 raspberrypi sshd[3005]: Failed password for root from 111.207.179.16 port 62118 ssh2  
 May 5 03:18:15 raspberrypi sshd[3009]: Failed password for root from 111.207.179.16 port 63000 ssh2  
 May 5 03:18:20 raspberrypi sshd[3013]: Failed password for root from 111.207.179.16 port 63754 ssh2  
 May 5 03:18:25 raspberrypi sshd[3017]: Failed password for root from 111.207.179.16 port 64415 ssh2  
 May 5 03:18:29 raspberrypi sshd[3021]: Failed password for root from 111.207.179.16 port 1220 ssh2  
 May 5 03:18:35 raspberrypi sshd[3025]: Failed password for root from 111.207.179.16 port 1932 ssh2  
 May 5 03:18:39 raspberrypi sshd[3029]: Failed password for root from 111.207.179.16 port 2708 ssh2  
 May 5 03:18:44 raspberrypi sshd[3033]: Failed password for root from 111.207.179.16 port 3326 ssh2  
 May 5 03:18:49 raspberrypi sshd[3037]: Failed password for root from 111.207.179.16 port 4107 ssh2  
 May 5 03:18:54 raspberrypi sshd[3041]: Failed password for root from 111.207.179.16 port 4808 ssh2  
 May 5 03:18:59 raspberrypi sshd[3045]: Failed password for root from 111.207.179.16 port 5576 ssh2  
 May 5 03:19:04 raspberrypi sshd[3049]: Failed password for root from 111.207.179.16 port 6306 ssh2  
 May 5 03:19:09 raspberrypi sshd[3053]: Failed password for root from 111.207.179.16 port 6980 ssh2  
 May 5 03:19:13 raspberrypi sshd[3057]: Failed password for root from 111.207.179.16 port 7723 ssh2  
 May 5 03:19:18 raspberrypi sshd[3061]: Failed password for root from 111.207.179.16 port 8330 ssh2  
 May 5 03:19:23 raspberrypi sshd[3065]: Failed password for root from 111.207.179.16 port 9114 ssh2  
 May 5 03:19:28 raspberrypi sshd[3077]: Failed password for root from 111.207.179.16 port 9852 ssh2  
 May 5 03:19:32 raspberrypi sshd[3081]: Failed password for root from 111.207.179.16 port 10637 ssh2  
 May 5 03:19:37 raspberrypi sshd[3085]: Failed password for root from 111.207.179.16 port 11261 ssh2  
 May 5 03:19:43 raspberrypi sshd[3089]: Failed password for root from 111.207.179.16 port 12000 ssh2  
 May 5 03:19:47 raspberrypi sshd[3093]: Failed password for root from 111.207.179.16 port 12782 ssh2  
 May 5 03:19:52 raspberrypi sshd[3098]: Failed password for root from 111.207.179.16 port 13512 ssh2  
 May 5 03:19:56 raspberrypi sshd[3102]: Failed password for invalid user oracle from 111.207.179.16 port 14269 ssh2  
 May 5 03:20:01 raspberrypi sshd[3106]: Failed password for invalid user test from 111.207.179.16 port 14933 ssh2  
 May 5 03:20:07 raspberrypi sshd[3113]: Failed password for invalid user oracle from 111.207.179.16 port 15644 ssh2  
 May 5 03:20:11 raspberrypi sshd[3117]: Failed password for invalid user ubuntu from 111.207.179.16 port 16442 ssh2  
 May 5 04:27:36 raspberrypi sshd[3247]: Failed password for root from 193.107.16.206 port 31458 ssh2  
 May 5 04:27:37 raspberrypi sshd[3251]: Failed password for root from 193.107.16.206 port 31610 ssh2  
 May 5 04:27:38 raspberrypi sshd[3247]: Failed password for root from 193.107.16.206 port 31458 ssh2  
 May 5 04:27:40 raspberrypi sshd[3256]: Failed password for root from 193.107.16.206 port 31834 ssh2  
 May 5 04:27:40 raspberrypi sshd[3260]: Failed password for root from 193.107.16.206 port 31928 ssh2  
 May 5 04:27:41 raspberrypi sshd[3247]: Failed password for root from 193.107.16.206 port 31458 ssh2  
 May 5 04:27:41 raspberrypi sshd[3251]: Failed password for root from 193.107.16.206 port 31610 ssh2  
 May 5 04:27:42 raspberrypi sshd[3261]: Failed password for root from 193.107.16.206 port 31966 ssh2  
 May 5 04:27:42 raspberrypi sshd[3268]: Failed password for root from 193.107.16.206 port 32156 ssh2  
 May 5 04:27:42 raspberrypi sshd[3247]: Failed password for root from 193.107.16.206 port 31458 ssh2  
 May 5 04:27:43 raspberrypi sshd[3251]: Failed password for root from 193.107.16.206 port 31610 ssh2  
 May 5 04:27:43 raspberrypi sshd[3256]: Failed password for root from 193.107.16.206 port 31834 ssh2  
 May 5 04:27:43 raspberrypi sshd[3260]: Failed password for root from 193.107.16.206 port 31928 ssh2  
 May 5 04:27:44 raspberrypi sshd[3261]: Failed password for root from 193.107.16.206 port 31966 ssh2  
 May 5 04:27:44 raspberrypi sshd[3268]: Failed password for root from 193.107.16.206 port 32156 ssh2  
 May 5 04:27:45 raspberrypi sshd[3247]: Failed password for root from 193.107.16.206 port 31458 ssh2  
 May 5 04:27:45 raspberrypi sshd[3251]: Failed password for root from 193.107.16.206 port 31610 ssh2  
 May 5 04:27:45 raspberrypi sshd[3256]: Failed password for root from 193.107.16.206 port 31834 ssh2  
 May 5 04:27:45 raspberrypi sshd[3260]: Failed password for root from 193.107.16.206 port 31928 ssh2  
 May 5 04:27:46 raspberrypi sshd[3261]: Failed password for root from 193.107.16.206 port 31966 ssh2  
 May 5 04:27:47 raspberrypi sshd[3268]: Failed password for root from 193.107.16.206 port 32156 ssh2  
 May 5 04:27:47 raspberrypi sshd[3247]: Failed password for root from 193.107.16.206 port 31458 ssh2  
 May 5 04:27:47 raspberrypi sshd[3251]: Failed password for root from 193.107.16.206 port 31610 ssh2  
 May 5 04:27:47 raspberrypi sshd[3256]: Failed password for root from 193.107.16.206 port 31834 ssh2  
 May 5 04:27:47 raspberrypi sshd[3260]: Failed password for root from 193.107.16.206 port 31928 ssh2  
 May 5 04:27:49 raspberrypi sshd[3261]: Failed password for root from 193.107.16.206 port 31966 ssh2  
 May 5 04:27:49 raspberrypi sshd[3268]: Failed password for root from 193.107.16.206 port 32156 ssh2  
 May 5 04:27:49 raspberrypi sshd[3251]: Failed password for root from 193.107.16.206 port 31610 ssh2  
 May 5 04:27:49 raspberrypi sshd[3256]: Failed password for root from 193.107.16.206 port 31834 ssh2  
 May 5 04:27:49 raspberrypi sshd[3260]: Failed password for root from 193.107.16.206 port 31928 ssh2  
 May 5 04:27:50 raspberrypi sshd[3261]: Failed password for root from 193.107.16.206 port 31966 ssh2  
 May 5 04:27:51 raspberrypi sshd[3268]: Failed password for root from 193.107.16.206 port 32156 ssh2  
 May 5 04:27:51 raspberrypi sshd[3256]: Failed password for root from 193.107.16.206 port 31834 ssh2  
 May 5 04:27:52 raspberrypi sshd[3260]: Failed password for root from 193.107.16.206 port 31928 ssh2  
 May 5 04:27:52 raspberrypi sshd[3261]: Failed password for root from 193.107.16.206 port 31966 ssh2  
 May 5 04:27:53 raspberrypi sshd[3268]: Failed password for root from 193.107.16.206 port 32156 ssh2  
 May 5 04:28:00 raspberrypi sshd[3272]: Failed password for root from 193.107.16.206 port 33223 ssh2  
 May 5 04:28:02 raspberrypi sshd[3276]: Failed password for root from 193.107.16.206 port 33363 ssh2  
 May 5 04:28:02 raspberrypi sshd[3272]: Failed password for root from 193.107.16.206 port 33223 ssh2  
 May 5 04:28:04 raspberrypi sshd[3280]: Failed password for root from 193.107.16.206 port 33537 ssh2  
 May 5 04:28:04 raspberrypi sshd[3276]: Failed password for root from 193.107.16.206 port 33363 ssh2  
 May 5 04:28:04 raspberrypi sshd[3272]: Failed password for root from 193.107.16.206 port 33223 ssh2  
 May 5 04:28:04 raspberrypi sshd[3284]: Failed password for root from 193.107.16.206 port 33581 ssh2  
 May 5 04:28:05 raspberrypi sshd[3288]: Failed password for root from 193.107.16.206 port 33639 ssh2  
 May 5 04:28:05 raspberrypi sshd[3292]: Failed password for root from 193.107.16.206 port 33700 ssh2  
 May 5 04:28:06 raspberrypi sshd[3280]: Failed password for root from 193.107.16.206 port 33537 ssh2  
 May 5 04:28:06 raspberrypi sshd[3276]: Failed password for root from 193.107.16.206 port 33363 ssh2  
 May 5 04:28:06 raspberrypi sshd[3272]: Failed password for root from 193.107.16.206 port 33223 ssh2  
 May 5 04:28:06 raspberrypi sshd[3284]: Failed password for root from 193.107.16.206 port 33581 ssh2  
 May 5 04:28:07 raspberrypi sshd[3288]: Failed password for root from 193.107.16.206 port 33639 ssh2  
 May 5 04:28:08 raspberrypi sshd[3292]: Failed password for root from 193.107.16.206 port 33700 ssh2  
 May 5 04:28:08 raspberrypi sshd[3280]: Failed password for root from 193.107.16.206 port 33537 ssh2  
 May 5 04:28:08 raspberrypi sshd[3276]: Failed password for root from 193.107.16.206 port 33363 ssh2  
 May 5 04:28:09 raspberrypi sshd[3272]: Failed password for root from 193.107.16.206 port 33223 ssh2  
 May 5 04:28:09 raspberrypi sshd[3284]: Failed password for root from 193.107.16.206 port 33581 ssh2  
 May 5 04:28:09 raspberrypi sshd[3288]: Failed password for root from 193.107.16.206 port 33639 ssh2  
 May 5 04:28:10 raspberrypi sshd[3292]: Failed password for root from 193.107.16.206 port 33700 ssh2  
 May 5 04:28:10 raspberrypi sshd[3280]: Failed password for root from 193.107.16.206 port 33537 ssh2  
 May 5 04:28:10 raspberrypi sshd[3276]: Failed password for root from 193.107.16.206 port 33363 ssh2  
 May 5 04:28:11 raspberrypi sshd[3272]: Failed password for root from 193.107.16.206 port 33223 ssh2  
 May 5 04:28:11 raspberrypi sshd[3284]: Failed password for root from 193.107.16.206 port 33581 ssh2  
 May 5 04:28:11 raspberrypi sshd[3288]: Failed password for root from 193.107.16.206 port 33639 ssh2  
 May 5 04:28:12 raspberrypi sshd[3292]: Failed password for root from 193.107.16.206 port 33700 ssh2  
 May 5 04:28:12 raspberrypi sshd[3284]: Failed password for root from 193.107.16.206 port 33581 ssh2  
 May 5 04:28:13 raspberrypi sshd[3280]: Failed password for root from 193.107.16.206 port 33537 ssh2  
 May 5 04:28:13 raspberrypi sshd[3276]: Failed password for root from 193.107.16.206 port 33363 ssh2  
 May 5 04:28:13 raspberrypi sshd[3288]: Failed password for root from 193.107.16.206 port 33639 ssh2  
 May 5 04:28:14 raspberrypi sshd[3292]: Failed password for root from 193.107.16.206 port 33700 ssh2  
 May 5 04:28:14 raspberrypi sshd[3284]: Failed password for root from 193.107.16.206 port 33581 ssh2  
 May 5 04:28:14 raspberrypi sshd[3280]: Failed password for root from 193.107.16.206 port 33537 ssh2  
 May 5 04:28:15 raspberrypi sshd[3288]: Failed password for root from 193.107.16.206 port 33639 ssh2  
 May 5 04:28:16 raspberrypi sshd[3292]: Failed password for root from 193.107.16.206 port 33700 ssh2  
 May 5 04:28:24 raspberrypi sshd[3296]: Failed password for root from 193.107.16.206 port 35096 ssh2  
 May 5 04:28:26 raspberrypi sshd[3300]: Failed password for root from 193.107.16.206 port 35284 ssh2  
 May 5 04:28:26 raspberrypi sshd[3296]: Failed password for root from 193.107.16.206 port 35096 ssh2  
 May 5 04:28:27 raspberrypi sshd[3304]: Failed password for root from 193.107.16.206 port 35364 ssh2  
 May 5 04:28:27 raspberrypi sshd[3308]: Failed password for root from 193.107.16.206 port 35379 ssh2  
 May 5 04:28:27 raspberrypi sshd[3312]: Failed password for root from 193.107.16.206 port 35403 ssh2  
 May 5 04:28:28 raspberrypi sshd[3300]: Failed password for root from 193.107.16.206 port 35284 ssh2  
 May 5 04:28:28 raspberrypi sshd[3296]: Failed password for root from 193.107.16.206 port 35096 ssh2  
 May 5 04:28:28 raspberrypi sshd[3316]: Failed password for root from 193.107.16.206 port 35449 ssh2  
 May 5 04:28:29 raspberrypi sshd[3304]: Failed password for root from 193.107.16.206 port 35364 ssh2  
 May 5 04:28:29 raspberrypi sshd[3308]: Failed password for root from 193.107.16.206 port 35379 ssh2  
 May 5 04:28:29 raspberrypi sshd[3312]: Failed password for root from 193.107.16.206 port 35403 ssh2  
 May 5 04:28:30 raspberrypi sshd[3300]: Failed password for root from 193.107.16.206 port 35284 ssh2  
 May 5 04:28:30 raspberrypi sshd[3296]: Failed password for root from 193.107.16.206 port 35096 ssh2  
 May 5 04:28:31 raspberrypi sshd[3316]: Failed password for root from 193.107.16.206 port 35449 ssh2  
 May 5 04:28:31 raspberrypi sshd[3304]: Failed password for root from 193.107.16.206 port 35364 ssh2  
 May 5 04:28:31 raspberrypi sshd[3308]: Failed password for root from 193.107.16.206 port 35379 ssh2  
 May 5 04:28:31 raspberrypi sshd[3312]: Failed password for root from 193.107.16.206 port 35403 ssh2  
 May 5 04:28:32 raspberrypi sshd[3300]: Failed password for root from 193.107.16.206 port 35284 ssh2  
 May 5 04:28:32 raspberrypi sshd[3296]: Failed password for root from 193.107.16.206 port 35096 ssh2  
 May 5 04:28:33 raspberrypi sshd[3316]: Failed password for root from 193.107.16.206 port 35449 ssh2  
 May 5 04:28:33 raspberrypi sshd[3304]: Failed password for root from 193.107.16.206 port 35364 ssh2  
 May 5 04:28:33 raspberrypi sshd[3308]: Failed password for root from 193.107.16.206 port 35379 ssh2  
 May 5 04:28:33 raspberrypi sshd[3312]: Failed password for root from 193.107.16.206 port 35403 ssh2  
 May 5 04:28:34 raspberrypi sshd[3300]: Failed password for root from 193.107.16.206 port 35284 ssh2  
 May 5 04:28:34 raspberrypi sshd[3296]: Failed password for root from 193.107.16.206 port 35096 ssh2  
 May 5 04:28:35 raspberrypi sshd[3316]: Failed password for root from 193.107.16.206 port 35449 ssh2  
 May 5 04:28:36 raspberrypi sshd[3304]: Failed password for root from 193.107.16.206 port 35364 ssh2  
 May 5 04:28:36 raspberrypi sshd[3308]: Failed password for root from 193.107.16.206 port 35379 ssh2  
 May 5 04:28:36 raspberrypi sshd[3312]: Failed password for root from 193.107.16.206 port 35403 ssh2  
 May 5 04:28:37 raspberrypi sshd[3300]: Failed password for root from 193.107.16.206 port 35284 ssh2  
 May 5 04:28:37 raspberrypi sshd[3316]: Failed password for root from 193.107.16.206 port 35449 ssh2  
 May 5 04:28:38 raspberrypi sshd[3304]: Failed password for root from 193.107.16.206 port 35364 ssh2  
 May 5 04:28:38 raspberrypi sshd[3308]: Failed password for root from 193.107.16.206 port 35379 ssh2  
 May 5 04:28:38 raspberrypi sshd[3312]: Failed password for root from 193.107.16.206 port 35403 ssh2  
 May 5 04:28:39 raspberrypi sshd[3316]: Failed password for root from 193.107.16.206 port 35449 ssh2  
 May 5 04:28:47 raspberrypi sshd[3320]: Failed password for root from 193.107.16.206 port 37052 ssh2  
 May 5 04:28:50 raspberrypi sshd[3324]: Failed password for root from 193.107.16.206 port 37147 ssh2  
 May 5 04:28:50 raspberrypi sshd[3320]: Failed password for root from 193.107.16.206 port 37052 ssh2  
 May 5 04:28:50 raspberrypi sshd[3328]: Failed password for root from 193.107.16.206 port 37193 ssh2  
 May 5 04:28:50 raspberrypi sshd[3332]: Failed password for root from 193.107.16.206 port 37220 ssh2  
 May 5 04:28:50 raspberrypi sshd[3336]: Failed password for root from 193.107.16.206 port 37234 ssh2  
 May 5 04:28:51 raspberrypi sshd[3340]: Failed password for root from 193.107.16.206 port 37268 ssh2  
 May 5 04:28:51 raspberrypi sshd[3324]: Failed password for root from 193.107.16.206 port 37147 ssh2  
 May 5 04:28:51 raspberrypi sshd[3320]: Failed password for root from 193.107.16.206 port 37052 ssh2  
 May 5 04:28:52 raspberrypi sshd[3328]: Failed password for root from 193.107.16.206 port 37193 ssh2  
 May 5 04:28:52 raspberrypi sshd[3336]: Failed password for root from 193.107.16.206 port 37234 ssh2  
 May 5 04:28:52 raspberrypi sshd[3332]: Failed password for root from 193.107.16.206 port 37220 ssh2  
 May 5 04:28:53 raspberrypi sshd[3340]: Failed password for root from 193.107.16.206 port 37268 ssh2  
 May 5 04:28:53 raspberrypi sshd[3324]: Failed password for root from 193.107.16.206 port 37147 ssh2  
 May 5 04:28:54 raspberrypi sshd[3320]: Failed password for root from 193.107.16.206 port 37052 ssh2  
 May 5 04:28:55 raspberrypi sshd[3328]: Failed password for root from 193.107.16.206 port 37193 ssh2  
 May 5 04:28:55 raspberrypi sshd[3336]: Failed password for root from 193.107.16.206 port 37234 ssh2  
 May 5 04:28:55 raspberrypi sshd[3332]: Failed password for root from 193.107.16.206 port 37220 ssh2  
 May 5 04:28:56 raspberrypi sshd[3340]: Failed password for root from 193.107.16.206 port 37268 ssh2  
 May 5 04:28:56 raspberrypi sshd[3324]: Failed password for root from 193.107.16.206 port 37147 ssh2  
 May 5 04:28:56 raspberrypi sshd[3320]: Failed password for root from 193.107.16.206 port 37052 ssh2  
 May 5 04:28:57 raspberrypi sshd[3328]: Failed password for root from 193.107.16.206 port 37193 ssh2  
 May 5 04:28:57 raspberrypi sshd[3336]: Failed password for root from 193.107.16.206 port 37234 ssh2  
 May 5 04:28:57 raspberrypi sshd[3332]: Failed password for root from 193.107.16.206 port 37220 ssh2  
 May 5 04:28:58 raspberrypi sshd[3340]: Failed password for root from 193.107.16.206 port 37268 ssh2  
 May 5 04:28:58 raspberrypi sshd[3324]: Failed password for root from 193.107.16.206 port 37147 ssh2  
 May 5 04:28:59 raspberrypi sshd[3320]: Failed password for root from 193.107.16.206 port 37052 ssh2  
 May 5 04:29:00 raspberrypi sshd[3328]: Failed password for root from 193.107.16.206 port 37193 ssh2  
 May 5 04:29:00 raspberrypi sshd[3336]: Failed password for root from 193.107.16.206 port 37234 ssh2  
 May 5 04:29:00 raspberrypi sshd[3332]: Failed password for root from 193.107.16.206 port 37220 ssh2  
 May 5 04:29:00 raspberrypi sshd[3340]: Failed password for root from 193.107.16.206 port 37268 ssh2  
 May 5 04:29:00 raspberrypi sshd[3324]: Failed password for root from 193.107.16.206 port 37147 ssh2  
 May 5 04:29:01 raspberrypi sshd[3328]: Failed password for root from 193.107.16.206 port 37193 ssh2  
 May 5 04:29:02 raspberrypi sshd[3336]: Failed password for root from 193.107.16.206 port 37234 ssh2  
 May 5 04:29:11 raspberrypi sshd[3344]: Failed password for root from 193.107.16.206 port 38797 ssh2  
 May 5 04:29:13 raspberrypi sshd[3348]: Failed password for root from 193.107.16.206 port 38906 ssh2  
 May 5 04:29:14 raspberrypi sshd[3352]: Failed password for root from 193.107.16.206 port 38938 ssh2  
 May 5 04:29:14 raspberrypi sshd[3356]: Failed password for root from 193.107.16.206 port 38945 ssh2  
 May 5 05:27:57 raspberrypi sshd[3406]: Failed password for root from 178.62.50.98 port 7176 ssh2  

Wednesday, April 9, 2014

Highstock problem with liveRedraw=true on touch devices(iOS ,Android)

I want to use liveRedraw feature of Highstock on a touch device. Unfortunately, setting liveRedraw=true doesn't seem to function properly. The graph is not updated/redrawn while my finger is moving.
So, I had a look at Highstock source code (highstock.src.js) and came up with my fixes as follow:
 onContainerTouchMove: function (e) {  
           if (/*e.touches.length === 1 || */e.touches.length === 2) {  
                this.pinch(e);  
           }  
      }  

 if (hasTouch) {  
                container.ontouchstart = function (e) {  
                     pointer.onContainerTouchStart(e);  
                     pointer.onContainerMouseDown(e);  
                };  
                container.ontouchmove = function (e) {  
                     pointer.onContainerTouchMove(e);  
                     pointer.onContainerMouseMove(e);  
                };  
                addEvent(doc, 'touchend', pointer.onDocumentTouchEnd);  
           }  

      if (chart.mouseIsDown === 'mousedown' || chart.mouseIsDown === 'touchstart') {  
                this.drag(e);  
           }  

That is it. liveRedraw should work properly  now.

Thursday, December 19, 2013

kendo dataviz + PhoneGap + Scrolling + Windows Phone 8

The Kendo chart graph whose content is longer than its container DIV does not have scrollbar in Windows Phone 8. In contrast, it works beautifully in iOS and Android.
 <div class="chart_container" >  
           <div class="report_chart_placeholder" ></div>  
      </div>  

The graph component is built on report_chart_placeholder. Its minimum height / height is set. Overflow properties are also set correctly for chart_container. However, no scrollbar appears when the chart is higher than chart_container. Solution :
   
           <div class="chart_container" >  
           <div class="report_chart_placeholder_overlay" ></div>  
           <div class="report_chart_placeholder" ></div>  
      </div>  

I needed to use absolute position to place on top of the chart another DIV (report_chart_placeholder_overlay) with same height properties of the chart. Then the scrollbar shows up properly.

Tuesday, October 1, 2013

Symmetricds Cookies support

My problem : we need cookies support for SymmetricDS client in order to authenticate against central SymmetricDS.
Solution :
Create an extension point class
 package com.synch.extension;  
 import java.net.CookieHandler;  
 import java.net.CookieManager;  
 import java.net.CookiePolicy;  
 import org.jumpmind.extension.IExtensionPoint;  
 import org.slf4j.Logger;  
 import org.slf4j.LoggerFactory;  
 public class CookieManagerConf implements IExtensionPoint{  
      protected final Logger log = LoggerFactory.getLogger(getClass());  
      public CookieManagerConf() {  
           System.out.println("Cookie manager initialized ------------------------>");  
           log.info("Cookie manager initialized ---------------------->");  
           CookieManager manager = new CookieManager(null,CookiePolicy.ACCEPT_ALL);  
           CookieHandler.setDefault(manager);  
      }  
 }  

Create extension XML in {classpath}\conf\symmetric-extensions.xml as follow :
 <?xml version="1.0" encoding="UTF-8"?>  
 <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
   xmlns:lang="http://www.springframework.org/schema/lang"  
   xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
             http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang-3.0.xsd" default-lazy-init="true">  
      <bean id="cookieManager" class="com.synch.extension.CookieManagerConf">  
      </bean>  
 </beans>  

Kalman filter with dspic33f : fixed point vs floating point speed comparison

Initially, I implemented Kalman filter for Microchip dspic33f MPU with floating point arithmetic calculations(mainly 2x2 float matrices) to measure inclination angle. The filter works brilliantly. However, I knew that fixed point calculation can greatly speed up the floating point Kalman filter. Hence, I decided to implement my Kalman filter in Q16 format. After that, I compared speed of 2 algorithms by using an oscilloscope. The output pin is set at the beginning and cleared at the end of the Kalman process.
Floating point Kalman filter :

Fixed point Kalman filter :

From above pictures, the fixed Kalman filter uses only ~46% time taken by floating point Kalman filter. Note : My dspic33f runs at 80 MHz.

Sunday, September 29, 2013

Enable fixed point math function for Microchip MPLABX IDE

I have had hard time to enable fixed point capability for MPLABX project. So I decided to document my solution here : 1. Using .
 #include <libq.h>  
2. Step 2 is adding those libs to libraries folder of the project as follow:
libq-coff.a
libq-dsp-coff.a
libq-dsp-elf.a
libq-elf.a 3. Step 3 : right-click project --> Properties. Modify configuration as follow:
Press Apply and OK. 4. Clean and rebuild project.
Edit : If the path of lib files contains spaces, build error will happen. Therefore, we can copy those lib files to another folder (without spaces in path) and include them in our project.