Monday, 25 March 2024

Privacy policy Qundal

 **Privacy Policy**


This privacy policy applies to the Qundal app (hereby referred to as "Application") for mobile devices that was created by Qwatch (hereby referred to as "Service Provider") as a Free service. This service is intended for use "AS IS".


**Information Collection and Use**


The Application collects information when you download and use it. This information may include information such as


*   Your device's Internet Protocol address (e.g. IP address)

*   The pages of the Application that you visit, the time and date of your visit, the time spent on those pages

*   The time spent on the Application

*   The operating system you use on your mobile device


The Application does not gather precise information about the location of your mobile device.


The Application collects your device's location, which helps the Service Provider determine your approximate geographical location and make use of in below ways:


*   Geolocation Services: The Service Provider utilizes location data to provide features such as personalized content, relevant recommendations, and location-based services.

*   Analytics and Improvements: Aggregated and anonymized location data helps the Service Provider to analyze user behavior, identify trends, and improve the overall performance and functionality of the Application.

*   Third-Party Services: Periodically, the Service Provider may transmit anonymized location data to external services. These services assist them in enhancing the Application and optimizing their offerings.


The Service Provider may use the information you provided to contact you from time to time to provide you with important information, required notices and marketing promotions.


For a better experience, while using the Application, the Service Provider may require you to provide us with certain personally identifiable information, including but not limited to None. The information that the Service Provider request will be retained by them and used as described in this privacy policy.


**Third Party Access**


Only aggregated, anonymized data is periodically transmitted to external services to aid the Service Provider in improving the Application and their service. The Service Provider may share your information with third parties in the ways that are described in this privacy statement.


Please note that the Application utilizes third-party services that have their own Privacy Policy about handling data. Below are the links to the Privacy Policy of the third-party service providers used by the Application:


