Wednesday, July 28, 2010

PL/SQL

In Oracle database management, PL/SQL is a procedural language extension to Structured Query Language (SQL). The purpose of PL/SQL is to combine database language and procedural programming language. The basic unit in PL/SQL is called a block, which is made up of three parts: a declarative part, an executable part, and an exception-building part.
Because PL/SQL allows you to mix SQL statements with procedural constructs, it is possible to use PL/SQL blocks and subprograms to group SQL statements before sending them to Oracle for execution. Without PL/SQL, Oracle must process SQL statements one at a time and, in a network environment, this can affect traffic flow and slow down response time. PL/SQL blocks can be compiled once and stored in executable form to improve response time.

A PL/SQL program that is stored in a database in compiled form and can be called by name is referred to as a stored procedure. A PL/SQL stored procedure that is implicitly started when an INSERT, UPDATE or DELETE statement is issued against an associated table is called a trigger.

Friday, July 23, 2010

E-Governance

e-Government (from electronic government, also known as e-gov, digital government, online government or in a certain context transformational government) refers to government's use of information technology to exchange information and services with citizens, businesses, and other arms of government. e-Government may be applied by the legislature, judiciary, or administration, in order to improve internal efficiency, the delivery of public services, or processes of democratic governance. It also refers to the citizen to government interaction including the feed back of policiesThe primary delivery models are Government-to-Citizen or Government-to-Customer (G2C), Government-to-Business (G2B) and Government-to-Government (G2G) & Government-to-Employees (G2E). The most important anticipated benefits of e-government include improved efficiency, convenience, and better accessibility of public services



Thursday, July 22, 2010

WHAT I S ABSTARCTION

Abstraction is the process of recognizing and focusing on important characteristics of a situation or object and leaving/filtering out the un-wanted characteristics of that situation or object.

Lets take a person as example and see how that person is abstracted in various situations

A doctor sees (abstracts) the person as patient. The doctor is interested in name, height, weight, age, blood group, previous or existing diseases etc of a person

An employer sees (abstracts) a person as Employee. The employer is interested in name, age, health, degree of study, work experience etc of a person.
 

So, you see that Abstraction is the basis for software development. Its through abstraction we define the essential aspects of a system. The process of identifying the abstractions for a given system is called as Modelling (or object modelling).

In the above example, the doctor may not be interested in characteristics of a person on which the employer is interested in and vice versa. Both employer and doctor will not be interested in all the characteristics of a person (like the color of dress the person wears on a particular day, the food the person takes, the relatives of the person etc). But however some elements are common to both doctor and the employer (like name, age, height etc). This common element gives way to generalization. Ie, if we eliminate enough details of an abstraction, it become so generalized that it can be applied wide in range of situations.One good example for such a generalization is a cell. A generalized cell would look like


Though the above generalized cell doesnt look like a brain cell or muscle cell, the above can still be used to represent all cell types that have this common features.

In real world, there are millions of abstractions possible and many are complex in nature. The complexities of abstractions are handled by systematically classifying and generalizing the abstractions based on some pre-defined criteria. This process is known as classification. Classification builds up a hierarchy and its called as abstract hierarchy. You can see an example of an abstract hierarchy below .


So, we see that abstraction is the basis for object oriented programming. Abstraction serves as the foundation for determining the classes for a particular system (which is called object model). But be advised, there is no acid test to decide if the abstraction for a given system is right or wrong. A "person" abstraction for a hospital information system would be different from a person abstraction for a library information system and even with hospital information system, person abstraction may be different for different projects.

Once you have abstracted an object, it can be re-used. It can be modified to suit other situations. As a child you learnt Tri-cycle. You used the experience of learning tri-cycle (handle bar control, pedaling) to learn bicycling. What actually you do to learn bicycling is that you only learn to balance the bicycle while you use the experience of tricycle to use handlebar and pedaling. The same case applies to abstraction as well.

Though abstraction seems to be a simple concept, it’s a challenging task. The reasons are

1. There are un-limited numbers of possibilities to define an abstraction for a situation.
2. As mentioned earlier, there is no acid test to determine if the abstraction is right or wrong. You end up discussing, arguing with your counter part that yours is best and his is worst…. He does the same thing…

However, these problems are always addressed as you gain experience (which you can gain by reading more books/articles and doing real time projects) in defining the abstraction. Abstraction by itself is a huge and an interesting concept. But, I feel that most of the people, who define classes, do it without knowing what an abstraction is. Most of the times they are right. But doing your work with more knowledge (knowing what you are doing) lets you to enjoy.

Note: Characteristics of a situation or object may be seen (legs of a table) or unseen (smell of a food), felt or unfelt. This means that there is no specific definition for characteristics of a situation or object..

Hope this article gives you an idea about Abstraction. Please feel free to post comments on what do you think about Abstraction.

Mathematicians

Earliest mathematicians

Little is known of the earliest mathematics, but the famous Ishango Bone from Early Stone-Age Africa has tally marks suggesting arithmetic. The markings include six prime numbers (5, 7, 11, 13, 17, 19) in order, though this is probably coincidence.
The advanced artifacts of Egypt's Old Kingdom and the Indus-Harrapa civilization imply strong mathematical skill, but the first written evidence of advanced arithmetic dates from Sumeria, where 4500-year old clay tablets show multiplication and division problems; the first abacus may be about this old. By 3600 years ago, Mesopotamian tablets show tables of squares, cubes, reciprocals, and even logarithms, using a primitive place-value system (in base 60, not 10). Babylonians were familiar with the Pythagorean theorem, quadratic equations, even cubic equations (though they didn't have a general solution for these), and eventually even developed methods to estimate terms for compound interest.

