Saturday, September 12, 2015

How do I get Java for Embedded Devices


Java for embedded devices (Java Embedded) is generally integrated by the device manufacturers. It is NOT available for download or installation by consumers. You need to check with your device manufacturer about availability of this technology in your device.
Embedded devices, or embedded systems, are specialized computer systems that constitute components of larger electromechanical systems with which they interface. These can range from the tiny chips on your office identification card or credit card, to components of very larger server class systems. Many of the sophisticated and connected devices supporting our daily activities are "embedded devices". Some common examples include SIM cards, VOIP phones, Blu-ray Disc players, televisions, utility meters, healthcare gateways, industrial controls, and countless other devices. Oracle's Java Embedded technologies provide the software development platform and runtime for billions of these embedded devices.
Developers should refer to the Oracle Technology Network (OTN) for more information about Java Embedded technologies and Oracle's Java Embedded solutions. Oracle offers a variety of Java Embedded products that allow you to develop highly functional, reliable, portable, and secure solutions for small to large embedded devices while reducing costs, improving product quality, and speeding time to market.

Wednesday, September 9, 2015

Defining a database

All this data needs to reside somewhere; specifically, within a database.
Databases are complex software programs that catalog and provide access to
data. Although the data is usually stored on a disk storage system, the database
software manages how that data is stored and managed.
Businesses use databases to store their data because the size and complexity
of their data often exceed what can be stored on a spreadsheet. Most business
and scientific activities, and many social activities involving technology
will require the creation, access, updating, or deleting of data at some level.
It is database software that allows these activities occur in a fast, efficient
manner.

Sunday, August 30, 2015

Intel Develops Programming Language For Multi-Core Computers

The language is an extension of C/C++, which are very familiar to software developers getting applications ready to run on Intel or AMD platforms.

As Intel and rival Advanced Micro Devices increase computer performance by adding cores to microprocessors, software makers are left with the daunting task of writing applications that take full advantage of the complex environment. Intel hopes to lend a hand through a new programming language -- called Ct -- the chipmaker has developed specifically for multi-core computing.
Ct was among the dozens of projects Intel had on display Wednesday at the Computer History Museum, Mountain View, Calif. While most of the technology demonstrated at the open house for Intel labs is years away from being productized, Ct is relatively close.
The language is an extension of C/C++, which are very familiar to software developers getting applications ready to run on Intel or AMD platforms. Where the languages require developers to manually partition code to run on specific cores, Ct does it automatically. "With Ct, it's almost like you're writing to a single-core machine," Mohan Rajagopalan, a senior researcher for Intel, said. "You leave it to the compiler and runtime to parallelize."

The Ct compiler developed by Intel chops up the code to run on separate cores based on the type of data and the operation being performed on the data, Rajagopalan said. Intel also has developed the runtime and an API for the compiler.
Most C/C++ programmers should be able to pick up Ct quickly, since less than 5% of the language will be new, according to Rajagopalan. In addition, programs compiled in Ct can scale to as many cores as are available. "Once the code is compiled, the runtime figures out the platform and adjusts accordingly," Rajagopalan said.
Intel is working with independent software vendors in developing the documentation and support that will be needed to adopt Ct. Intel has yet to decide whether to release the language to the open source community or take another route in distributing it. "We have the technology in place, so it's now about adoption," Rajagopalan said.
Among the developers that would find Ct particularly helpful will be those making financial analytics applications and software that performs lots of image processing or video decoding.

Subview and Superview(IOS 8)

A view (an object whose class is UIView or a subclass of UIView) knows how to draw
itself into a rectangular area of the interface. Your app has a visible interface thanks to
views. Creating and configuring a view can be extremely simple: “Set it and forget it.”
For example, you can drag an interface object, such as a UIButton, into a view in the
nib editor; when the app runs, the button appears, and works properly. But you can also
manipulate views in powerful ways, in real time. Your code can do some or all of the
view’s drawing of itself  it can make the view appear and disappear, move,
resize itself, and display many other physical changes, possibly with animation


Because view objects are the main way your application interacts with the user, they have many responsibilities. Here are just a few:
  • Layout and subview management
    • A view defines its own default resizing behaviors in relation to its parent view.
    • A view can manage a list of subviews.
    • A view can override the size and position of its subviews as needed.
    • A view can convert points in its coordinate system to the coordinate systems of other views or the window.
  • Drawing and animation
    • A view draws content in its rectangular area.
    • Some view properties can be animated to new values.
  • Event handling
    • A view can receive touch events.
    • A view participates in the responder chain.

Thursday, August 27, 2015

8051 Microcontroller

is a Harvard architecture, CISC instruction set, single chip microcontroller (µC) series which was developed by Intel in 1980 for use in embedded systems. Intel's original versions were popular in the 1980s and early 1990s and enhanced binary compatible derivatives remain popular today.
The Intel 8051 microcontroller is one of the most popular general purpose microcontrollers in use today. The success of the Intel 8051 spawned a number of clones which are collectively referred to as the MCS-51 family of microcontrollers, which includes chips from vendors such as Atmel, Philips, Infineon, and Texas Instruments.


The Intel 8051 is an 8-bit microcontroller which means that most available operations are limited to 8 bits. There are 3 basic "sizes" of the 8051: Short, Standard, and Extended. The Short and Standard chips are often available in DIP (dual in-line package) form, but the Extended 8051 models often have a different form factor, and are not "drop-in compatible". All these things are called 8051 because they can all be programmed using 8051 assembly language, and they all share certain features (although the different models all have their own special features).
Some of the features that have made the 8051 popular are:
  • 4 KB on chip program memory.
  • 128 bytes on chip data memory(RAM)
[ 32 bank reg + 16 bit addressable reg + 80 general purpose reg ]
  • 4 reg banks.
  • 128 user defined software flags.
  • 8-bit data bus
  • 16-bit address bus
  • 16 bit timers (usually 2, but may have more, or less).
  • 3 internal and 2 external interrupts.
  • Bit as well as byte addressable RAM area of 16 bytes.
  • Four 8-bit ports, (short models have two 8-bit ports).
  • 16-bit program counter and data pointer.
  • 1 Microsecond instruction cycle with 12 MHz Crystal.
8051 models may also have a number of special, model-specific features, such as UART, ADC, Op_Amps, etc... it is a very powerful micro controller.

Wednesday, August 26, 2015

The Advantages of MATLAB for Problem Solving

MATLAB has many advantages compared to conventional computer languages
for technical problem solving. Among them are:
1. Ease of Use. MATLAB is very easy to use. The program can be used as
a scratch pad to evaluate expressions typed at the command line, or it can
be used to execute large pre-written programs. Programs may be easily
written and modified with the built-in integrated development environment,
and debugged with the MATLAB debugger. Because the language
is so easy to use, it is ideal for educational use, and for the rapid prototyping
of new programs.
Many program development tools are provided to make the program
easy to use. They include an integrated editor / debugger, on-line documentation
and manuals, a workspace browser, and extensive demos.
2. Platform Independence. MATLAB is supported on many different computer
systems, providing a large measure of platform independence. At
the time of this writing, the language is supported on Windows
XP/Vista/7, Linux, Unix, and the Macintosh. Programs written on any
platform will run on all of the other platforms, and data files written on
any platform may be read transparently on any other platform. As a result,
programs written in MATLAB can migrate to new platforms when the
needs of the user change.
3. Pre-defined Functions. MATLAB comes complete with an extensive
library of pre-defined functions that provide tested and pre-packaged
solutions to many basic technical tasks. For example, suppose that you are
writing a program that must calculate the statistics associated with an
input data set. In most languages, you would need to write your own subroutines
or functions to implement calculations such as the arithmetic
mean, standard deviation, median, etc. These and hundreds of other functions
are built right into the MATLAB language, making your job much
easier.
The built-in functions can solve an astonishing range of problems,
such as solving systems of simultaneous equations, sorting, plotting, finding
roots of equations, numerical integration, curve fitting, solving ordinary
and partial differential equations, and much, much more.
In addition to the large library of functions built into the basic MATLAB
language, there are many special-purpose toolboxes available to help
solve complex problems in specific areas. For example, a user can buy
standard toolboxes to solve problems in Signal Processing, Control
Systems, Communications, Image Processing, and Neural Networks,
among many others.
4. Device-Independent Plotting. Unlike other computer languages, MATLAB
has many integral plotting and imaging commands. The plots and
images can be displayed on any graphical output device supported by
the computer on which MATLAB is running. This capability makes
MATLAB an outstanding tool for visualizing technical data. Plotting is
introduced in Chapter 2, and covered extensively in Chapters 3 and 8.
Advanced features such as animations and movies are covered in
Chapter 10.
5. Graphical User Interface. MATLAB includes tools that allow a program
to interactively construct a Graphical User Interface (GUI) for his
or her program. With this capability, the programmer can design sophisticated
data analysis programs that can be operated by relatively-inexperienced

Friday, August 21, 2015

HTTP and HTML: Berners-Lee’s Basics