*   [Google Play Services](https://www.google.com/policies/privacy/)


The Service Provider may disclose User Provided and Automatically Collected Information:


*   as required by law, such as to comply with a subpoena, or similar legal process;

*   when they believe in good faith that disclosure is necessary to protect their rights, protect your safety or the safety of others, investigate fraud, or respond to a government request;

*   with their trusted services providers who work on their behalf, do not have an independent use of the information we disclose to them, and have agreed to adhere to the rules set forth in this privacy statement.


**Opt-Out Rights**


You can stop all collection of information by the Application easily by uninstalling it. You may use the standard uninstall processes as may be available as part of your mobile device or via the mobile application marketplace or network.


**Data Retention Policy**


The Service Provider will retain User Provided data for as long as you use the Application and for a reasonable time thereafter. If you'd like them to delete User Provided Data that you have provided via the Application, please contact them at writetoqundal@gmail.com and they will respond in a reasonable time.


**Children**


The Service Provider does not use the Application to knowingly solicit data from or market to children under the age of 13.


The Application does not address anyone under the age of 13\. The Service Provider does not knowingly collect personally identifiable information from children under 13 years of age. In the case the Service Provider discover that a child under 13 has provided personal information, the Service Provider will immediately delete this from their servers. If you are a parent or guardian and you are aware that your child has provided us with personal information, please contact the Service Provider (writetoqundal@gmail.com) so that they will be able to take the necessary actions.


**Security**


The Service Provider is concerned about safeguarding the confidentiality of your information. The Service Provider provides physical, electronic, and procedural safeguards to protect information the Service Provider processes and maintains.


**Changes**


This Privacy Policy may be updated from time to time for any reason. The Service Provider will notify you of any changes to the Privacy Policy by updating this page with the new Privacy Policy. You are advised to consult this Privacy Policy regularly for any changes, as continued use is deemed approval of all changes.


This privacy policy is effective as of 2024-03-26


**Your Consent**


By using the Application, you are consenting to the processing of your information as set forth in this Privacy Policy now and as amended by us.


**Contact Us**


If you have any questions regarding privacy while using the Application, or have questions about the practices, please contact the Service Provider via email at writetoqundal@gmail.com.


* * *


This privacy policy page was generated by [App Privacy Policy Generator](https://app-privacy-policy-generator.nisrulz.com/)

Sunday, 7 January 2018

Problem with Hp laptop and Ubuntu

I installed Ubuntu on my HP pavillion ab series (i7 processor).
Ubuntu was running just fine when I realized it is not able to detect to my home wifi but able to connect to my phone hotspot.
I had faced similar problem in opensuse earlier but then I removed it considering no driver support for my wifi module (Network controller: Realtek Semiconductor Co., Ltd. RTL8723BE PCIe Wireless Network Adapter
).
I started googling stuff and finding peers which were facing similar problems. After sleeping over the problem, I had one crazy observation. The difference between my phone's hotspot and wifi router was the distance from my laptop. I took my laptop and stood next to the wifi router, and found out that it was able to detect wifi over there. Voila.

Then I googled in this direction and found out that it is a problem.
  
sudo tee /etc/modprobe.d/rtl8723be.conf <<< "options rtl8723be ant_sel=1"


Fired this command ,then restarted my laptop.

It worked.

Thanks to
https://askubuntu.com/questions/872931/how-to-make-wifi-signal-stronger-on-ubuntu-16-04-lts
https://connectwww.com/how-to-solve-realtek-rtl8723be-weak-wifi-signal-problem-in-ubuntu/4625/

Cheers !!

Wednesday, 19 July 2017

Hackerrank 'Army game problem'

This post is dedicated to Hackerrank 'Army game problem'.

Here is the question:


Luke is daydreaming in Math class. He has a sheet of graph paper with  rows and  columns, and he imagines that there is an army base in each cell for a total of  bases. He wants to drop supplies at strategic points on the sheet, marking each drop point with a red dot. If a base contains at least one package inside or on top of its border fence, then it's considered to be supplied. For example:
image

Given  and , what's the minimum number of packages that Luke must drop to supply all of his bases?
Input Format
Two space-separated integers describing the respective values of  and .
Constraints
Output Format
Print a single integer denoting the minimum number of supply packages Luke must drop.
Sample Input 0
2 2
Sample Output 0
1
Explanation 0
Luke has four bases in a  grid. If he drops a single package where the walls of all four bases intersect, then those four cells can access the package:
image
Because he managed to supply all four bases with a single supply drop, we print  as our answer.

Answer:

There are multiple approaches to solve this but I would like you guys to try it for some time then look below. 
I know you guys did not try , just googled it :D.
You can consider this as denomination problem where you need to split the matrix in amounts of 2X2 , 1X2 and 1X1. This is a broad solution and a bit tricky as well ,since you need to keep a count each and every row. 
For the next bit think a bit out of the box. I mean literally out of the box .
Now try and cover this whole by just 2X2 even if you go out of the box.
Give it some time use a paper and pen you will find the pattern hidden there only.
Let me break it down for you.
Consider a  10X6 matrix 
Now for a 10X5 matrix :
Total Number of supply drops are same in both cases.
Since 10X5 and 10X6 could be fit in 10X6 matrix.
Now test for odd row and column. It has a bit of tweak in it.
I have pasted the code in C++ for your reference. I know you will copy it . So go ahead.
I am not saying it is most optimized code since there is always a room for optimization. Wrote it as I thought about it. Hope you find it useful. 

CODE:


int main(){   
     int n;    
     int m;
    cin >> n >> m;
    int twobytwo  = (m / 2) * (n / 2);
    int factor =0;
    if( (m%2 ==1) && (n%2 ==1) ){ 
       factor = ( (m/2 +1) + ((n-1) /2) );
     }else if(m%2 == 1){
        factor = n/2;
    }else if(n%2 == 1){
        factor = m/2;
    } 
   cout <<(twobytwo+factor);
    return 0;
}

Monday, 12 December 2016

Linux Kernel Development 1.0

Some things before you start:-
  • check you kernel version => uname -r
    • you will get an version name and local version. e.g.... (3.2.0-4-amd64)

  • then search for your source tree ... it should be in /usr/src/ ... if not found there
    • download you Linux source tree with exact version . in my case it will be Linux 3.2.0. Google it and you will get a zip file. Extract it under the folder /usr/src/

  • now you need to run some commands
    • first go into the kernel source directory then follow these steps 
    • make menuconfig (if you want to customise your kernel)
    • make -j<number of cpus>
    • make install 
    • make modules_install
  • Now your kernel is ready
For more digging on above section go to "http://unix.stackexchange.com/questions/20864/what-happens-in-each-step-of-the-linux-kernel-building-process" . This will help you.

Here it starts:-
  • You need two things first is your driver code(c file) and next is Makefile.
  • This is a hello world program for kernel. Save it in hello.c
    #include <linux/module.h>
    #include <linux/kernel.h>

    int init_module(void)       //this function runs when your module is loaded
    {
       printk("Hello world");
       return 0;
    }
    void cleanup_module(void)   //this function runs when your module is unloaded
    {
      printk("Goodbye world \n");

    MODULE_LICENSE("GPL");  //compulsory part in every driver code

  • Now in Makefile .... be sure to name the file as Makefile (capital M don't forget):-
    obj-m := hello.o           //same as your module name with an .o extension

  • Something you must not do:-
    • compile the program to get (.o)  . Makefile will take care of that.
  • Now write this command on the terminal.
    make -C /usr/src/"your Linux version" M=`pwd` modules

  • If every thing goes write then you will see 6 files generated . You can inspect all of them and dig them vigorously . The file which is of your use is the one with .ko extension. it is a dynamic loadable module. go and read about it !! 
  • Since you have a dynamic module its time you load it !! Here is the command 
    • insmod <dynamic module>
      • you might require root privileges so use sudo 
  • open dmesg and check whether all you wrote in the printk is there or not. you can use grep to find it . dmesg is the kernel ring buffer which gives us the details provided by the kernel messages.
  • Since you have loaded it now its time to remove it.
    • rmmod <dynamic module>
  • This is it !! you have created a kernel module. 
  • Amount of efforts put in to write a hello world  for kernel is high but if you love hardware then this is how it is going to be !!