Sunday, October 10, 2010

TCP/IP

Introduction
TCP/IP is the most used network protocol nowadays. In this tutorial we will explain how it works in a very easy to follow language.

So, what is a network protocol anyway? Protocol is like a language used to make two computers to talk to each other. Like in real world, if they are not talking the same language, they cannot communicate.

Before going further, we recommend you to read our tutorial The OSI Reference Model for Network Protocols, which is a primer for understanding how network protocols work. Consider the present tutorial as a sequel to our OSI Reference Model tutorial.

TCP/IP is not really a protocol, but a set of protocols – a protocol stack, as it is most commonly called. Its name, for example, already refers to two different protocols, TCP (Transmission Control Protocol) and IP (Internet Protocol). There are several other protocols related to TCP/IP like FTP, HTTP, SMTP and UDP – just to name a few

The Internet Protocol Suite is the set of communications protocols used for the Internet  and other similar networks. It is commonly also known as TCP/IP, named from two of the most important protocols in it: the Transmission Control Protocol (TCP) and the Internet Protocol (IP), which were the first two networking protocols defined in this standard. Modern IP networking represents a synthesis of several developments that began to evolve in the 1960s and 1970s, namely the Internet  and local area networks, which emerged during the 1980s, together with the advent of the World Wide Web in the early 1990s.

The Internet Protocol Suite, like many protocol suites, is constructed as a set of layers. Each layer solves a set of problems involving the transmission of data. In particular, the layers define the operational scope of the protocols within.

Often a component of a layer provides a well-defined service to the upper layer protocols and may be using services from the lower layers. Upper layers are logically closer to the user and deal with more abstract data, relying on lower layer protocols to translate data into forms that can eventually be physically transmitted.
The TCP/IP model consists of four layers.

Tuesday, October 05, 2010

Installing WINE on Ubuntu 9.10

How to Install WINE on Ubuntu 9.10




1.Open Firefox and go to http://wine.budgetdedicated.com

2.Under "Direct links to the latest Wine Packages", select Ubuntu Jaunty (9.04) package (1.1.32 1386 or 1.1.32 amd64) depending on your platform

3.Left Click your selection and then tick the option to (1) Open with GDebi Package Installer and (2) Click OK to install

If all goes well, you should now have WINE up and running on your Ubuntu 9.10.

Installation of Wine in Ubuntu

Here is a quick way to add the winehq repository so you dont need to wait for the ubuntu community to add the latest wine.


Open up a terminal Applications->Accessories->Terminal

Now copy/paste these commands:

Adding the gpg apt key:



wget -q http://wine.budgetdedicated.com/apt/387EE263.gpg -O-
sudo apt-key add -



Lets add the Repository via wget:



sudo wget http://wine.budgetdedicated.com/apt/sources.list.d/hardy.list -O /etc/apt/sources.list.d/winehq.list



Now lets update our apt sources and install the latest wine!



sudo apt-get update ; sudo apt-get install wine



Ok now you will always have the latest wine package installed!

Sunday, October 03, 2010

What should the SRS address?

The basic issues that the SRS writer(s) shall address are the following:
a) Functionality. What is the software supposed to do?
b) External interfaces. How does the software interact with people, the system’s hardware, other hardware, and other software?
c) Performance. What is the speed, availability, response time, recovery time of various software functions, etc.?
d) Attributes. What are the portability, correctness, maintainability, security, etc. considerations?
e) Design constraints imposed on an implementation. Are there any required standards in effect, implementation language, policies for database integrity, resource limits, operating environment(s) etc.?

What are the characteristics of a great SRS?

Again from the IEEE standard:
An SRS should be
a) Correct
b) Unambiguous
c) Complete
d) Consistent
e) Ranked for importance and/or stability
f) Verifiable
g) Modifiable
h) Traceable

Correct - This is like motherhood and apple pie. Of course you want the specification to be correct. No one writes a specification that they know is incorrect. We like to say - "Correct and Ever Correcting." The discipline is keeping the specification up to date when you find things that are not correct.
Unambiguous - An SRS is unambiguous if, and only if, every requirement stated therein has only one interpretation. Again, easier said than done. Spending time on this area prior to releasing the SRS can be a waste of time. But as you find ambiguities - fix them.
Complete - A simple judge of this is that is should be all that is needed by the software designers to create the software.
Consistent - The SRS should be consistent within itself and consistent to its reference documents. If you call an input "Start and Stop" in one place, don't call it "Start/Stop" in another.
Ranked for Importance - Very often a new system has requirements that are really marketing wish lists. Some may not be achievable. It is useful provide this information in the SRS.
Verifiable - Don't put in requirements like - "It should provide the user a fast response." Another of my favorites is - "The system should never crash." Instead, provide a quantitative requirement like: "Every key stroke should provide a user response within 100 milliseconds."
Modifiable - Having the same requirement in more than one place may not be wrong - but tends to make the document not maintainable.
Traceable - Often, this is not important in a non-politicized environment. However, in most organizations, it is sometimes useful to connect the requirements in the SRS to a higher level document. Why do we need this requirement?

