Saturday, September 30, 2017

Some one cloned my android application from the Google Play store and published the same in the Play store

Stealing is not right. I searched google for a solution and found the useful blog http://arkenea.com/blog/app-cloning/ 

The blog suggest me to make a Gentleman's move first by writing an email to the appropriate party about their violations. It also suggest me to inform to the Playstore as a further step.

I decided to register a complaint on the Playstore first and also wrote an email to the person who cloned my app. I never received a reply from that person.

Trust me Google team actively working on the removal of the contents that are violating the policy. All we need to do is inform the activity to the Google.

Here is what I did.


I got the Link to register the complaint from the blog.

https://support.google.com/legal/troubleshooter/1114905?hl=en


The link prompt me few questions.For all the questions, we have to choose the appropriate answers, I mentioned what I chose


Q1. What Google product does your request relate to?
 
          
          Google Play: Apps

Q2. What can we help you with? 


       I have found content that may violate my copyright
 

Q3. Are you the copyright owner or authorized to act on his/her behalf?

       Yes, I am the copyright owner or am authorized to act on the copyright owner’s behalf

Q4. What is the allegedly infringing work in question?
    

       Other


I read the instructions and clicked on the form link(this form) present in the last line.This is the main form that reports the alleged copyright infringement






Section 1 : Contact Information 

                 I entered all my information

Section 2 : Your copyrighted work
            2.1  Identify and describe the copyrighted work
    

                  This is description box, where we can explain our concerns.
                  I mentioned the my issue like the following

                  Application Content.

                  I created the application named "<APP NAME>" in playstore  


                  https://play.google.com/store/apps/details?id=<Id>

                  Some one copied my entire Application code and published 

                  the  similar one named "<CLONED APP NAME>"  with logo 
                  and locale changes in playstore
 

                  https://play.google.com/store/apps/details?id=<CloneAPPId>

            2.2 Where can we see an authorized example of the work?
                 My application link in the play store
                 https://play.google.com/store/apps/details?id=<Id>

Section 3 : Allegedly infringing material 

              3.1 Location of the allegedly infringing material   
                  Cloned application link in the play store
                  https://play.google.com/store/apps/details?id=<CloneAPPId>
    
              3.2 Attachment
                   I attached a screen shot of a cloned app.

Section 4 : Sworn statements
                 I read all the statement and checked all the check boxes.

Section 5 : Signature
                 Typed my name

I read the terms and verified all the information and clicked Submit button. Then I saw the confirmation message and received the acknowledgement email to the address given in Section 1
 

September 13 2017 - I filed a complaint.

September 15 2017 - Google team replied with the the message saying that the content I mentioned violating their policies and they will be working on removing from the services
. The same day the cloned app is removed from the play store.

Please make a note that mis-using above forms
will also be consider as violation of policy.

Sunday, April 16, 2017

It is true that Laptops prices are cheaper in America than India

Last Monday I bought my second Laptop with good configurations for the price $811.86




This product current price in India is ₹119,478.00 with 8GB RAM. I bought this in Dallas.I am happy about that I am lucky to get it for ₹52,715

Saturday, August 1, 2015

Impact of A.P.J Abdul Kalam

27 July 2015 , a message was spreading like anything, I was outside and got a call from my sister in the evening,

She :  Did u know the news ?
Me  :  What happened ?
She :  In news channel, they are telecasting the death news of Abdul Kalam.
Me  :  ....

After few minutes, there was a complete silence  in my mind.Here silence is  some kind of pain , I don't know how to express in words.

After a long time I asked question to myself

 "What this man did and why I can't digest the news?"

 Might be because ,
   In school I studied his book content as a subject
   In school days, I had an aim of become a scientist like him
   He is the former president of India
   He is one of the man from my state I can proud about

Any form of the reason silence remains the same.I had decided to stand on his words.

 "We should not give up and we should not allow the problem to defeat us"

"The youth need to be enabled to become job generators from job seekers" 

