Wednesday, 2 February 2022

Privacy Policy

 Privacy Policy

All App from Codewalla, accessible from google play store(further referred to as Codewalla), one of our main priorities is the privacy of our visitors. This Privacy Policy document contains types of information that is collected and recorded by Codewalla.com and how we use it.


Codewalla app does not store Personally Identifiable Information (PII) on our servers, all the data is store locally on the user's device. We do not store, copy, sell any user data.


If you have additional questions or require more information about our Privacy Policy, do not hesitate to contact us.


This Privacy Policy applies only to our online activities and is valid for visitors to our website with regards to the information that they shared and/or collect in Codewalla. This policy is not applicable to any information collected offline or via channels other than this app and website. Our Privacy Policy was created with the help of the Free Privacy Policy Generator.


Your Consent Please read carefully.


By downloading, installing, accessing, and/or using the App you agree to the terms and conditions set forth in this Privacy Policy, including the collection and processing of your Personal Information (as defined below). If you disagree to any term hereof, you may not download, install, access or use the App, and must promptly and permanently remove the App and any part thereof from your systems and devices, and cease any and all use thereof.


Please note: you are not obligated by law to provide us with any Personal Information. You hereby acknowledge and agree that you are providing us with Personal Information at your own free will and that we may retain such Personal Information in accordance with this Privacy Policy and any applicable laws and regulations.


The app does use third-party services that may collect information used to identify you.

Link to the privacy policy of third party service providers used by the app



Google Play Services

AdMob

Google Analytics for Firebase

Facebook Audience Network

Log Data




Consent


By using our app and website, you hereby consent to our Privacy Policy and agree to its terms. Information we collect The personal information that you are asked to provide, and the reasons why you are asked to provide it, will be made clear to you at the point we ask you to provide your personal information. If you contact us directly, we may receive additional information about you such as your name, email address, phone number, the contents of the message and/or attachments you may send us, and any other information you may choose to provide. When you register for an Account, we may ask for your contact information, including items such as name, company name, address, email address, and telephone number. How we use your information We use the information we collect in various ways, including to:

CCPA Privacy Rights (Do Not Sell My Personal Information)


Under the CCPA, among other rights, California consumers have the right to: Request that a business that collects a consumer’s personal data disclose the categories and specific pieces of personal data that a business has collected about consumers. Request that a business delete any personal data about the consumer that a business has collected. Request that a business that sells a consumers personal data, not sell the consumers personal data. If you make a request, we have one month to respond to you. If you would like to exercise any of these rights, please contact us. GDPR Data Protection Rights We would like to make sure you are fully aware of all of your data protection rights. Every user is entitled to the following: The right to access – You have the right to request copies of your personal data. We may charge you a small fee for this service. The right to rectification You have the right to request that we correct any information you believe is inaccurate. You also have the right to request that we complete the information you believe is incomplete. The right to erasure – You have the right to request that we erase your personal data, under certain conditions. The right to restrict processing You have the right to request that we restrict the processing of your personal data, under certain conditions. The right to object to processing – You have the right to object to our processing of your personal data, under certain conditions. The right to data portability – You have the right to request that we transfer the data that we have collected to another organization, or directly to you, under certain conditions. If you make a request, we have one month to respond to you. If you would like to exercise any of these rights, please contact us.

Children's Information

Another part of our priority is adding protection for children while using the internet. We encourage parents and guardians to observe, participate in, and/or monitor and guide their online activity. Codewalla does not knowingly collect any Personal Identifiable Information from children under the age of 13. If you think that your child provided this kind of information on our website, we strongly encourage you to contact us immediately and we will do our best efforts to promptly remove such information from our records.

Contact Us

If you have any questions regarding privacy policy please write us to our email

Monday, 8 February 2016

Vision Behind Knowledge Engine

Vision Behind Knowledge Engine

Knowledge And Information:
  There is difference between information that computer store and process and knowledge that human process and think. Information is bound within framework of formats like image formats (JPEG, BMP, GIF, ..), video formats (MP4, 3GP, AVI, ..) and so on.. whereas we (humans) do not need any fixed format to process knowledge, facts are flowing freely in our mind without any boundaries or restrictions of format. We can structure the same information as vision (image+video), audio or text. Thought process is continuously digesting the information in our mind, trying to co-relate information, restructure it and evolve into better formats of knowledge. In the language of computer science, we can say, thought is an unified format that is at the top of all other data structures. The question that remains unanswered to all of us is what guides our thinking process.

Wiki Says About Machine Learning and Computational Creativity:
  Machine learning is a scientific discipline that explores the construction and study of algorithms that can learn from data. Such algorithms operate by building a model based on inputs and using that to make predictions or decisions, rather than following only explicitly programmed instructions. Computational creativity is located at the intersection of the fields of artificial intelligence, cognitive psychology, philosophy, and the arts. The goal of computational creativity is to model, simulate or replicate creativity using a computer, to achieve one of several ends:
1. To construct a program or computer capable of human-level creativity.
2. To better understand human creativity and to formulate an algorithmic perspective on creative behavior in humans.
3. To design programs that can enhance human creativity without necessarily being creative themselves.

My Perspective About Machine Creativity:
  A computer by itself can never be creative, because it always goes by a fixed formula. Creativity has no fixed formula. One is required to think out of the box to be really creative. Machine will be required to try random patterns of code for a problem and learn from them to get the best solution. In the language of machine learning, hypothesis space needs to be expanded to create new patterns of data from observed patterns.

Vision behind Knowledge Engine:
  Knowledge Engine aims to create knowledge representations that are self-adaptive, flexible (like human knowledge) and can evolve and digest the new information as knowledge, with interaction to multiple users over the web interface.
  This knowledge will act as an expert system that can be used for online learning and interactive problem solving in engineering, finance, medical and research domain.

