Wednesday, 5 August 2015


An intelligent personal assistant is a software agent that can perform tasks or services for an individual. These tasks or services are based on user input, location awareness, and the ability to access information from a variety of online sources (such as weather or traffic conditions, news, stock prices, user schedules, retail prices, etc.). Examples of such an agent are Apple's Siri, Braina, Google's Google Now, Amazon Echo, Microsoft's Cortana, Samsung's S Voice, LG's Voice Mate, BlackBerry's Assistant, SILVIA, and HTC's Hidi.

Microsoft Cortana is an intelligent personal assistant developed by Microsoft for Windows Phone 8.1, Microsoft Band, and Windows 10. It is named after Cortana, an artificial intelligence character in Microsoft's Halo video game series, with Jen Taylor, the character's voice actress, returning to voice the personal assistant's US-specific version.Cortana was demonstrated for the first time at the Microsoft BUILD Developer Conference (April 2–4, 2014) in San Francisco. It has been launched as a key ingredient of Microsoft's planned "makeover" of the future operating systems for Windows Phone and Windows. As of 2015, Cortana is available as a beta to all users of Windows Phone 8.1 in the United States (US English), China (Mandarin Chinese), and the United Kingdom (UK English). Users in certain countries can also choose to opt-in to the alpha for the English, French, German, Italian, and Spanish versions of Cortana as of August 2014.

Cortana's features include being able to set reminders, recognize natural voice without the user having to input a predefined series of commands, and answer questions using information from Bing (like current weather and traffic conditions, sports scores, and biographies). Windows 8.1's universal Bing Smart Search features are incorporated into Cortana, which replaces the previous Bing Search app which is activated when a user presses the "Search" button on their device. Cortana also includes a music recognition service. Cortana can also roll dice and flip a coin by asking the commands "roll a dice" (one die), "roll the dice" (two dice), and "flip a coin", Concert Watch is a feature that helps Cortana determine which bands or musicians you are interested in by monitoring your Bing searches. Cortana also integrates with the Microsoft Band for Windows Phone devices if connected via Bluetooth. On the Microsoft Band Cortana can make reminders and bring phone notifications.

Since the Lumia Denim series, launched in October 2014, active listening was added to Cortana, enabling it to be triggered with the phrase: “Hey Cortana,” even across the room and without the need to touch the phone. After the trigger phrase is spoken, Cortana can be controlled normally for tasks like setting a reminder, asking a question, or launching an app. Some devices from the United Kingdom by O2 have received the Lumia Denim update without the feature but this was later clarified as a bug and Microsoft had since fixed it. Cortana also integrates with services like Foursquare to provide restaurant and local attraction recommendations. It offers several functionalities like:


The "Notebook" is where personal information such as interests, location data, reminders, and contacts will be stored for access by Cortana. 


Most versions of Cortana take the form of two nested, animated circles. The circles are animated to indicate certain activities such as searching or talking.


Cortana features a "do-not-disturb" mode in which users can specify "quiet hours", something that is already available for Windows Phone 8.1 users. Users can change the settings so that Cortana calls users by their names (or nicknames). 


Cortana is region-specific, and adapts its voice to match the everyday language, culture and speech patterns of the country its user lives in. 

The Players:
Cortana, Microsoft’s assistant is based off of the character of the same name from Microsoft’s Halo video game franchise. Featuring voice actress Jen Taylor, Cortana is available to anyone using Windows Phone 8.1. 

There are many factors that go into choosing a personal digital assistant, but the voice of the assistant is a big draw. We have a recognizable voice actress handling Microsoft’s Cortana. Cortana is locked to implement Jen Taylor’s dulcet tones.

Article By:
Sphoorthy Engineering College


CyanogenMod, usually abbreviated to CM, is an open-source operating system for smartphones and tablet computers, based on the Android mobile platform. It is developed as free and open source software based on the official releases of Android by Google, with extended original and third-party code. It is based on a rolling release development model.

CyanogenMod offers features and options which are not found in the official firmware distributed by mobile device vendors. Features supported by CyanogenMod include native theming support,FLAC audio codec support, a large Access Point Name list, an OpenVPN client, Privacy Guard,support for tethering over common interfaces, CPU overclocking and other performance enhancements, unlockablebootloader and root access, soft buttons and other "tablet tweaks", toggles in the notification pull-down (such as Wi-Fi, Bluetooth and GPS), and other interface enhancements. CyanogenMod does not contain spyware or bloatware, according to its developers.CyanogenMod is also stated to increase performance and reliability compared with official firmware releases.

Soon after the introduction of the HTC Dream  mobile phone in September 2008, a method was discovered to attain privileged control (termed "root access") within Android's Linux-based subsystem.Having root access, combined with the open source nature of the Android operating system, allowed the phone's stock firmware to be modified and re-installed onto the phone.

In the following year, modified firmwares for the Dream were developed and distributed by Android enthusiasts. One, maintained by a developer named JesusFreke, became popular among Dream owners. In August 2009, JesusFreke stopped work on his firmware, and suggested users switch to a version of his ROM that had been further enhanced by developer Cyanogen (Steve Kondik) called "CyanogenMod".

Google has gone to great lengths to avoid the GPL by building their own low level components such as Dalvik and Bionic. In CM, the only GPL component that currently comes to mind that we’ve added is our Torch app (originally called Nexus One Torch) The Apache license specifically ALLOWS precisely what you suggest it doesn’t. A dual-license would do the same, but also protect contributors by forcing unaffiliated entities to contribute back if they use the software in a commercial context. It’s not so that CM can close the source and still ship it to our users. Again, we don’t have any plans to change licenses.

Focal is a special case- it has to be GPL because Focal uses a number of GPL components under the hood,this proposed the dual-license extension as a way to work around some of the inherent problems with the GPL and give a greater degree of freedom to both him and CM as an organization. This is a very common licensing model in the open-source world.

But none of this matters. We’re not closing the source or changing the license of any code that has been contributed to the project.

Benchmark has a long history of supporting open source projects intent on becoming successful enterprises. Our open source history includes Red Hat, MySQL,SpringSource, JBoss, Eucalyptus, Zimbra, Elasticsearch, HortonWorks, and now Cyanogen. We’ve been behind many of the most successful open source software companies in the world. We have a deep respect for the special needs of these businesses, and how to build companies while preserving the transparency and vigor of the open source communities.

Several versions of Cyanogenmod are as follows:

main version

Android version
Last or major

Android 1.5(Cupcake)
Android 2.0/2.1

Android 2.2.x
Android 2.3.x
Android 3.x
Android 4.0.x
(Ice Cream Sandwich)
Android 4.1.x
(Jelly Bean)
Android 4.2.x
(Jelly Bean)
Android 4.3.x
(Jelly Bean)

Android 4.4.x
11.0 M12
Android 5.0.x
12.0 (Nightly)

Article By:
Sphoorthy Engineering College

Bresenham’s Circle Generation Algorithm in Computer Graphics

This algorithm is used to generate only one octant of the circle. The other parts are obtained by successive reflections.

This illustrated in figure. If the first octant ( 0 to 45¬o CCW) is generated, the second 
      octant is obtained by reflection through the line y  = x to yield the first quadrant.
The results in the first quadrant are reflected through the line x = 0 to obtain those in  
      the 2nd quadrant.
The combined results in the upper semi circle are reflected through the line y = 0 to 
      complete the circle.

To derive Bresenham’s circle generation algorithm, consider the first quadrant of an 
      origin centered circle. Notice that if the algorithm begins at x =0 , y =r then for   
      clockwise generation of the circle y is monotonically decreasing function of x in the  
      first quadrant. 

Similarly, if the algorithm begins at y =0 , x=R then for counter clock wise generation 
      of the circle x is a monotonically decreasing function of y. Here clockwise generation        
      starting at x=0, y=R is chosen.
The center of the circle and the starting point are both assumed located precisely at 
      pixel element.


Bresenham’s incremental circle algorithm for the first quadrant all variables are assumed integer.

Initialize the variables.
      xi = 0;
yi = R;
     ri = 2(1-R)
                  Limit =0
while yi ≥ Limit
call setpixel(xi,yi)
determine if case 1 or 2,4 or5 or 3
if  ri < 0 then
δ = 2ri + 2yi – 1
determine whether case 1 or 2
if  δ ≤ 0 then
call mh(xi,yi, ri)
call md(xi,yi, ri)
end if
else if ri > 0  then
δ1=2ri + 2xi – 1
determine whether case 4 or 5
if δ1≤0 then
call md(xi,yi, ri)
call mv(xi,yi, ri)
end if
else if ri =0 then
call md(xi,yi, ri)
end if
end while

Move horizontally
subroutine mh(xi,yi, ri)
xi = xi + 1
ri = ri + 2xi +1
end sub
Move diagonally
subroutine md(xi,yi, ri)
xi = xi + 1
yi = yi - 1
ri = ri + 2xi -2yi +2
end sub

Move vertically
subroutine mv(xi,yi, ri)
yi = yi + 1
ri = ri  -2yi +1
end sub

Example:  To illustrate the circle generation algorithm, consider the origin-centered circle of radius 8. Only the first quadrant is generated.

Solution:  initial calculations
xi = 0;
yi = 8
     ri = 2(1-8)
                  Limit =0
     Incrementing through the main loop yields
yi > Limit
call mh(0,8,-14)
x = 0+1=1
ri= -14 +2(1)+1=-11
yi >Limit
call mh(1,8,-11)
ri= -11 +2(2)+1=-6
yi >Limit

Setpixel i δ δ1 x y
       -14 0 8
(0 , 8)
      -11 -13 1 8
(1 , 8)
      -6 -7 2 8
(2 ,8 )
   -12 3 3 7
(3 , 7)
     -3 -11 4 7
(4 ,7 )
     -3 7 5 6
( 5, 6)
      1 5 6 5
( 6,5 )
              9 -11       7 4
(7 ,4 )
      4 3       7 3
(7 , 3)
    18 -7           8 2
(8 ,2 )
    17 19          8 1
(8 ,1 )
     18 17       8 0
(8 ,0 )

Article By:
GV Prasad
Assoc. Professor
CSE Department 
Sphoorthy Engineering College

Sphoorthy Engineering College

Converting UML Diagram into Source Code Steps


1. Open Rational Rose: Go to start->programs->Rational software->Rational Rose Enterprise Edition click it.
2. Right click on UNTITLED on the top left corner of rational rose tool to name the project title and save it.
3. Right click on logical view->new->Class diagram. Give the name of the class diagram and double click it.
4. Draw the class diagram and select the diagram.
6. After completion of 5th step go to C:\Program Files\Rational Rose Ent\common. Check your code.


1. Write any source code program(using any oops programming language and compile eg:JAVA)
2. Open Rational Rose: Go to start->programs->Rational software->Rational Rose Enterprise Edition click it.
3. Right click on UNTITLED and select save and give the name.
4. Go to TOOLS->JAVA/J2EE->click on REVERSE ENGINEER. Open Your JAVA program (using click on Edit Path).
5. Select java program and click ADD.
6. Again Select java program and click on reverse. And click on done button.
7. Go to logical view on the rational rose tool drag your class diagram on to the work space area.

Note: The entire Procedure is recorded in the video format for easiest understanding/Navigation.

Article By:
GV Prasad
Assoc. Professor
CSE Department 
Sphoorthy Engineering College

Sphoorthy Engineering College


Normalization is the part of the Dbms(Database Management System).   To reduce the redundant, repeated or inconsistent and noise data we use normalization. Data base normalization is a database schema design technique, by which an already created schema is modified to minimize redundancy and dependency of the data.  The main befits are we can eliminate data redundancy, it improves the performance of the DBMS, faster update etc.

 Without normalization we may have
1. Data may be complex
2. Data may inadequate
3. Data may be the confusion
4. Changing the data i.e. updating, inserting, deleting may be the complex.

What normalization explains?
The normalization is the process to eliminate the problematic data created by the users.  But the problems will not completely remove in the single step. So we have to follow some steps.  The steps are called normalization forms/ normal forms.

In the first step or in the first attempt we will eliminate the following problems

Studentname age subject
Pavan 30 english,social
Rahul 40 maths
Kumar 25 Biology

As per first normal form, no two rows of data must contain repeating.
So eliminate to the flowing way

Studentname age subject
Pavan 30 english
Pavan 30 social
Rahul 40 maths
Kumar 25 Biology

In the second normal form, it is based on the  functional dependency.  In this we are finding out the primary and non-primary attributes.  Partial dependencies are not allowed in the second normal forms/.In the third normal form, the transitive functional dependencies should be removed from the table and the table must be in the second normal form. The next normal form is called BCNF (Boyce-codd normal form).   If you have A and B functions.  A AND B should be candidates keys. In the fourth normal form, it has no multiple sets of multi valve dependencies. If we decompose the tables to multiple numbers, then also there is no loss less is called the fifth normal form.
There may be some more normal forms to get good data, but I explained only 5 normal forms. Finally, the conclusion is from this article is that DBMS TABLES in to smaller with less redundant and without loss of information.

Article By:

T. Pavan KumarAssist. Professor
CSE Department
Sphoorthy Engineering College

Sphoorthy Engineering College

Exception Class in Java Programming Language

What is Exception

Exception is raised due to abnormal condition which interrupts the normal flow of the program Exception is a class in java Programming language and exception raised at runtime is the object of Exception class or Exception class Hierarchy.

All the Exception needs to be handled by taking the appropriate actions by the programmer.

Exception handlers are also provided by the jvm even if the programmers don’t provide the handlers.

There are 5 keywords used in java exception handling.
1. try
2. catch
3. finally
4. throw

5. throws

1. Try is a block which has to be written in a method block.
2. Try can have single or multiple statements.
3. Try can have any number of Exceptions  but try block will raise only  one Exception at a time .
4. Try block can be followed by single catch or multiple catch to handle the Exception or it  can also be followed by finally block
5. But there cannot be any statements between any of these blocks .  

Syntax of java try-catch
//code that may throw exception  
}catch(Exception_class_Name ref){}  

Syntax of try-finally block
//code that may throw exception  

Java catch block
Java catch block is used to handle the Exception raised by try block. It must be used after the try block only. One try can have one catch or any number of catches but they should  be  continues.

Java finally  block

Finally is a block that contain a set of statements which will be executed either the exception are handled properly or not or not.

Finally block can be followed after the catch block or it can be after try block but not between try and catch blocks. There cannot be multiple finally blocks 

catch(Exception e){.....}

Example Program 

public class Testtrycatch2
  public static void main(String args[])
      int data=50/0;  
       catch(ArithmeticException e)
 System.out.println("rest of the code...");  

}  }

Article By:
K.Pavan Kumar
CSE Dept
Assistant Professor
Sphoorthy Engineering College

Sphoorthy Engineering College

Functional Units of Computer – Computer Organization

Computer Organization is a term about the management, working, super vision, coordination and controlling of components of a computer according to end user requirements. This title being a topic of JNTU- Hyderabad Curriculum for B.Tech II Year CSE helps students to understand about computer functionality in depth.

The Syllabus formed by JNTUH for this title in its B.Tech four – year degree is well planned. The topic discussion starts with basics, and discusses functional units of computer, their organization and assembly language programming.

The curriculum includes 5 units in total, each unit with its own significance. The first Unit describes how the functional units of computer like CPU, Memory and I/O Unit communicates with each other including the topics like Instruction formats, addressing modes and branch instructions etc…

Unit – II discuss the communication between I/O devices and Memory. It also covers more useful concepts in this context like Asynchronous data transfer, Input – output Processor, Direct Memory Access, Interrupts, Interrupt handling schemes etc…

Third unit is about memory management and organization. It discusses the need of various memories in computer and their hierarchy. The leading concept of this unit is Cache memory – FASTEST BUFFER MEMORY; we discuss how cache memory reduces CPU waiting time, how it improves the performance of computer with its policies like replacement policy, write policy and mapping strategies.

The fourth unit is a case study of a processor: 8086. We will learn 8086 pin description, addressing modes and registers of 8086 microprocessor. Finally Unit – V introduces assembly language programming for a processor with basic example programs on arithmetic expressions, branch and CALL instructions.

I suggest this “Computer Organization” title is the mandatory syllabus for all computer users irrespective of their stream in education, profession and area of service. This Subject acts as base for “Micro processors”, “Embedded systems” and “Operating Systems”. This Subject can offer the career options – Embedded engineer, Chip Designer, Computer Architect, Computer designer etc…

Article By:

K. Satya Narayana
Assistant Professor
Department of CSE
Sphoorthy Engineering College

Sphoorthy Engineering College