"Mudiyaathu Endru Nee Solvathai Ellaam Yaaro Oruvan Engo Seithu Kondu thaan Irukiran" (Someone is doing what you think that you can't do)
 

   - A. P. J. Abdul Kalam



Tuesday, December 30, 2014

Man of Steel movie quote

Movie dialogue that makes me think. Man of steel 




Father Leone tells to Clark kent : "Sometimes you have to take a leap of faith first, the trust part comes later"

Yes I think..


One man was showing his 6 year old cousin their location in Google Maps.
On seeing the blue spot, child calmly asked, "Where am I here? I can't see! Where are you?" 

Saturday, October 4, 2014

Parallel::ForkManager - Parallel Processing of a Perl script

 I recently used Parallel::ForkManager  perl module in one of my project.I was quite impressed by this module.By using this module it is very easy to do parallel processing where ever it needs.

My task :  Process thousands of client profiles information and store into a Database.

Approach : Form perl data structure to each profile and pass it to a subroutine that taken care of Database insertion part.

 So Every time when a profile Data structure has been formed , it has to wait till the completion of profile insertion part.

Stub :

my @responses; 
my $total_profiles = scalar @profiles;

for ( 1 .. $total_profiles ) {
    my $profile = shift @profiles;
    # form appropriate structure of $profile
    my $response =  storeProfile($profile);
    push(@responses , $response);
}

print Dumper \@responses;

#storeProfile subroutine has DB operations.

 
How Parallel Fork Manager helps to do it parallely 

use Parallel::ForkManager;
$max_process = 5;  #carefully  choose this number;

Carefully  choose max process because if your system is busy and it has more number of applications running , choosing a big number will affect other process.Parallel fork manager will create that many number of child process so each process will try occupy the cores.There is chance of system hang.

It is the advantage of the module, your script runs parallel y and make use of all cores.So the entire operation will be faster.

 In my task subroutine storeProfile runs parallel y  by 5 child process.So the speed of process will increase by 5 times

Assume that storing one profile took 0.5s 
than 
without Parallel::ForkManager 1000 profiles will take 500s
with Parallel::ForkManager 1000 profiles will take  100s
(if max_process is 10 then 1000 profiles will take  50s



$pm = new Parallel::ForkManager($max_process);
my @responses; 
$pm->run_on_finish(    # called at the end of child_process completion 
       sub {
           my ($pid, $exit_code, $ident, $exit_signal, $core_dump, $response) = @_; 
          # retrieve response  from child
           if (defined($response)) {   
                push(@responses , $response);
           }
       }
);

my $total_profiles = scalar @profiles;

foreach ( 1 .. $total_profiles ) {
     my $profile = shift @profiles;
     # form appropriate structure of $profile
     #FORK HERE
     $pm->start and next;
     #following code will run by child process
     my $response = storeProfile($profile);
     $pm->finish(0, $response); 
}

$pm->wait_all_children; #wait till all the child process completes
print Dumper \@responses;


Note : 
       * Before start using this module, one should be aware of selecting the number of process.

       * It is not good  to use this module when the script runs as a server that handles the request.

For example , if you try to create 5 process from the script , for each request it will create 5 process, if 10 parallel request comes than 5 * 10 process will create, Its a kind of Fork Bomb.Server will hang.

I would suggest to use Parallel::ForkManager in a stand alone script.


Reference : 
http://search.cpan.org/~szabgab/Parallel-ForkManager-1.06/lib/Parallel/ForkManager.pm


Saturday, August 16, 2014

Perl Subroutine to get random

Generate random number with given number of digits

sub getRandomNum {
     my $count = shift;
     return  join('', map {  int(rand(9)) } (1 .. $count) );
}

Generate random word with given number of characters

sub getName{
    my $count = shift;
    return join ('',map { ('a'..'z')[rand 26] } 0 .. $count);
}

Wednesday, July 9, 2014

Audio file conversion using sox

Example : 
convert a .ulaw file to .sln16 file

Command :
sox -t ul -c 1 -r 8k  file.ulaw  -D -V0 -s -r 16k -t s2 -c 1 file.sln16

Switch : 
-t type  
-c channel
-r sample rate
-D no diether (no white noise added to source file during conversion)
-V0 verbosity level set to 0 (no error or warning messages are shown) 

Reference :