Philosophy behind Knowledge Engine:
  Machines have capability to store and process large amount of data. We have capability to understand our world, model our problems into computer and get better solutions from knowledge of science, engineering or social domains.

Role of Knowledge Engine:
  The role of computer in problem solving has changed from 'calculator' to 'data processing equipment' in last few decades (1950's to 2010). Knowledge engine is an attempt to get a step ahead in this model where computers not only understand data getting processed, but the boundaries between data and code itself is vanished. Data will generate new code and drive new thoughts into computer (data driven complexity) or computer will generate new code by using creativity on learned code (code driven complexity).

Challenge of Knowledge Engine:
  To define some basic rules that govern the knowledge digestion and creation process to drive new thoughts and collaborate with humans with minimum friction of human computer interface.

In the next blog, we will see the state of the art tools and technologies for knowledge engine in different domains.

Wednesday, 12 March 2014

My Journey Into Computer Simulations and Knowledge Engine

Background:
As a kid I was very much interested in creating new forms of games. Besides mechanical and electrical toys, I was very much interested in designing computer games. In 8th standard, I worked upon my first programming language Q-BASIC and designed games like Ping-Pong, Hide&Seek. In my college days, I designed some games based on physics and mathematics like projectile motion, particle interaction. During my graduation in computer science and engineering, I worked on a series of lots of exciting software projects:

1. Computerized Simulation of Electronic Hardware Kit
=> I started this project with a belief that everything that electronics hardware can perform, can be expressed into mathematical form and hence can be simulated. In this app, we could make connections between electronic components and rule engine would compute (predict) result that would be produced by actual electronic circuits. I call this module as rule engine, because
Rule: Every component had a set of mathematical rules regarding how inputs affect output of the component
Engine: It needs to apply the rules onto connections data considering input/output dependency and efficient order of applying rules to get results efficiantly.
Let us call this approach of simulation as: 'Rule Based Artificial Intelligence'

2. Computerized Simulation of Path Finding Robot
=> The inspiration for this project was a group of students who aspired to build an automated robot for a competition (http://en.wikipedia.org/wiki/Micromouse). The group consisted of 3 people: one electrical engineer(Arpit), one mechanical engineer(Ganesh) and one computer engineer (me). My part was to program the autonomous robot such that it travels the whole maze and calculate the shortest path to center. I designed the algorithm assuming that its me who is lost and need to find a way out. Later I found that what I designed was a part of my studies as 'Backtracking Algorithm'(http://en.wikipedia.org/wiki/Backtracking) and 'Dijkstra's Algoritm'. (http://en.wikipedia.org/wiki/Dijkstra%27s_algorithm).
Let us call this approach of simulation as: 'Procedure Based Artificial Intelligence'

3. Computerized Simulation Tool
=> During my graduation, I worked on simulation of a number of systems like Database System, Universal Turing Machine, Expert System. All of them involved use of programming languages to express and model the real world. Once I had a debate with my friend (Bhushan), "Is it possible to build a software without programming?". Questions of type "Is it possible.. always inspire me to try things and see if they are really impossible (Mostly they are not). But, the software to create any type of simulation was never built in full, instead the software was built to create any type of animation. The application provided a set of tools to draw basic graphics shapes and animate them. I wanted to provide a set of tools to mathematically relate graphical objects as in Adobes Flash Design Tool, but the design was not well thought to take the application to such level. Tool available in market similar to what I dreamed is: https://www.wolfram.com/system-modeler/features/modeling-simulation.html
Let us call this approach of simulation as: 'Tool Based Artificial Intelligence'

4. Computerized Simulation of Human Eye ( Optical Character Recognition)
=> Working of Human Mind has been a biggest fascination for me for all the time. Inside human mind, a neuron process electrical signals by building a neural network. Neuron is building block of this network and it functions like a pattern recognizer. Our brain is always trying to predict future and perform actions. It senses things and adjust motor activities accordingly. This learning and classification of data is a classical way to solve many AI problems. Based on this approach, we tried to implement (http://www.pranavmistry.com/projects/quickies/) intelligent sticky notes as our graduation project. It was not fully successful in terms of accuracy of image processing of characters and was not of practical use, But I got to implement 3 things that I wanted to implement in the field of artificial intelligence:
1. Use of Artificial Neural Networks to identify patterns in image ( Optical Character Recognition )
2. Use of Natural Language Processing to identify purpose of paragraph ( Email, Remainder, Calculations )
3. Use of Agent Based Architecture for natural human interaction ( http://en.wikipedia.org/wiki/Intelligent_agent )
Let us call these approaches of simulation as: 'Classifier Based Artificial Intelligence', 'Pattern Based Artificial Intelligence' and 'Agent Based Intelligence' respectively.

5. Computerized Simulation of Human Mind
=> I tried to model human mind's different functions like knowledge digestion, reasoning, creative thinking into computer, But in the end it all seems like we are feeding a program to computer to get some task automated from the computer. Computer can never function like a human mind because its underlying hardware is designed to minimize errors and human mind is designed to learn from errors and evolve. Knowledge Engine is an attempt to determine exact gap between the two things. It is like semantic web concept which aims to remove the rigidity in the data over internet and define a universal thought format. It is like a generalized expert system that simulates consciousness of human mind and is able to relate the information over internet just like a human mind does. Like a normal search engine, it improves with each user using the system to share knowledge and learns from them about different ways to analyze, learn and represent knowledge.

Details about 'How knowledge engine will work' will follow in later posts.
I invite all readers to share their views and later help in developing this search engine.

Existing Knowledge Engine: https://www.wolframalpha.com/ ( Computational Knowledge Engine )