Also at least 3600 years ago, the Egyptian scribe Ahmes produced a famous manuscript (now called the Rhind Papyrus), itself a copy of a late Middle Kingdom text. It showed simple algebra methods and included a table giving optimal expressions using Egyptian fractions. (Today, Egyptian fractions lead to challenging number theory problems with no practical applications, but they may have had practical value for the Egyptians. To divide 17 grain bushels among 21 workers, the equation 17/21 = 1/2 + 1/6 + 1/7 has practical value, especially when compared with the "greedy" decomposition 17/21 = 1/2 + 1/4 + 1/17 + 1/1428.)

While Egyptians may have had more advanced geometry, Babylon was much more advanced at arithmetic and algebra. This was probably due, at least in part, to their place-value system. But although their base-60 system survives (e.g. in the division of hours and degrees into minutes and seconds) the Babylonian notation, which used the equivalent of IIIIII XXXXXIIIIIII XXXXIII to denote 417+43/60, was unwieldy compared to the "ten digits of the Hindus."

The Egyptians used the approximation π ≈ (4/3)4 (derived from the idea that a circle of diameter 9 has about the same area as a square of side 8). Although the ancient Hindu mathematician Apastamba had achieved a good approximation for √2, and the ancient Babylonians an ever better √2, neither of these ancient cultures achieved a π approximation as good as Egypt's, or better than π ≈ 25/8, until the Alexandrian era.

Early Vedic mathematicians

The greatest mathematics before the Golden Age of Greece was in India's early Vedic (Hindu) civilization. The Vedics understood relationships between geometry and arithmetic, developed astronomy, astrology, calendars, and used mathematical forms in some religious rituals.
The earliest mathematician to whom definite teachings can be ascribed was Lagadha, who apparently lived about 1300 BC and used geometry and elementary trigonometry for his astronomy. Baudhayana lived about 800 BC and also wrote on algebra and geometry; Yajnavalkya lived about the same time and is credited with the then-best approximation to π. Another famous early Vedic mathematician was Apastamba, who probably lived before Pythagoras, did work in geometry, advanced arithmetic, and may have proved the Pythagorean Theorem. (Apastamba used an excellent approximation for the square root of 2 (577/408, one of the continued fraction approximants); a 20th-century scholar has "reverse-engineered" a plausible geometric construction that led to this approximation.) Other early Vedic mathematicians solved quadratic and simultaneous equations.

Other early cultures also developed some mathematics. The ancient Mayans apparently had a place-value system with zero before the Hindus did; Aztec architecture implies practical geometry skills. Ancient China certainly developed mathematics, though little written evidence survives prior to Chang Tshang's famous book.

Tuesday, July 20, 2010

How to Get Success in Your Life - 3 Steps to Living Your Dreams

If you are truly unhappy with your life and tired of not having the life that you want and deserve, Then here are 3 steps to help you get the life that you want for yourself.

Step no. 1 - know exactly what you want for yourself. You need to be specific in all areas of your life. What type of career, relationships, home, etc.... This is extremely important because unless you know exactly what it is that you want out of life then you can not achieve it.

Step no. 2 - Make a definitive plan of action to achieve what you want. But the important thing is to break it down into bits and chunks so that you do not become over whelmed and give up. The secret is to make steps to what needs to be done to complete the goal. You need to prioritize the steps and write them out. Then take
step no. 1 and only focus and work on that until it is completed. Then you need to strike it off the chart this lets you see your progress. If you are able to see progress then it encourages you to go forward and get more done.

Step no. 3 - Overcoming obstacles is very important to your success in life. This is where most folks fall short as soon as there are problems or challenges then they just give up. The only true difference between those that failed and those that went on to succeed is the one that succeeded did not give up. They just keep on trying until they got the results they wanted to get in there life.

You never know just how close you are to your own success in life.

Now go use this in your life.

What exactly is the Unique ID project?

A project in which every Indian citizen would have one unique identification number that will identify him/her. It would not just help the government track down individuals as is highlighted by the media, but would make life far easier for citizens as they would not have to submit so many documents each time they want to avail a new service—private or government .

Once the project is rolled out, each Indian citizen will have one unique identification number that will identify him/her. This will not just help the government track down individuals as is highlighted by the media, but will make life far easier for citizens as they will not have to submit so many documents eachtime they want to avail a new service — private or government.

This will be the equivalent of the social security number in the US. Interestingly, many of the ideas like pension and social security would also be easier to roll out. If used properly, this will also channelize the government subsidies to the right recipients.

ASP.Net

Microsoft Active Server Pages is a Server-side scripting technology that can be used to create dynamic and interactive Web applications. An ASP page is an HTML page that contains server-side scripts that are processed by the Web server before being sent to the user's browser. You can combine ASP with Extensible Markup Language (XML). Component Object Model(COM), and Hypertext Markup Language (HTML) to create powerful interactive Web sites.