What are the benefits of a Great SRS?

The IEEE 830 standard defines the benefits of a good SRS:
Establish the basis for agreement between the customers and the suppliers on what the software product is to do. The complete description of the functions to be performed by the software specified in the SRS will assist the potential users to determine if the software specified meets their needs or how the software must be modified to meet their needs. [NOTE: We use it as the basis of our contract with our clients all the time].
Reduce the development effort. The preparation of the SRS forces the various concerned groups in the customer’s organization to consider rigorously all of the requirements before design begins and reduces later redesign, recoding, and retesting. Careful review of the requirements in the SRS can reveal omissions, misunderstandings, and inconsistencies early in the development cycle when these problems are easier to correct.
Provide a basis for estimating costs and schedules. The description of the product to be developed as given in the SRS is a realistic basis for estimating project costs and can be used to obtain approval for bids or price estimates. [NOTE: Again, we use the SRS as the basis for our fixed price estimates]
Provide a baseline for validation and verification. Organizations can develop their validation and Verification plans much more productively from a good SRS. As a part of the development contract, the SRS provides a baseline against which compliance can be measured. [NOTE: We use the SRS to create the Test Plan].
Facilitate transfer.The SRS makes it easier to transfer the software product to new users or new machines. Customers thus find it easier to transfer the software to other parts of their organization, and suppliers find it easier to transfer it to new customers.
Serve as a basis for enhancement. Because the SRS discusses the product but not the project that developed it, the SRS serves as a basis for later enhancement of the finished product. The SRS may need to be altered, but it does provide a foundation for continued production evaluation. [NOTE: This is often a major pitfall – when the SRS is not continually updated with changes

what is SRS?

SRS stands for Software Requirement Specification.
It establishes the basis for agreement between customers and contractors or suppliers on what the software product is expected to do, as well as what it is not expected to do.
Some of the features of SRS are -
• It sets permits a rigorous assessment of requirements before design can begin.
• It sets the basis for software design, test, deployment, training etc. It also sets pre-requisite for a good design though it is not enough.
• It sets basis for software enhancement and maintenance.
• It sets Basis for Project plans like Scheduling and Estimation.

SRS is a document of software requirement specification prepared by testing engineer,which contains the specifications about the developing of the project,project details,project modules without bugs,about test cases to improve the quality of the project and hardware specifications is called SRS

POP3 Mail Vs Web-based E-mail

1. POP3 Mail- Here to access the mail account user needs a „mail-client‟. A mail client is a simple application or program used entirely to receive and send mail. Internet Browsers Netscape and Internet explorer have e-mail clients included with them. But there are also stand alone e-mail clients such as Eudora which can be downloaded free from the internet.

Web-based mail-This type of e-mail account is used by dozens of Internet service providers like Hotmail, yahoo etc.

2. POP3 Mail-The primary advantage of POP3 type email account is that it is usually not restrictive of the size of files which could be send or received.

Web-based mail-The main disadvantage of this kind of account is the limited space in mail box and limited size of files that are allowed to send and receive.

3. POP3 mail-Most viruses are transmitted through this type of email. Many of the viruses are written to be specifically activated by usage of the e-mail client which comes with Internet explorer, outlook express.

Web-based mail-Automatically prescans all the received attachment for viruses.

4. POP3 Mail-Filters are not easy to use here and spam is a problem here.

 Web-based mail-Filters are easy to use here to avoid spam.

5. POP3 mail-The account could be accessed only from the computer at which e-mail client is installed.

Web-based mail-The account could be accessed from any computer having a web-browser.

6. POP3 mail-E-mail clients with POP connect to the server whenever the program starts and transfers all new messages to the local computer, thereby removing them from the server. Therefore server space is conserved here.

Web-based mail-E-mails or messages remains on the server hence server space required is more.

7. POP3 mail-It makes the use of multiple computers very cumbersome and significantly reduces the security of the data.

Web-based mail-If privacy and security are important web-based email service should be used.

POP IMAP

POP

In computing, the Post Office Protocol (POP) is an application-layer Internet standard protocol used by local e-mail clients to retrieve e-mail from a remote server over a TCP/IP connection. POP and IMAP (Internet Message Access Protocol) are the two most prevalent Internet standard protocols for e-mail retrieval. Virtually all modern e-mail clients and servers support both. The POP protocol has been developed through several versions, with version 3 (POP3) being the current standard.

IMAP


The Internet Message Access Protocol (IMAP) is one of the two most prevalent Internet standard protocols for e-mail retrieval, the other being the Post Office Protocol (POP). Virtually all modern e-mail clients and mail servers support both protocols as a means of transferring e-mail messages from a server.

IMAP can be contrasted with another client/server email protocol, Post Office Protocol 3 (POP3). With POP3, mail is saved for the end user in a single mailbox on the server and moved to the end user's device when the mail client opens. While POP3 can be thought of as a "store-and-forward" service, IMAP can be thought of as a remote file server.

HTML

HTML

HTML, which stands for Hyper Text Markup Language, is the predominant markup language for web pages. It provides a means to create structured documents by denoting structural semantics for text such as headings, paragraphs, lists etc as well as for links, quotes, and other items. It allows images and objects to be embedded and can be used to create interactive forms. It is written in the form of HTML elements consisting of "tags" surrounded by angle brackets within the web page content. It can include or can load scripts in languages such as JavaScript which affect the behavior of HTML processors like Web browsers; and Cascading Style Sheets (CSS) to define the appearance and layout of text and other material. The W3C, maintainer of both HTML and CSS standards, encourages the use of

URL URI HOME PAGE

URL

In computing, a Uniform Resource Locator (URL) is a subset of the Uniform Resource Identifier(URI) that specifies where an identified resource is available and the mechanism for retrieving it. In popular usage and in many technical documents and verbal discussions it is often incorrectly used as a synonym for URI,  the best-known example of which is the 'address' of a web page on the World Wide Web.


URI

In computing, a Uniform Resource Identifier (URI) is a string of characters used to identify a name or a resource on the Internet. Such identification enables interaction with representations of the resource over a network (typically the World Wide Web) using specific protocols. Schemes specifying a concrete syntax and associated protocols define each URI.


HOME PAGE

The homepage (often written as home page) is the URL or local file that automatically loads when a web browser starts or when the browser's "home" button is pressed. One can turn this feature off and on, as well as specify a URL for the page to be loaded.
The term is also used to refer to the front page, web server directory index, or main web page of a website of a group, company, organization, or individual. In some countries, such as Germany, Japan, and South Korea, and formerly in the US, the term "homepage" commonly refers to a complete website (of a company or other organization) rather than to a single web page. By the late 1990s this usage had died out in the US, replaced by the more comprehensive term "web site".

WEB BROWSER /SERVER

Web browser

A web browser is a software application for retrieving, presenting, and traversing information resources on the World Wide Web. An information resource is identified by a Uniform Resource Identifier (URI) and may be a web page, image, video, or other piece of content. Hyperlinks present in resources enable users to easily navigate their browsers to related resources.
Although browsers are primarily intended to access the World Wide Web, they can also be used to access information provided by Web servers in private networks or files in file systems. Some browsers can be also used to save information resources to file systems. eg. Internet Explorer, Google Chrome, Opera,Mozilla Firefox, Safari, Netscape Navigator etc.


Web server

A web server is a computer program that delivers (serves) content, such as web pages, using the Hypertext Transfer Protocol. The term web server can also refer to the computer or virtual machine running the program. In large commercial deployments, a server computer running a web server can be rack-mounted in a server rack or cabinet with other servers to operate a web farm.
                                          The primary function of a web server is to deliver web pages to clients. This means delivery of HTML documents and any additional content that may be included by a document, such as images, style sheets and JavaScript’s.
A client, commonly a web browser or web crawler, initiates communication by making a request for a specific resource using HTTP and the server responds with the content of that resource, or an error message if unable to do so. The resource is typically a real file on the server's secondary memory, but this is not necessarily the case and depends on how the web server is implemented.

www (world wide web)

The World Wide Web, abbreviated as WWW and commonly known as The Web, is a system of interlinked hypertext documents contained on the Internet. With a web browser, one can view web pages that may contain text, images, videos, and other multimedia and navigate between them by using hyperlinks. Using concepts from earlier hypertext systems, British engineer and computer scientist Sir Tim Berners Lee, now the Director of the World Wide Web Consortium, wrote a proposal in March 1989 for what would eventually become the World Wide Web. He was later joined by Belgian computer scientist Robert Cailliau while both were working at CERN in Geneva,  Switzerland. In 1990, they proposed using "HyperText [...] to link and access information of various kinds as a web of nodes in which the user can browse at will", and released that web in December.
"The World-Wide Web (W3) was developed to be a pool of human knowledge, which would allow collaborators in remote sites to share their ideas and all aspects of a common project."  If two projects are independently created, rather than have a central figure make the changes, the two bodies of information could form into one cohesive piece of work.