Shared Lists – Privacy Policy

Privacy Policy of Shared Lists This Application collects some Personal Data from its Users. Policy summary Further information about Personal Data Access the address book This Application may request access to your address book. Full policy Data Controller and Owner Types of Data collected The owner does not provide a list of Personal Data types collected. Other Personal Data collected may be described in other sections of this privacy policy or by dedicated explanation text contextually with the Data collection. The Personal Data may be freely provided by the User, or collected automatically when using this Application. Any use of Cookies – or of other tracking tools – by this Application or by the owners of third party services used by this Application, unless stated otherwise, serves to identify Users and remember their preferences, for the sole purpose of providing the service required by the User. Failure to provide certain Personal Data may make it impossible for this Application to provide its services. Users are responsible for any Personal Data of third parties obtained, published or shared through this Application and confirm that they have the third party’s consent to provide the Data to the Owner. Mode and place of processing the Data Methods of processing The Data Controller processes the Data of Users in a proper manner and shall take appropriate security measures to prevent unauthorized access, disclosure, modification, or unauthorized destruction of the Data. The Data processing is carried out using computers and/or IT enabled tools, following organizational procedures and modes strictly related to the purposes indicated. In addition to the Data Controller, in some cases, the...

Mastering BeagleBone Robotics

Hi guys, I was the technical reviewer of this book by Packt Publishing and I am helping them promote it. Do check the book out if you are interested in learning how to do robotics implementations with Beaglebone Black. The lessons can be extrapolated to most development boards including the Raspberry Pi and the language is fairly easy to understand. Look out for my name in the technical reviewers section! http://bit.ly/MBbR8907...

Playing with Acme::Eyedrops

Today I had some fun with Perl code obfuscation Acme::EyeDrops module makes it ridiculously simple to add new obfuscation shapes to your code. Basically all it involves is creating a file with a extension  *.eye and use it to obfuscate your code. There are around 95 existing shapes to choose from to obfuscate your code including the popular Camel shape. There are a few country specific maps as well e.g. one for Canada. I used a image to ascii converter to convert the map of India into two formats. One where the map is the overlay and another where everything except the map is on overlay. I have pushed my .eye files upstream so you might be able to use it as soon as the dev’s accept my pull request. If you are impatient you can download the India specific .eye files from my github repository and manually copy them over. Here is my first result from a “Hello World” perl script obfuscated with my eye map:   Shape => ‘india_map’ eval eval '"'. +( '['^'+'). ('['^')').('`'|')'). ('`'|'.').('['^'/').( '{'^'[').'\\'.'"'.("`"| '"').('`'|',').('`'|'!') . ("`"| '(').('{'^'[').('`'|'"').('`'| ',').(('`')| '!').('`'|'(').'\\'.'"'.';'.('!'^'+').('['^'+' ).('['^')').('`'|')').('`'|'.').('['^"\/").( '{'^'[').'\\'.'"'.('`'|'"').('`'|',').('`' |'!').('`'|'(').('{'^'[').('`'|'"').('`'|',' ).('`'|'!').('`'|'(').'\\'.'"'.';'.('!'^'+' ).('['^'+').('['^')').('`'|')').('`'|'.') .('['^'/').('{'^'[').'\\'.'"'.('`'|'"'). ('`'|',').('`'|'!').('`'|'(').("\{"^ '[').('`'|'"').('`'|',').('`'|'!').( '`'|'(').'\\'.'"'.';'.('!'^'+').("\["^ '+').('['^')').('`'|')').('`'|('.')).( '['^'/').('{'^'[').'\\'.'"'.('`'|'"' ).('`'|',').('`'|'!').('`'|'('). ('{'^'[').('`'|('"')).( ( '`')|',').('`'|'!').(('`')| '(').'\\'.'"'.';'.('!'^'+').( '['^'+').('['^')').('`'|"\)").( '`'|'.').('['^'/').('{'^'[').'\\' .'"'.('`'|'"').('`'|',').('`'|('!')).( '`'|'(').('{'^'[').('`'|'"').('`'|(',')).( '`'|'!').('`'|'(').'\\'.'"'.';'.('!'^'+').('[' ^'+').('['^')').('`'|')').('`'|'.').('['^'/').('{' ^'[').'\\'.'"'.('`'|'"').('`'|',').('`'|'!').('`' |'(').('{'^'[').('`'|'"').('`'|',').('`'|'!').( '`'|'(').'\\'.'"'.';'.('!'^'+').('['^'+').("\["^ ')'). (('`')| ')').('`'|'.').('['^'/').('{'^'[').'\\'.'"'.("`"| '"').('`'|"\,").( '`'|'!').('`'|'(').('{'^'[').('`'|'"').('`'|',').('`'| '!').('`'|'(').('\\'). '"'.';'.('!'^'+').('['^'+').('['^')').('`'|')').('`'|'.'). ('['^'/').('{'^'[').'\\'. '"'.('`'|'"').('`'|',').('`'|'!').('`'|'(').('{'^'[').('`'|'"') . ('`'|',').('`'|'!').('`'|"\("). '\\' .'"'.';'.('!'^'+').('['^'+').('['^')').('`'|')').('`'|'.').('['^('/')).( ('{')^ '[').'\\'.'"'.('`'|'"').('`'|',').( '`'|'!').('`'|'(').('{'^'[').('`'|'"').('`'|',').('`'|'!').('`'|'(').'\\'.'"'.';'.( '!'^'+' ).('['^'+').('['^')').('`'|')').('`'| '.').('['^'/').('{'^'[').'\\'.'"'.('`'|'"').('`'|',').('`'|'!').('`'|'(').('{'^'[').('`'|('"')).( ('`')| ',').('`'|'!').('`'|'(').'\\'.('"'). ';'.('!'^'+').('['^'+').('['^')').('`'|')').('`'|'.').('['^'/').('{'^'[').'\\'.'"'.('`'|'"').("`"| (',')).( '`'|'!').('`'|'(').('{'^'[').('`'| '"').('`'|',').('`'|'!').('`'|'(').'\\'.'"'.';'.('!'^'+').('['^'+').('['^')').('`'|')').('`'|'.').(('[')^ '/').('{'^'[').'\\'.'"'.('`'|'"').('`'|',').('`'|'!' ).('`'|'(').('{'^'[').('`'|'"').('`'|',').('`'|'!').('`'|'(').'\\'.'"'.';'.('!'^'+').('['^'+').('['^')').('`'|')') .('`'|'.').('['^'/').('{'^'[').'\\'.'"'.('`'|'"'). ('`'|',').('`'|'!').('`'|'(').('{'^'[').('`'|'"').('`'|',').('`'|'!').('`'|'(').'\\'.'"'.';'.('!'^'+').('['^'+').('['^')').('`'|')').('`'|'.').('['^'/').('{'^'[') .'\\'.'"'.('`'|'"').('`'|',').('`'|'!').('`'|'(').('{'^'[').('`'|'"').('`'|',').('`'|'!').('`'|'(').'\\'.'"'.';'.("\!"^ '+').('['^'+').('['^')').('`'|')').('`'| '.').('['^'/').('{'^'[').'\\'.'"'.('`'|'"').('`'|',').('`'|'!').('`'|'(').('{'^'[').('`'|'"').('`'|',').('`'|'!').('`'| ( '(')).'\\'.'"'.';'.('!'^'+').("\["^ '+').('['^')').('`'|')').('`'|'.').('['^'/').('{'^'[').'\\'.'"'.('`'|'"').('`'|',').('`'|'!').('`'|'(').('{'^'[').('`' |'"').('`'|',').('`'|'!').('`'|'(') .'\\'.'"'.';'.('!'^'+').('['^'+').('['^')').('`'|')').('`'|'.').('['^'/').('{'^'[').'\\'.'"'.('`'|'"').('`'|',').("`"| '!').('`'|'(').('{'^'[').('`'|'"' ).('`'|',').('`'|'!').('`'|'(').'\\'.'"'.';'.('!'^'+').('['^'+').('['^')').('`'|')').('`'|'.').('['^'/').('{'^'['). ( ( ( (( '\\'))))).('"').( '`'|'"').('`'|',').('`'|'!').('`'|'(').('{'^'[').('`'|'"').('`'|',').('`'|'!').('`'|'(').'\\'.'"'.';'.('!'^'+'). ('['^'+').(('[')^ (( ')' ))).('`'|')').('`'|'.').('['^'/').('{'^'[').'\\'.'"'.('`'|'"').('`'|',').('`'|'!').('`'|'(').('{'^'[').('`'|'"').(('`')| ',').('`'|"\!").( '`'|'(').'\\'.'"'.';'.('!'^'+').('['^'+').('['^')').('`'|')').('`'|'.').('['^'/').('{'^'[').'\\'.'"'.('`'|'"').('`'|',').('`'|'!'). ('`'|'(').('{'^'[').( '`'|'"').('`'|',').('`'|'!').('`'|'(').'\\'.'"'.';'.('!'^'+').('['^'+').('['^')').('`'|')').('`'|'.').('['^'/').('{'^'[').'\\'."\"".( '`'|'"').('`'|"\,").( '`'|'!').('`'|'(').('{'^'[').('`'|'"').('`'|',').('`'|'!').('`'|'(').'\\'.'"'.';'.('!'^'+').('['^'+').('['^')').('`'|')').('`'|'.').( '['^'/').(('{')^ '[').'\\'.'"'.('`'|'"').('`'|',').('`'|'!').('`'|'(').('{'^'[').('`'|'"').('`'|',').('`'|'!').('`'|'(').'\\'.'"'.';'.('!'^'+').("\["^ '+').( '['^')'). ('`'|')').('`'|'.').('['^'/').('{'^'[').'\\'.'"'.('`'|'"').('`'|',').('`'|'!').('`'|'(').('{'^'[').('`'|'"').('`'|',').('`'|('!')).( '`'|...

Setting the optimum channel for your WiFi using ubuntu

So today I finally decided to fix our WiFi troubles at home. We have a 100mbps internet connection from starhub with a Cisco DCP3925 router and although I can get a full 100mbps speed when connected by a LAN cable, on WiFi I barely got 10mbps on speedtest.net. I tried to call starhub for help but twice they made me change my WiFi channel to a random number and it didn’t work very well. I figured they were shooting in the dark with the channel numbers so I decided to do some research on my own and sort this out. Its really silly on part of starhub to use such trial and error methods to fix people’s WiFi. So here is the gist. Wifi works on 2.4GHz spectrum. The 2.4GHz spectrum is around 100MHz wide and it has 11 channels each 20MHz wide centered 5MHz apart from their neighbouring channels. Herein lies the muck. Each channels spreads itself over the center of next two channels on each side. While being on the same channel as another network is not ideal its better than being on a neighboring overlapping channel because 802.11 spec has methods for dealing with co-channel interference. This is bad because that means there is other wifi networks talking on some of the frequencies that your wifi uses.. So the ideal situation in your wifi setup is that there is no one talking two channels next to you. Enough of theory, now time for practical. How do you tell what are the channels being used in the area in your WiFi zone? In ubuntu you can use the iwlist command. sudo iwlist...

HTTPS/TLS on NginX and getting a certificate signed by a certificate authority

Today I decided to switch over my website to https mode and acquire a signed certificate for my website. I took the Comodo CA option and have gone for a free 30 day trial period. If things go smooth I might go ahead and purchase the certificate plan. I also learnt about three standardised different levels of validations plans from Cerificate Authorities i.e. Domain Validation : These types of certificate validations provide ssl encryption and certificate authority validates the ownership of the domain against the email address using whois record for the domain. This is the cheapest kind and the one I am using for this website at the moment. If you are committing financial transactions on your site its better to atleast get a OV certificate, which I explain next. Organisation Validation : These kind of certificate validations involve more extensive checks including in-person checks of your organisation’s details before a certificate is issued for your website. these are more secure. Extended Validation Certificates : These kind of certificates are issued after extremely intensive checks on your organisations. these are the most reliable certificates you can get. If your site uses this kind of certificate, it will get the elusive green bar in the address bar of your browser with your company name mentioned alongside. like all the bank websites get. Installing the certificate is quiet easy. First test that things work with ssl on your nginx server. First of all create directory to hold the key and certs: mkdir /etc/nginx/ssl create a key and unsigned certificate file for yourself: sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/example.com.key...
I am planning to start taking lessons at French Language Academy in Singapore at Ang Mo Kio Avenue 10. I choose to write about this because of my experience with looking for a good french school in Singapore earlier this year. I have wanted since a while to progress from being able to speak random french phrases to being able to have a full conversation in French and read French literature. There are a bunch of other schools in Singapore offering French Education but this school definitely offers the best value for money in terms of the fabulous french learning options it provides. The teachers are all native french and the dedication and course quality is superb, particularly impressive is the interactive and learning oriented interactive french speaking sessions that they mix with their courses. They even role play actual french conversations and analysis of these conversations in their engaging classes. I have looked at a few other small french schools in Singapore and some of them only care about grabbing your money by pressuring you for registering for their course as fast as possible and then don’t care how you are doing with your progress, so if the school you talk to is being too pushy about the money and not concerned much for what you want, beware!! At French Language Academy, the first thing they want to do is help you find the right course and understand your objectives in learning french, this is a refreshing change from the usual pattern for those who are tired of the business oriented nature of the language schools. So here is me recommending this school to you all. 🙂 website: http://www.learningfrench.sg...

Playing with OpenCV Vision Library on Ubuntu 14.04 x86_54

I have been starting to play with OpenCV as a part of my work for security systems. I haven’t found any Perl libraries for this except Image::Resize::OpenCV, Cv::* and Image::ObjectDetect which I might look at later, for now I will start with python libraries. At a later stage I might decide to write a Perl binding for OpenCV library. No commitments yet. It depends on my needs 🙂 For starters, here is what I do: sudo apt-get install libavformat-dev libcv2.4 libhighgui2.4 python-opencv opencv-doc libcv-dev libcvaux-dev libhighgui-dev there are a few examples for python in /usr/share/doc/opencv-doc/examples/python and in /usr/share/doc/opencv-doc/examples/python2 I will start off by trying...

Mongolia – Day 4 & 5 Terkhiin Tsagaan Nuur and the Volcano

At end of day sleeping at Shine-Ider, I informed my motel owner that I wanted to find a cheap transport to Terkhiin Tsagaan Nuur. At 1:00AM I heard a knock at my door. It was the motel owner with a bus driver drew a van on a paper who claimed he could take me to the lake via Markhaj where he was dropping off the locals. I got out and got into his van with a bunch of other local families. The van dropped off people at Markhaj and then it stopped at his home. His wife who spoke broken English while referring a English-Mongolian dictionary told me that I must stay at their home at night and the driver will take me to the lake. I was upset, bloody communication gap!! With no choice late at night I slept in the ger in their compound. They did not charge me for it. next day after serving breakfast I asked about the plan on when the driver will take me to the lake. This is where I was acquainted with the traditional Mongolian lack of respect for time. They hung around till 12:00 in the noon and then the driver realized that he couldn’t find any customers for taking to the lake and jacked up the price to 200,000 from 20,000. I was not ready for it. I said no way and wrote down my own price on paper at 100,000 Tugrik which was higher than what we earlier agreed but the maximum I was willing to pay. She explained that it was a 150km drive, and the driver joked mockingly that the...

Mongolia – Day 2 & 3 – Khövsgöl Nuur(Lake Khövsgöl) and Mörön

At the end of my bus journey from Ulaanbaatar I arrived in the town of Mörön at around 4:00AM. There is no bus stand but it was my luck that I made one mongol friend who spoke english along the way. His name was Oogii. I checked with oogii how I might get to Khövsgöl Lake and he told me he was headed in that direction with his mother for some official work. He suggested hitchhiking was the cheapest way to get there. The other option is to take a taxi which will cost upwards of 100,000 Tugrik. Being with locals I was excited to travel the local way and agreed to hitch-hiking idea. We waited at a hotel reception(it was cold outside) till it was early morning and walked out towards the northern outskirts of the town in direction of the paved road going towards the lake. Once we reached the edge of the town we waited for vehicles which we might flag down. Half an hour or so later a small open truck finally agreed to our price and took us on board. We got in and headed out. 30-45 minutes out the truck took a detour and went off the paved road. Oogii’s mother,who didn’t  speak english suggested through hand motions that it might be a shortcut(Mongolia is a safe country, and muggings and robberies are unheard off in the countryside so we weren’t worried much). After some time Oogii’s mother talked to the driver and asked her something in mongol, looked at me grinned and stuck her tongue out in a “oops” kinda way. I knew there was a muck...