Google Search

Friday, April 29, 2016

Why should you study Computer Science?

For almost all choice jobs of the future – whether in engineering, natural or social sciences, economics, finance or government, one has to be familiar with the essential fundamentals of computing to understand and leverage technology in the search for scientific breakthroughs, the development of new products and services, or the way work is done in a technologically-driven society. A Computer Science degree involves well developed communication, leadership and management skills coupled with creative technical savvy. Daniel A. Reed, Professor & Director of the Institute for Renaissance Computing at the University of North Carolina at Chapel Hill and the current director of CRA (Computing Research Association – http://www.cra.org) says, “Computing has become the third pillar of science, along with theory and experiment”.


Flowchart for- "Which programming language you should learn first" (Must watch for CS learners)

Flowchart for- "Which programming language you should learn first" (Must watch for CS learners)



Differences between M. Sc. in Computer Science & MCA

(After B. Sc. or BCA)
Course and Opportunities:
MSc in Computer Science covers various areas which can be applied to various areas like technology, science, business and education. A person who has done MSC computer science will have opportunities in software development, testing and networking. Companies such as Oracle, HP, Wipro, IBM, Compaq etc. are hiring people with MSC computer science qualification. A person who is very much interested in teaching computer science or doing research in the field of computer should definitely go for MSC computer science.
MCA Course and Opportunities:
MCA course is suitable for those who wish to have a career in Software. An MCA degree holder will have great job opportunities in top level IT companies and consultancy firms. A person with MCA can become Software Programmer, Software Engineer, Software Developer, Systems Analyst, Software Application Architect, and Software Consultant
Many MNC’s prefer MCA candidates than MSC candidates. MCA’s are well aware of the applications. But to develop a new one, a person with MSC computer science is required. Thus, for working purpose an MCA is preferred but for Research purpose always M.Sc.Computer Science will be preferred.
Key differentiators between MSc Computer Science and MCA:
MSc computer science is 2 years course where as MCA is a 3 year course. MCA deals with Computer application i.e. Software related. MSc computer science on the other hand deals with the theoretical details of hardware and software along with logic & algorithm. Those having a strong computational and scientific background opt for this field. The course also provides an excellent grounding for further research, either through PhD study or in a commercial setting.
Now, From my view,
MCA is in better position as you can apply all the IT jobs, Govt. and banking sector jobs and even teaching jobs and also can apply for m.tech or p.hd.as for IT firms, MCA is treated as B.Tech equivalent and for Educational Institution purposes, It considers as Masters equivalent. Where as after finishing M.Sc. in computer science, you can't apply even most of the IT firms as they don't support 2 years masters degree courses and you have to finish atleast 3+3 = 6 years (3 for B.sc/BCA + 3 for Masters) so only teaching lines and Govt.or Banking jobs are available. But it is also true that MCA is much more costlier than M.Sc. but from career aspect, You may have more options after finishing MCA. So think twice before decide.!
All the best.

Friday, April 22, 2016

Kruskal’s Algorithm for Minimum Spanning Tree

Kruskal's algorithm is a greedy algorithm in graph theory that finds a minimum spanning tree for a connected weighted graph. This means it finds a subset of the edges that forms a tree that includes every vertex, where the total weight of all the edges in the tree is minimized. If the graph is not connected, then it finds a minimum spanning forest (a minimum spanning tree for each connected component).
Pseudo Code for Kruskal’s Algorithm:
==============================
1. T (the final spanning tree) is defined to be the empty set;
2. For each vertex v of G, make the empty set out of v;
3. Sort the edges of G in ascending (non-decreasing) order;
4. For each edge (u, v) from the sored list of step 3.
If u and v belong to different sets
Add (u,v) to T;
Get together u and v in one single set;
5. Return T

Context-Free Grammer

Definition − A context-free grammar (CFG) consisting of a finite set of grammar rules is a quadruple (N, T, P, S) where
--N is a set of non-terminal symbols.
--T is a set of terminals where N ∩ T = NULL.
--P is a set of rules, P: N → (N ∪ T)*, i.e., the left-hand side of the production rule P does have any right context or left context.
--S is the start symbol.
Example:
------------
The grammar ({A}, {a, b, c}, P, A), P : A → aA, A → abc.
The grammar ({S, a, b}, {a, b}, P, S), P: S → aSa, S → bSb, S → ε
The grammar ({S, F}, {0, 1}, P, S), P: S → 00S | 11F, F → 00F | ε

Chomsky Normal Form (Context Free Grammar)

A CFG is in Chomsky Normal Form if the Productions are in the following forms −
A → a
A → BC
S → ε
where A, B, and C are non-terminals and a is terminal.
Algorithm to Convert into Chomsky Normal Form −
Step 1 If the start symbol S occurs on some right side, create a new start symbol S’ and a new production S’ → S.
Step 2 Remove Null productions. (Using the Null production removal algorithm discussed earlier)
Step 3 Remove unit productions. (Using the Unit production removal algorithm discussed earlier)
Step 4 Replace each production A → B1…Bn where n > 2 with A → B1C where C → B2 …Bn. Repeat this step for all productions having two or more symbols in the right side.
Step 5 If the right side of any production is in the form A → aB where a is a terminal and A, B are non-terminal, then the production is replaced by A → XB and X → a. Repeat this step for every production which is in the form A → aB.
Problem
Convert the following CFG into CNF
S → ASA | aB, A → B | S, B → b | ∈
Solution
(1) Since S appears in R.H.S, we add a new state S0 and S0 → S is added to the production set and it becomes −
S0 → S, S → ASA | aB, A → B | S, B → b | ε
(2) Now we will remove the null productions −
B → ε and A → ε
After removing B → ε, the production set becomes −
S0 → S, S → ASA | aB | a, A → B | S | ε, B → b
After removing A → ε, the production set becomes −
S0 → S, S → ASA | aB | a | AS | SA | S, A → B | S, B → b
(3) Now we will remove the unit productions.
After removing S → S, the production set becomes −
S0 → S, S → ASA | aB | a | AS | SA, A → B | S, B → b
After removing S0 → S, the production set becomes −
S0 → ASA | aB | a | AS | SA, S → ASA | aB | a | AS | SA
A → B | S, B → b
After removing A → B, the production set becomes −
S0 → ASA | aB | a | AS | SA, S → ASA | aB | a | AS | SA
A → S | b
B → b
After removing A → S, the production set becomes −
S0 → ASA | aB | a | AS | SA, S → ASA | aB | a | AS | SA
A → b |ASA | aB | a | AS | SA, B → b
(4) Now we will find out more than two variables in the R.H.S
Here, S0 → ASA, S → ASA, A → ASA violates two Non-terminals in R.H.S.
Hence we will apply step 4 and step 5 to get the following final production set which is in CNF −
S0 → AX | aB | a | AS | SA
S → AX | aB | a | AS | SA
A → b |AX | aB | a | AS | SA
B → b
X → SA
(5) We have to change the productions S0 → aB, S → aB, A → aB
And the final production set becomes −
S0 → AX | YB | a | AS | SA
S → AX | YB | a | AS | SA
A → b |AX | YB | a | AS | SA
B → b
X → SA
Y → a

What is the running time of Radix Sort?

Let there be d digits in input integers. Radix Sort takes O(d*(n+b)) time where b is the base for representing numbers, for example, for decimal system, b is 10. What is the value of d? If k is the maximum possible value, then d would be O(logb(k)). So overall time complexity is O((n+b) * logb(k)). Which looks more than the time complexity of comparison based sorting algorithms for a large k. Let us first limit k. Let k <= nc where c is a constant. In that case, the complexity becomes O(nLogb(n)). But it still doesn’t beat comparison based sorting algorithms.
What if we make value of b larger?. What should be the value of b to make the time complexity linear? If we set b as n, we get the time complexity as O(n). In other words, we can sort an array of integers with range from 1 to nc if the numbers are represented in base n (or every digit takes log2(n) bits).

C program for Radix Sort

‪#‎include‬ <stdio.h>
#include <stdlib.h>
#include <string.h>
void radixSort(int *data, int n) {
int bucket[10], dummy[n], max, i, index, lsd = 1;
max = data[0];
/* find the largest key */
for (i = 0; i < n; i++) {
if (data[i] > max)
max = data[i];
}
while (max / lsd > 0) {
memset(bucket, 0, sizeof(int) * 10);
memset(dummy, 0 , sizeof(int) * n);
/*
* lsd - indicates the significant bit that we
`* handle currently. Update the counters for the
* elements that has same(current) significant
* bit into the bucket. Eg: if bucket[9] is 2
* and lsd is 1, then user input has two of the
* data with least significant value as 9(199, 299)
*/
for (i = 0; i < n; i++) {
index = (data[i] / lsd) % 10;
bucket[index]++;
}
/*
* update all the buckets. If bucket[8] has 2,
* then there are 2 elements present till bucket 8
* Basically, its is the cumulative sum of count in
* current bucket & previous buckets(0 to 7).
*/
for (i = 1; i < 10; i++)
bucket[i] = bucket[i] + bucket[i-1];
/* sort the elements based on current significant digit */
for (i = n-1; i >= 0; i--) {
index = (data[i] / lsd) % 10;
index = --bucket[index];
dummy[index] = data[i];
}
/* update original with dummy */
for (i = 0; i < n; i++)
data[i] = dummy[i];
lsd = lsd * 10;
}
}
int main() {
int *data, i, n;
printf("Enter the no of entries:");
scanf("%d", &n);
data = (int *)malloc(sizeof (int) * n);
printf("Enter your inputs:\n");
for (i = 0; i < n; i++) {
scanf("%d", &data[i]);
}
radixSort(data, n);
printf("Data After Sorting:\n");
for (i = 0; i < n; i++)
printf("%-5d ", data[i]);
printf("\n");
return 0;
}

C Program for Simpson 1/3 Rule

Integration is an integral part in science and engineering to calculate things such as area, volume, total flux, electric field, magnetic field and many more. Here, we are going to take a look at numerical integration method (Simpson’s 1/3 rule in particular using C language) to solve such complex integration problems.
For this, let’s discuss the C program for Simpson 1/3 rule for easy and accurate calculation of numerical integration of any function which is defined in program.
In the source code below, a function f(x) = 1/(1+x) has been defined. The calculation using Simpson 1/3 rule in C is based on the fact that the small portion between any two points is a parabola. The program follows the following steps for calculation of the integral.
As the program gets executed, first of all it asks for the value of lower boundary value of x i.e. x0, upper boundary value of x i.e. xn and width of the strip, h.
Then the program finds the value of number of strip as n=( xn – x0 )/h and checks whether it is even or odd. If the value of ‘n’ is odd, the program refines the value of ‘h’ so that the value of ‘n’ comes to be even.
After that, this C program calculates value of f(x) i.e ‘y’ at different intermediate values of ‘x’ and displays values of all intermediate values of ‘y’.
After the calculation of values of ‘c’, the program uses the following formula to calculate the value of integral in loop.
Integral = *((y0 + yn ) +4(y1 + y3 + ……….+ yn-1 ) + 2(y2 + y4 +……….+ yn-2 ))
Finally, it prints the values of integral which is stored as ‘ans’ in the program.
If f(x) represents the length, the value of integral will be area, and if f(x) is area, the output of Simpson 1/3 rule C program will be volume. Hence, numerical integration can be carried out using the program below; it is very easy to use, simple to understand, and gives reliable and accurate results.
f(x) = 1/(1+x)
Source Code for Simpson 1/3 Rule in C:
‪#‎include‬<stdio.h>
#include<conio.h>
float f(float x)
{
return(1/(1+x));
}
void main()
{
int i,n;
float x0,xn,h,y[20],so,se,ans,x[20];
printf("\n Enter values of x0,xn,h: ");
scanf("%f%f%f",&x0,&xn,&h);
n=(xn-x0)/h;
if(n%2==1)
{
n=n+1;
}
h=(xn-x0)/n;
printf("\n Refined value of n and h are:%d %f\n",n,h);
printf("\n Y values: \n");
for(i=0; i<=n; i++)
{
x[i]=x0+i*h;
y[i]=f(x[i]);
printf("\n %f\n",y[i]);
}
so=0;
se=0;
for(i=1; i<n; i++)
{
if(i%2==1)
{
so=so+y[i];
}
else
{
se=se+y[i];
}
}
ans=h/3*(y[0]+y[n]+4*so+2*se);
printf("\n Final integration is %f",ans);
getch();
}

Trapezoidal Method Algorithm

--Start
--Define and Declare function
--Input initial boundary value, final boundary value and length of interval
--Calculate number of strips, n = (final boundary value –final boundary value)/length of interval
--Perform following operation in loop
x[i]=x0+i*h
y[i]=f(x[i])
print y[i]
--Initialize se=0, s0=0
--Do the following using loop
If i %2 = 0
So=s0+y[i]
Otherwise
Se=se+y[i]
--ans= h/3*(y[0]+y[n]+4*so+2*se)
--print the ans
--stop

B+ Tree File Organization

B+ Tree is an advanced method of ISAM file organization. It uses the same concept of key-index, but in a tree like structure. B+ tree is similar to binary search tree, but it can have more than two leaf nodes. It stores all the records only at the leaf node. Intermediary nodes will have pointers to the leaf nodes. They do not contain any data/records.

Advantages of B+ Trees

Since all records are stored only in the leaf node and are sorted sequential linked list, searching is becomes very easy.
Using B+, we can retrieve range retrieval or partial retrieval. Traversing through the tree structure makes this easier and quicker.
As the number of record increases/decreases, B+ tree structure grows/shrinks. There is no restriction on B+ tree size, like we have in ISAM.
Since it is a balance tree structure, any insert/ delete/ update does not affect the performance.
Since we have all the data stored in the leaf nodes and more branching of internal nodes makes height of the tree shorter. This reduces disk I/O. Hence it works well in secondary storage devices.

Rooting your Android Device: Advantages & Disadvantages

To root or not to root, this is the question. Most of you know that rooting means you have gained all the control over the entire system. You can download and use all of the tools and blocked features on your device. However, rooting your Android is not risk-free. To speak exactly, it's like a two edged sword as with root access nothing is there to prevent some malicious apps from destroying your system. So what are the advantages and disadvantages of rooting your Android device? This is a must-have-to-know question before you choose to root your Android phone.
It's not to give you the conclusion whether you should root your device. Just make sure you have all side understanding of rooting.
Advantages of Rooting
For the benefits of rooting your device, I have introduced that before. You can have a look at the previous article. Even that, I still share the big advantages of rooting here:
1. Installing Custom ROMs
After rooting your device, you can flash a custom ROM or Kernel, which means you can have a new device.
2. Remove Preinstalled Crapware
Manufacturer won’t allow you to uninstall those preinstalled apps on your device. Rooting a device can make them removed easily, which ensures a high running quality.
3. Blocking Ads in Any Apps
Sick of the pop-up ads when playing games? A rooted device can remove this annoying ads immediately.
4. Install Incompatible Apps
Some wonderful apps need the root access if you install them on your device. Root your phone, enjoy more apps.
5. Keep Latest Android OS
A rooted Android can get the new OS months before the carrier releases the update, often along with a few bonus features.
6. Change Skin for your Android
As you can see, there are only 3 to 4 default skin on your device to change. But if you root your phone and install the new ROMs, you can enjoy the customized and tweaked skins on your device.
7. Boost your Android Device’s Speed and Battery Life
Some powerful apps like Greenify can close the useless applications automatically, which can effectively improve your device’s performance. Of course, Greenify needs root access.
8. Make Complete Backups of Your Android Phone or Tablet
A unrooted Android phone can only backup some settings and apps of your device. Titanium can be used on rooted device to give you a complete backup.
In one word, rooting can make you be the master of your Android phone. You can automate everything on your Android device.
Disadvantages of Rooting
Most of you may know more about the benefits of rooting, however, the disadvantages of rooting have not be noticed very. Viewing all of the pros and cons of rooting Android can be good for you to make decisions.
1. Root can Brick Your Device
Compared with unrooted Android device, the rooted one faces a common threat from mis-operation and sometimes you may turn your Android device into a brick.
Avoid this risk: Just download apps from reliable place like Google play, and, do not delete the files if the files are suggested not to delete by rooting apps.
2. Say Good-Bye to the Warranty
The Android device manufacturers will not cover the damage after you rooting your device. For some brand, we can unroot the device after rooting, so, the manufactures don’t know if you have rooted your Android device or not. But to make matters worse, Android device manufactures also go to great lengths to know if your device has been rooted!
3. Problems with Updates
Sometimes you root Android phone to get latest OS but after rooting, you may find that the automatic updates to the firmware stopped. Updates fail to install due to software modifications that occurred while the distribution has been rooted.
Comparing with these pros and cons of rooting your Android device, then choose if you need to root your Android device or not

10 fundamental differences between Linux and Windows

#1: Full access vs. no access
Having access to the source code is probably the single most significant difference between Linux and Windows. The fact that Linux belongs to the GNU Public License ensures that users (of all sorts) can access (and alter) the code to the very kernel that serves as the foundation of the Linux operating system. You want to peer at the Windows code? Good luck. Unless you are a member of a very select (and elite, to many) group, you will never lay eyes on code making up the Windows operating system.
You can look at this from both sides of the fence. Some say giving the public access to the code opens the operating system (and the software that runs on top of it) to malicious developers who will take advantage of any weakness they find. Others say that having full access to the code helps bring about faster improvements and bug fixes to keep those malicious developers from being able to bring the system down. I have, on occasion, dipped into the code of one Linux application or another, and when all was said and done, was happy with the results. Could I have done that with a closed-source Windows application? No.
#2: Licensing freedom vs. licensing restrictions
Along with access comes the difference between the licenses. I'm sure that every IT professional could go on and on about licensing of PC software. But let's just look at the key aspect of the licenses (without getting into legalese). With a Linux GPL-licensed operating system, you are free to modify that software and use and even republish or sell it (so long as you make the code available). Also, with the GPL, you can download a single copy of a Linux distribution (or application) and install it on as many machines as you like. With the Microsoft license, you can do none of the above. You are bound to the number of licenses you purchase, so if you purchase 10 licenses, you can legally install that operating system (or application) on only 10 machines.
#3: Online peer support vs. paid help-desk support
This is one issue where most companies turn their backs on Linux. But it's really not necessary. With Linux, you have the support of a huge community via forums, online search, and plenty of dedicated Web sites. And of course, if you feel the need, you can purchase support contracts from some of the bigger Linux companies (Red Hat and Novell for instance).
However, when you use the peer support inherent in Linux, you do fall prey to time. You could have an issue with something, send out e-mail to a mailing list or post on a forum, and within 10 minutes be flooded with suggestions. Or these suggestions could take hours of days to come in. It seems all up to chance sometimes. Still, generally speaking, most problems with Linux have been encountered and documented. So chances are good you'll find your solution fairly quickly.
On the other side of the coin is support for Windows. Yes, you can go the same route with Microsoft and depend upon your peers for solutions. There are just as many help sites/lists/forums for Windows as there are for Linux. And you can purchase support from Microsoft itself. Most corporate higher-ups easily fall victim to the safety net that having a support contract brings. But most higher-ups haven't had to depend up on said support contract. Of the various people I know who have used either a Linux paid support contract or a Microsoft paid support contract, I can't say one was more pleased than the other. This of course begs the question "Why do so many say that Microsoft support is superior to Linux paid support?"
#4: Full vs. partial hardware support
One issue that is slowly becoming nonexistent is hardware support. Years ago, if you wanted to install Linux on a machine you had to make sure you hand-picked each piece of hardware or your installation would not work 100 percent. I can remember, back in 1997-ish, trying to figure out why I couldn't get Caldera Linux or Red Hat Linux to see my modem. After much looking around, I found I was the proud owner of a Winmodem. So I had to go out and purchase a US Robotics external modem because that was the one modem I knew would work. This is not so much the case now. You can grab a PC (or laptop) and most likely get one or more Linux distributions to install and work nearly 100 percent. But there are still some exceptions. For instance, hibernate/suspend remains a problem with many laptops, although it has come a long way.
With Windows, you know that most every piece of hardware will work with the operating system. Of course, there are times (and I have experienced this over and over) when you will wind up spending much of the day searching for the correct drivers for that piece of hardware you no longer have the install disk for. But you can go out and buy that 10-cent Ethernet card and know it'll work on your machine (so long as you have, or can find, the drivers). You also can rest assured that when you purchase that insanely powerful graphics card, you will probably be able to take full advantage of its power.
#5: Command line vs. no command line
No matter how far the Linux operating system has come and how amazing the desktop environment becomes, the command line will always be an invaluable tool for administration purposes. Nothing will ever replace my favorite text-based editor, ssh, and any given command-line tool. I can't imagine administering a Linux machine without the command line. But for the end user — not so much. You could use a Linux machine for years and never touch the command line. Same with Windows. You can still use the command line with Windows, but not nearly to the extent as with Linux. And Microsoft tends to obfuscate the command prompt from users. Without going to Run and entering cmd (or command, or whichever it is these days), the user won't even know the command-line tool exists. And if a user does get the Windows command line up and running, how useful is it really?
#6: Centralized vs. noncentralized application installation
The heading for this point might have thrown you for a loop. But let's think about this for a second. With Linux you have (with nearly every distribution) a centralized location where you can search for, add, or remove software. I'm talking about package management systems, such as Synaptic. With Synaptic, you can open up one tool, search for an application (or group of applications), and install that application without having to do any Web searching (or purchasing).
Windows has nothing like this. With Windows, you must know where to find the software you want to install, download the software (or put the CD into your machine), and run setup.exe or install.exe with a simple double-click. For many years, it was thought that installing applications on Windows was far easier than on Linux. And for many years, that thought was right on target. Not so much now. Installation under Linux is simple, painless, and centralized.
#7: Flexibility vs. rigidity
I always compare Linux (especially the desktop) and Windows to a room where the floor and ceiling are either movable or not. With Linux, you have a room where the floor and ceiling can be raised or lowered, at will, as high or low as you want to make them. With Windows, that floor and ceiling are immovable. You can't go further than Microsoft has deemed it necessary to go.
Take, for instance, the desktop. Unless you are willing to pay for and install a third-party application that can alter the desktop appearance, with Windows you are stuck with what Microsoft has declared is the ideal desktop for you. With Linux, you can pretty much make your desktop look and feel exactly how you want/need. You can have as much or as little on your desktop as you want. From simple flat Fluxbox to a full-blown 3D Compiz experience, the Linux desktop is as flexible an environment as there is on a computer.
#8: Fanboys vs. corporate types
I wanted to add this because even though Linux has reached well beyond its school-project roots, Linux users tend to be soapbox-dwelling fanatics who are quick to spout off about why you should be choosing Linux over Windows. I am guilty of this on a daily basis (I try hard to recruit new fanboys/girls), and it's a badge I wear proudly. Of course, this is seen as less than professional by some. After all, why would something worthy of a corporate environment have or need cheerleaders? Shouldn't the software sell itself? Because of the open source nature of Linux, it has to make do without the help of the marketing budgets and deep pockets of Microsoft. With that comes the need for fans to help spread the word. And word of mouth is the best friend of Linux.
Some see the fanaticism as the same college-level hoorah that keeps Linux in the basements for LUG meetings and science projects. But I beg to differ. Another company, thanks to the phenomenon of a simple music player and phone, has fallen into the same fanboy fanaticism, and yet that company's image has not been besmirched because of that fanaticism. Windows does not have these same fans. Instead, Windows has a league of paper-certified administrators who believe the hype when they hear the misrepresented market share numbers reassuring them they will be employable until the end of time.
#9: Automated vs. nonautomated removable media
I remember the days of old when you had to mount your floppy to use it and unmount it to remove it. Well, those times are drawing to a close — but not completely. One issue that plagues new Linux users is how removable media is used. The idea of having to manually "mount" a CD drive to access the contents of a CD is completely foreign to new users. There is a reason this is the way it is. Because Linux has always been a multiuser platform, it was thought that forcing a user to mount a media to use it would keep the user's files from being overwritten by another user. Think about it: On a multiuser system, if everyone had instant access to a disk that had been inserted, what would stop them from deleting or overwriting a file you had just added to the media? Things have now evolved to the point where Linux subsystems are set up so that you can use a removable device in the same way you use them in Windows. But it's not the norm. And besides, who doesn't want to manually edit the /etc/fstab fle?
#10: Multilayered run levels vs. a single-layered run level
I couldn't figure out how best to title this point, so I went with a description. What I'm talking about is Linux' inherent ability to stop at different run levels. With this, you can work from either the command line (run level 3) or the GUI (run level 5). This can really save your socks when X Windows is fubared and you need to figure out the problem. You can do this by booting into run level 3, logging in as root, and finding/fixing the problem.
With Windows, you're lucky to get to a command line via safe mode — and then you may or may not have the tools you need to fix the problem. In Linux, even in run level 3, you can still get and install a tool to help you out (hello apt-get install APPLICATION via the command line). Having different run levels is helpful in another way. Say the machine in question is a Web or mail server. You want to give it all the memory you have, so you don't want the machine to boot into run level 5. However, there are times when you do want the GUI for administrative purposes (even though you can fully administer a Linux server from the command line). Because you can run the startx command from the command line at run level 3, you can still start up X Windows and have your GUI as well. With Windows, you are stuck at the Graphical run level unless you hit a serious problem.

Windows 10 Vs Windows 8 Vs Windows 7: What's The Difference?

Windows 10 launched on July 29th and has already been downloaded over 14 million times. But why? Microsoft MSFT +0.33%’s decision to make Windows 10 free plays a big part (especially given warnings to wait) but it is also just the tip of the iceberg.
So let’s weigh up the main differences between Windows 10, Windows 7 and Windows 8. There are a large number of pros but also some significant cons, including a few potential deal breakers.
1. What Makes Windows 10 Worth The Upgrade
Cost – While some Windows 7 and Windows 8 users will not get Windows 10 free, for the vast majority there is no cost to upgrading whatsoever. On paper this is a great deal because Windows 10 is not cheap and ‘Windows 10 Home’ and ‘Windows 10 Pro’ editions retail for $119 and $199 respectively.
By contrast Windows 7 and Windows 8 have not been made free by Microsoft following Windows 10’s release and the company has no plans to make them so. Consequently even if you revert back to Windows 7 or Windows 8 in time, it would seem to make sense to take your free Windows 10 upgrade while it lasts.
Longer Support -Another key reason for getting the latest edition of Windows is Microsoft will support it for longer than both Windows 7 and Windows 8. The Windows Lifecycle page (screen grab below) breaks this down into two sections: Mainstream Support and Extended Support.
Mainstream Support is the deadline for adding new features and functionality which makes it less crucial, but Extended Support is when Microsoft will stop supporting the platform with security updates. As you will see Windows 10 gives five more years Extended Support over Windows 7 and two more years over Windows 8.
Flexibility And Universal Apps -Where Microsoft deserves a lot of credit with Windows 10 is its ambition because the OS will run across all future Microsoft devices from desktops and laptops, to hybrids, tablets and smartphones.
The biggest benefits of this are:
Apps in the new Windows Store will run on any device which means a single version of Angry Birds works everywhere.
Microsoft’s ‘Continuum’ feature allows you to potentially connect a phone or tablet to a monitor and keyboard and use it like a PC. Yes Windows 10 really does run through every device and the user interface can adapt to its environment – be that phone, tablet or PC and touch, mouse or keyboard interaction.
Gaming -Windows 10 brings with it DirectX 12 and for serious gamers this is a must have. Initial reports suggested DX12 would bring a 30-40% performance gain over DX11 and whereas the reality is closer to 10-20% that’s still money for old rope. Windows 7 and Windows 8 will never get access to DX12.
In addition Windows 10 supports streaming games from an Xbox One. Controllers for the Xbox One are compatible with Windows 10 PCs and you can be playing The Witcher 3 on your desktop or laptop in minutes. Best of all, Xbox One streaming is fast and responsive and again it will not come to Windows 7 or Windows 8 at a later date.
Search / Cortana – Windows 8 offers fairly decent online search baked into its controversial Start Screen and Windows 7 only offers local searches (what is on the computer itself), Windows 10 easily trumps them both.
The secret to its success is Cortana, a voice assistant ported over from Windows Phone and whose name comes from the Halo video game franchise. Like Siri on iOS and Google GOOGL +0.32% Voice Search on Android, Cortana can respond to voice commands and perform everything from quick Internet searches to core tasks around Windows 10 like opening a new email, creating calendar entries and much more.
Cortana isn’t perfect, but she/it works pretty well out the gate and will only get better with time.
Edge Browser and Virtual Desktops - I’ve listed these both together as they are catch up features. The Edge browser (which is still feature limited at launch) is Microsoft’s attempt to claw back momentum from Chrome. Edge works significantly faster than Internet Explorer and is only available on Windows 10.
In addition to this Windows 10 finally adds Virtual Desktops like those long seen on Linux and Mac OS X. These allow users without multi-monitor setups to create multiple virtual desktops which are handy for splitting usage between work and leisure, work into projects or whatever you require. It’s a great feature.
Minimum Requirements - Technically Windows 10 doesn’t win this category, but in requiring a PC with no greater minimum specifications than both two year old Windows 8 and five year old Windows 7 Microsoft deserves great credit. Those specifications:
RAM: 1 gigabyte (GB) for 32-bit or 2GB for 64-bit
Hard disk space: 16 GB for 32-bit OS 20GB for 64-bit OS
Graphics card: DirectX 9 or later with WDDM 1.0 driver
Display: 800 x 600
I suspect a major motivator for Microsoft here was that Windows 10 needs to run smoothly on both phones and tablets as well as PCs. That should make it efficient enough to run on most PCs these days, with the exception of some very old Windows XP machines.
Security - While both Windows 7 and Windows 8 do a pretty good job of keeping users secure, Windows 10 ups its game with several new features. First is ‘Device Guard’ which blocks zero-day attacks by vetting unsigned software programs and apps. Device Guard can also operate virtually so even if it is compromised a remote version can recognise and neutralise malicious software.
Windows 10 launched on July 29th and has already been downloaded over 14 million times. But why? Microsoft MSFT +0.33%’s decision to make Windows 10 free plays a big part (especially given warnings to wait) but it is also just the tip of the iceberg.
So let’s weigh up the main differences between Windows 10, Windows 7 and Windows 8. There are a large number of pros but also some significant cons, including a few potential deal breakers.
1. What Makes Windows 10 Worth The Upgrade
Cost – While some Windows 7 and Windows 8 users will not get Windows 10 free, for the vast majority there is no cost to upgrading whatsoever. On paper this is a great deal because Windows 10 is not cheap and ‘Windows 10 Home’ and ‘Windows 10 Pro’ editions retail for $119 and $199 respectively.
By contrast Windows 7 and Windows 8 have not been made free by Microsoft following Windows 10’s release and the company has no plans to make them so. Consequently even if you revert back to Windows 7 or Windows 8 in time, it would seem to make sense to take your free Windows 10 upgrade while it lasts.
Longer Support -Another key reason for getting the latest edition of Windows is Microsoft will support it for longer than both Windows 7 and Windows 8. The Windows Lifecycle page (screen grab below) breaks this down into two sections: Mainstream Support and Extended Support.
Mainstream Support is the deadline for adding new features and functionality which makes it less crucial, but Extended Support is when Microsoft will stop supporting the platform with security updates. As you will see Windows 10 gives five more years Extended Support over Windows 7 and two more years over Windows 8:
Recommended by Forbes
Windows 10: Should You Upgrade?
When 'Free' Windows 10 Becomes Expensive, You Must Know This
CargillVoice: How One Partnership In Bolivia Is Fighting Childhood Hunger And Transforming...
Windows 10 Upgrades Explained: Who Gets It Free?
Windows 10 Automatic Updates Causing Serious New Problems
MOST POPULAR Photos: The Most Expensive Home Listing in Every State 2016
+198,393 VIEWS The Hilarious Feminist Backlash To Brazil's Impeachment Fallout
MOST POPULAR Photos: Royal India Tour 2016: Prince William and Kate Middleton
MOST POPULAR 4 Essential Tips To Becoming A Better Leader
Windows Lifecycles - Image credit Microsoft
Windows Lifecycles – Image credit Microsoft
Flexibility And Universal Apps -Where Microsoft deserves a lot of credit with Windows 10 is its ambition because the OS will run across all future Microsoft devices from desktops and laptops, to hybrids, tablets and smartphones.
The biggest benefits of this are:
Apps in the new Windows Store will run on any device which means a single version of Angry Birds works everywhere.
Microsoft’s ‘Continuum’ feature allows you to potentially connect a phone or tablet to a monitor and keyboard and use it like a PC. Yes Windows 10 really does run through every device and the user interface can adapt to its environment – be that phone, tablet or PC and touch, mouse or keyboard interaction.
Read more- Windows 10: Should You Upgrade?
Gaming -Windows 10 brings with it DirectX 12 and for serious gamers this is a must have. Initial reports suggested DX12 would bring a 30-40% performance gain over DX11 and whereas the reality is closer to 10-20% that’s still money for old rope. Windows 7 and Windows 8 will never get access to DX12.
In addition Windows 10 supports streaming games from an Xbox One. Controllers for the Xbox One are compatible with Windows 10 PCs and you can be playing The Witcher 3 on your desktop or laptop in minutes. Best of all, Xbox One streaming is fast and responsive and again it will not come to Windows 7 or Windows 8 at a later date.
Windows 10 is the single operating system working across all Microsoft desktops, laptops, tablets and phones
Windows 10 is the single operating system working across all Microsoft desktops, laptops, tablets and phones
Search / Cortana – Windows 8 offers fairly decent online search baked into its controversial Start Screen and Windows 7 only offers local searches (what is on the computer itself), Windows 10 easily trumps them both.
The secret to its success is Cortana, a voice assistant ported over from Windows Phone and whose name comes from the Halo video game franchise. Like Siri on iOS and Google GOOGL +0.32% Voice Search on Android, Cortana can respond to voice commands and perform everything from quick Internet searches to core tasks around Windows 10 like opening a new email, creating calendar entries and much more.
Cortana isn’t perfect, but she/it works pretty well out the gate and will only get better with time.
Edge Browser and Virtual Desktops - I’ve listed these both together as they are catch up features. The Edge browser (which is still feature limited at launch) is Microsoft’s attempt to claw back momentum from Chrome. Edge works significantly faster than Internet Explorer and is only available on Windows 10.
In addition to this Windows 10 finally adds Virtual Desktops like those long seen on Linux and Mac OS X. These allow users without multi-monitor setups to create multiple virtual desktops which are handy for splitting usage between work and leisure, work into projects or whatever you require. It’s a great feature.
Gallery
Windows 10: Best And Worst New Features
Launch Gallery
11 images
Minimum Requirements - Technically Windows 10 doesn’t win this category, but in requiring a PC with no greater minimum specifications than both two year old Windows 8 and five year old Windows 7 Microsoft deserves great credit. Those specifications:
RAM: 1 gigabyte (GB) for 32-bit or 2GB for 64-bit
Hard disk space: 16 GB for 32-bit OS 20GB for 64-bit OS
Graphics card: DirectX 9 or later with WDDM 1.0 driver
Display: 800 x 600
I suspect a major motivator for Microsoft here was that Windows 10 needs to run smoothly on both phones and tablets as well as PCs. That should make it efficient enough to run on most PCs these days, with the exception of some very old Windows XP machines.
Read more – When ‘Free’ Windows 10 Becomes Expensive, You Must Know This
Security - While both Windows 7 and Windows 8 do a pretty good job of keeping users secure, Windows 10 ups its game with several new features. First is ‘Device Guard’ which blocks zero-day attacks by vetting unsigned software programs and apps. Device Guard can also operate virtually so even if it is compromised a remote version can recognise and neutralise malicious software.
Windows 10 is the single operating system working across all Microsoft desktops, laptops, tablets and phones
Windows 10 is the single operating system working across all Microsoft desktops, laptops, tablets and phones
Next is ‘Windows Hello’ which is enhanced biometric support designed to reduce reliance on passwords by using your face, iris, or fingerprint. You’ll need hardware support for this on your device (webcam, fingerprint reader, etc) but initial feedback is it works well and again should improve over the lifetime of Windows 10.
Lastly in Windows 10 Microsoft now delivers security patches outside Windows Update so they go straight to your computer the moment they are available. In theory this means Windows 10 computers are always up-to-date which gives hackers a much harder time, even if there are also some notable downsides.
In fact, while this list may make upgrades to Windows 10 sound like a no brainer, there are actually serious pitfalls in moving to Microsoft’s latest OS.
So now here are all the reasons you should stay put on Windows 7 or Windows 8…
2. What Makes It Worth Staying On Windows 7 Or Windows 8
Great as a free price tag, longer support, better apps and gaming, searches and security may sound unfortunately the list where Windows 7 and Windows 8 current beat out Windows 10 is just as strong.
These are my main concerns:
Stability – Right now Windows 10 is brand new and it has launched with a surprisingly large number of bugs which you won’t find in Windows 7 or Windows 8. Among these are disappearing icons from the taskbar, Start Menu lock-ups, Windows Store download bugs, copy and paste errors, problems with audio and more.
In fact Microsoft is about to release a massive one gigabyte download of bug fixes, which gives you an idea of the scale. The trouble is such numerous patches always bring new bugs of their own. Consequently this isn’t so much a reason never to upgrade to Windows 10, but a good reason not to upgrade to Windows 10 right now.
By contrast Windows 7 and Windows 8 (despite the latter’s bumpy start) are pretty much rock solid these days.
Mandatory Updates – Windows 10 may be more secure and up-to-date because of this, but Microsoft’s decision to force updates upon users also has significant downsides. This has included automatically installing a broken graphics driver which crashed displays, a security patch which crashed Windows Explorer and more.
By contrast Windows 8 and Windows 7 make all updates optional and you’re alerted to install them. I believe the ideal solution lies halfway between the two: make all updates automatic by default, but give users the option to stop or delay any update categories or individual updates they like. Right now this lack of flexibility makes Windows 10 a deal breaker for some.
Brutal Enforcement Policies - Of course mandatory updates have led to many users devising elabourate ways to sidestep Windows 10 patches, but there’s little point in this. Microsoft requires users to accept these terms in its Windows 10 EULA (end user licence agreement) and security updates now sidestep Windows Update and are installed to all versions of Windows 10 without warning.
Meanwhile driver and feature updates through Windows Update can be delayed up to one month by Windows 10 Home users (the vast majority of consumers) and eight months by Windows 10 Pro customers (most businesses), but after that time Microsoft will cut off the next round of updates (including security patches) from users until they accept the previous ones.
Windows 7 and Windows 8 have had similar policies for major updates in the past (Service Packs in Windows 7, and the Windows 8.1 update) but a user doesn’t face a ticking clock for every single update – big or small – as with Windows 10.
Interestingly Microsoft recently released a tool for uninstalling bad updates on Windows 10 which suggests its stance may be softening, but the tool only works after updates are installed which isn’t much use if a bad one stops your PC from booting.
Privacy -If the enforcement policies were tough, however, they have nothing on the privacy violations Microsoft requests in the Windows 10 EULA. A notable section reads:
“We will access, disclose and preserve personal data, including your content (such as the content of your emails, other private communications or files in private folders), when we have a good faith belief that doing so is necessary.”
Needless to say “necessary” is a crucial qualifier and this should mean Microsoft won’t violate your privacy for no reason, but that all comes down to trust – and there’s not a great deal of that going around in a post-Snowden world.
Ease of Use - In fairness Windows 7 is so ubiquitous that Windows 10 was never going to be more intuitive to use than its much loved forebear. That said Windows 10 is more intuitive than Windows 8 and much of that comes down to the return of the Start Menu. Consequently Windows 10 is a great blend of the advancements of Windows 8 and the familiarity of Windows 7, but sight of Windows 8 elements (and there are many) will still be too much for some.
Windows 10 also needs greater consistency across its user interface as there is still a jarring transition between traditional desktop settings like the Control Panel and settings pushed into the Modern UI. Microsoft really needs to get this sorted out and it should’ve been by now.
Lost Features - This won’t affect too many users, but the fact is Windows 10 does kill some features Windows 7 and Windows 8 users consider essential.
The big one is Windows Media Center which is a mainstay in some home media setups, while there’s also no native DVD playback (Microsoft is reconsidering this), no desktop gadgets and no floppy drive support. Meanwhile games like Solitaire have been removed and are now ad supported from the Windows Store with payment required to remove them.
Broadband Hog – While Windows 10’s mandatory update policy has split opinions, a far less widely reported issue is also taking place: the new OS uses a peer-to-peer (p2p) update distribution system called ‘Windows Update Delivery Optimization’ (WUDO).
The benefit of WUDO is that once one Windows 10 device has downloaded the latest updates it will automatically distribute them to other PCs on your network, saving time. The problem is your PC will also start to share this update with other PCs around the world that still need it. This takes the pressure off Microsoft’s servers but also means Windows 10 will consume more of your bandwidth than Windows 7 or Windows 8, neither of which do this.
The good news for those on metered connections is this can be changed by going to:
Settings > Update & Security > the Windows Update section > Advanced options
Select PCs on my local network only for WUDO to only be used for your PCs, or
Switch it off so each PC has to get their own downloads
While the option to disable is nice, WUDO is another example of where Microsoft should be more transparent with Windows 10 and let them know upfront what their devices will be doing behind their backs by default.
Bottom Line
Given the way Windows operating systems evolve over their lifecycles, it is impossible right now to overly praise or damn Windows 10 but we can start drawing conclusions compared to the differences between it and its predecessors.
My personal feeling is that Windows 10 is an improvement on both Windows 7 and Windows 8 and in time it will be considered one of the great Microsoft releases. That said Windows 10 launches with more bugs than it should and (while Microsoft has crafted a super OS) it is also the most controlling and invasive version of Windows the company has ever released and a compromise does need to be found long term.
All of which means Windows 10 is both the best and most troubling Windows version I’ve used. Those determined to be on the cutting edge will upgrade and love it, but those more wedded to Windows 7 and Windows 8 should wait a little longer. The Windows 10 free purchase period lasts until July 29th 2016 for eligible users so there is time to see whether Microsoft can address the differences which make Windows 10 worse than its predecessors compared to those that make it shine.

ACID Property

ACID (atomicity, consistency, isolation, and durability) is an acronym and mnemonic device for learning and remembering the four primary attributes ensured to any transaction by a transaction manager (which is also called a transaction monitor). These attributes are:
Atomicity. In a transaction involving two or more discrete pieces of information, either all of the pieces are committed or none are.
Consistency. A transaction either creates a new and valid state of data, or, if any failure occurs, returns all data to its state before the transaction was started.
Isolation. A transaction in process and not yet committed must remain isolated from any other transaction.
Durability. Committed data is saved by the system such that, even in the event of a failure and system restart, the data is available in its correct state.

Differences between Android and Windows Phone

 Operating System (OS)
-----------------------------
Android is an open source platform, meaning that the operating system is available for modification by manufacturers to suit their respective needs and phones.
In contrast, Microsoft Windows Phone is closed-sourced, meaning that it is owned and managed by Microsoft and developers do not have direct access to the operating system programming code.
User Interface (UI)
-----------------------
The another difference between android and windows phone is their user interface. While both rely on touchscreen interactions, Android Jelly Bean features an interface with multiple home-screens that can be fully customized with widgets and shortcuts, while Windows Phone 8 has a single home-screen populated with Live Tiles.
Live Tiles on Windows Phone operates in much the same way as widgets on Android, allowing you quickly access to an app.
Both interfaces are intuitive to use, although there is a bit of a learning curve if you are completely new to both of these mobile OS.
Android and windows phone UI comparison
-------------------------------------------------------
Handsets
In terms of handsets, Android is ahead than the windows phone. They are a huge number of Android phones offered by multiple device manufactures like Samsung, LG, Motorola, HTC, Huawei, etc. On other hand, windows phone has been offered by only a few manufactures with limited handsets.
However, it doesn’t mean that the Windows phone is not better. Manufactures like Nokia and HTC are known to make high quality mobile device for Windows phone.
They both are high-quality handsets but if you are looking for plenty of options then you will get them in Android.
Apps
-------
As for apps, the Android clearly wins with over one million apps where as the Windows Phone have only about 160,000 apps with a few 25,000 being added every few weeks. But needless to say, Microsoft is trying everything it can to increase the app market.
Security
-----------
In terms of security, windows phone is more secure than android. The reason for this is that windows phone doesn’t allow installation of apps from unknown sources. You are only allowed to install applications which are available in its app stores. While in Android, you can install any apps from outside of Google play store. So people tend to add more cracked softwares which carry a lot of viruses or malware. However, you can prevent it by never installing any apps from unknown sources.
Some more are as follows: