This shows how android works:
Android Security:
Guide to Android OS
Image
Image
Introduction to the
Android Operating
System and Android
Security Features
(including Android
Application Security
Android is a Linux kernel
mobile platform. Android runs
on a wide range of devices,
from mobile smartphones and
tablets, to set-top-boxes. The
Android mobile operating
system is dependent upon the
mobile device’s processer
capabilities for its performance.
Security is a major part of any
Android device. Android was
created with openness in mind,
and is conducive to the use of
third party applications and
cloud-based services. Android
seeks to be a secure and
usable operating system for
mobile platforms.
Android's
Five Key
Security
Features:
1. Security at
the Operating
System level
through the
Linux kernel
2. Mandatory
application
sandbox
3. Secure
interprocess
communication
4. Application
signing
5. Application-
defined and
user granted
permissions
Android Security:
System-Level Security
Features
The Linux kernel provides
Android with a set of security
measures. It grants the
operating system a user-based
permissions model, process
isolation, a secure mechanism
for IPC, and the ability to
remove any unnecessary or
potentially insecure parts of the
kernel. It further works to
prevent multiple system users
from accessing each other’s
resources and exhausting them.
Android Application
Security Features
This user-based protection
allows Android to create an
“Application Sandbox.” Each
Android app is assigned a
unique user ID, and each runs
as a separate process.
Therefore, each application is
enforced at the process level
through the Linux kernel, which
does not allow applications to
interact with one another, and
gives them only limited access
to the Android operating
system. This gives the user
permission based access
control, and he/she is
presented with a list of the
activities the Android
application will perform and
what it will require to do them,
before the app is even
downloaded. The same goes for
filesystem permissions – each
application (or user) has its
own files, and unless a
developer explicitly exposes
files to another Android
application, files created by one
application cannot be ready or
altered by another.
Android Application
Security Scans
When building and testing the
security of Android apps,
developers should follow
Android security best practices
and keep the following in mid
when performing security tests:
inbound SMS listeners
(command and control)
unsafe file creation
improper database storage
unsafe use of shared
preferences
storage of sensitive data on
mass storage device
content provider SQL
injection
APN or proxy modification
Android Security: Geared
Towards User-Friendly
Security
All of Android’s more technical
security features are designed
to be simply presented to the
user, meaning that they can be
easily controlled through the
interface. Straightforward
methods of improving your
Android device’s security can
include: using a password or
pin, setting your phone to lock
after a period of inactivity, only
enabling wireless connections
that you use, and only installing
Android apps you trust and
have personally vetted.
Google also only allows tested
and proven secure Android
applications into its
marketplace, meaning that the
user has less of a chance of
installing a malicious app.
Furthermore, the Android
security system prompts the
user to allow the installation of
an application, meaning that it
is impossible to remotely install
and run an application. Users
can further ensure that their
Android device is secure by
regularly installing system
updates.
assingemnt
Sunday, June 1, 2014
Android
Saturday, May 31, 2014
Sound editing
Sound editing
Defination:-
Sound editing is a process that
requires both skill and instinct.
Today, most sound editing is done
digitally using specialized software.
It wasn’t always this way. Magnetic
tape and tape recorders were first
invented in the late 1940s. Using
magnetic tape for recording and
editing sound was the status quo
until the mid 1990s when computers
and digital software revolutionized
the sound editing process.
The editing process was slow,
tedious, and sometimes unstable. To
edit sound with magnetic tape, the
user had to find both points on the
tape where the splice needed to
occur, place the tape in an “editing
block” which provided a pre-cut
splice area sunken at a 45 degree
angle, place the tape in the block,
use a razor blade to cut the tape in
the 45 degree angle groove, and then
physically join the magnetic tape
back together with a specially
designed editing tape.
And if you screwed up the splice,
then you had to undo everything, use
the editing tape to put the magnetic
tape back the way it was, and then
try again. It was tedious and
sometimes frustrating work. The user
had no visual of the recorded sound
to refer to, either. It was all done by
ear.
Editing Today
Now a computer user can own
software which is as powerful as an
older magnetic-tape based 64-track
recording studio. It’s an amazing
amount of power and a user can
acquire many software applications,
may free or extremely low in cost.
Editing is both a skill and an art. Yes,
there are proven methods which
allow an editor to create a better
product that anyone can learn but
the proficient editor over time also
acquires a sense for eliminating,
adding or accentuating audio for
projects.
Why do we edit? Mainly for
aesthetics but proper editing also
keeps a listener’s attention. Long
audio pieces - or audio that has
extraneous sound in it - tends to
bore listeners. Shorter audio
accentuated by music, sound effects
or sound punctuation keeps a
listener’s attention and helps you
make your point.
Whether you are editing sound for
personal or professional reasons, a
home video, a website, a powerpoint
presentation or any other project, you
will achieve more personal pride
from a good product and your
listener will be treated to a more
enjoyable experience.
Tools you will need
This course was designed using
Audacity, a free sound editor. It is
available for Windows, Mac OS and
Linux/Unix systems. http://
audacity.sourceforge.net/
Today's task is to download Audacity
and install it. Once you have done
this, familiarize yourself with the
program.
The help file is very well done and
can easily help you learn the basic
commands for opening, editing and
saving files. (It is important you do
this because this editing course is
not a course in how to use this
program.)
Although Audacity is a very powerful
program, the only thing you need to
do now is learn the very basics. In
our next lesson, we will begin
editng
Sam
Monday, May 26, 2014
JAVA
Java is a computer programming
language that is concurrent, class-
based , object-oriented , and
specifically designed to have as
few implementation dependencies
as possible. It is intended to let
application developers " write once,
run anywhere" (WORA), meaning
that code that runs on one platform
does not need to be recompiled to
run on another. Java applications
are typically compiled to bytecode
( class file ) that can run on any
Java virtual machine (JVM)
regardless of computer
architecture . Java is, as of 2014,
one of the most popular
programming languages in use,
particularly for client-server web
applications, with a reported 9
million developers. [10][11] Java
was originally developed by James
Gosling at Sun Microsystems
(which has since merged into
Oracle Corporation) and released in
1995 as a core component of Sun
Microsystems' Java platform. The
language derives much of its
syntax from C and C++ , but it has
fewer low-level facilities than either
of them.
The original and reference
implementation Java compilers ,
virtual machines, and class
libraries were developed by Sun
from 1991 and first released in
1995. As of May 2007, in
compliance with the specifications
of the Java Community Process ,
Sun relicensed most of its Java
technologies under the GNU
General Public License . Others
have also developed alternative
implementations of these Sun
technologies, such as the GNU
Compiler for Java (bytecode
compiler), GNU Classpath
(standard libraries), and IcedTea-
Web (browser plugin for applets).
History
See also: Java (software platform)
§ History
Duke, the Java mascot
James Gosling, Mike Sheridan, and
Patrick Naughton initiated the Java
language project in June 1991. [12]
Java was originally designed for
interactive television, but it was
too advanced for the digital cable
television industry at the time. [13]
The language was initially called
Oak after an oak tree that stood
outside Gosling's office; it went by
the name Green later, and was later
renamed Java , from Java coffee,
[14] said to be consumed in large
quantities by the language's
creators. [ citation needed ] Gosling
aimed to implement a virtual
machine and a language that had a
familiar C / C++ style of notation.
[15]
Sun Microsystems released the
first public implementation as Java
1.0 in 1995. [1] It promised "Write
Once, Run Anywhere" (WORA),
providing no-cost run-times on
popular platforms . Fairly secure
and featuring configurable security,
it allowed network- and file-access
restrictions. Major web browsers
soon incorporated the ability to run
Java applets within web pages, and
Java quickly became popular. With
the advent of Java 2 (released
initially as J2SE 1.2 in December
1998 – 1999), new versions had
multiple configurations built for
different types of platforms. For
example, J2EE targeted enterprise
applications and the greatly
stripped-down version J2ME for
mobile applications (Mobile Java).
J2SE designated the Standard
Edition. In 2006, for marketing
purposes, Sun renamed new J2
versions as Java EE , Java ME , and
Java SE , respectively.
In 1997, Sun Microsystems
approached the ISO/IEC JTC1
standards body and later the Ecma
International to formalize Java, but
it soon withdrew from the process.
[16] Java remains a de facto
standard, controlled through the
Java Community Process. [17] At
one time, Sun made most of its
Java implementations available
without charge, despite their
proprietary software status. Sun
generated revenue from Java
through the selling of licenses for
specialized products such as the
Java Enterprise System. Sun
distinguishes between its Software
Development Kit (SDK) and
Runtime Environment (JRE) (a
subset of the SDK); the primary
distinction involves the JRE's lack
of the compiler, utility programs,
and header files.
On November 13, 2006, Sun
released much of Java as free and
open source software , (FOSS),
under the terms of the GNU General
Public License (GPL). On May 8,
2007, Sun finished the process,
making all of Java's core code
available under free software /
open-source distribution terms,
aside from a small portion of code
to which Sun did not hold the
copyright. [18]
Sun's vice-president Rich Green
said that Sun's ideal role with
regards to Java was as an
"evangelist." [19] Following Oracle
Corporation's acquisition of Sun
Microsystems in 2009–2010,
Oracle has described itself as the
"steward of Java technology with a
relentless commitment to fostering
a community of participation and
transparency". [20] This did not
hold Oracle, however, from filing a
lawsuit against Google shortly after
that for using Java inside the
Android SDK (see Google section
below). Java software runs on
everything from laptops to data
centers, game consoles to
scientific supercomputers . There
are 930 million Java Runtime
Environment downloads each year
and 3 billion mobile phones run
Java. [21] On April 2, 2010, James
Gosling resigned from Oracle. [22]
Principles
James Gosling, the creator of
Java
There were five primary goals in
the creation of the Java language:
[23]
1. It should be "simple, object-
oriented and familiar"
2. It should be "robust and
secure"
3. It should be "architecture-
neutral and portable"
4. It should execute with "high
performance"
5. It should be "interpreted,
threaded, and dynamic"
Versions
Main article: Java version history
Major release versions of Java,
along with their release dates:
JDK 1.0 (January 21, 1996)
JDK 1.1 (February 19, 1997)
J2SE 1.2 (December 8, 1998)
J2SE 1.3 (May 8, 2000)
J2SE 1.4 (February 6, 2002)
J2SE 5.0 (September 30, 2004)
Java SE 6 (December 11, 2006)
Java SE 7 (July 28, 2011)
Java SE 8 (March 18, 2014)
Practices
Java platform
Main articles: Java (software
platform) and Java virtual machine
One characteristic of Java is
portability, which means that
computer programs written in the
Java language must run similarly
on any hardware/operating-system
platform. This is achieved by
compiling the Java language code
to an intermediate representation
called Java bytecode , instead of
directly to platform-specific
machine code . Java bytecode
instructions are analogous to
machine code, but they are
intended to be interpreted by a
virtual machine (VM) written
specifically for the host hardware.
End-users commonly use a Java
Runtime Environment (JRE)
installed on their own machine for
standalone Java applications, or in
a Web browser for Java applets .
Standardized libraries provide a
generic way to access host-
specific features such as graphics,
threading , and networking .
A major benefit of using bytecode
is porting. However, the overhead
of interpretation means that
interpreted programs almost always
run more slowly than programs
compiled to native executables
would. Just-in-Time (JIT)
compilers were introduced from an
early stage that compile bytecodes
to machine code during runtime.
Implementations
See also: Free Java
implementations
Oracle Corporation is the current
owner of the official
implementation of the Java SE
platform, following their acquisition
of Sun Microsystems on January
27, 2010. This implementation is
based on the original
implementation of Java by Sun.
The Oracle implementation is
available for Mac OS X , Windows
and Solaris . Because Java lacks
any formal standardization
recognized by Ecma International,
ISO/IEC, ANSI, or other third-party
standards organization, the Oracle
implementation is the de facto
standard .
The Oracle implementation is
packaged into two different
distributions: The Java Runtime
Environment (JRE) which contains
the parts of the Java SE platform
required to run Java programs and
is intended for end-users, and the
Java Development Kit (JDK), which
is intended for software developers
and includes development tools
such as the Java compiler ,
Javadoc , Jar , and a debugger .
OpenJDK is another notable Java
SE implementation that is licensed
under the GPL . The implementation
started when Sun began releasing
the Java source code under the
GPL . As of Java SE 7, OpenJDK is
the official Java reference
implementation.
The goal of Java is to make all
implementations of Java
compatible. Historically, Sun's
trademark license for usage of the
Java brand insists that all
implementations be "compatible".
This resulted in a legal dispute
with Microsoft after Sun claimed
that the Microsoft implementation
did not support RMI or JNI and had
added platform-specific features of
their own. Sun sued in 1997, and
in 2001 won a settlement of US$20
million, as well as a court order
enforcing the terms of the license
from Sun. [24] As a result,
Microsoft no longer ships Windows
with Java.
Platform-independent Java is
essential to Java EE , and an even
more rigorous validation is required
to certify an implementation. This
environment enables portable
server-side applications.
Performance
Main article: Java performance
Programs written in Java have a
reputation for being slower and
requiring more memory than those
written in C++ . [25][26] However,
Java programs' execution speed
improved significantly with the
introduction of Just-in-time
compilation in 1997/1998 for Java
1.1 , [27] the addition of language
features supporting better code
analysis (such as inner classes,
the StringBuilder class, optional
assertions, etc.), and optimizations
in the Java virtual machine itself,
such as HotSpot becoming the
default for Sun's JVM in 2000.
Some platforms offer direct
hardware support for Java; there
are microcontrollers that can run
Java in hardware instead of a
software Java virtual machine, and
ARM based processors can have
hardware support for executing
Java bytecode through their Jazelle
option.
Automatic memory
management
Java uses an automatic garbage
collector to manage memory in the
object lifecycle. The programmer
determines when objects are
created, and the Java runtime is
responsible for recovering the
memory once objects are no longer
in use. Once no references to an
object remain, the unreachable
memory becomes eligible to be
freed automatically by the garbage
collector. Something similar to a
memory leak may still occur if a
programmer's code holds a
reference to an object that is no
longer needed, typically when
objects that are no longer needed
are stored in containers that are
still in use. If methods for a
nonexistent object are called, a
"null pointer exception" is thrown.
[28][29]
One of the ideas behind Java's
automatic memory management
model is that programmers can be
spared the burden of having to
perform manual memory
management. In some languages,
memory for the creation of objects
is implicitly allocated on the stack,
or explicitly allocated and
deallocated from the heap . In the
latter case the responsibility of
managing memory resides with the
programmer. If the program does
not deallocate an object, a memory
leak occurs. If the program
attempts to access or deallocate
memory that has already been
deallocated, the result is undefined
and difficult to predict, and the
program is likely to become
unstable and/or crash. This can be
partially remedied by the use of
smart pointers , but these add
overhead and complexity. Note that
garbage collection does not
prevent "logical" memory leaks, i.e.
those where the memory is still
referenced but never used.
Garbage collection may happen at
any time. Ideally, it will occur when
a program is idle. It is guaranteed
to be triggered if there is
insufficient free memory on the
heap to allocate a new object; this
can cause a program to stall
momentarily. Explicit memory
management is not possible in
Java.
Java does not support C/C++ style
pointer arithmetic , where object
addresses and unsigned integers
(usually long integers) can be used
interchangeably. This allows the
garbage collector to relocate
referenced objects and ensures
type safety and security.
As in C++ and some other object-
oriented languages, variables of
Java's primitive data types are not
objects. Values of primitive types
are either stored directly in fields
(for objects) or on the stack (for
methods) rather than on the heap,
as is commonly true for objects
(but see escape analysis ). This
was a conscious decision by
Java's designers for performance
reasons. Because of this, Java was
not considered to be a pure object-
oriented programming language.
However, as of Java 5.0,
autoboxing enables programmers
to proceed as if primitive types
were instances of their wrapper
class.
Java contains multiple types of
garbage collectors. By
default, [ citation needed ] HotSpot
uses the concurrent mark sweep
collector , also known as the CMS
garbage collector or CMS.
However, there are also several
other garbage collectors that can
be used to manage the heap. For
90% of applications in Java, the
CMS garbage collector is sufficient.
[30] Oracle aims to replace CMS
with the Garbage-first collector
(G1).
Syntax
Main article: Java syntax
The syntax of Java is largely
derived from C++ . Unlike C++,
which combines the syntax for
structured, generic, and object-
oriented programming, Java was
built almost exclusively as an
object-oriented language. All code
is written inside a class, and
everything is an object, with the
exception of the primitive data
types (i.e. integers, floating-point
numbers, boolean values, and
characters), which are not classes
for performance reasons.
Unlike C++, Java does not support
operator overloading or multiple
inheritance for classes . This
simplifies the language and aids in
preventing potential errors and
anti-pattern design.
Java uses similar commenting
methods to C++. There are three
different styles of comments: a
single line style marked with two
slashes ( // ), a multiple line
style opened with /* and
closed with */ , and the
Javadoc commenting style opened
with /** and closed with
*/ . The Javadoc style of
commenting allows the user to ru
Big data solution for real estate
Big data on real estate 2014
the accumulation of massive
amounts of information that are
not suited to traditional
econometric and statistical
techniques. I predict that this
phenomenon will someday change
the way real estate economics are
done.
Models of house prices are used in
a lot of ways. This is how a lot of
cities and counties do “mass
appriasals”. It’s how house price
indexes separate price changes
from quality changes. When
companies like Zillow generate
Zestimates of what a house is
worth, these are the models
underlying them. It’s how the
Bureau of Labor statistics adjusts
housing rents for quality changes
and depreciation when computing
the CPI.
The general form of these models is
to take the log of price as the
dependent variable, and housing
and neighborhood characteristics
as the independent variable. But
the list of independent variables
that is usually available gives you a
relatively limited description. While
the exact list varies form data
source to data source, typically it
might look like: building square
footage, lot square footage, number
of stories, number of bedrooms,
number of bathrooms, central air
(yes/no), number of fireplaces,
garage size, finished basement
(yes/no), and of course address.
Using this last variable you can get
a lot more information about the
neighborhood from other data
sources.
This is the basics of what a lot of
house price models are dealing
with. It might not sound like a lot
of information, but in many
circumstances you can explain a
huge amount of the variation in
house prices using relatively
limited information like this. In
fact using just neighborhood
indicators and square footage you
can usually explain a significant
amount of the variation. However,
even 80% of the variation
explained still leaves a lot
unexplained. And intuitively these
kinds of variables still leave a lot
of information out. This is where I
think things will be changing in the
future due to what people are
calling “smart homes”.
There are a variety of “smart
home” products on the market
now, but these things are going to
get more and more sophisticated
soon. The cuurent generation of
Roombas just sort of bounce
around the room, but other robot
vacuums scan the room first and
make a plan. The Nest smart
thermostat that Google recently
acquired recently pays attention to
where you are in your house and
when and remembers this. It’s easy
to imagine where this leads in the
future: Robot vacuums will know
the dimension of every room in the
house, the kind of flooring in each,
and maybe even the quality and
age of the flooring; smart TVs will
know which room is the living
room; Nest knows which room is
the kitchen, which are the
bedrooms, and how energy
efficient the home is. What’s more
Nest will be able to measure the
extent to which the house is fully
utilized and therefore how
convenient the layout is; in other
words, a Walkscore for your home.
And this is just the information
that smart homes will bring. There
is a whole other set of high
dimension data coming on
neighborhoods. This includes data
tracking the paths of bikers and
runners, counting potholes,
measuring the location and quality
of amenities like the real
Walkscore measure, and so forth.
This provides even wider data that
often has both high frequency
spatial and time dimensionality.
Some of this stuff is being
incorporated in analysis already
(see for example research from
Emily Washington and Eli Dourado
on Walkscore). But there is a long
way to go in terms of incorporating
a lot of high-dimensional property
and neighborhood data into house
price models.
In short, you can imagine the
creation of very, very wide high-
dimension datasets. What do you
do with a dataset that “knows”
your house with this level of
detail? Suddenly variable selction
becomes an important part of the
challenge, and economic theory
may provide little guidance. The
use of principle components to
create measures of “house quality”
from several variables is not new
in real estate economics, but that is
really just scratching the surface
when it comes to machine learning
models that could be utilized and
doesn’t really capture the
potentially highly non-linear and
interactive nature of the
relationships between these
variables.
High-frequency and high-
dimensional datasets are going to
change a lot of research that until
now has been relatively simple.
Researchers just starting out their
academic careers should definitely
be taking a look at machine
learning tools in anticipation of the
exciting future of data.
Monday, May 19, 2014
Big data solutions
Hello world!
The more business solutions have to rely on big dat The Power to Transform
Your Business
Big data is the electricity of the 21st
century—a new kind of power that
transforms everything it touches in
business, government, and private
life.
Today, companies use data to model
and control processes and run the
business. This torrent of new data
offers an opportunity to gain
unprecedented insight and quickly
test new ideas. It also provides the
power to fundamentally change
business operations.
While electricity took more than 100
years to transform the world, big data
is revolutionizing the way businesses
and government operate virtually
overnight. As you explore how to
leverage the power of big data in
your business, let the data experts at
Oracle show you how to maximize
value from big data and transform
your world.
Thursday, January 9, 2014
Data mining, second semester.
DATA MART
The related term spreadmart is a derogatory label describing the situation that occurs when one or more business analysts develop a system of linked spreadsheets to perform a business analysis, then grow it to a size and degree of complexity that makes it nearly impossible to maintain.
The primary use for a data mart is business intelligence (BI) applications. BI is used to gather, store, access and analyze data. The data mart can be used by smaller businesses to utilize the data they have accumulated. A data mart can be less expensive than implementing a data warehouse, thus making it more practical for the small business. A data mart can also be set up in much less time than a data warehouse, being able to be set up in less than 90 days. Since most small businesses only have use for a small number of BI applications, the low cost and quick set up of the data mart makes it a suitable method for storing data.[2]
OLAP & OLTP
OLAP vs OLTP: what makes the difference
OLPT and OLAP are complementing technologies. You can't live without OLTP: it runs your business day by day. So, using getting strategic information from OLTP is usually first “quick and dirty” approach, but can become limiting later.This post explores key differences between two technologies.
OLTP stands for On Line Transaction Processing and is a data modeling approach typically used to facilitate and manage usual business applications. Most of applications you see and use are OLTP based.
OLAP stands for On Line Analytic Processing and is an approach to answer multi-dimensional queries. OLAP was conceived for Management Information Systems and Decision Support Systems but is still widely underused: every day I see too much people making out business intelligence from OLTP data!
With the constant growth of data analysis and business intelligence applications (now even in small business) understanding OLAP nuances and benefits is a must if you want provide valid and useful analytics to management.
The following table summarized main differences between OLPT and OLAP:
| OLTP | OLAP | |
| Application | Operational: ERP, CRM, legacy apps, ... | Management Information System, Decision Support System |
| Typical users | Staff | Managers, Executives |
| Horizon | Weeks, Months | Years |
| Refresh | Immediate | Periodic |
| Data model | Entity-relationship | Multi-dimensional |
| Schema | Normalized | Star |
| Emphasis | Update | Retrieval |
Let's go straight to each key points.
Horizon
OLTP databases store “live” operational information. An invoice, for example, once paid, is possibly moved to some sort of backup store, maybe upon period closing. On the other side 5-10 strategic analysis are usual to identify trends. Extending life of operational data, would not be enough (in addition to possibly impacting performance).Even keeping that data indexed and online for years, you would surely face compatibility problems. It is quite improbable that your current invoice fields and references are the same of 10 years ago!
But neither performance nor compatibility are the biggest concern under large horizon. Real problem is business dynamics. Today business constantly change and the traditional entity-relationship approach is too vulnerable to changes. I will better explore this point in next post with a practical example.
Refresh
OLPT requires instant update. When you cash some money from an ATM you balance shall be immediately updated. OLAP has not such requirement. Nobody needs instant information to make strategic business decision.This allows OLAP data to be refreshed daily. This means extra timing and resources for cleansing and accruing data. If, for example, an invoice was canceled, we wouldn't like to see its value first inflating sales figures and later reverted.
More time and more resources would also allow better indexing to address huge tables covering the extended horizon.
Data Model & Schema
This is possibly the most evident difference between two approaches. OLTP perfectly fits traditional entity-relationship or object-oriented models. We usually refer to information as attributes related to entities, objects or classes, like product price, invoice amount or client name. Mapping can be with a simple, one argument function:product » price
invoice » amount
client » name
Such functions can be implemented though classic tables, one row per instance, where each attribute is mapped to one column.
Now, if you listen to typical business questions you perceive a different requirement:
- What is gross margin by product
category in Europe and Asia?
- What's our current inventory by
product and warehouse?
- Which was the evolution of return
rate of different products acquired by different suppliers?