HTTP is a communication standard governing the requests and responses that take
place between the browser running on the end user’s computer and the web server. The
server’s job is to accept a request from the client and attempt to reply to it in a meaningful
way, usually by serving up a requested web page—that’s why the term server is used. The
natural counterpart to a server is a client, so that term is applied both to the web browser
and the computer on which it’s running.
Between the client and the server there can be several other devices, such as routers,
proxies, gateways, and so on. They serve different roles in ensuring that the requests
and responses are correctly transferred between the client and server. Typically, they
use the Internet to send this information.
A web server can usually handle multiple simultaneous connections and—when not
communicating with a client—spends its time listening for an incoming connection.
When one arrives, the server sends back a response to confirm its receipt.
The Request/Response Procedure
At its most basic level, the request/response process consists of a web browser asking
the web server to send it a web page and the server sending back the page. The browser
then takes care of displaying the page (see Figure 1-1).
Each step in the request and response sequence is as follows:
1. You enter http://server.com into your browser’s address bar.
2. Your browser looks up the IP address for server.com.
3. Your browser issues a request for the home page at server.com.
4. The request crosses the Internet and arrives at the server.com web server.
5. The web server, having received the request, looks for the web page on its hard disk.
6. The web page is retrieved by the server and returned to the browser.
7. Your browser displays the web page.
For an average web page, this process takes place once for each object within the page:
a graphic, an embedded video or Flash file, and even a CSS template.
In step 2, notice that the browser looked up the IP address of server.com. Every machine
attached to the Internet has an IP address—your computer included. But we generally
access web servers by name, such as google.com. As you probably know, the browser
consults an additional Internet service called the Domain Name Service (DNS) to find
its associated IP address and then uses it to communicate with the computer.
For dynamic web pages, the procedure is a little more involved, because it may bring
both PHP and MySQL into the mix (see Figure 1-2).
Here are the steps for a dynamic client/server request/response sequence:
1. You enter http://server.com into your browser’s address bar.
2. Your browser looks up the IP address for server.com.
3. Your browser issues a request to that address for the web server’s home page.
4. The request crosses the Internet and arrives at the server.com web server.
5. The web server, having received the request, fetches the home page from its hard
disk.
6. With the home page now in memory, the web server notices that it is a file incorporating
PHP scripting and passes the page to the PHP interpreter.
7. The PHP interpreter executes the PHP code.
8. Some of the PHP contains MySQL statements, which the PHP interpreter now
passes to the MySQL database engine.
9. The MySQL database returns the results of the statements back to the PHP
interpreter.
10. The PHP interpreter returns the results of the executed PHP code, along with the
results from the MySQL database, to the web server.
11. The web server returns the page to the requesting client, which displays it.
Although it’s helpful to be aware of this process so that you know how the three elements
work together, in practice you don’t really need to concern yourself with these details,
because they all happen automatically.
HTML pages returned to the browser in each example may well contain JavaScript,
which will be interpreted locally by the client, and which could initiate another request—
the same way embedded objects such as images would.
The Benefits of PHP, MySQL, JavaScript, CSS,

Wednesday, August 19, 2015

Preliminaries

In a computer, the driver is a set of instructions called a program. More formally, a
computer program is a self-contained set of instructions used to operate a computer to produce
a specific result.
At its most basic level, a program is a solution developed to solve a particular problem,
written in a form that can be executed on a computer. Therefore, writing a program is almost
the last step in a process that first determines the problem to be solved and the method to be
used in the solution. Each field of study has its own name for the systematic method of designing
solutions to solve problems. In science and engineering, the approach is referred to as the
scientific method, and in quantitative analysis, the approach is called the systems approach.
Professional software developers use the software development procedure for understanding
the problem to be solved and for creating an effective, appropriate software solution. This
procedure, illustrated.
 Phase I: Development and Design
Phase I begins with a statement of a problem or a specific request for a program, which is
referred to as a program requirement. After a problem has been stated or a specific request for
a program solution has been made, the development and design phase begins. This phase
consists of four well-defined steps, illustrated in Figure 1.3
 Step 1: Analyze the Problem The analysis of a problem can consist of up to two parts. The
first part is a basic analysis that must be performed on all problems; it consists of extracting
the complete input and output information supplied by the problems. For this analysis,
you must
1. Determine and understand the output items the program must produce.
2. Determine the input items.
Together, these two items are referred to as the problem’s input/output (I/O). Only after
determining a problem’s I/O can you select specific steps for transforming inputs into outputs.
At this point, doing a hand calculation to verify that the output(s) can indeed be obtained from
the inputs is sometimes necessary and/or useful. Clearly, if you have a formula that relates
inputs to the output, you can omit this step. If the required inputs are available and the desired
outputs can be produced, the problem is said to be clearly defined and can be solved.
For a variety of reasons, completing a basic analysis might not be possible. If so, an
extended analysis might be necessary. An extended analysis simply means you must gather
more information about the problem so that you thoroughly understand what’s being asked for
and how to achieve the result. In this book, any additional information required to understand
the problem is supplied along with the problem statement.
Step 2: Develop a Solution In this step, you select the exact set of steps, called an
“ algorithm,” to be used to solve the problem. Typically, you find the solution by a series of
refinements, starting with the initial solution you find in the analysis step, until you have an
acceptable and complete solution. This solution must be checked, if it wasn’t done in the
analysis step, to make sure it produces the required outputs correctly. The check is usually
carried out by doing one or more hand calculations that haven’t been done already.
For small programs, the selected solution might be extremely simple and consist of only
one or more calculations. More typically, you need to refine the initial solution and organize it
into smaller subsystems, with specifications for how the subsystems interface with each other.
To achieve this goal, the solution’s description starts from the highest level (top) requirement
and proceeds downward to the parts that must be constructed to meet this requirement. To
make this explanation more meaningful, consider a computer program that must track the